I understand that concurrent edits to the ledger will become problematic. If this really is a requirement, a distributed ledger solution (cloud based tool) may be needed
Though is the root issue just communication? At some point transactions need:
1. Recorded
2. Categorized (optional, but desirable)
3. Reconciled (This can only happen as often as bank statements are issued)
With multiple spenders, communication (to answer the question "what is this transaction for?!?!") is paramount and fits naturally at the reconciliation step or more frequently if desired.
The workflow described is synchronous, centralized and simple