Skip to content

Instantly share code, notes, and snippets.

@simonmichael
Last active March 20, 2025 08:52
Show Gist options
  • Select an option

  • Save simonmichael/a1addcb652da4e78b183 to your computer and use it in GitHub Desktop.

Select an option

Save simonmichael/a1addcb652da4e78b183 to your computer and use it in GitHub Desktop.
envelope budgeting example
; An example of YNAB-ish envelope budgetting with hledger/ledger
; cf https://github.com/simonmichael/hledger/issues/315
; Using accounts like the following:
;
; assets
; business
; bank
; wf
; bchecking
; available
; month
; autosave
; banking
; books
; dues
; equipment
; online
; research
; software
; supplies
; year
; conferences
; education
; legal/accounting
; personal
; bank
; wf
; checking
; available
; month
; autosave
; clothing
; food
; gifts
; health
; home
; personal care
; phone
; recreation
; spiritual
; transport
; year
; vacation
; savings
; reserve
; expenses
; business
; books/periodicals
; online
; hosting
; personal
; food
; dining
; snacks
; gifts
; at the start of each month, zero out any overspending from last month:
2016/1/1 * refill negative budget envelopes (business)
[assets:business:bank:wf:bchecking:month:books] $9.42 = $0
[assets:business:bank:wf:bchecking:available] $-9.42
2016/1/1 * refill negative budget envelopes (personal)
[assets:personal:bank:wf:checking:month:food] $24.28 = $0
[assets:personal:bank:wf:checking:month:gifts] $16.30 = $0
[assets:personal:bank:wf:checking:available] $-40.58
; and transfer funds to various envelopes (books, etc.) for this month's
; spending, and longer-term saving goals:
2016/1/1 * budget for this month's business expenses
[assets:business:bank:wf:bchecking:month:autosave] $100
[assets:business:bank:wf:bchecking:month:banking] 0
[assets:business:bank:wf:bchecking:month:books] $10
[assets:business:bank:wf:bchecking:month:dues] $10
[assets:business:bank:wf:bchecking:month:equipment] $40
[assets:business:bank:wf:bchecking:month:online] $70
[assets:business:bank:wf:bchecking:month:research] $20
[assets:business:bank:wf:bchecking:month:software] $20
[assets:business:bank:wf:bchecking:month:supplies] $10
[assets:business:bank:wf:bchecking:year:conferences] $20
[assets:business:bank:wf:bchecking:year:education] $10
[assets:business:bank:wf:bchecking:year:legal/accounting] $40
[assets:business:bank:wf:bchecking:available] $-350
2016/1/1 * budget for this month's personal expenses
[assets:personal:bank:wf:checking:month:autosave] $100
[assets:personal:bank:wf:checking:month:clothing] $30
[assets:personal:bank:wf:checking:month:food] $300
[assets:personal:bank:wf:checking:month:gifts] $30
[assets:personal:bank:wf:checking:month:health] $300
[assets:personal:bank:wf:checking:month:home] $1000
[assets:personal:bank:wf:checking:month:personal care] $20
[assets:personal:bank:wf:checking:month:phone] $80
[assets:personal:bank:wf:checking:month:recreation] $20
[assets:personal:bank:wf:checking:month:spiritual] $20
[assets:personal:bank:wf:checking:month:transport] $50
[assets:personal:bank:wf:checking:year:vacation] $50
[assets:personal:bank:wf:checking:available] $-2000
; Then update appropriate envelopes as transactions are made:
2016/1/1 * automatic savings transfer
assets:personal:bank:wf:checking:month:autosave
assets:personal:bank:wf:savings:reserve $100
2016/1/2 * linode
expenses:business:online:hosting $50
assets:business:bank:wf:bchecking:month:online
2016/1/3 * market
expenses:personal:food:dining $10
expenses:personal:food:snacks $2
assets:personal:bank:wf:checking:month:food $-12
expenses:personal:gifts $3
assets:personal:bank:wf:checking:month:gifts $-3
2016/1/4 * amazon open source everything
; a business purchase from personal account - use available
expenses:business:books/periodicals $12.33
assets:personal:bank:wf:checking:available -$12.33
; and adjust the appropriate business envelope
[assets:business:bank:wf:bchecking:available] $12.33
[assets:business:bank:wf:bchecking:month:books] -$12.33
; etc.
; to check status:
; $ hledger bal checking:
; or (good for reviewing transactions):
; $ hledger-ui checking:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment