For each of the larger, non-monthly expenditures (travel, quarterly/yearly bills, furniture, electronics) I have virtual accounts in which I put money every month, and take it out when the expense comes, so as to keep the balance of the month at zero. I allow these virtual accounts to go negative, but not often and not for long.
I have a "tab" for shared household expenses; 50% of each shared expense is credited or deducted from the "tab", depending on who paid. This 50% doesn't affect my monthly balance. My partner does his own accounting (i.e. none).
If the months balance is trending positive, I can either increase the daily allocation for the rest of the month, move some to investment, or save more towards a large expenditure.
If the months balance is trending negative, I can decrease the daily allocation for the rest of the month, or save less for future expenditures (which I then have to reduce).
I make the budget of the following month based on what I learned from the previos one(s), and a script that calculates how much money to put into accounts for future expenditures.