On Mon, Jan 16, 2017, at 05:59 PM, APL wrote: > 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). I wonder if you couldn't use the multipliers with expressions (http://ledger-cli.org/3.0/doc/ledger3.html#Amount-multipliers) to define some accounts with splits as needed. I wonder if you couldn't include a tag to say that an account should get the automatic treatment and in those cases do the split manually, like with your car. regards, bex > > 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> 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. 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. -- --- 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.