Thanks guys. The trouble with automated transactions is that there doesn't seem to be a way to parameterize the generated transaction amounts. For example, you might wish to split an expense 60/40, 36/64, or by some other arbitrary partition. Alternatively, you might want to specify a dollar-split (e.g., APL pays $21,000 and NPL $9,500 for that $30,500 car that they just bought).
APL On Sunday, January 15, 2017 at 4:23:30 PM UTC-5, Peter Keen wrote: > > I do something like this to run my sinking funds and have documented it > here: > > https://www.petekeen.net/program-your-finances-envelope-budgeting > > Basically you can use automated transactions to get close to what you > want, although I'm not sure how you use the value of a tag like that to > cook an automated transaction. Others here may be able to help on that > front. > > On Sat, Jan 14, 2017 at 12:26 PM, APL <alan.pa...@gmail.com <javascript:>> > wrote: > >> I'd like to use Ledger to track the finances of a two-person household, >> recording transactions to both aggregate household accounts and individual >> ownership stakes. >> >> Two questions: >> >> - Is there a preferred way to do this? >> - Supposing I do this using tags to identify "shadow accounts," how >> would you recommend processing shadow account tags? >> >> By "shadow account," I mean a pair of non-real accounts that is >> established for each real account, corresponding to the ownership stakes of >> the two people in the household. The shadow accounts have the property that >> the sum of the postings to each pair of shadow accounts equals the total >> posting to the corresponding real account. >> >> To illustrate, suppose a household that consists of two people: APL and >> NPL. >> >> - APL works at the local metropolitan transportation authority >> - NPL works at a glass factory >> - APL and NPL share an apartment, a checking account, and a credit >> card >> >> We want to track APL & NPL's total household earnings and expenses as >> well as their individual ownership stakes in their assets and liabilities. >> We can do this with shadow accounts implemented with virtual postings. >> Here's an example journal file for APL & NPL: >> >> 2017-01-06 (#1) MTA >> Assets:Cash:Checking $1000.00 >> Income:Salary >> [APL:Assets:Cash:Checking] $1000.00 >> [APL:Income:Salary] $-1000.00 >> [NPL:Assets:Cash:Checking] $0.00 >> [NPL:Income:Salary] $0.00 >> >> 2017-01-10 (#2) Landlord >> Expenses:Rent $960.00 >> Assets:Cash:Checking >> [APL:Expenses:Rent] $480.00 >> [APL:Assets:Cash:Checking] $-480.00 >> [NPL:Expenses:Rent] $480.00 >> [NPL:Assets:Cash:Checking] $-480.00 >> >> 2017-01-13 (#3) Glass Factory >> Assets:Cash:Checking $1200.00 >> Income:Salary >> [APL:Assets:Cash:Checking] $0.00 >> [APL:Income:Salary] $0.00 >> [NPL:Assets:Cash:Checking] $1200.00 >> [NPL:Income:Salary] $-1200.00 >> >> 2017-01-15 (#4) Pacific Gas & Electric >> Expenses:Utilities $85.00 >> Liabilities:Credit:Visa >> [APL:Expenses:Utilities] $42.50 >> [APL:Liabilities:Credit:Visa] $-42.50 >> [NPL:Expenses:Utilities] $42.50 >> [NPL:Liabilities:Credit:Visa] $-42.50 >> >> >> To clarify each transaction: >> >> 1. APL earns $1,000 from the MTA and deposits his earnings to the >> couple's checking account >> 2. APL & NPL contribute equally to their rent payment of $960 >> 3. NPL earns $1,200 from the glass factory and deposits her earnings >> to the couple's checking account >> 4. APL & NPL pay their gas bill of $85 with their credit card, each >> recording equal contributions >> >> The journal gives us APL & NPL's household balance sheet: >> >> $ ledger bal --real >> >> $1240.00 Assets:Cash:Checking >> >> $1045.00 Expenses >> >> $960.00 Rent >> >> $85.00 Utilities >> >> $-2200.00 Income:Salary >> >> $-85.00 Liabilities:Credit:Visa >> >> -------------------- >> >> 0 >> >> Using shadow accounts allows us to view APL's and NPL's individual >> ownership stakes in each of their accounts. >> >> $ ledger bal ^APL >> >> 0 APL >> >> $520.00 Assets:Cash:Checking >> >> $522.50 Expenses >> >> $480.00 Rent >> >> $42.50 Utilities >> >> $-1000.00 Income:Salary >> >> $-42.50 Liabilities:Credit:Visa >> >> -------------------- >> >> 0 >> >> $ ledger bal NPL >> >> 0 NPL >> >> $720.00 Assets:Cash:Checking >> >> $522.50 Expenses >> >> $480.00 Rent >> >> $42.50 Utilities >> >> $-1200.00 Income:Salary >> >> $-42.50 Liabilities:Credit:Visa >> >> -------------------- >> >> 0 >> >> Note that adding APL and NPL's balance sheets yields the household >> balance sheet. >> >> The reason for the second of my original two questions (i.e., how do you >> process shadow account tags?) is that recording shadow accounts with >> virtual postings in every transaction is a tedious process, and I'd like >> instead to use tag-value pairs to record shadow account information. >> Instead of recording the journal entries listed above, I'd like to record >> the following, where the value of the *Shadow* tag holds the ownership >> weights necessary to derive the shadow account postings: >> >> 2017-01-06 (#1) MTA >> ; Shadow: APL 100/NPL 0 >> Assets:Cash:Checking $1000.00 >> Income:Salary >> >> 2017-01-10 (#2) Landlord >> ; Shadow: APL 50/NPL 50 >> Expenses:Rent $960.00 >> Assets:Cash:Checking >> >> 2017-01-13 (#3) Glass Factory >> ; Shadow: APL 0/NPL 100 >> Assets:Cash:Checking $1200.00 >> Income:Salary >> >> 2017-01-15 (#4) Pacific Gas & Electric >> ; Shadow: APL 50/NPL 50 >> Expenses:Utilities $85.00 >> Liabilities:Credit:Visa >> >> >> The result is an informationally equivalent journal file with two >> postings per transaction instead of six. >> >> Elaborating on my original questions: >> >> - Is there a better (and more widely accepted) way to do this? >> - If not, how would you recommend processing the Shadow tags? >> >> Being new to Ledger, my first thought to processing Shadow tags is to >> write a Python script that generates a "cooked" journal file that includes >> the shadow account virtual postings based on the Shadow tag-value pairs; >> Ledger could then read the cooked journal instead. Alternatively, maybe >> there's some facility in Ledger itself that could achieve this. >> >> APL >> >> >> -- >> >> --- >> You received this message because you are subscribed to the Google Groups >> "Ledger" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to ledger-cli+...@googlegroups.com <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- --- You received this message because you are subscribed to the Google Groups "Ledger" group. To unsubscribe from this group and stop receiving emails from it, send an email to ledger-cli+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.