How does OurTab split a shop between us?
Every expense in OurTab records two separate things: who paid and who it was for. Keeping those apart is what stops one person's card quietly funding the household.
When a shop is completed, the total is split across the household and posted to the shared ledger. Items one person added for themselves are logged separately as their own, so they're owed to whoever actually paid rather than shared out.
The split is frozen at the moment the expense is created — it stores the exact amounts, not a rule that gets recalculated. If your household changes later, your history can't silently rewrite itself.
Expenses added by one member wait for the other to approve them, and the database itself refuses to let anyone approve their own — so the ledger is something you both agreed to, not something one of you asserted.