* Eric Abrahamsen <[email protected]> [2014-05-19 09:59]:
> ~ Monthly
> ; Payee: Tax Dodgers, Inc
> Assets:Merchants:5231 7000 RMB ; regular salary part
> Assets:Receivable 3000 RMB ; receipts
> Income:Salary
Is this just an example or something you actually use? I'm asking
becaue I don't understand this transactions. Why would
Assets:Receivable go up every month? Also, what it
Assets:Merchants:5231? Surely, if you're paid monthly, your bank
account would go up, and not some Assets:Merchants account.
> After a few weeks I have 1920.90 RMB in my virtual receipt account, and
> I hand them in (but they haven't paid me the reimbursement yet):
>
> 05/04 ! Tax Dodgers, Inc
> * (Assets:Receipts) = 0 RMB
> Assets:Merchants:5231 1920.90 RMB
> Assets:Receivable
>
> When the reimbursement comes through I clear the whole transaction, and
> add an aux date.
This whole approach looks a bit complicated and fragile to me. I'll
explain the workflow I use. I'm not sure it's better, but it works
for me:
1) When I spend something while on a business trip, I do not book it
as an expense. I don't think that would be correct since I'm
effectively just lending money to my employer until I'm reimbursed.
So it's an asset. I called it Assets:Reimbursable:XXX (XXX for my
employer).
2014-05-10 * Taxi
Assets:Reimbursable:XXX $20
Assets:Cash
2) Then I enter expenses into my employer's expensive reports and
generate an expense report. I use the data from the expense report to
generate ledger transactions. They look like this:
2014-05-15=2014-05-10 * Reimbursement: Taxi
Assets:Receivable:XXX $20
Assets:Reimbursable:XXX -$20
; This is an allowance (e.g. a per diem)
2014-05-14=2014-05-10 * Subsistence
Assets:Receivable:XXX $5
Income:Allowances:Incidentals
I use the date of the expense report as the date and the date of the
expense as the effective date. This is a bit of a hack, but allows me
to use
ledger --effective --sort d reg reimbur
to match expenses and reimbursements (if doesn't go to 0 at the end of
each day, I either forgot to expense something or to tag an expense).
I essentially convert Assets:Reimbursable to Assets:Receivable. When
I submit my expense report, I'm just awaiting payment from my
employer.
This allows me to differentiate between things I still need to put
into the expense system and payments I'm awaiting.
3) I get paid by my employer:
2014-05-19 * Reimbursement for XXXX
Assets:Checking:Bank $25
Assets:Receivable:XXX -$25
I use tags to track expenses that relate to one particular trip /
expense report. Initially, I just tag it with the directory name I
use to store receipt (e.g. 2014-03-21-boston-libreplanet) but later I
add a tag for the number of the expense report.
I think this workflow follows a logical approach: when you spend
money, you have an asset that can be reimbursed (Assets:Reimbursable).
When you do an expensive report, it becomes a receivable
(Assets:Receivable). And finally, this receivable goes away when you
get paid.
Now I understand that it might be slightly different if I were a
contractor rather than an employee. In that case, I can see an
argument for booking these expenses a actual Expenses: rather than
Assets:Reimbursable. (After all, they are expenses for your business
regardless of whether you get reimbused or not.)
You could tag with them with your client, and then use
ledger reg Expenses: tag client
to get a list in order to bill them. This would just be income and
not a reimbursement as with a true employee.
I believe this approach should work for most people. Now in your
case, we need to be slightly more creative. It sounds as if got paid
$40 if you had a receipt for $40, even though you only spent $20 (no
need to confirm). I have one idea how to handle this. It's not
currently supported by ledger, but it's a feature that I realized a
few days ago would be useful.
It would be nice if ledger would allow you to run 'reg' or 'bal' on
tags. In order words, you could have:
05/15 * Taxi
; Receipt:: 40 RMB
Expenses:Transportation 23 RMB
Assets:Cash
05/15 * BHG
; Receipt:: 154 RMB
Expenses:Food:Supermarket 154 RMB
Assets:Bank
and then do:
ledger reg --account=tag('Receipt')
or to generate an invoice for your employer:
ledger bal -p "this month" --account=tag('Receipt')
This doesn't work at the moment, but I'll file a feature request:
http://bugs.ledger-cli.org/show_bug.cgi?id=1042
[Now that I filed this bug, it seems like what I'm asking for is a
virtual account. ;-) But I want the tag to remain _outside_ the
accounting system whereas a virtual account is part of your accounts.]
I have a use case for this: I track points I receive when I stay in a
hotel. In addition to points, the number of nights stayed count
towards lifetime status. This isn't something I track in ledger
(since it's not really an asset), so I just put it in a comment.
However, it would be nice to do:
ledger reg --account=tag('Nights')
to get the total number of nights I've achieved.
--
Martin Michlmayr
http://www.cyrius.com/
--
---
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 [email protected].
For more options, visit https://groups.google.com/d/optout.