At the end of Part 3, we derived a simple 'Balance Sheet'. It showed how the deposits at the bank are matched by commitments to customers for services not yet delivered, meaning the business is currently worth exactly zero.

Customer USD (400)
Bank USD  400
    Net: 0

Events that closely match reality produce more meaningful reports. More meaningful reports provide greater insight, such as the net worth of the business amounting to zero even though it has money in the bank.

Below we investigate how to map business events to meaningful buckets and determine the correct value directions when creating journals in a ledger.


#20 - Coding

Under #13, we learned that the accountant is responsible for defining the available bucket names such as Customer, Revenue, Donations, etc.

On a daily basis, it is also the role of the accountant to map events to buckets in an exercise known as coding. For example, consider the following business event:

Sale for $20 in cash

One leg of the transaction is normally self evident. In this case, the sale for cash suggests the Bank bucket increases by $20. Once you have the direction and bucket of one leg, the other leg in the opposite direction can normally be deduced. In this case, a decrease of $20 into the Revenue bucket.

The accountant normally defines the actual coding rules on a project by project basis - for this reason, a general understanding of bucket mapping is sufficient.

#21 - Positive versus Negative

Under #5, we showed how a movement of 200 from Customer to Bank could be represented using this notation: Customer → 200 → Bank.

Now consider five typical events on the left and their equivalent journals on the right.

Event Description Movement Journal
EVENT‑1 Sale for cash Revenue → 200 → Bank Revenue (200)
Bank 200
EVENT‑2 Sale on credit Revenue → 64 → Customer Revenue (64)
Customer 64
EVENT‑3 Customer pays off debt Customer → 64 → Bank Customer (64)
Bank 64
EVENT‑4 Pay electricity bill Bank → 13 → Electricity Bank (13)
Electricity 13
EVENT‑5 Record rent owed to landlord Landlord → 38 → Rent Landlord (38)
Rent 38

Applying the conservation of value law, here is how we derived the journals:

Event 1 - Sale for cash:
Assume the company sells its services for cash deposited into the bank. Sales are normally mapped to a bucket called Revenue.

Journal: Intuitively, the Bank bucket increases (… → 200 → Bank) when a sale is made for cash. The Revenue bucket must therefore decrease by the same amount (Revenue → 200 → …)

Event 2 - Sale on credit
Assume that in addition to sales for cash, the company also provides its services on credit. The company will still recognise sales in the Revenue bucket but since no cash changes hands, Bank is replaced with Customer.

Journal: The Revenue bucket decreases: (Revenue → 64 → …) The Customer bucket must therefore increase by the same amount (… → 64 → Customer).

Event 3 - Customer pays off debt
A company uses the Customer bucket to record its position with its customer. As shown above, a sale on credit increases the Customer bucket. It therefore follows that the Customer bucket decreases whenever a customer pays down that debt.

Journal: The Bank bucket increases (… → 64 → Bank) when a customer pays its debt. The customer now owes less to the business so the Customer bucket decreases by the same amount (Customer → 64 → …)

Event 4 - Pay electricity bill
Assume the company has a direct debit with its utility provider. Each month, an amount equivalent to the electricity usage is automatically withdrawn and sent to the utility provider.

Journal: Intuitively, the Bank bucket decreases (Bank → 13 → ) on the withdrawal via the direct debit. The Electricity bucket must therefore increase by the same amount (… → 13 → Electricity)

Event 5 - Record rent owed to landlord
Assume the landlord invoices the company for rent each month. The rental contract allows 30 days before the payment becomes due, so the bank will not feature in this journal.

Journal: Intuitively, the Rent bucket increases (… → 38 → Rent). This is very similar to the electricity expense (… → 13 → Electricity)

We have 30 days to pay the rent to the landlord. This is different to the electricity bill which is immediately paid from the bank. So instead of the Bank bucket decreasing, the Landlord bucket is decreased by the amount of the rent expense (Landlord → 38 → …)

These examples showed that the direction of value into or from a bucket can be derived intuitively by starting with one leg. Below we introduce two rules to clarify.

#22 - More Revenue is negative

Let's revisit Event 2:

Event Description Movement Journal 
EVENT-2 Sale on Credit Revenue → 64 → Customer Revenue (64) 
Customer 64

You can view this as the value of our widgets leaving the business (Revenue → 64 → …) via the Revenue bucket.

💡  Rule:   An increase in the revenue or sales bucket is always negative.

#23 - More Debt is negative

Let's revisit Event 5:

Event Description Movement Journal
EVENT-5 Record rent owed to landlord Landlord → 38 → Rent Landlord (38)
Rent 38

You can view this the landlord foregoing the use of his property (Landlord → 38 → …) in favour of the company using it instead. This is all on the promise of money changing hands later so from the perspective of the company, the landlord is a form of debt called a creditor.

💡  Rule:   An increase in debt owed is always negative.


We covered event coding and how to derive journals without mentioning the terms 'Debit' and 'Credit'. This is deliberate as these terms are overloaded and may cause confusion without adding understanding.

Using two rules, we paid special attention to negative movements against debt buckets and revenue buckets.

In Part 5 we will focus on the difference between these two rules using bucket classifications and how this directly impacts financial reports.