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.

Reply via email to