Accounting

What is double-entry bookkeeping?

Learn how double-entry bookkeeping works in Simple Books, including debits, credits, journals and the reports built from accounting entries.

15 minute read Last updated

Introduction

Double-entry bookkeeping records every accounting event in at least two places. The total debits in a journal must equal its total credits, so the accounts remain mathematically connected. For a small business owner, this means a sale can record both the income earned and the amount a customer owes, while a supplier bill can record both the cost incurred and the amount owed to the supplier.

Simple Books currently creates accounting journals when you save or update invoices, bills, expenses and mileage claims. Its accounting reports then read those journals. This guide explains that implementation in plain English, including what the current workflows do not post. It is general product guidance, not accounting or tax advice.

What double-entry bookkeeping is

A journal is one balanced accounting entry made up of two or more lines. Each line names an account and puts an amount on either its debit side or its credit side. Every Simple Books journal must have at least two non-zero lines, and the combined debit amount must exactly equal the combined credit amount.

Double entry does not mean entering the same transaction twice on an operational page. You save one invoice, bill, expense or mileage claim; Simple Books builds the matching journal behind it. One gross transaction can produce three journal lines when VAT needs its own account.

A balanced journal proves that its debits equal its credits. It does not prove that the date, value, VAT treatment, category, customer, supplier or business purpose is correct.

The accounting equation

The accounting equation used by the current Simple Books reports is Assets = Liabilities + Equity. The Balance Sheet calculates the asset side and compares it with liabilities plus equity. Income increases the current-year result that the report adds to equity; expenses reduce it.

An unpaid £120 sales invoice containing £100 net income and £20 VAT illustrates the equation. The journal creates a £120 receivable asset, a £20 VAT liability and £100 of income. That income becomes £100 of current-year profit within the Balance Sheet equity total, so £120 of assets equals £20 of liabilities plus £100 of equity.

Assets, liabilities and equity explained

  • Assets are resources or amounts due to the business. The current chart includes Bank, Trade Receivables and VAT Input.
  • Liabilities are amounts the business owes. The current chart includes Trade Payables, VAT Output and Employee Reimbursements Payable.
  • Equity is the residual interest after liabilities are deducted from assets. The chart includes Owner’s Equity, and the Balance Sheet adds the calculated current-year profit or loss to the displayed equity total.

Sales Revenue is an Income account, while General Expenses, Travel & Mileage, Utilities, Professional Fees and Software & Subscriptions are Expense accounts. Income and expenses feed the current-year result rather than appearing as asset, liability or equity rows themselves.

The invoice, bill, expense and mileage journal builders described below do not currently post to Bank or directly to Owner’s Equity.

Debits and credits in simple language

Debit and credit mean the left and right sides of an account. They do not mean good and bad, money in and money out, or paid and unpaid. In the chart of accounts currently used by Simple Books:

  • Assets and expenses normally increase with a debit and decrease with a credit.
  • Liabilities, equity and income normally increase with a credit and decrease with a debit.

For example, debiting Trade Receivables increases the amount shown as due from customers. Crediting Sales Revenue increases income. Crediting Trade Payables increases the amount owed to suppliers.

Why every transaction has two equal entries

Every journal must balance because each accounting event affects more than one part of the records. An invoice records both what the customer owes and the income and VAT created by the sale. A supplier bill records both the cost and VAT and the amount owed to the supplier.

Simple Books requires at least two non-zero journal lines and checks that total debits exactly equal total credits. One line cannot contain both a debit and a credit. Amounts must be non-negative and use no more than two decimal places.

Equal totals provide mathematical control, but they do not prove that the user selected the right category, VAT treatment, date or source amount.

How Simple Books creates journals

When a new supported source record is saved, Simple Books validates its accounting values and writes one journal linked to that record. When the same record is edited and saved, its existing linked journal is replaced using the updated date, amounts and accounting category. The journal is dated from the source transaction: invoice date, bill date, expense date or mileage date.

Simple Books checks that the journal uses known account codes, has a valid calendar date, contains at least two lines, uses non-negative values with no more than two decimal places, has only a debit or a credit on each line, and balances in total. It also checks source arithmetic such as net plus VAT equalling the total and mileage amount matching miles multiplied by rate where those values are supplied.

If ledger posting fails after the source record has been saved, the operational page keeps the saved record and shows a warning that its ledger posting could not be completed. The accounting reports read journals rather than rebuilding them from source records, so the transaction may be absent from those reports until the journal is successfully written by retrying the update or support resolves the problem.

How invoices create journal entries

Saving a sales invoice debits 1100 Trade Receivables for the gross total, credits 4000 Sales Revenue for the net amount and, when VAT is greater than zero, credits 2100 VAT Output for VAT.

If the invoice contains active line items, Simple Books creates a separate Sales Revenue credit for each item amount. Those item credits must add up to the invoice net amount. If there are no active items, it creates one Sales Revenue credit for the net amount.

The journal represents the sale and the amount owed by the customer. Its structure is the same whether the invoice status is Paid or Unpaid. Selecting Mark Paid or Mark Unpaid changes the operational status only; it does not create a Bank entry or clear Trade Receivables.

How bills create journal entries

Saving a supplier bill debits an expense account for its net amount, debits 1200 VAT Input when VAT is greater than zero, and credits 2000 Trade Payables for the gross total. This records the cost, recoverable input VAT in the current account model, and the amount owed to the supplier.

The selected category decides the expense account. Travel or Mileage maps to 5200 Travel & Mileage; Utilities maps to 5300 Utilities; Professional Fees, Professional, Accounting or Legal maps to 5400 Professional Fees; Software or Software/Subscriptions maps to 5500 Software & Subscriptions. Any other category maps to 5000 General Expenses.

Paid and Unpaid bills create the same journal. Marking a bill paid or unpaid changes its status but does not post Bank or clear Trade Payables.

How expenses create journal entries

Saving a business expense debits the category-mapped expense account for the net amount, debits 1200 VAT Input when VAT is greater than zero, and credits 2200 Employee Reimbursements Payable for the gross amount.

The expense category uses the same mapping as a supplier bill. For example, Software posts net cost to Software & Subscriptions, Utilities posts to Utilities and an unmatched category posts to General Expenses.

Draft, Submitted, Approved and Paid expenses use the same journal structure. Selecting Mark paid changes the expense status only. It does not post a payment to Bank or clear Employee Reimbursements Payable.

How mileage creates journal entries

Saving a mileage claim debits 5200 Travel & Mileage for the full calculated claim amount and credits 2200 Employee Reimbursements Payable for the same amount. There is no VAT Input line in the current mileage journal.

Where miles and rate are both supplied, Simple Books checks that the saved amount equals miles multiplied by the rate. Project selection, vehicle details, route and status add operational context but do not change the accounts used by this journal.

VAT journals

For a sales invoice, Simple Books credits 2100 VAT Output when VAT is greater than zero. Sales Revenue receives only the net amount, while Trade Receivables receives the net amount plus VAT as the gross total owed by the customer.

For a supplier bill or business expense, Simple Books debits 1200 VAT Input when VAT is greater than zero. The expense account receives the net amount, while Trade Payables or Employee Reimbursements Payable receives the gross total.

If VAT is zero, the journal omits the VAT line. Mileage journals never create a VAT Input line. VAT Input is an Asset account and VAT Output is a Liability account in the current chart, so neither appears as an expense or income row in Profit & Loss.

Simple Books checks that net plus VAT equals the supplied gross total. You remain responsible for entering the correct VAT amount and treatment for the transaction.

Trade Receivables and Trade Payables

Trade Receivables is the Asset account used for the full amount customers owe on sales invoices. Every saved invoice journal debits it for the gross invoice total, whether the operational invoice status is Unpaid or Paid.

Trade Payables is the Liability account used for the full amount owed on supplier bills. Every saved bill journal credits it for the gross bill total, whether the operational bill status is Unpaid or Paid.

Business expenses and mileage claims do not use Trade Payables. Their gross or full claim amount credits Employee Reimbursements Payable instead.

Why marking an invoice or bill as Paid changes operational status only

Editing and saving an invoice, bill, expense or mileage claim replaces its linked journal. Changing an amount alters the relevant debit and credit values; changing a supported bill or expense category can move the net debit to a different expense account; changing the source date changes the journal date. Changing a Project allocation does not add a project account or journal line.

Status actions do not replace the journal or post settlement entries. In the current implementation, marking an invoice or bill Paid does not record movement through Bank and does not reverse the original journal. Marking an expense Paid behaves in the same way. The reports therefore continue to show the original Trade Receivables, Trade Payables or Employee Reimbursements Payable balance.

The operational Dashboard does react to invoice and bill status. Marking an invoice Paid removes its gross total from Outstanding invoices; marking a bill Paid removes its gross total from Unpaid bills. The Dashboard reads source records, while the accounting reports read journals, so those operational and accounting figures can then differ.

Deletion needs particular care. The current invoice, bill and expense/mileage delete workflows remove the source record but do not create a reversal or delete its existing journal. That journal can continue to affect the accounting reports. A reversal builder exists in the ledger engine, but these operational delete workflows do not currently use it.

How the Trial Balance is produced

The Trial Balance reads the saved journals and totals the debit and credit lines for each active account. For each account, Simple Books calculates debits minus credits: a positive closing balance appears in the Debit column and a negative closing balance appears as a positive amount in the Credit column.

The report then totals all debit closing balances and all credit closing balances. They should be equal because every underlying journal is balanced. The current Trial Balance does not provide a date filter; it uses all loaded journals.

Before showing results, the report validates every journal. If a journal is malformed, the page shows an error rather than presenting partial totals. A balanced Trial Balance still cannot tell you whether a valid journal used the correct account, date or tax treatment.

How the General Ledger is produced

The General Ledger starts from the same journal set and offers accounts that have debit or credit activity. Choose an account to see its entries in chronological order with the journal date, reference, description, debit, credit and running balance.

The running balance adds debits and subtracts credits. Optional Date From and Date To filters are inclusive. They limit the selected account’s displayed entries but do not change the saved journals. The page validates the loaded journal set and rejects invalid date ranges or malformed journals instead of silently showing misleading activity.

Use the General Ledger to trace a report balance back to its source postings. For example, the Trade Receivables ledger shows invoice debits created by the current invoice journal workflow; marking an invoice Paid does not add a clearing credit.

How Profit & Loss is produced

The Profit & Loss report filters journals by an optional inclusive date range, builds account totals and includes only Income and Expense accounts. Income is calculated as credits minus debits. Expenses are calculated as debits minus credits. Total income minus total expenses is the net profit or loss.

Sales invoice net values feed Sales Revenue. The net portions of bills and expenses feed their mapped expense accounts, and the full mileage claim feeds Travel & Mileage. Trade Receivables, Trade Payables, Employee Reimbursements Payable, VAT Input and VAT Output do not appear as Profit & Loss rows.

Simple Books validates all loaded journals before applying the selected period, so an invalid journal outside the chosen dates cannot be hidden to produce partial figures.

How the Balance Sheet is produced

The Balance Sheet includes journals up to an optional inclusive As at date. Assets use debit-oriented balances; liabilities and equity use credit-oriented balances. Income and expense accounts are not listed directly. Instead, Simple Books calculates the Profit & Loss result for the same journal set and adds it to the displayed equity total as Current Year Profit or Current Year Loss.

The report compares total assets with total liabilities plus total equity and shows whether they balance. Invoice journals can increase Trade Receivables and VAT Output; bills can increase VAT Input and Trade Payables; expenses and mileage can increase Employee Reimbursements Payable. Because current status actions do not post settlement entries, these balances are not cleared merely by marking a record Paid.

As with Profit & Loss, all loaded journals are validated before date filtering. An invalid journal produces an error instead of partial Balance Sheet totals.

Operational pages and accounting reports

Invoices, Bills and Expenses are operational pages. They are where you create and manage customer invoices, supplier bills, expenses and mileage claims, supporting documents, due dates, projects and workflow statuses. Projects is also operational: it matches records by Project ID and calculates project totals from saved transaction values, including gross amounts where implemented.

Trial Balance, General Ledger, Profit & Loss and Balance Sheet are accounting reports. They read the separate journal records and apply account rules. They do not calculate their figures from the Projects page, and a Project selection does not create a project-specific ledger account.

This distinction explains why project profitability can differ from Profit & Loss. Project views use allocated invoice totals and gross costs, regardless of status, while Profit & Loss uses net income and expense journal lines within its selected period. See tracking project profitability for the current project calculation.

Worked examples

VAT sales invoice

A UK consultant saves invoice INV-104 for £100 net plus £20 VAT, total £120. Simple Books debits Trade Receivables £120, credits Sales Revenue £100 and credits VAT Output £20. The journal balances at £120 on each side. Profit & Loss shows £100 income. The Balance Sheet shows the £120 receivable, £20 VAT Output liability and £100 current-year profit within equity.

Software supplier bill

The business saves a £240 supplier bill categorised as Software, made up of £200 net and £40 VAT. Simple Books debits Software & Subscriptions £200, debits VAT Input £40 and credits Trade Payables £240. Profit & Loss includes a £200 expense; the Balance Sheet includes a £40 VAT Input asset and £240 payable, while the expense reduces the current-year result by £200.

Utilities expense claim

A director records a £60 utilities expense containing £50 net and £10 VAT. Simple Books debits Utilities £50, debits VAT Input £10 and credits Employee Reimbursements Payable £60. Marking the expense Paid changes its operational status but leaves this journal unchanged; no Bank credit or reimbursement clearing debit is created.

Mileage claim

A sole trader records 80 business miles at £0.55 per mile, producing a £44 claim. Simple Books debits Travel & Mileage £44 and credits Employee Reimbursements Payable £44. There is no VAT posting. Profit & Loss includes £44 of travel and mileage expense, and the Balance Sheet includes a £44 reimbursement liability.

Invoice marked Paid

The consultant receives the £120 owed for INV-104 and selects Mark Paid. The invoice’s operational status changes to Paid, so after the Dashboard reloads its £120 gross total is removed from Outstanding invoices and overdue checks. The sales journal remains a £120 debit to Trade Receivables, a £100 credit to Sales Revenue and a £20 credit to VAT Output. No debit to Bank or credit clearing Trade Receivables is created.

Bill marked Paid

The business pays the £240 software bill and selects Mark paid. The bill’s operational status changes to Paid, so after the Dashboard reloads it is removed from Unpaid bills and bill alerts. Its journal remains a £200 debit to Software & Subscriptions, a £40 debit to VAT Input and a £240 credit to Trade Payables. No credit to Bank or debit clearing Trade Payables is created.

Editing an amount and category

A £120 gross expense was saved as General Expenses with £100 net and £20 VAT. The user edits it, changes the category to Professional Fees and changes the values to £150 net, £30 VAT and £180 gross. Saving the update replaces the linked journal: Professional Fees is debited £150, VAT Input is debited £30 and Employee Reimbursements Payable is credited £180. The old General Expenses debit is no longer part of that replaced journal.

Common mistakes and misunderstandings

  • Thinking debit means money out and credit means money in. Their effect depends on the account type.
  • Assuming balanced means correct. Equal debits and credits do not verify the category, date, amount, VAT treatment or business purpose.
  • Recording the same cost as both a bill and an expense. Each source creates its own journal, so the cost and liability can be duplicated.
  • Expecting Paid status to post a payment. Current status actions do not post Bank or clear receivables, payables or reimbursements.
  • Assuming a project changes the accounts. Project allocation supports operational project reporting; it does not add a project journal line.
  • Comparing gross project totals directly with Profit & Loss. They use different data and calculations.
  • Choosing the wrong bill or expense category. The category controls the expense account, with unmatched categories falling back to General Expenses.
  • Ignoring a ledger-posting warning. The source may be safely saved while its journal is missing from accounting reports.
  • Deleting a source and assuming its journal is reversed. Current delete workflows do not remove or reverse the linked journal.
  • Expecting VAT accounts in Profit & Loss. VAT Input and VAT Output are Balance Sheet accounts in the current chart.
  • Treating reports as bookkeeping judgement. You remain responsible for checking source records, VAT, categories and accounting treatment.

Summary

Double-entry bookkeeping keeps each accounting journal balanced by recording equal debits and credits. In Simple Books, saved invoices debit Trade Receivables and credit revenue and VAT Output; bills debit an expense and VAT Input and credit Trade Payables; expenses debit an expense and VAT Input and credit Employee Reimbursements Payable; mileage debits Travel & Mileage and credits that reimbursement liability.

The Trial Balance aggregates those entries, the General Ledger shows one account’s detail, Profit & Loss uses income and expense accounts, and the Balance Sheet uses assets, liabilities, equity and the calculated current-year result. Review the current limitations carefully: status changes do not post payments, deletion does not reverse journals, and a failed ledger write can leave a saved operational record absent from the accounting reports.