News for hackers. Stuff that matters.
Re:Show HN: Transity – Plain Text Accounting by TeMPOraL on Wednesday June 06, 2018 @12:59AM (#17244463)
Somebody should write a proper "accounting for regular people" guide, because I too find those terms confusing - and also completely separated for any experience ever that I had with money. And it only gets worse from there, with "accounts receivable" and "accounts payable". Is that an American thing? I try not to fall into the trap of being proud of my own ignorance; but after many hours of reading introductory accounting articles linked by various accounting software sites, I still don't get any of it.

I'd love a cheat-sheet or plain-English example of how to model the following with GAAP: I'm an individual, I have couple bank accounts, get a salary and occasional invoice, I pay for various stuff, I sometimes use cash. I do not own shares in companies. I want to do budgeting, including some sort of "envelopes" or "virtual accounts" so that I can earmark some money for particular use. I tried to build something like that with Ledger CLI several times now, but I always bounce off the confusion about terminology, and not knowing what goes into "Equity", what into "Liabilities", etc., and why does everything expect me to have "accounts payable" and "receivable"...

Knowing what's the proper, idiomatic representation of such financial system would go a long way towards me understanding what the hell all those terms mean.

Re:Show HN: Transity – Plain Text Accounting by maxerickson on Wednesday June 06, 2018 @08:51AM (#17246642)
You'd have 5 main accounts there.

  Income:Job
  Asset:Bank1
  Asset:Bank2
  Expenses:whatever
  Liabilities:whatever
And then each transaction moves the money from one account to another. Income->Asset, Asset->Expenses, etc. Value moves into the system from income, Expenses are (more or less) transactions where value moves out of the accounting system. You track your salary but probably not the hours you work and that you spent $50 on food (Asset->Expenses:Food) but not the food.

Equity is mostly just the offsetting account for balances that aren't tracked more specifically. So beginning balances are booked against equity instead of coming from some source of income.

Liabilities are amounts that you owe. When you buy something on credit, you are receiving the thing, so you book a transaction (booking an expense against the liability). Then later you book another transaction to pay for the thing (booking a decrease in assets against the liability).

Accounts receivable and accounts payable come up because businesses care about how (and when) they recognize payments and non payments and so on. For personal accounting just put money you owe as a liability and money you are owed as an asset.

Re:Show HN: Transity – Plain Text Accounting by gglitch on Wednesday June 06, 2018 @11:17AM (#17247813)
Thanks for this outline. I've been a happy user of Ledger for several months now, but have been stymied about how to model a scenario in which several family members pay me in advance for a bill we collectively owe that's payable in the future, and in which their payments end up in my checking account. I now see that I should have set up the future sum payment as a local, temporary liability, each family member's deposit payments to me as a local, temporary asset other than my checking account (making my local checking balance diverge from that reported by my bank -- but to my benefit!), then the future sum payment as a transfer from the local temporary asset to the local temporary liability, and bringing all accounts to their correct balances and realigning them with my bank.

So, again, thanks a lot for that last line, which helped me out.

Re:Show HN: Transity – Plain Text Accounting by Jtsummers on Wednesday June 06, 2018 @11:41AM (#17248026)
I'd want to keep my checking account in ledger and real world matching. So either use a virtual account to indicate that some money, while existing in checking, is actually allocated to something else (this is a budget, basically). You can also create asset accounts for what people owe you. Once they pay you you move it from what they owe you to your checking account. For this one, you might have a couple transactions like:

  2018/06/01 Roommate owes me
      Assets:Accounts Receivable       100.00 USD
      Income:Roommate
  2018/06/06 Roommate paid me
      Assets:Checking                  100.00 USD
      Assets:Accounts Receivable
You can drill down another level to add who owes you the money, or perhaps tag it.

The end result is that your checking account is always accurate. Then, as maxerickson says, use virtual accounts to handle mark where the needs to go next or what it's intended for. Also examine ledger's budgeting capabilities for this.

https://www.ledger-cli.org/3.0/doc/ledger3.html#Effective-Da...

Re:Show HN: Transity – Plain Text Accounting by gglitch on Wednesday June 06, 2018 @12:25PM (#17248452)
Thanks for the detailed recommendations! I've read the documentation on virtual accounts but haven't wrapped my mind around them yet. I'll have another go at it.
Re:Show HN: Transity – Plain Text Accounting by maxerickson on Wednesday June 06, 2018 @11:26AM (#17247883)
You could use virtual accounts for that, posting the received funds to your checking account and also to a virtual account that you eventually balance with the purchase (which would also have both real and virtual postings).
Re:Show HN: Transity – Plain Text Accounting by smichael on Wednesday June 06, 2018 @12:54PM (#17248785)
It's easy to confuse "virtual accounts" (imaginary accounts or subaccounts) with "virtual postings" (unbalanced postings), but remember these are different things with different uses. You can post to either kind of account with either kind of posting.
Re:Show HN: Transity – Plain Text Accounting by gglitch on Wednesday June 06, 2018 @12:17PM (#17248365)
Thanks. I've had a hard time understanding the documentation on virtual accounts, but I'll have another look at it.
Re:Show HN: Transity – Plain Text Accounting by mbrock on Wednesday June 06, 2018 @04:22AM (#17245314)
Consider watching this little series on Khan Academy and then sketching out your start of year balance sheet and a month's income statement.

https://www.khanacademy.org/economics-finance-domain/core-fi...

This might clarify the account types (assets, liabilities, equity, income, and expense) as structuring the income/balance reports, and accrual basis accounting as the reason to have "accounts payable/receivable."

Consider also thinking of your accounts as nodes in a directed graph. When you credit account 1 and debit account 2, you draw an edge from 1 to 2, representing a transaction. The credit is the "source" and the debit the "target."

(Double entry means you record a transaction as two updates with opposite charge, so credits and debits are listed separately. This is basically an error-correcting heuristic from 15th century Italy, which is still a good practice.)

So when you send an invoice to a client, that's a transaction. You obtain an asset taken from another entity. So you credit a revenue account and debit an asset account called "accounts receivable" (it's not "cash"). When you receive the payment, you credit accounts receivable and debit cash.

Re:Show HN: Transity – Plain Text Accounting by bokstavkjeks on Wednesday June 06, 2018 @05:31AM (#17245604)
I'll try to cover the accounts payable/receivable parts at least. One of the major points of modern bookkeeping is accrual accounting, which means that we recognize economic transactions independently of the cash transaction. Since the economic transaction occurs before the cash transaction, we can't increase the cash balance so we use a short term receivables account. I realize that this explanation isn't great, so I'll try to provide an example.

Consider that you sell a product worth $1000 on the first of January and you issue an invoice to your customer that is due 30 days later (net 30 days). As of January first the economic transaction has taken place and needs to be recorded to stay consistent with the principles of accrual accounting. As we've provided the customer with a product but haven't received payment yet, we've in reality given the customer a short-term loan of $1000 which has to be recorded. Accounts payable is the overview of all of these "short-term loans" given to our customers. The ledger entry for this transaction would increase revenue and also increase this short term loan as shown below.

January 1:

c: revenue $1000 (income statement)

d: accounts receivable $1000 (balance sheet)

Whenever the customer pays for the product we have to update our balance to reflect that the loan has been paid and that the customer no longer has any outstanding debt to us. To do this we credit (decrease) accounts receivable by $1000 and debit (increase) cash on hand by $1000. Note that the second entry doesn't touch the income statement as the revenue has already been recognized.

January 30:

c: accounts receivable $1000

d: cash $1000

The final balance of our accounts at the end of the 30 day period will be:

revenues: $1000 (credit)

accounts receivable: 0

cash: $1000 (debit)

Accounts payable is the same thing, but in reverse. When purchasing from a supplier on netX terms, we've been given a short-term, interest free, loan which we have to record until we pay it. I hope this helps.

Re:Show HN: Transity – Plain Text Accounting by nucleardog on Wednesday June 06, 2018 @05:23PM (#17251247)
One thing I can suggest is since you're not actually beholden to following any sort of GAAP for your personal book keeping... is it's fine to do whatever works for you. Use your best judgement. Unless you're doing this accounting for the joy of the task in and of itself, then you've got a set of problems you're trying to solve or questions you're trying to answer and following GAAP doesn't necessarily get you any closer to those solutions in any meaningful way.

I'd echo someone else's recommendation to have one place in your hierarchy that has a balance that matches up with each physical account so you can check your work when you've entered all your transactions. Beyond that, you're basically programming a system for processing the math related to your money. You can figure it out.

I'd been muddling my way through for years due to the same inability to find any good "accounting for regular people" before I met my SO who is a CPA. Her response to my accounting methods were basically "It's wrong, but it will work just fine."

Want to allocate the money in an account to some things? Create some subaccounts, move money into them. What kind of account? Asset! Asset all the things! People sending money that's going into your chequeing account to pay future bills? Create a subaccount (you guessed it - asset) and put the money into that. Your chequeing account's balance matches up, that money is separated.

Perfect is the enemy of good.

Re:Show HN: Transity – Plain Text Accounting by deltux on Wednesday June 06, 2018 @03:42AM (#17245101)
I found that this tutorial [1] was really helpful to help me understand how it works, in layman's terms. I followed it with hledger [2], but it should work with any double-entry bookkeeping system. You can also find a lot of resources here [3].

[1] http://www.dwmbeancounter.com/tutorial/Tutorial.html

[2] http://hledger.org/

[3] http://plaintextaccounting.org/