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.
