Accounting Basics for Developers

Hi All,

Long time ago, one my good friend explained me the accounting principles in 30 minutes in a way where I (a system developer, that time) understood it and never forget anymore. This knowledge serves me for a more than 5 years now and I promised myself to share this knowledge with every one how needs.


So here it is – Accounting basics for developers.
I’ll focus on accounts, account types and general ledger to explain where it is coming from and why it is like this. I guess you’ll understand how to use it after that!

Part 1 – Owner is a Core

Historically wise, everything has started from the person. If you are the person you have some money, goods, property, bills, loans. Let’s categorize it by what we own and what not:

Assets – what we haveLiabilities – what we owe
Car – 20,000$Credit Card – 500$
Cash in the pocket – 100$Car Loan – 6,000$
Bank Account – 1,000$Phone Bill – 40$
Salary Check – 2,000$

Assets (A) for us are something we have. It is not important is it real or not, easy to use or not. We always can see the car and get some money out of it.
Liabilities (L) for us something we have to give up or pay. But it does not to be now. For example Loan can last for years.

Part 2 – Calculations with only Plus

Mathematically wise we can say that everything we have minus everything we owe will give us the total capital (C):

A - L = C 

But here we are coming to the first important point of Accounting -Accountants do not like minuses “-“. Why? Simple because of 2 reasons:

  • You can easily change “-” to “+” by just adding dash. So easy way to cheat.
  • “-” is just a small dash on paper (remember, 100 years ago there were no computers) and you can easily loose it.

Accountants avoids “-” sign to minimize number of mistakes in books.

So but what we do if we don’t like “-“? Just replace it to “+”.
And this gives us first and code accounting equation:

A - L = C     <=>     A= L + C

Part 3 – Trend Analyses

A= L + C is good, but it gives us only the current slice of money we have. How can we add dynamic and trend to this formula? We need to split Capital into Income (I) and Expenses (E).

A = L + I - E    <=>    A + E = L + I

This gives us the second accounting equation. Just remember that we still do not like minuses, so remove them.

Assets & Liabilities – show us your current state – where you are in terms your money. Accountants calls it Balance Sheet report.
Income & Expenses – show us your trends – how much you earn versus you spend. Accountants calls it Profit & Loss report.

Just as a note, real accounting equation may be more complicated and depends on what you want to analyse in your operations.
Assets = Liabilities + Paid-in Capital + Revenues – Expenses – Dividends – Treasury Stock.
But they all can be applied to 4 main account categories: Income, Expense, Asset, Liability.

Part 4 – Debits and Credits

If you check the second accounting equation than from mathematical standpoint there are 2 parts: positive and negative amounts:

A + E = L + I    <=>    A + E - L - I = 0 

So some values needs to be recorded as Plus and some as Minus. But you remember we don’t like minuses? In addition we just can admit that it is really complicated to work with + and – whole day in the book with hand writing.

So let’s write all of them as positive but split the operations we can do on them.
We also call operations differently to make a difference from mathematical operations. Actually it is the same, but to help us split it in the mind, we call it differently. So:

  • Debit (DR or Dr) will be positive (incremental) operation.
  • Credit (CR or Cr) will be negative (decremental) operation.

So here we have the second important point:

Accountants use CR and DR operations instead of mathematical operations to avoid signs.

+ A+ E– L– I= 0
Negative CR (-)CR (-)CR (-)CR (-)

But if we change format of equation, what will be with I and L? We need to change sign of the operation as well.

+ A + E=+ L+ I
Positive DR (+)DR (+)CR (+) CR (+)
NegativeCR (-)CR (-)DR (-)DR (-)

Part 5 – Magic of Double Entries

Work with numbers is tough. Work with hand written number, on paper, on the street, during the rain, where you few other customers screaming on you is very very tough. Just imagine how it was 2-3 hundreds years ago.

General Ledger

Accountants needed a way to protect themselves from common mistakes. And of course the best protection as always – duplication and reserve copy.
Accountants also need a way to track mistakes back. And as you know from development, nothing can be better than logs.

So here we are coming to the third important point:

All the operations should have a log and double entries to trace back mistakes and be able to restore operation in case of disaster.

To make it properly accountants carefully write all the operations twice on where money were taken and where we put it.

For example, lets record an operation when you pay 10$ for a cup of coffee.


In the book we will record it as 2 operations:

  1. CR – Asset – 10$ – This is decrease of your cash as you paid for the coffee.
  2. DR – Expense – 10$ – This is registration of expense transaction that states you spend something.

In the end you see that the operation is registered twice – on each account a separate operation but with the same amount.

Here we come to the forth important point that comes from the mathematical equation (A + E = L + I):

Total sum of debits must be equal to total sum of credits all the time.

This true for entire ledger and for each particular transaction.

Any discrepancy needs to be found as early as possible and traced back to the place where transaction happened. Than problem transaction need to be fixed.

Modern ERP and Accounting system validates it every time user creates a document to eliminate even a possibility of mistakes. However following the traditions and principles we still use double entries and logs.

Part 6 – Accounting Principals

Accounting is the area where people follow the long history traditions and accountants work accordingly to Generally Accepted Accounting Principles (GAAP). These principles are like main guidance and rules on how and what should be counted.

I want to highlight here few ideas I found interesting:

Monetary unit assumption. Accountants try to count everything possible to count. To have a single measurement of everything accountants prefer to measure everything in the currency amount. That allows you to combine cash on hand with an intellectual property in one report. However some events can be counted (like new hire), than they just excluded from accounting.

Time period assumption. Most businesses exist for long periods of time, so we need to have a time frame for the measurements. Accountants usually call it financial periods that are associated with every transaction they add. Corporation of dynamic between periods gives us good trend reporting.

Accrual basis accounting. When you sell something you actually have 4 main steps: deal agreement, you give item to your customer, you tell customer how much to pay, customer pays. In real business all these steps may be done in different time periods by different people. But here is the problem – you had item as you asset, you gave it to the customer, but haven’t yet received money. So from mathematical standpoint you decreased Assets but haven’t got cash yet. Here accrual base principal comes. We recognize revenue at the time when it accrues and not when we get real cash. So we really can record that some one owes us money and treat it as our own in all reporting. Accounting does not track situation that customer may not pay, in this case company needs to open a legal dispute with the customer.
Comparing to that Cash Basis accounting recognizes revenue only when you get real cash.

Cost principle. Whatever we purchase we record it’s value based on the cost we payed. Even land and property needs to be recorded at cost. In case or value asset value changes we can re-valuate the cost.

Relevance, reliability, and consistency. To be useful, financial information must be relevant, reliable, and prepared in a consistent manner.
Relevant information helps a decision maker understand a company’s past performance, present condition, and future outlook so the decisions can be made in a timely manner.
Reliable information is verifiable and objective.
Consistent information is prepared using the same methods each accounting period, which allows comparisons between different accounting periods.

Principle of conservatism. In some cases we can’t really measure event in the currency value. Like if you do a feature development, do you know the complete percentage? You can do an estimation that can be a rough percentage of the estimated end value. In over words, there are assumptions have to be made in some cases. In financial reporting, accountants should follow the principle of conservatism, which requires that the less optimistic estimate be chosen when two estimates are judged to be equally likely.

Part 7 – Accounts and Accountants

In the end, accountants count money with target to prepare financial reports that can be used to do the proper and timely management decisions. All principles help to organize accounting the way it is easier to do proper decision making.

To provide better visibility Accountants create different categories where they record money. For example Services Revenue and Freight Revenue are different categories. The same as money on deposit and money on credit card are different.
To support these categories accountants create different Accounts. Each account is basically a category. There is no elimination except your fantasy on how many categories you need. But usually if follows the management need.

Here you can see different accounts:

Acumatica Chart Of Accounts

Part 8 – Modern Accounting Software

Modern accounting software as Acumatica supports all common accounting principles and helps accountants to achieve their targets faster and easier.

All the important points we had, such as: avoid minuses, keep equation balanced, double entries – are used in the modern accounting software.
If you go to Journal Transactions screen in Acumatica, which is a log of the all accounting records, you will see all of them there.

Acumatica Journal Transactions
  • Point 1 – shows you how Acumatica aggregates different double entries in the one single operation document. Batch Number is a sort of DB transaction number, where each detail is an operation withing the transaction.
  • Point 2 – shows you accounts which are categories where we record money amount
  • Point 3 – shows Debit and Credit operations. Note that each debit and each credit operations are split in 2 lines. This is a double entry principle that helps to trace back mistakes.

In the end the batch have to be balanced, so we can’t really save the transaction where total debit does not equals to total credit, otherwise our core equation will be broken.

There are actually all important points. I hope it was interesting and useful for you. Further will try to touch other parts of accounting!

Have the easily balanced books!

2 Replies to “Accounting Basics for Developers”

  1. Pingback: URL

Leave a Reply

Your email address will not be published. Required fields are marked *