Background: I'm a qualified accountant, and have taught courses on accounting and finance.
My thoughts on OP:
I read through the first two parts of the first course on this site:
- Part 1 Introduction to Accounting Basics, A Story for Relating to Accounting Basics
- Part 2 Income Statement
Based on what I read, I could not recommend this. You could get to the end of the 'income statement' part, without encountering any definition of 'profit', which is the very thing that the income statement is meant to show.
If you want a solid introduction to accounting, I'd recommend Frank Wood's book "Business Accounting 1". You don't need the latest (15th edition). The principles haven't changed. I used the 10th edition: Business Accounting Volume 1 https://www.amazon.co.uk/dp/0273681494/
If you're a mathy person, you might find this brief explanation is enough to get going. Where I say 'you', I mean 'your company', not you personally.
* Assets: things you own (e.g. tractor, money in bank, money owed by customers)
* Liabilities: things you owe (e.g. unpaid supplier bills, loan owed to bank)
* Assets and liabilities are both measured in a single currency (e.g. $).
* Equity (aka 'book value'): A measure of the value of the company. Calculated as Assets minus Liabilities.
Two ways to write the equation above:
* Equity = Assets - Liabilities
* Equity + Liabilities = Assets
Equity changes in response to (i) company operations, and (ii) financing activities.
Financing activities are things like:
- selling new shares
- buying back shares (or paying dividends)
- borrowing money (bank loans, or issuing bonds)
If there were no financing activities in the period, then profit is the derivative of equity with respect to time. It's a measure of the change in (book) value over a period.
If book value went up, you made a profit. If book value went down, you made a loss.
(Of course, book value would also go up if you just sold some shares, and profit doesn't count those changes, as they're just financing activities.)
Summarized: a ledger is a directed graph of accounts, where edges are transactions, and each transaction is recorded twice: in the "from" node and the "to" node.
But “a ledger” is not a directed graph of accounts, is it? There is no ‘from - to’ in a ledger. A ledger simply reorganizes the transactions from chronological order (aka journal entries) into subject/account headings. Not the same, but similar to clicking ‘subject’ column tab on your email client to reorganize your emails from descending date to subject attribute.
But I guess you could model each transaction as an edge, with the direction specifying which account is debited and which credited, and the weight determining the amount.
I don't find that particularly helpful myself, but I put that down to my unfamiliarity with graph data structures and the associated algorithms. Maybe there's something you can do more easily with a graph database, than you can if you have the same info in a table?
Sure. Just like blockchain- or any other decentralized ledger- may be a tremendously disruptive technology for property recording, sale/transfer, and financing in the future (compared to the current archaic system of deeds/titles for real property or UCC financing recording for secured transactions); so to, a graph database may clearly illustrate the point of bookkeeping along with the share of assets creditors and investors are entitled to realtime.
I found it an interesting and useful explanation, but the bit in the middle where he just says "now categorize each node, I colored them in!" is the bit I always had more trouble with, so I was disappointed to see basically the same explanation as I've heard before.
In your chart of accounts, each account corresponds to exactly one of these:
- Asset
- Liability
- Equity (changes in this affect the income statement)
Whenever a transaction takes place, the debits and credits must sum up. For example, when you take a bank loan, your assets increase (debit) but your liabilities also increase (credit) by the same amount.
Sometimes something touches more than two accounts. For example, if you sell a cup of coffee for $2, using up $0.50 worth of beans:
CR Revenue $2
DR COGS $0.50
DR Cash $2
CR Materials $0.50
The first two lines increase the book value of the business by $1.50.
The last two lines increase the assets of the business by $1.50 (cash up by $2, bean inventory down by $0.50).
AFAIK, borrowing money does not change Equity, because it increases Assets (more money in the bank) and Liabilities (more debt) by the same amount so Equity stays the same.
1. Profit/loss measures changes in equity resulting from operating activity, as opposed to financing activities (which just rearrange how the company is financed).
2. Examples of financing activities are taking out (or paying back) loans, issuing (or buying back) shares, and issuing dividends.
3. Some (not all, as you point out!) of those financing activities will increase or decrease equity. So, when thinking about profit as the rate of change of book value, you should be careful add back any changes that are the result of financing activities. (specifically: ignore changes in equity due to money going to, or coming from, shareholders)
Not until the interest accrues. You could (no idea why you would) borrow $1MM and immediately pay it back before owing any interest. You would need to reflect this on your books but nothing material has changed.
> You could (no idea why you would) borrow $1MM and immediately pay it back before owing any interest.
Can you in fact do that? It's possible with a residential mortgage in the US, because there are laws prohibiting prepayment penalties. And I think even those don't apply to refinanced mortgages?
I feel you. One of the classes I failed during my brief time in college was symbolic logic. But I was a music major so who cared. A few years later I taught myself to program, and of course C & assembly were filled with Boolean operations and truth tables...
I found it in 2005 or 2006, a year or two after my MBA, and a few months after I started studying for professional accountancy exams.
I wish I'd found it earlier. It was more in-depth than the MBA material on financial reporting, and was presented more logically than the study guides I'd been using.
I think it was variances that tipped me over the edge. However what little latent knowledge I managed to stash away in my brain seemed to stand me in good stead later on. I guess another thing that stuck and thought was actually useful as a student was how to reconcile my bank account and cheque book.
I do not believe that either GAAP or IFRS has a standard definition for "profit". Even GAAP under 703(a) refers to it as net income (and several other related numbers like gross profit).
But you wouldn't know that if you read those two sections of the text. They use the word 'profitability' several times, without ever defining it.
Right at the end of part 2 (income statement), they say this:
"The difference (or "net") between the revenues and expenses for Direct Delivery is often referred to as the bottom line and it is labeled as either Net Income or Net Loss."
The above is true, but it's kind of hard to grasp for someone whose only exposure to accounting is this site. And the previous sentence again refers to 'profitability' without being explicit that 'profit' and 'net income' are the same thing.
The IFRS standards presume the reader is familiar with accounting principles and practice. They provide guidance specific to (i) certain more complex/unusual situations, e.g. business combinations, and (ii) specific verticals, e.g. consumer lending and insurance.
Your comments throughout the thread are insightful & actionable. Yet, I will say that accountingcoach.com is the online resource that provides reliable and clear definitions & explanations for accounting terms. At least in the US when trying to figure out what is required of US GAAP, for example, accountingcoach.com provides clear definitions to differentiate between direct costs, manufacturing overhead, operating expenses, and inventoriable costs in general. This is in contrast to a lot of other online sources- including articles written by CPAs or accountancy websites!- where the writing is either too tortured to learn from or outright wrong!
Thanks for this perspective. It's helpful to hear from someone who has used the site for more than 5 mins :)
From what you've written, it sounds like a good/great reference resource for specific topics, once you already know the basics/fundamentals.
But, based on a 5 min look at the first two pieces of content in the 'accounting basics' section, I didn't think it would be good for someone who wants to learn accounting from zero.
Of course, I may be wrong, as I sampled less than 1% of the content.
> Based on what I read, I could not recommend this. You could get to the end of the 'income statement' part, without encountering any definition of 'profit', which is the very thing that the income statement is meant to show.
The thing is, that while cash is a matter of fact, profit is a question of opinion. This is a fundamental truism in accounting. You cannot really teach how accounting allows you to express your opinion until you first understand which facts you have to work with.
If that's the case, it seems even more strange to have the first two parts of the first section repeatedly refer to 'profitability'.
But I don't agree that you have to start with facts. I think you can start with the account equation, then go on to types of asset/liability/equity, and only then move on to concrete examples of transactions, and how they impact the balance sheet. And then you compare two snapshots of your balance sheet to show what profit is.
You can do all this with concrete examples with virtually no risk (e.g. a lemonade stand where people pay cash before they are served, with almost no equipment to depreciate, no long-lived inventory etc.).
Any advice for intermediate or advanced accounting? I studied finance in school, so I'm confident it the broad-strokes basics, but getting into deeper stuff is still intimidating.
One more thing - I think it's enlightening to, at least once, build financial statements from a set of transactions, and then to dig back from the summary, to the original transactions, i.e.
1. Export all the transactions from your accounting software (from the start of time, to the end of last month).
2. Export the chart of accounts from your accounting software.
3. Load these into two separate tabs in Excel.
4. Add a column to #1, that maps the account to the relevant account type (e.g. 'assets') and statement (BS or P&L), using #2 as a lookup table.
5. Create a pivot table from #1, to create a balance sheet.
6. Create another pivot table from #1, but this time use time (month or year) as a dimension.
7. See if you can relate some of the balance sheet and P&L values from your spreadsheet, with the values on the statements produced by your accounting software.
8. Assuming they match, go back to the balance sheet pivot table and double-click on one of the non-zero values. You will see a history of every transaction that changed that account.
I'm a software engineer who moved into freelance consulting a few years ago (I do back-ends and front-ends for mobile and web, nothing finance specific other than occasional credit card payment integrations). It's been a roller-coaster in many regards and one of the highlights is having learned a lot about bookkeeping, taxes, financial planning and everything that comes with running a small business in general. (Aspects which I initially despised but now I've accepted as necessary and doing them as routine.)
During these years I started playing with the idea of training myself in basic/intermediate accounting and/or finance. The motivation is twofold: run my own business better (and maybe stop paying an accountant to do my taxes) and maybe work on software projects in finance (where I suspect there is good money to be made).
I'd be interested hearing stories from fellow software engineers who did similar training!
Moved from self-employed for the odd side gig, to UK LTD co, to VAT registered UK LTD co.
The "business services mafia" will like to frighten you into believing you have to drop hundreds of £ on their services - plus £120/yr for an accounts package, more for payroll, business banking, etc.
Because your mind is too tiny to comprehend the ways of the priests. e.g: Don't ever ask a question in a business forum, you'll get swamped with the clergy telling you the question implies you're definitely going to prison because you're going to get it all wrong.
Do not believe them.
It is perfectly possible - perhaps even 'easy' - and if you understand the basics of double-entry accounting, all entirely learnable without too much effort. And best of all, you can do it almost for free!
Don't drop hundreds per year on Xero, use https://www.quickfile.co.uk. Cost: £0 (upsell on receipt scanning, but I don't use that). Does VAT, with electronic submission. I literally don't understand why you'd spend money on Xero - the extent to which it's advertised over here is insane; you're just paying for TV advertising.
Business banking: Tide. 20p/per transaction (no monthly fees!)
The hardest parts are
- discipline of entering the transactions and not letting them build up
- in the UK, understanding capital allowances vs depreciation
- when doing payroll how to split the payments into the correct accounts (shape does the sums, you have to account for it correctly)
- Make sure you pay all your HMRC bills
- Doing the year end as a micro-entity (the CT600 corporation tax return) is actually surprisingly easy, and amounts to putting numbers in about 6 boxes.
By all means pay for all of this stuff if it isn't of interest to you. For me, as I intend my co to run long after I finish working, I didn't want to have annual fees for services that I really wouldn't be getting the use out of.
This sounds like every interaction I've had asking a question in a plumbing/electrician forum. Oh, if you're asking that question your definitely going to poison your entire house with sewer gas and/or burn the place down with that wiring.
Warnings are most certainly necessary, but they should be accompanied by the actual answer, else GTFO.
It seems like these fields are filled with people who can't stand DIY and just try and get everyone to pay for professional services.
When I try and replace a burnt fuse and ask for help, I accept that I'm not a professional and might burn my house down. Just tell me the risks and how to do it. I'm not a child, and I'm not going to sue someone when I've said upfront that nobody becomes liable just because they gave me advice.
You can file your accounts (which are trivial for a micro entity) directly with Companies house, or, when you do your CT600 corporation tax return (which is the 6 or so numbers) there's a checkbox marked "also file to companies house".
You absolutely do not need an accountant.
You also get a great deal of time (extra on your first year) between year-end and when you have to submit, so there is no panic.
Thanks for this, i was about to decide on xero but after seeing this comment i will give quickfile/shapepayroll a try. I am under 85000 so don't need to register for vat yet. This would be my first year of filing so any other tips are also welcome :-)
For a business account, Metro bank has no monthly charge if your balance stays above £6000, and only charges for some types of transactions (none of which I've used in the 6 years MyCo has been active).
> and maybe stop paying an accountant to do my taxes
My mother was an accountant for years, I learned a lot of accounting, but there is a MASSIVE difference between knowing how to basically bookkeep and the tax code.
I'm in the US - so might be easier in less tax-lobbied countries.
When I started my second consulting firm (after closing down my first when I took a "real job"), I initially tried to go at it myself, but payroll is a complex process, so I decided to outsource that. Cost me $20/mo, but saved me hours of work. Then when the end of my first tax year hit, I started trying to figure out how to do my corporate taxes myself. Downloaded all of the tax forms I could find that I needed, and printed the couple hundred pages of information. 4 weeks into filling out the forms and 2 weeks before a filing deadline, I gave up. To the best of my knowledge I had underpaid my quarterly estimates by $30k.
I reached out to a small business accountant (brother of a good friend), and for only $1200, he handled the 112 page tax return, found out I had only underpaid by less than $2000, also found a whole bunch of write offs I didn't even know to look for, and did a full reconciliation of my accounts for that.
It was at this point that I decided I will always pay for professionals to do the part of this job that I am not proficient at. All of my various accounts-related services add up to less than 1% of my revenue, and if it were even 5 or 10% of my revenue, I'd probably still pay it, just to know it was done correctly.
Many members of my family run our own small businesses, and have given similar advice. Always either do your own bookkeeping (or heavily review and understand the work you have done) but then pay for the for not only the processing of tax by CPAs, but also their advice. There are plenty of ways to optimize a business to not just be more tax efficient, but also financially structure operations, especially with the way one approaches debt.
I took the 101/201-level accounting classes at a local community college before my partners and I started our IT support contracting business in 2004. (For me, instructor led training is a preferable delivery vehicle, but the results might well be the same if I enjoyed self-education for this kind of thing.)
The dividends paid by having basic accounting knowledge were twofold.
It definitely helped me run the business better-- particularly when it came to working with the CPA who handles our taxes. It also helped me in communicating the operation of the business to the partners who have less of an accounting background. I've ended-up doing all the bookkeeping for the business and I think we've saved a ton of money versus hiring an accountant to do that basic work. (We still hire-out for tax-related work because I don't want to sink time into learning those intricacies.)
The other major benefit, and arguably a larger one than the first, is giving me credibility when I talk to Customers' finance and accounting people. Properly using the terminology they're comfortable with to describe their business problems feels like it has helped me land relationships and projects. Obviously, I can't spin-up a "scratch universe" to test that hypothesis, but I do know that I've seen tech-heavy and accounting-light presentations by other vendors go over very badly with some of the same people.
Finally, I'd argue bookkeeping and accounting is, arguably, the oldest "information technology" discipline in humanity. Much of IT springs from the history of bookkeeping becoming computerized ("automatic data processing"). I think knowing the history of IT, be from the dawn of computer science birthing from logic and mathematics, or the first practical applications of IT to human problems, is valuable to its practitioners.
I come from a family of accountants. But when I first went to college I chose IT Management which included both IT and Accounting subjects. I've worked on the IT Side for about a decade.
> The other major benefit, and arguably a larger one than the first, is giving me credibility when I talk to Customers' finance and accounting people.
I also have benefited a lot from the accounting subjects I took in college have also been an advantage in my professional career as I can 'speak the language' of my workplace's financial department.
> Finally, I'd argue bookkeeping and accounting is, arguably, the oldest "information technology" discipline in humanity. So much of the discipline springs from the history of bookkeeping becoming computerized ("automatic data processing"). It's a good background to working in IT to know about where it came from.
- Definitely. The software used at my family's the accounting office was older than any other I had used. This year I helped them migrate from an MSDOS Fox Pro 2 application to a newer app.
The MS-DOS It worked well, it is even still supported by the developer (!), but the work around required to make everything work in a Win 10 environment was too much of a hassle.
It felt like doing digital archeology when opening files created between 1989 and 1994 to see how data was stored. Even this newer app still uses an older tech stack: Visual Fox Pro 9. Accounting software seems to run in an alternate timeline.
I am also a freelance consultant but in the cloud infra space. I appreciate the freedom it gives me and the insight on the operations of running a business are invaluable.
As a software engineering I always looked suspiciously at accounting and finance, but I have to admit I've been wrong. I discovered a practical and theoretical elegance that is very pleasing for someone like me.
I ended up enrolling in an MBA because I wanted to learn more about the business side of things. I had a few courses about corporate finance, valuation and accounting which filled many gaps I had.
I still don't trust myself running my own finances completely, so I do pay an accountant to take care of the details. But I am very happy I know financially what is what when deciding where to take my little business.
Knowledge is power, especially when it comes to finance.
I've never been 'afraid' of numbers/finance as such, but typically have operated on the smaller side of things enough where it hasn't been too much of a burden. I've had multiple financial folks in the family (accountants/cpas/cfos/etc) such that when I've had questions, I have trusted people I've turned to, which has been more than enough.
About 10 years ago I brought on an outside accountant to handle my small business stuff. They do the final 'paperwork', but it's forced me to become a bit more diligent about financial housekeeping stuff - documenting purchases, keeping tax forms, etc. And I try to never let things go more than a few weeks before reviewing (primarily expenses). Part of the 'dread' of financial stuff was having to wade through a year's worth of paperwork. Keep ahead of that and working with an external accountant has made all this more of an annoyance than anything else.
Imho anyone working on business applications could do with this. I get frustrated how naive so many software tools are regarding fincial controls and how developers dont know that so many data reconciliation issues were solved decades or centuries ago by accountants.
Same goes for basic infrastructure and configuration knowledge to a certain extent:)
This sounds like something I'd be interested in learning more about. Do you have a couple examples of said data reconciliation issues, and the corresponding accounting approaches?
An easy example. In a well designed database that represents an accounting ledger, debits are positive numbers credits are negative. With double entry accounting, if everything is correct the entire ledger sums to zero at all times. It is trivial therefore to know if an error crept in to your system, maybe something posted only half the entry before erroring (btw always post a complete double entry inside a database transaction).
You can also design your schema using unified ledger accounting (https://en.wikipedia.org/wiki/Unified_ledger_accounting) which captures both the transaction's debit and credit in a single row in a single table negating the need for a transaction.
The problem comes with trying to quickly find the balance of sub-accounts. It is common to need to find the balance of all of the general ledger accounts repeatedly and quickly when preparing accounts, or having to find all customer balances to see who has paid. Once you have 10m rows of data (easily done at an sme) this gets very slow indeed. It is common to have a second table that records running balances or balances at period ends to speed this up. This is why transactions are important or you find the individual accounts of the sales ledger control don't add up to the total. Some systems have an 'audit' tool that adds them all back up from the general ledger.
Not the OP. But in my experience, a lot of people do not know about double entry bookkeeping, which solves a lot of problems people have trying a home made excel bookkeeping. It is not more work to do, but you have to learn a little bit about the concepts. Once you know them, it seems incomprehensible that others make errors that have been solved hundreds of years ago.
It's absolutely your best interest to learn at least the basics as business owner. I did so myself - I still do QuickBooks, but I have a cautionary tale.
Learning account is great - it helps you to understand P&L and BS etc - but what you really need is managerial accounting knowledge. I made a mistake of thinking bookkeeping was accounting and ended up not doing good tax planning etc - let's just say I'm still paying for it. Painful lesson!
I would highly recommend still keeping a CPA around - make sure they're truly into Managerial Accounting.
Yeah I got stuck running a startup solo and would lose a ton of sleep stressing about any possible unknown unknowns on the accounting and legal side, reading through a few business law and accounting / bookkeeping books really helped ease that stress.
A really good way to learn accounting is to read the GnuCash manual. It’s both excellent software documentation and you have to learn the fundamentals of accounting to follow it.
I'm not a fan of debits / credits for folks not going into accounting properly.
Porter has a book - the alternatives to debits and credits, using financial information.
Basically accounting is an equation you keep in balance.
Assets = Liabilities + Equity
You can understand how any transaction "posts" by keeping this equation in balance (or solving it).
You borrowed $100K? Your liabilities are + 100K, and cash (an asset) is also + 100K. Books in balance.
(Change in) Equity = Income - Expense
Extends this formula to your profit and loss statement if needed. Errors accumulate in the balance sheet as well.
Note that balance sheet is more important. With two balance sheets at different times I can see my net income for that period (no categorization of income / expense needed).
I find what you have said harder to follow than just knowing debits are positive and credits are negative.
The A=L+OE formula is a poor model for understanding accounting when the accounts dont fall neatly into those 5 high level categories. And unfortunately you almost immediately encounter accounts of that nature (accumulated depreciation and loans are great examples).
That's a drastic oversimplification. Typically, both debits and credits are entered into an accounting program as positive numbers, and it is the nature of the account being debited or credited that determines whether the number is added to or subtracted from the account balance.
Or, as the old joke goes, an accountant for years would always start the work day by opening a locked desk drawer, removing a piece of paper, and studying it for a moment before returning it to the drawer. After his sudden and unexpected death one day, one of his staff had to satisfy their curiosity and opened the drawer to see what was written on the paper. It said, "debits to the window, credits to the door".
To get it, you need to know that by tradition, debits are entered on the left-hand side of the entry form, and credits on the right hand side.
> That's a drastic oversimplification. Typically, both debits and credits are entered into an accounting program as positive numbers, and it is the nature of the account being debited or credited that determines whether the number is added to or subtracted from the account balance.
This is both technically correct and incorrect. You're right about the nature of debits and credits, but practically every accounting software I've ever used (I'm a CPA) represents credits as negative numbers. The software just assumes that the user knows that it's actually a credit, not a negative number.
"A credit is an accounting entry that either increases a liability or equity account, or decreases an asset or expense account. It is positioned to the right in an accounting entry."[1]
So if you always represent your credits as negative numbers, then you have to (counter-intuitively) subtract it from Liab/Eq/Inc accounts that you are increasing, or add it to Asset/Exp accounts that you are decreasing.
I wrote my own double entry accounting program back in the 1980s using a DOS relational database program and used it successfully for the next twenty years (before I switched to using Quickbooks) for both personal and business purposes. Both programs (mine and QB) represent credits as positive numbers.
This highlights the stumbling block that programmers have when trying to understand debits and credits. You should not at all be trying to classify your accounts as Liab/Eq/Inc, its simply an account with a debit or credit balance.
Its why i dislike the accounting equation. Its leads people to really overvalue how important account types are.
On the database level you dont care at all about it. The accounts are simply another text column and the bare minimum has no further information.
Only when trying to present the accounts in a P&L or something do you try to ascertain what the type is. Even then the only essential information is whether the account is debit or credit positive, and maybe whether it is a P&L or balance sheet account.
Its at this point here that you could optionally classify the account as Liab/Eq/Inc to give you some nice headers for the financial reports but to be honest you could just throw that back on the user and let them classify their own headers. Accountants are normally better at knowing what their financials should look like and forcing them to comply with your account types is probably a limiting and frustrating anti feature.
All accounts "fall neatly" into the broad categories, though. There are sub-categories for accounts with contrary normal balances for a given type of a given account category but they still summarize into their parent category.
A contra-equity account (like "Owner draws") has a normal debit balance. That's contrary to the normal credit balance of an equity account. It still summarizes to equity and results in the owner's draws being debited from the owner's equity debit balance.
When I hear programmers talking about debits / credits like they're positive or negative I get a feeling that they're trying to re-invent a really simple "wheel" that they don't want to understand. It reminds me of wild gyrations programmers go thru w/ ORM's to avoid just learning some SQL.
They dont fall neatly at all. Yes all the accounts you have described can be categorised fairly easily but they are all pretty trivial examples.
Harder accounts are things like tracking inventory. Yes you have the easy "Inventory" account on the balance sheet, but what about the "Opening Balance", "Purchases" and "Closing Balance" accounts that live on the profit and loss. They are all debit positive accounts but two of those always carry a credit balance and should be presented as a negative on the P&L.
If you want to be pedantic then probably those 3 accounts combined make up an expense account. But accountants split them out to make the financials easier to process. And the account split into 3 sub accounts for better presentation doesnt fit into the broad categories, but its still normal practice.
What happens if I debit a loan account? Debits are not positive, a debit to a loan account is a negative that reduces it. If I issue a refund that might be a debit to an income account (that is a negative to the account total).
There are both debit and credit loans depending on who is loaning who. The two parties are the person recording the transaction and an external third party.\\
A debit to a loan account only reduces it if it is a credit loan. A debit to a debit loan account actually increases it (Think a bank giving further money to their customers).
If you are debiting a loan account it means the external third party is giving cash to the person recording the transaction.
If you issue a refund then you are giving cash to the external third party so its a negative (credit). Then the positive side of the journal is against your income account (reducing your income).
Debits and Credits are not positive and negative, but they are a concept that was invented before negative numbers existed and are perfectly represented by positive and negative numbers.
I've never gotten the reconciliation of many of these "learn accounting" guides with what it takes to do actual accounting. They seem to make a big deal of covering very basic concepts that I would expect anybody with a programming background to pick up in under 10 minutes. The topics covered by these guides are less complex than most APIs.
But when it comes time to do actual accounting, there is a whole host of much more complicated concepts - depreciation, capitalization, tax law, tax law, tax law, etc. And these never seem to be explained in any comprehensive way that would make me think I "know" accounting. Rather it's like the pedagogy is focused on basic math (which people call "accounting"), because you will only learn all of the details with experience.
I even felt this same divide when I tried out Quickbooks, which I had thought was one of the gold standards for small business accounting. I was hoping for something that would walk me through how I needed to categorize expenses, track assets for depreciation, etc. Instead I was greeted with basically a spreadsheet replacement to automate problems I didn't have (eg printing checks at scale).
Am I wildly off base here, or is there something else I'm missing?
Taking a look at the site posted, it does seems to have many chapters with later ones covering advanced topics. But for instance taking a look at the chapter on depreciation, there are still additional details you'd actually need to do your taxes. I can understand how a simpler model helps someone learning this as their "first field", and they'll learn the richer model later. But from the perspective of someone who knows how to program, I'm still left wondering what value there is from reading general guides versus eg directly digging into what tax law forces you to calculate.
Quickbooks uses double entry accounting at its core but hides it as single entry accounting (like Quicken) by presenting most UI as entries into registers that represent assets (like the checkbox register or invoices) or liabilities (like bills or credit cards) while hiding owner's equity behind a year-end closing dialog.
For example instead of having to learn what accounts to debit and credit when invoicing and then receiving payment from a customer you enter invoices in the invoice UI and receive payments in the receive payments and it takes care of the debits and credits for you.
You can use Quickbooks to directly do double entry accounting by entering company journal entries. You (or your bookkeeper/accountant) will do that for more complex transactions that don't have a dedicated UI like, for example, partially returning a damage deposit to a tenant with the remainder covering repairs needed.
I took a community college course in Accounting when I was thinking about enrolling in an MBA back in the '90s. You can learn the math in a really short amount of time - it is just basic addition/subtraction. It does take a while to get an intuitive feel as to why some things are debit normal and some are credit normal. Doing a bunch of "T" accounts will bake it into your brain. There are some good graphics here about that (first site I found while Googling) - https://corporatefinanceinstitute.com/resources/knowledge/ac...
So these "T accounts" are exactly the kind of thing I'm talking about. Reading that page they just seem to be a visual method to represent negative numbers, explained very verbosely? This seems like it might have been a really valuable invention for someone in 1494 or even 1894. But in 2021 when we're comfortable with defining rich semantic models, it just seems quaint and limiting. Like for instance as shown it leaves out the date, whether the transaction has tax relevance, a link to its corresponding second entry, etc.
I know this is apostasy, but even "double entry" itself feels this way to me, compared with say more freeform "tags". Like if you pay an expense for repairs, which may be tax deductible, then it seems the only way to represent that expense in strict double book is to have 2 accounts for (Repairs_Tax, Repairs_Notax). And it gets even worse when federal and state tax differ, or multiple states are involved. Whereas what I really want is for that single transaction to possibly show up in multiple expense categories, which are then later summed for specific reports.
Maybe my questions parallel the Lisp curse where arithmetic has gotten so easy I'm brushing off what I perceive to be overdiligent focus on shared mechanics? I just don't see what the traditional framework gets me, compared to how much people focus on it.
It is almost always a matter of the account having tax relevance, not each individual transaction that involves that account.
> the only way to represent that expense in strict double book is to have 2 accounts for (Repairs_Tax, Repairs_Notax)
There are very few accounts that need to be split like that for tax purposes. Meals & entertainment are one such (although the tax laws about that change from year to year sometimes), and maybe the part of dues to a professional organization that are for political lobbying purposes. It's really not a problem at least in the U.S. tax code.
And note, as I previously commented, it is quite common for a business to have at minimum two sets of books, one for tax and one for book (the company's own internal representation of its financial position).
>[T-accounts] just seem to be a visual method to represent negative numbers
T-accounts are an instructional tool, they are not used for actual production accounting purposes. And they don't represent negative numbers, they illustrate a journal entry's effect on the general ledger accounts. Therefore, there is no need to include a date attribute. Rest assured, in a real double-entry system, every single debit and credit is date-stamped.
> There are very few accounts that need to be split like that for tax purposes
I disagree. Take repairs - according to tax law, some can be deducted and some need to be capitalized.
What I would expect from "accounting" software is to ask you questions about the type of expense, and decide what category (account) it needed to be placed in. And then for depreciated expenses, let you pick a depreciation method and track that year to year.
> it is quite common for a business to have at minimum two sets of books, one for tax and one for book
That contradicts your claim that it's not necessary to split most accounts, since at least all accounts are being doubled! From a programming perspective, why would you want to copy the entire data model and then make some modifications to one copy, rather than having a single data model that models everything?
> (the company's own internal representation of its financial position).
I'll admit that for my own purposes I'm discounting this, as it seems less applicable to small businesses. The real reason I need to track "depreciation" is because tax law makes me do so. From my perspective, a large expense is still money out the door on day 1. Sure I've done basic profitability projections using capital costs amortized over a number of years, but I don't see how I'll gain by committing to those and then later having to further model deviations from the expectation.
> T-accounts are an instructional tool, they are not used for actual production accounting purposes
I don't understand why teaching accounting seems to revolve around teaching its basic operations of adding and subtracting, which should have been covered in grade school. There's obviously some common data models that professional accountants use, but it seems like they're implicit knowledge rather than ever being directly described.
>Take repairs - according to tax law, some can be deducted and some need to be capitalized.
The ones that need to be capitalized are not repairs (they are betterments, adaptations, or restorations, per IRS regulations), so they wouldn't go against the repair expense account. Instead, they would go into an asset account.
>That contradicts your claim that it's not necessary to split most accounts, since at least all accounts are being doubled!
In practice, no one actually keeps two complete sets of books. Instead, the tax return starts with the company balance sheet and income statement per books, and then makes book-to-tax adjustments only for those categories that require it, like meals and entertainment. The tax return in this sense serves as a specialized accounting system.
>why would you want to copy the entire data model and then make some modifications to one copy, rather than having a single data model that models everything?
The tax version of the company accounts is typically only updated once per year, and usually requires specialized knowledge of the tax laws, which change year to year. It isn't really designed for day to day management like the regular company books are, and as I have observed with the tax returns I prepare for small business, most owners don't really spend any time looking at the tax return.
>From my perspective, a large expense is still money out the door on day 1.
But lenders and the IRS don't see it that way. Maybe what you need is the third basic type of accounting report, the cash flow statement. Many if not most companies that go bankrupt have net positive equity, but negative cash flow. The cash flow statement, like the tax return, is also created on an "adjustment" basis, starting with net profit and then backing out the income and expense items that are not current inflows or outflows of cash, such as depreciation.
I learned accounting as a CS student and did it for a few years for volunteer organizations that were too small to consider professional services. The order I learned things was probably very different from how accounting is taught in schools, but it was appropriate for someone with my background.
From my point of view:
Elementary accounting is just a simple formal system. If you are used to formal reasoning, you can learn it in a few hours.
Basic accounting is all about the way of thinking. You learn the data model implied by the system and the key concepts behind it. You learn about things you are supposed to model within the system and how to accomplish that. And you learn about reporting, because nobody wants to see your low-level data. They want various views to the data based on richer data models. The accounts used in reporting are rarely the same as the ones used in accounting.
Intermediate accounting is about applying those basic principles in a specific regulatory environment. A lot of confusion about accounting arises when people try to jump directly from the elementary model to the specific requirements without first understanding what they are trying to accomplish and why.
I am working on a product led alternative to Quickbooks which does the split between being more user-friendly (i.e. less confusing reconciliation, faster interface, easier to navigate, fewer options, fewer ways to shoot yourself in the foot) but also geared towards power users (keyboard shortcuts, automations, integrations with productivity tools).
It's fascination that Quickbooks is the go-to tool for almost everyone doing small business accounting when their product is mediocre in so many ways.
re: Quickbooks. It has now basically bifurcated into an online version and a desktop version, with somewhat different features. QB will in fact walk you through an optional setup interview to ask about what your general type of business is (service, retail, etc) and will create a default chart of accounts, which takes care of part of your need (how to categorize expenses). It becomes more complicated when the whole optional layer of "items" used to create invoices and bills gets added in. There is a fixed asset function, but QB is not really designed to calculate depreciation, rather it is normally handled with an annual journal entry based on output from the tax return.
It does have some frequent traps for new users, who for example often don't understand "undeposited funds" and end up double-counting their revenue. Or, they don't realize that when they transfer money from say checking to savings, the entry made in one account register is automatically reflected in the other.
I was using the offline version obviously, in a VM with no network access. I do recall some wizards for setting up accounts, but they weren't applicable to my business. It also didn't feel like such wizards would have changed the UI into operating at a higher level.
It may not be useful to you, but I will add that Quickbooks desktop has a "Home" window that includes a fairly detailed flow chart of most small business processes (e.g. send an invoice, pay a bill, make a deposit, run payroll, make a refund, and so on and so on), and the nodes of the flow chart are interactive links to various input and reporting windows in the program.
Yes it seemed like it would be valuable if you need to send lots of invoices, pay lots of bills with checks, make many refunds, etc. Quickbooks gives you a formal process for doing so, easy ability to generate documents, etc.
Automating transaction mechanics can certainly facilitate doing accounting later, but it doesn't seem like what I expected from "accounting" as in the stuff you would normally have an "accountant" do. Rather it seemed that you had to set up most of your own accounting (eg defining the data model of all the accounts), and Quickbooks would help you by entering in data for the transactions types it knows about (and you use it for).
>it would be valuable if you need to send lots of invoices, pay lots of bills
That is actually a very valuable function that QB provides, because it enables the ability to view financial reports on either an accrual or cash basis. For tax purposes, your business is required to choose one method of accounting or the other at the start and then generally stick with it forever. For management purposes, you can in QB view your reports at any time using either method, because it's all based on the same underlying transaction data.
If anyone can recommend resources to learn Law (U.S. Law, specifically), please share. (I've skimmed Law for Dummies... it was somewhat helpful.)
In particular, the terminology used in Law (e.g., "dismissed without prejudice") is very alien to me. And I'd like to make better sense of what I'm reading/hearing when I encounter such terms.
Not sure if this is exactly what you mean, and haven't fully dove into it, but if anyone is looking for a "programming based" accounting solution this one if very cool - https://hledger.org
Simple input format that reminds me of a markdown for finances, and then you can slice and dice the raw data in a bunch of ways for reports
Pardon my ignorance if any, but I find financials and accounting as quite boring things. Most problems in these are about tracing numbers, reconciliation and mismatches. What thril one can face in these areas? Any examples of challenges you see ?
I felt the same way until I decided that I needed to understand what was happening with every dollar my wife and I took in, in order for us to make decisions like how much we should invest or keep in savings for emergencies. I ran into all sorts of issues reconciling different information and had to revisit my modeling several times.
Only after discussing with my brother, who went to business school, did I realize I was gradually discovering my own half-assed version of accounting. Then I started reading Wikipedia and Investopedia about accounting topics, and it seemed a lot less dry.
I'm a CPA and have undergraduate and graduate degrees in accounting. To be completely honest, the bulk of financial accounting is not that thrilling. The bulk of the profession is spent keeping up with the regulations for tracing numbers, reconciling schedules, and "accounting" for things.
But let me share what makes the field thrilling for me:
Accounting is a universal language for valuing time. Clocks allow us to measure time, but accounting allows us to assign time value. It, quite literally, allows us to compare apples to oranges (or Apple to Amazon).
This is important because time is the single most valuable resource any of us have. It's both the scarcest resource and the most liquid, but it's only liquid in one direction. Time can be exchanged for anything: food, drink, entertainment, love, death. But nothing can be exchanged for more time in my life.
We can, however, exchange our time for the time of others. Without being able to do this, our quality of lives would be terrible. But how many of my programming-hours is worth a T-shirt? How many chai-latte-making-hours is worth a heart transplant? It's not enough to count the hours, we have to assign value to the hours. Accounting is the system and language we use to value different units of time. It's a universally applicable language that is consistent in its application. It applies to a child running a lemonade stand and trillion dollar multinationals. Whether you're a charity or a bank, a government or a revolutionary, the rules of accounting are applicable to whatever it is that you're doing, whatever is it that you've done in the past, and whatever it is that you'll do in the future.
Currently, I work as a software engineer for a fintech company, and I find that the most fun I have at work is engineering something from scratch. Thinking of the architecture, mocking up the algorithms, and implementing a new solution to a problem is vastly more thrilling than maintaining existing systems or hotfixing minor bugs. Yet, the bulk of my job is maintaining systems that other people built. And, if I'm being honest, sometimes boring.
Similarly, the thrill of accounting is in learning how to more appropriately account for transactions, new goods, or new services. How should we account for someone who mines a crypto currency? How should we account for someone who trades a crypto but doesn't mine it? How do we account for auto insurance for self-driving cars? These are the thrilling aspects of accounting.
But for the bulk of the job, it's probably a bit boring. Working on a team to fix other people's technical mistakes. Reviewing documentation, getting access to various systems. Sounds a bit like software engineering!
my two cents - bookkeeping (the act of doing all the transactions that result in financial statements) is quite boring, but at the end of the day the purpose of accounting is to provide information around the financial condition and results of the business, which it turn is and should be used to make decisions around the future of the business.
Accounting (in its various forms (financial, cost, mgmt, tax)) should help you answer questions like: what is our most profitable product? how much does it cost to make that product? was that acquisition/investment successful? sales are going up and net income is positive, why don't we have any cash?
But when you get under the hood, there is a lot of subjectivity around how to make accruals, allocate revenue and expenses, or capitalization policies.
Furthermore, many people in different organizations are incented on financial metrics (sales, EBITDA, EPS, equity value, etc) and as such have are keenly focused on gamesmanship around the calculation of those numbers.
I see accounting as the money version of a historical account of a company. In that vein, it's the complete data flow of money movements within said company - data from which you could determine strategic priorities, fraud, and power structure, among other things with the right analysis.
I wonder if there's a good flick that shows how powerful a forensic accountant can be.
I think accounting has that reputation for a reason, it really is bean counting
All this is theory and essentially a bunch of "hello world" equivalents. In the real world, corporate accounting is much more complex for most companies. I don't know if it makes it more thrilling, but it can be challenging.
> What thril one can face in these areas? Any examples of challenges you see ?
Mission Briefing:
Your CEO has blurted out a revenue growth estimate for H2 2022 on an investor conference call, without prior vetting from the CFO.
Mission Objective:
Put forward a plan for modifying revenue recognition rules on sales so that the CEO's estimate can be met. Your plan must be compliant with GAAP principles and cannot involve backdating or forward-dating revenue by adjusting the refund eligibility dates.
Modern data processing is all about work flows and data flows, and accounting is gorged with that stuff.
There's a reason that there are 3000 different businesses, but 6000 different accounting packages. At a glance, they're all the same. But accounting data processing is all about the last mile. That 10% that the company does differently.
Now, when folks say "accounting" they typically mean General Ledger, Accounts Payable, and Account Receivable (GLAPAR as we called it). In truth, it's really about the General Ledger, everything is else is about feeding the GL. Most of the reports come from the GL.
GL is where all the numbers are tallied up. AP is stuff you owe people. AR is stuff people owes you. Then you have the distribution systems that tend to fee AP and AR. (Mind these are all broad strokes.)
Consider an Amazon order. You went to the site and ordered a radio and stick of deodorant. Honestly, the mind reels about the accounting impact of that order.
Amazon has to account for the money you're paying, the value of the goods sold, the taxes (potentially multiple jurisdictions), the shipping, and the credit card fees. Meanwhile, the costs of those goods include not just the value of the goods, the labor involved in taking off a truck, putting it on a shelf, taking it off a shelf and putting it on a truck. The cost of the box. The cost of the label.
ALL of that hits the GL in to its own slot, in its own account. The total number of GL entries for a single order is probably dozens, even for simple orders (no doubt it gets more fun with associates and folks selling through Amazon, etc. etc.). This is where all that chasing of imbalances happens. With double entry accounting, everything has to balance.
And worse, not only is it explosive in its detail, it can CHANGE, at any time! Business change their minds on how they track things, what they want to track, when they want to track. It could be marketing asking questions, it could be regulatory, it could be anything. It's a very dynamic environment.
At one place I had to rewrite pricing and discount logic every 6 months as they came up with new schemes. (Oh, and don't forget, all of the OLD schemes are still in play -- don't think you can forget about those when someone calls up 90 days later asking for a credit). And you'd think you could do something "generic". No. The marketing people are very creative.
At one place, a smaller business, probably cut 100 checks a week. They had a product canceled. Thousands of refunds. We had to run several large boxes of checks through the band printer. I can not convey to you briefly how impactful that process was. "Cutting a check", I hope you can imagine, is a very controlled process, and we had to stomp through the lot of the internal workflows to get that done. Lots of eyes were on the process. (Remember, the pre-printed check numbers had to match the transactions in the system, let's hope the paper doesn't jam.) Outside in, it seems stupid, boring, and silly. When you're in the thick of it, it's like a rocket launch. Lot of time invested it getting this all right.
As data processing people, we strive to manage complexity. Our job is to make the systems and processes accessible to the people who rely on them, and as well as adapt to their ever changing needs for the business.
Working back office accounting and distribution is a surprisingly target rich environment for interesting work that can be crushed in detail. But our job is to wrangle that.
You don't need to be an accountant to do this, but it's good to learn the vocabulary: debits, credits, journals, posting, agings, etc. etc.
And, finally, everyone does this. Having "accounting" experience pretty much qualifies you for all sorts of businesses. Each one you have to learn a little bit of domain knowledge, but the accounting terms themselves are a common grounding that gets your foot in the door. I've written systems for warehousing, meat brokers, paint shops, plant growers, auto parts, and magazine publishing, just as a start.
> You can access a corporation's Form 10-K by going to the Investor Relations section of the corporation's website[1]
Shameless plug: you can try https://Last10K.com to get 10-K annual reports aggregated in one site. This includes all financial statements (ex.Balance Sheets) broken out so you don't have to find them in a lengthy 10-K.
I constantly hear people complaining about accountants creating problems by not understanding how "things really work" so it would be great to be able to see things from an accounting perspective!
1)its terrifying how many people in c-suite roles (including purported CFOs and CEOs), and commercial/sales/product development roles don't actually understand accounting and finance basics.
2) the number of bookkeepers that pretend to be real accountants, but really they are just power users of a given accounting system
3) the massive miscommunication that takes place when two people that don't know what they are talking about try to tell the other what to do.
That's like a baseball player telling a Newtonian physicist that they don't understand how things really work. In some sense they're right, in that there are higher level details that are hard to capture in the math, and technically, the math does not describe an even lower level of reality. But there's still a lot that someone operating from an intuitive understanding can learn from someone who brings an analytical framework.
I did not see any topics at the posted link devoted to tax accounting. Most small businesses (U.S., at least) have a lot of flexibility in how they keep their company books, but the core process of preparing the tax return involves making appropriate book-to-tax adjustments according to tax law. So the company will have at least two versions of the key reports, one for book purposes and one for tax purposes.
From clicking through the "Learn More" link, seems like a one-time fee of $49 gets you the PDFs. (As Patio11 would say, the author should raise his prices.)
My thoughts on OP:
I read through the first two parts of the first course on this site:
- Part 1 Introduction to Accounting Basics, A Story for Relating to Accounting Basics
- Part 2 Income Statement
Based on what I read, I could not recommend this. You could get to the end of the 'income statement' part, without encountering any definition of 'profit', which is the very thing that the income statement is meant to show.
If you want a solid introduction to accounting, I'd recommend Frank Wood's book "Business Accounting 1". You don't need the latest (15th edition). The principles haven't changed. I used the 10th edition: Business Accounting Volume 1 https://www.amazon.co.uk/dp/0273681494/