Hacker News new | past | comments | ask | show | jobs | submit login
Double-Entry Bookkeeping for Hackers (markan.net)
37 points by excsn 53 days ago | hide | past | favorite | 7 comments



> Again, notice that income and liability accounts have negative values. (In real life people report these numbers without the negative signs, but I'm going to leave them because it's conceptually simpler.)

This is a good way of implementing double entry accounting. The worst thing is to use positive quantities and then having to remember nonsensical rules what is added and subtracted, and what is a "credit" and "debit".

Accounts with negative values are easy to remember: they are all represent external interests: sources that have lent or given money to the business.

Owner equity runs negative because the owner's interest in the business is conceptually money that the business owes to the owner. To the owner, it is positive, but the business' account which tracks it is a reflection of that value inside the business: it has to represent the value it would lose if it had to pay out the equity to the owner.

The signs all make sense when you think of them this way.

Expensive are positive because they are a chunk of something the business has, or had. They represent what value of the business has been distributed into paying recurring bills and consumable resources. The business doesn't have that value in it any more, but it is tracked positively as chunk of the pie, since it isn't something owed to an outside interest.


I prefer the system implemented at most banks and investment firms (maybe because it's so ingrained in me). Just use brackets!!

Sure, negative signs are accurate but for some numbers which can be both positive and negative, my brain kinda goes into a short thinking loop of "is that really a minus?". With brackets (which are the SEC standard), my brain doesn't tend to overthink in that direction.


I supported those parentheses in the TXR Lisp pic macro:

  1> (pic "##.#" 42)
  "42.0"
  2> (pic "(##.#)" 42)
  " 42.0 "
  3> (pic "(##.#)" -42)
  "(42.0)"
The ### notation, may be imediately preceded by a parens, which must be matched by a closing one. Both parentheses become spaces for a non-negative value, or are rendered for a negative one.

The notation is mutually exlusive with the + for requesting an explicit positive sign:

  4> (pic "(+#.#)" -42)
  "(-42.0)"
  5> (pic "(+#.#)" 42)
  "(+42.0)"
:)

The parens have become just literal text.


I learned double-entry bookkeeping from the GnuCash "Tutorial and Concepts Guide"

https://www.gnucash.org/viewdoc.phtml?rev=5&lang=C&doc=guide


My favorite basic bookkeeping book for just the basics.

Barron's E-Z Bookkeeping by Wallace W. Kravitz, Kathleen Fitzpatrick (Barons Education Series 2009)


This is great and overcomes my previous view that "Accounting is arithmetic made difficult."


I just need a way out of this intuit stupidity




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: