On Sat, May 17, 2014 at 7:06 PM, Martin Michlmayr <[email protected]> wrote:

> * Martin Blais <[email protected]> [2014-05-17 13:52]:
> > - Your non-taxable allowance can be tracked in a separate contra income
> > account (that is, one with a positive amount). That's what I do for some
> of
> > my deductions.
>
> I don't think the allowance is a deduction.  If I understood
> correctly, the $5200 income consists of $5100 (taxable) salary and
> $100 (exempt) allowance.
>

Ohhhh sorry I realize I did screw up one number in my example.



>
> So:
>
> > 2013/05/16 * Myself
> >   Income:Employer:Salary   -5200.00 USD
> >   Income:Employer:Deductions:FamilyAllowance  100.00 USD
>
> should be:
>
>    Income:Employer:Salary   -5100.00 USD
>    Income:Employer:Allowance:Family   -100.00 USD
>

Yes, indeed, either like that or if it's some deduction, like this:

   Income:Employer:Salary   -5300.00 USD
   Income:Employer:Allowance:Family   100.00 USD

Either way, depending on what this "family allowance" actually means.
I use the second style for deductions.

At the EOY, my numbers match very precisely those that I see on my W2 and
that gives me a warm fuzzy feeling of happiness : -)  IMO the closest you
can track all the categories from your pay stub as they payroll processor
does the better.



>   Assets:Bank:Checking    3500.00 USD
> >   Expenses:Taxes:Salary          1700.00 USD
> >
> > Your "net" income is simply the balance of the Income:Employer:Salary
> > account - Expenses:Taxes:* accounts. You can write a query to calculate
> it.
>
> Correct.  But I think Lifepillar showed that using virtual accounts is
> much more elegant.  You can simply use --real and get the net figure.
>
> Without using virtual accounts, you have to run a long "bal" command,
> especially if there are many different expenses accounts (tax might be
> split into income tax, social security, etc).
>

Well I don't know about how Ledger reports it, but to me, if the numbers
are accounted for in your ledger and available from the transactional data
in some way, it's more of a matter of figuring out how to report it. If the
reporting capabilities are insufficient, one should improve that instead
instead of using what I think of as a hack in the data entry (because these
virtual postings are not required to balance; I'm not 100% it's still true
in current Ledger but when we talked about this way back when the feature
was introduced they weren't IIRC; certainly Beancount's virtual postings
weren't participating in the balance checks at the time). Using tags would
be a non-hacky way to do this, like Harshad points out, but I think better
would be find some way to program the reporting.

Moreover, these virtual accounts work here in this specific case, but what
if they're needed somewhere else in the ledger to solve some other problem?
 Can you have multiple sets of them or is there a single meaning for
"--real"? How is a tax expense not "real"? What does this mean?  The reason
I tend to kick back about this feature is that it has happened to me at
least ten times over the time I was learning how to do this that I would
trip up because I did not know how to book my transactions right and ended
up using virtual postings as a crutch whereas I should have been forced to
get more creative and figure it out. Eventually I managed to get rid of all
of them without loss of information. I plan to document all these as
examples at some point, I think a lot of examples would be useful to
someone learning the DE method. That's why I feel quite strongly that in
most cases the problem needs not break out of the DE model; I'm sure there
are *some* cases where they are needed, but I just don't have those use
cases myself and I don't see good use cases I couldn't convert. It would be
useful to build a list of real-world use cases of virtual postings and see
if they can all be solved without or not - make a compelling argument about
the need for virtual postings.

Everything is a compromise; IMO the danger and possibilities for errors
that virtual postings introduce is not worth the benefit, not by a long
shot. This is why I removed them in the 2.0 rewrite. If I reintroduce them,
it will be in a limited fashion that as much as possible preserves the
balancing model, such as just supporting a separate Virtual:* hierarchy,
so: virtual accounts, not postings (FYI: Beancount only allows accounts to
live in one of the five A,L,E,I,X categories; this is on purpose, the
reporting functions produce standard accounting reports that use these
facts about accounts. This would merely introduce a 6th one that gets
treated separately).



> Here's how I actually do this (from my Ledger, removed numbers, kept the
> > signs):
>
> FWIW, I use something very similar.
>
> > 2014-05-07 * "GOOGLE INC       PAYROLL" ^google-XXXXXXX
> >   Assets:US:MyBank:Checking                            XXXX.XX USD
> >   Income:US:Google:GroupTermLife                      -XXXX.XX USD
> >   Income:US:Google:Salary                             -XXXX.XX USD
> >   Income:US:Google:Deductions:Dental                   XXXX.XX USD
> >   Income:US:Google:Deductions:GroupTermLife            XXXX.XX USD
> >   Income:US:Google:Deductions:InternetReimbursement   -XXXX.XX USD
>
> I don't know you call this a deduction.  Wouldn't
> Income:US:Google:Allowance:InternetReimbursement
> be a better name?
>

That's just what they call is on my pay stubs. It lives in the "deductions"
section IIRC.



>
> >   Income:US:Google:Deductions:Medical                  XXXX.XX USD
> >   Income:US:Google:Deductions:TransitPreTax            XXXX.XX USD
> >   Income:US:Google:Deductions:Vision                   XXXX.XX USD
>
> Are you should these shouldn't be Expense accounts? e.g.
> Expenses:Health:Insurance
>

... and Dental.

Hmmm that's a good point, I'll review this indeed...
It does bother me that those have generally positives amounts, and points
to your comment likely being right.
I'll see why they call these deductions.



>
> >   Assets:US:Google:Vacation                               X.XX VACHR
> >   Income:US:Google:Vacation                              -X.XX VACHR
>
> Is this to track vacation days?
>

Yes.
The payroll processing company even shows you the balance (in vacation
hours) of your vacation accrued at the bottom left of the pay stub, so I
put a

YYYY-MM-DD balance Assets:US:Google:Vacation  X.XX VACHR

line after I update my ledger for pay stubs.

When I take vacation, I then deduct from this asset account and offer
myself an Expenses:Google:Vacation. This way I can tell how much vacation I
actually took that year, and it provides a double-check that Google booked
it right when I notified them - via the internal automated web site - that
I was taking time off :-)



> Auxiliary note: One might argue that the tax withheld sitting at the
> > government in an account with your name on it is an "Asset" account (one
> > like that for each tax year), and that the expense only gets incurred at
> > the time you make your tax filing for that year (e.g. the following
> April)
>
> I find it hard to make that argument. (You know, death and taxes... ;)
>

Yeah. I was mostly mentioning it because when explaining to someone else
why an Income account is of a negative value, it's useful to think on a tax
expense as something you received - like an asset - in exchange for the
work you "gave away."



>
> > I prefer to account for taxes as an Expense, so that throughout the
> > year my income statement includes a good approximation of what my
> > tax expenses will turn out to be for that year (which is exactly
> > what source withholding is supposed to be), and at the time of
> > filing I make an adjustment on that same expenses account when I
> > compute the exact amount.
>
> This is exactly what I do.  If you have to pay additional tax, you
> just book another expense  If you're lucky enough to get a refund, you
> reduce the expense.  The only downside with this is that a large
> refund (or payment) will mess up the overall expenses for that month
> (e.g. you might have negative expenses in a month because your refund
> was so high).  If you did accrual accounting properly, you'd probably
> have to split it up or at least assign it to the correct year (refund
> in April is really for the previous year); I don't do this 100%
> correctly in my personal finance (so far).
>
> > I'm starting to think that I should start creating a distinct expense
> > account for each tax year, because that's how both the Canadian and US
> > governments handle it: amounts that you post get booked to a particular
> > year
>
> I'd use tags.
>

That would work too, but perhaps would be more annoying.

In solving many of these problems I have found that tags will often be used
as a subaccount would, so for at least some uses they're equivalent.  A
similar remark can be made about payees: a payee could often be replaced by
a subaccount if the transactions for that payee always book to the same
account, e.g. Expenses:Internet with payee "Time Warner" or
Expenses:Internet:TimeWarner. I have been pondering adding an option to
automatically convert one into the other at runtime if this occurs; I could
automatically detect when a consistent payee always occurs to the same
account.

Thanks for your thoughtful comments,

-- 

--- 
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.

Reply via email to