Hacker News new | past | comments | ask | show | jobs | submit login
Financial Statements: A Beginner's Guide (causal.app)
247 points by refrigerator on July 14, 2020 | hide | past | favorite | 67 comments



For those still confused about Assets, Liabilities, Equity, Credits, and Debits, let me see if I can give you a more intuitive primer:

Assets = Money you have. Liabilities = Money you borrowed from someone else. Equity = Money you earned.

All the money you have you either (i) borrowed from someone else or (ii) earned. In other words:

Assets (money you have) = Liabilities (money you borrowed) + Equity (money you earned).

When recording a transaction all you have to do is ask yourself two questions:

1. Where did the money come from? (what is the Source) 2. Where did the money go? (what is the Use)

Suppose you borrow $100 from a bank:

1. Where did the money come from? -> you borrowed it from someone else, so increase Liabilities by $100. 2. Where did the money go? -> to your checking account (money you have), so increase Assets by $100.

Adjustments to Source accounts (where money comes from) are Credits, adjustments to Use accounts (where money goes) are Debits, so we could revise the above statement to:

1. Credit Liabilities $100 2. Debit Assets $100

That's basically it. The rest is just breaking things down into sub accounts (e.g. Assets:Checking or Equity:Income).

Hope that helps.


This is a good overview in layman's terms - but as with most things it can get much more complex.

e.g. deferred revenue is a liability and although close, it is technically not really money that is borrowed. (It reflects services/goods owed)


Instead of "borrowed" you could say "owed" as you state. The basic idea is it represents money you have that you're on the hook for. Could be deferred revenue, accounts payable, bank debt, etc. I say "borrowed" because that's a concrete term that maps to a transaction with which most people are familiar.

I'd also argue that you can work through even the most complicated accounting transaction and build the most complex financial statements by repeatedly asking the questions I've outlined in the above framework. Accounting was meant to be simple and accessible for the layman, but for some reason every Accounting 101 class teaches things like "debit means left and credit means right," which causes most people to throw up their hands and just rely on bookkeepers and accountants for all things money related.


Agreed and I still think it's a good primer to debits and credits on the balance sheet


As a student, I really started to grokk accounting when I started thinking of double-entry accounting as the business application of Newton's law "For every action, there is an equal and opposite reaction." Whenever a change happens to one side of the financial statements, an exact and simultaneous change happens to the other side. Aggregated over a period of time, the financial statements both categorize and summarize these various changes.

The rule that Assets = Liabilities + Equity is important because Liabilities and Equity can be viewed as opposing forces. Notwithstanding the financial engineering and nuance around debt, liabilities in their purest sense are a balance of how much you've taken beyond what you've earned, while equity is a measurement of how much you've earned beyond what you've taken. The assets show what you have, but L&E show how everything was acquired.

As I get older, I've come to appreciate how accounting also serves as a prism through which to view the world, because the financial concepts that apply to billion dollar businesses also apply to small mom-and-pops and individuals. One can think of themselves as a company, of which they are the CEO and sole employee. They earn revenue (from a job), incur expenses, and may have physical assets (homes, cars, computers) or liabilities (student/car/home loans). Every decision that's made is financial in nature, and thinking about decisions as an exchange of money or time helps me prioritize what I do personally and professionally.

Accounting is a wonderfully beautiful system and I hope it becomes more common knowledge because it is absolutely fundamental to living in our modern time. The largest governments and businesses are bound by the same rules of accounting, and so are we -- whether we are aware of it or not.


This is made more clear by the graph theoretic viewpoint in kleppmann's excellent guide: https://martin.kleppmann.com/2011/03/07/accounting-for-compu...


100% agree. I’ve been saying that the two topics that need to be learned early in life are accounting and statistics.


Good comment. Fully agreed.

The accounting equation and therefore the double-entry system, once fully appreciated, probably ranks high up there in the pantheons of Humanity's achievements right alongside E=mc2.

The non-"scientist" may scoff at that but A=O+L is as sacronsanct as the laws of conservation of energy.


Classical economics is based on a false analogy with Newtonian physics. - George Soros (paraphrased)

Double entry bookkeeping is nothing but an inefficient process hack for poor historic record keeping systems. I would argue that double entry bookkeeping has been significantly responsible for setting back popular fiscal literacy.

Stop worshipping at the altar of tradition!


What other accounting frameworks exist, that are better than double-entry bookkeeping at promoting fiscal literacy? Or perhaps easier to deal with or understand for a layman?

For reference, I don't understand double-entry bookkeeping.


Thanks for asking.

In the programming world typically we would use a signed value[0] instead of separate ledgers[1] for debit and credit (ie. +$12 and -$11.50 within one ledger, resulting balance +$0.50).

Whereas, in the traditional double entry world, you have two ledgers, one called 'credit' and one called 'debit', BOTH with POSITIVE balances. You don't know where you stand until you look at both and apply appropriate signs, then make a total. This obviously can function and does make sense if you are used to it, but is an artifact of ancient book-keeping practices and a perfect basis for confusion in many cases. Especially since, on different days, you might be the person on either side of the equation (ie. then credit becomes your debit and debit becomes your credit, should you - for example - acquire a competitor).

You could of course store things in any way you like and present them differently, but there's no need to TALK and THINK about them jumping through such pointless logical hoops. (Many philosophers, writers, linguists, mathematicians and programmers have explained the value of concise and explicit language as a boon for clarity of thinking.)

You can model transactions between entities as a directed graph[2], allocating each transaction a unique identifier. In this way, the 'credit' or 'debit' nature of each transaction is no longer the property of "where you are looking from" (subjective property), but rather objectively associated with the source and destination nodes for that transaction in the directed graph.

I believe these approaches promote fiscal literacy because: (A) Everyone with basic mathematical comprehension understands the meaning of + and -. (B) Using common language instead of professional vocabulary reduces the chances for misunderstanding and thus fraud. (C) Maintaining a common ledger for credit and debit (positive and negative value) transactions means they are always sorted through time which is probably our most basic intuitive sense of record as humans. (D) We should always be suspicious of appeals to authority, and the professional vocabularies and self-auditing professional societies in which they congregate, which generally turn out to be the inertia-driven self-interest groups of dynastic rent seeking. (E) Objective and explicit record keeping is good practice. (F) The "whole picture" (all transactions) is a clearer and more logical default intellectual scope than the "half picture" (only credit, or only debit transactions).

Using these tools you can model transactions in any economy, whereas using double entry bookkeeping you will encounter increasing issues when modeling multi-party transactions, multi-hop transactions, multicurrency transactions (traditional double entry book keeping systems utilize a single currency per ledger), etc.

For further observations and thoughts along these lines see IFEX.[3]

[0] https://en.wikipedia.org/wiki/Signedness [1] https://en.wikipedia.org/wiki/Ledger [2] https://en.wikipedia.org/wiki/Directed_graph [3] https://raw.githubusercontent.com/globalcitizen/ifex-protoco...


I thought a major argument for double-entry bookkeeping was for error detection and correction/auditing. Was I mistaken? It was sold to me like that many years ago.

We have technology that will help with that (signing, hashes, parity bits, blockchain, etc) but none of that matches the simplicity of a notepad in a desk at a local takeaway store.


Yes, that's the classic argument. However, it is quite irrelevant today, where human error and time are both stupendously more expensive than precise record keeping executed by software in the first place.

The tools you mention are tangential to this: signatures are for non-repudiation and authenticity, hashes are for checksums, parity is for self-repair in bad checksum cases (rarely used in application level software today), and blockchains are for distributed trust (eg. distributed ledgers), essentially providing the combined properties of signatures and hashes to a shared database in a distributed system over time.

Note that all depend on the input of valid data in the first place, and none can be efficiently applied to a manually written notepad.


You just don't understand it. See my comment above.


Hah! The classic refrain of the self-styled expert!

How about instead of being dismissive you explain: (a) Why you believe double entry bookkeeping has modern value. (b) How you believe double entry bookkeeping enhances rather than inhibits fiscal literacy.

None of these are covered in the grandparent post, and I am genuinely curious to hear your answers.


I think at least a 100-level knowledge of bookkeeping is beneficial to nearly every developer. Bookkeeping is, arguably, one of the oldest and longest-practiced "data processing" disciplines. It seems arbitrary and somewhat old-fashioned until you grok the reasoning and history behind it (double-entry sourced from summaries of various different "journals" to facilitate separation of duties, closing periods and rolling-up detail entries into totals because human computational power is limited, an equation that balances implicitly when there aren't entry errors, etc.)

Odds are that your work somehow impacts the revenue or expenses of your business and will need to interface with accounting or finance people at some point. I found it increased my perceived credibility when I could speak using terminology from the accounting or finance person's area of expertise.

I also agree with other posters who would argue that everyone should have some basic proficiency in double-entry bookkeeping. That's probably way too optimistic, though.


The double entry for purchasing raw materials would be the other way round: Dr Materials; Cr Cash.

Cash is an asset so debiting it would increase your cash balance. Likewise, Materials is an expense code in the P&L and debiting it will show it as a cost. You would only credit to the P&L for income transactions.


Yeah, kind of a bad way to begin a primer on financial statements... with a novice mistake. My accounting professor used the acronym DEAD: Debits increase Expenses, Assets, and Dividends.


I use Gnucash that automatically translates accounting terms to more user-friendly ones depending on the account type (e.g. becomes Deposit/Withdrawal for current accounts, Expense/Rebate for expenses accounts, etc).


I stopped reading after that. I mean if the first example is falsey I kind of doubt the rest.


(author here) Thanks for raising this — I intended for that example just to illustrate the underlying concept of having balanced entries for a transaction, rather than to show how double entry is practiced today.

The focus of the post is on the underlying concepts rather than the implementation details — I didn't want to introduce the whole thing about debiting assets vs debiting expenses etc because it's a little confusing for a lay person.

Hope that makes sense. I've added a caption to the image explaining this.


I don't think this is a useful response. The concept of accounting is deeply integrated with the rules of accounting. The implementation details are the concepts, really. I'd suggest making the examples conform to the actuality of how accounting will get used.


I agree. Basic pedagogy: if you are about to introduce an example where you think you might have to choose between being truthful or confusing, you should not introduce that example. Or, if you have to, do it the confusing way.

Lying to beginners to shield them from confusion does not help them. Find a way to do what you want to do while still telling the truth.


Do you mean, if you have to, do it the truthful way?


I have to echo others' sentiments, too. You should use examples that are harmonious to both the concept and implementation detail. Otherwise you're just creating the potential for confusion for no good end.


Great article. Most people don't appreciate the value of accounting knowledge. One quibble: few businesses are actual corporations, so I learned to use the term "Owners' Equity" instead of "Shareholders' Equity".


I still don't see the reason why you would do it the wrong way, and the caption only adds to the confusion.

Why not just rewrite instead of adding a caption that doesn't make sense anyway.


can you please explain this.

the article says a debit is a loss and a credit is a gain. if you pay for cotton, you've "debited" your cash amount... your cash balance would decrease.

but now you say cash is an asset. ok. so? why does saying that now mean that "debiting" cash increases the cash balance? you certainly don't have more cash on hand... you have less.


I still subscribe to the definition of the words "debit" and "credit" that I learned in my 100-level accounting class: A debit is an entry in the left column of the journal, a credit is an entry in the right column. The meanings "gain" and "loss" only related to debit and credit when you're talking about the "normal balance" of a specific type of an account (an example: a debit to a revenue account represents realized revenue). Without the context of a specific type of account the words debit and credit only refer to the placement of the transaction in a journal.


The double entry for the cash account in your books is the opposite terminology used by the bank to present your transactions. For example, in your statement you would see cash coming in as a credit and a payment as a debit. This is because the bank is showing the debits and credits from their point of view - you have money held in the bank that they are obliged to give you when you request a withdrawal.

Every accounting entry has one side posted to the P&L and the other to the Balance Sheet (unless you're reclassifying between accounts but that's for another time). In the P&L a debit entry indicates a cost to you, and a credit indicates income earned. In the balance sheet, a debit will increase an asset or decrease a liability, vice versa for a credit.

To record a purchase in your books you have to post one side to the P&L and the other to the balance sheet. Because of the rules mentioned above you debit an expense, and because you need to balance out the entry, you post the credit to cash, which conveniently decreases your cash account asset.

It's confusing at first but easier when you understand and accept the mnemonic DEADCLIC.


The lengths to which economists go to avoid negative numbers! Is there any good reason to not use the same sign for all accounts and just flip the sign of the amounts in the transaction instead?


Accountants != Economists

Many ERP systems do use the convention that debits are positive numbers and credits negative and so only have a single column for amount. This is possibly more confusing for non accountants as they have to understand that a negative income balance means they made money.


Sorry, not a native speaker and got that one wrong.


To people who haven't tried keeping track of their personal finances using double-entry bookkeeping, I strongly recommend it.

It's not just about reducing error (although it does that really well too.) It's also about increasing transparency, for two reasons: it makes many things explicit that would otherwise be easy to hide, perhaps by accident; it also provides very strong support for querying your finances in various ways.

Whenever I'm budgeting for something (a project among friends, the wedding with my wife, and so on) I always try to start out "simpler" but I also always end up doing something like double-entry bookkeeping because all other "simpler" solutions make it very hard to figure out where money is actually coming from and where it is going.

This is as good a place as any to start: https://plaintextaccounting.org/


Could you expand on the benefits of double-entry bookkeeping, beyond reducing errors?

Personally I am looking into it, because the run-of-the-mill personal finance software applications can't even deal with the fact that paying off a credit card statement is not income and expense, but a mere change between assets and liabilities. Or buying some stock is not an expense, but a change between two types of assets. And so on.

However, the run-of-the-mill software is a bit better with categorizing things and integrating with other applications. Currently, I am looking for

- Connecting PDFs or images as invoices with transactions

- Marking transactions as relevant for my tax income statement

- Estimating my tax return in advance

and some more I can't think of off the top of my head. What weirds me out, is that everyone has to deal with personal finances, yet there isn't a single personal finance app that deals with everyone's situation. Do I massively underestimate the complexity of the problem domain?


Besides reducing errors, double-entry bookkeeping allows you to follow money flow easily, detect unexplained billings, and get all kinds of reports quickly, like profit & loss or financial statements.

However, to "deploy" it in full power, you must think like an accountant: money (or any other commodity) had to come from somewhere and had to go somewhere. Approaching this way, you can apply it in all sorts of things, like tracking income/expenses, car/house/equipment depreciation, fuel spending... I even tracked gym workouts for some time.

What works for me is ledger-cli [1]. It takes some time to get used to, especially for those who used GUI, but you get powerful reporting and extreme flexibility. For example, you can accept payments in bitcoin, return change in USD, and buy some stocks in EUR with the received money. A nightmare for other tools.

[1] https://www.ledger-cli.org/


I think the issue is that there is only a small minority of consumers who (1) care enough and are knowledgeable enough to want to micromanage their finances, and (2) aren't wealthy enough to just pay a CPA to handle it.

I am definitely in that minority, and use GnuCash since I can tap directly into the database backend and automate whatever I want. I do a lot of complex cryptocurrency arbitrage trading, which of course requires "real" accounting to determine profit/loss. I'm also very, ahem, "creative" with my credit cards and like to take advantage of various offers and hacks to get low- or no-interest liquidity. Double-entry bookkeeping is absolutely essential to ensuring that I'm not just wasting money on all my complicated financial maneuvers, as well as seeing where and when I need to move my cash.


I think you're missing a category (3) people who have no reason to micro-manage their finances but rather use double entry accounting to keep track of where things äre coming from and going to on a rather high level. That's where I fit in.


I'm certain something like Quickbooks could integrate each one of those bullet points.

I think the underlying issue is not every consumer has a background in accounting. People want basic information tagging without the 'complex' components from tax reporting. This is analogous to thiel's assertion - it's difficult to sway consumers if there isn't a 10x improvement from one tech to the next. Accounting software is very much like that. You might find different improvements, but you're also constantly making trade offs (price, setup time, etc.).


Gnucash does most things you mention.


Is Gnucash closer to Quicken or Quickbooks? I wish I had started with Quickbooks even for my personal finances, years ago, but I used Quicken instead :( My impression was that Gnucash was meant as an open source version of Quicken which would be much less attractive as it hides the true double-entry bookkeeping going on underneath.


It's closer to Quickbooks. Gnucash's interface is stripped-down but fairly friendly, focused directly on the chart of accounts and registers, with lots of keyboard shortcuts and relatively little unintuitive behavior. It runs fine for me on MacOS 10.14; the developers keep it quite up to date. It's very powerful and I believe you could run nearly any SMB on it, much less personal finances. That said, I haven't touched QB in a minute, and never their online offering, so I'd love to hear how it compares from somebody who's used both.

(Not specifically to parent:) You will need to know double-entry bookkeeping to use Gnucash. While there is no in-app tutorial and little hand-holding (by default the "Debit" and "Credit" columns of the register are given friendly names), there is an excellent Tutorials and Concepts guide https://gnucash.org/viewdoc.phtml?rev=4&lang=C&doc=guide that starts from first principles on basic accounting, and has tons of examples of how to enter various transactions. I was very impressed going through it, as a layman; it's a hidden gem and better than 90% of the "accounting tutorial" websites out there.


Gnucash doesn't hide the double entries; on the contrary, it shows little else.


Thanks; that actually makes me want to check it out more. I appreciate the info.


I did run micro enterprise on Ebay for a bit. At some point I wanted to know how much money I'm actually making after all the fees, envelopes,stams,and etc. It took me quite some effort to arrive to a meaningful figure.This was a good lesson on how a small business could go sideways very quickly without not knowing the basics. These things are easy to do but not doing them can become very hard very quickly.


I currently use a spreadsheet to track my expenses, and have looked into moving to something like plaintextaccounting in the past, but I struggle to figure out how to migrate over all of my existing data. Any suggestions?


Do what the accountants do: close the old books and open new ones. Initialise relevant accounts with sums from the old books.

Edit: that said, I've found spreadsheets to be some of the most convenient ways to do high-level double entry. Just so you don't assume you need to learn a new tool to do it.


Looks pretty solid to me.

The part about brands and patents being treated as an expense is wrong though

Even stuff like website development cost can be capitalized as an asset under some circumstances

https://www.ifrs.org/issued-standards/list-of-interpretation...


To be pedantic, although most intangible assets can be capitalised, IFRS does not allow capitalisation of internally generated brands. If you buy a company then you can capitalise any brands you obtain on acquisition.

Development expenditure on patents can be capitalised only in certain circumstances.


"These backwards-looking representations aren't terribly useful when thinking about the future. Financial statements now account for only 5% of the information that investors use to evaluate companies, and key accounting metrics, like Earnings and Assets, have stopped correlating with stock prices. To fill these gaps, almost all companies report custom non-GAAP metrics in their financial reports, to paint a better picture of their business. WeWork famously defined a Community Adjusted EBITDA metric that ignored most of their costs to suggest that they were actually, sort of, profitable. You can decide for yourself whether WeWork's metrics made sense. But that's precisely the problem — without consistent standards, "creative accounting" can cloud our judgment and our economy suffers."

This has been a topic i've been curious about for a while now - if the way business performance is measured has changed, why have the standards not evolved as well?


Accounting standards do change all the time. Enron forced a change in how variable interest entities are treated. Rise of multi national conglomerates added comprehensive income accounting to account for FX. Most recently, rise of SaaS changed the way revenue and costs are accrued for multi year contracts.

The debate is what is the point of accounting standard - is it to calculate standardized figures like revenue and earnings in the most consistent way possible across all industries? Or is it to splinter the accounting world by adding a myriad of industry specific terms like “subscribers” and “churn” and even “EBITDA” that only apply to some companies but not all? I prefer the former but it’s a debated topic.


Standards are always evolving and act more as a compliance tool than anything right now. There have been and probably always will be better metrics for "valuing" a business than GAAP financial statements alone.

Companies choosing to disclose non-standardized metrics are attempting to give you a better picture of the business. The problem, as you noted, is that sometimes companies will stretch the truth.

I don't think accounting standards are going to fill this gap anytime soon unless the SEC chooses to restrict that type of reporting altogether. I doubt this will happen because investors want more information, not less (even if you have to read between the lines)


I like this and explains the basic mechanics in a simple way for me to understand.

I want to highlight the What counts as revenue section because I think it is the most crucial. Deferred Revenue is well explained and very necessary for SaaS. I think it will also be good to highlight account receivables, where you have delivered the good but haven't received the cash. Even though this rarely occurs in a SaaS model, but it is important to state that account receivable is not revenue, which some awkward mistake can be easily made.


> I think it will also be good to highlight account receivables, where you have delivered the good but haven't received the cash. Even though this rarely occurs in a SaaS model

Hah! You'd be surprised at how much businesses suck at paying their bills. And it's not really customer friendly to shut them off either.

As far as I know, huge amounts in accounts receivable is industry standard.


You mean account payable?


Nice overview. Khan Academy[1] actually has some resources on the basics of financial statements as well.

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


Another good, and dynamic, introduction to accounting, with examples of entries for all documents: https://www.odoo.com/documentation/functional/accounting.htm...


For another light but slightly more in-depth introduction, you might enjoy Financial Statements by Thomas Ittelson. It uses running an applesauce factory as an ongoing example throughout the book. As a programmer with no accounting/finance background, I found it very easy to follow.


So if

Assets - Liabilities = Shareholders Equity

Then

Liabilities & Equity = Assets

So why are there separate totals (showing the same amount) for "Assets" and "Liabilities & Equity", if they are by definition the same thing?


(author here) I think it’s just as a sanity check to make sure they’re equal :)


Yes, that's why it's called a Balance Sheet because it shows that net assets = equity, meaning it 'balances'.


Accountants often work by reaching the same number in two different ways, effectively performing a parity check. It spurs from double-entry, the foundation on which accounting is built.


The purpose of financial statements is to provide value to the users. It should be assumed that assets equal liabilities and equity. There's value in providing a separate liability total, since it gives a snapshot of the financial position of the company, more so than having to derive that from the total liabilities and equity.


I really liked causal.app when I tried it briefly. Nice way to build interactive dashboards from spreadsheets, with a range of outcomes - and they have some excellent templates


I was thrown into the deep end of the bookkeeping pool when I began managing an establishment owned by three CPA's. It proved to be a valuable and highly transferable skill that served me throughout my working life...


Any recommendations on books/resources to learn accounting?


"Every month a notable company goes public. Every week a hot startup raises millions of dollars. And every day moms, pops, and teens check on their stocks."

"Once the shoeshine boy and the taxi driver offer stock tips, it’s time to sell."




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

Search: