Hmm, well, other than the fact that I can't use metadata since I don't
know how to get a 3.0 build on Mac 10.5 :)  I think that would work
for the simplest bit of this (if I used a BudgetUtil201004 tag and
tagged postings with it) but that wouldn't work for things like "this
bill needs to be split across two months" or really any of the "split"
things.  The advantage of the thing I described is that I could use
the ^^ macros for simple cases, but if I need to do something more
complicated I can still just write numbers... using tags instead of a
virtual account wouldn't give me that escape hatch, would it?

--dave

On Sun, Apr 11, 2010 at 2:23 PM, John Wiegley <[email protected]> wrote:
> Could you implement something by simply using metadata?
>
> John
>
> On Apr 11, 2010, at 5:20 PM, David Glasser wrote:
>
>> I'm just starting to use ledger to implement finances for an
>> organization.  The organization is a home with a bunch of folks where
>> we share costs.  I'm thinking that the virtual transactions will work
>> great for budgeting; for example I'm thinking of doing something like
>> this to track utilities bills:
>>
>> 4/1 Pay electric
>>  Expenses:Utilities:Electric   $100
>>  Housebills:Dave    ; because I'm the one who actually paid it
>>  (Budget:Utilities:2010-04)  $100
>>
>> 4/1 Pay gas for April and May
>>  Expenses:Utilities:Water   $100
>>  Housebills:Jane    ; Maybe she paid the water bill
>>  (Budget:Utilities:2010-04)  $50
>>  (Budget:Utilities:2010-05)  $50
>>
>> ; ... etc for all the utilities
>>
>> ; Then when it's time to issue housebill, I can use
>> ;   ledger bal budget:utilities:2010-04
>> ; to find out that the total utilities for the month were $150
>>
>> 4/15 Charge utilities
>>  Income:Utilities Collected   $-150
>>  (Budget:Utilities:2010-04)  $-150
>>  Housebills:Dave  $50
>>  Housebills:Jane  $50
>>  Housebills:Alex  $50
>>
>> splitting the costs evenly among my housemates
>>
>>
>>
>> So there are two features that would be nice here:
>>
>> 1: For many instances of the virtual posting (the first and the last,
>> specifically) I want the posting to the budget to be the exact same as
>> some real posting.  For example, I'd like to add the exact value I
>> spent on electricity to the utilities budget and having to type the
>> same number twice leaves room for error.
>>
>> 2: There are a bunch of cases where I want to divide a charge evenly
>> among a bunch of postings.  Both in the "Take the utilities budget for
>> this month and divide it evenly among my housemates" case (all
>> non-virtual) and in the "Take the water bill (real charge) and divide
>> it evenly among virtual budget charges for two months" cases.
>>
>>
>> Maybe these can be implemented by allowing some sort of special syntax
>> in the amount field?  So I could write something like:
>>
>>
>> 4/1 Pay electric
>>  Expenses:Utilities:Electric   $100
>>  (Budget:Utilities:2010-04)  ^=^
>>  Housebills:Dave    ; because I'm the one who actually paid it
>>
>> 4/1 Pay gas for April and May
>>  Expenses:Utilities:Water   $100
>>  (Budget:Utilities:2010-04)  ^/^
>>  (Budget:Utilities:2010-05)  ^/^
>>  Housebills:Jane    ; Maybe she paid the water bill
>>
>> 4/15 Charge utilities
>>  Income:Utilities Collected   $-150
>>  (Budget:Utilities:2010-04)  ^=^
>>  Housebills:Dave  ^-/^
>>  Housebills:Jane  ^-/^
>>  Housebills:Alex  ^-/^
>>
>> This is not necessarily the best syntax.  The semantics would basically be:
>>
>> - When you read a ^=^, interpret it as equal to whatever is written
>> immediately above it.
>>
>> - When you read a ^-=^, interpret it as the negative of whatever is
>> written immediately above it.
>>
>> - When you read a ^/^, hold off on calculating its value and keep
>> reading until you find a posting that isn't ^/^.  Then take the value
>> immediately above the first ^/^, divide it by the number of ^/^s, and
>> assign that it all of them.  ^-/^ is the same but assigns the
>> negative.
>>
>> ^^ elements perhaps can't be after a posting with an empty amount.  If
>> you place a ^=^ after a ^/^ it copies the value of the ^/^ not the
>> total that it was adding up to.
>>
>> Would something like this be reasonable? I'd be interesting in helping
>> implement too, although I'll admit that I've had some difficulty
>> getting a build environment for ledger (I can probably build based on
>> whatever is in MacPorts but that isn't git master, I think).
>>
>> --dave
>>
>> --
>> [email protected] | langtonlabs.org | flickr.com/photos/glasser/
>
>
>
> --
> To unsubscribe, reply using "remove me" as the subject.
>



-- 
[email protected] | langtonlabs.org | flickr.com/photos/glasser/

Reply via email to