Double-Entry Accounting

SpeyBooks uses proper double-entry bookkeeping.

Every transaction affects at least two accounts, and total debits always equal total credits. This invariant is enforced at the API level.

Why double-entry?

Single-entry bookkeeping (for example, spreadsheets) records money in and out. Double-entry bookkeeping records where money comes from and where it goes.

This provides:

  • Accuracy - unbalanced entries are rejected automatically
  • Auditability - a complete, traceable history of every amount
  • Compliance - required for UK limited companies
  • Reporting - balance sheets and profit & loss statements fall out naturally

Double-entry is not a feature of SpeyBooks. It is the foundation.

The fundamental equation

Assets = Liabilities + Equity

Every transaction in SpeyBooks preserves this relationship.

Debits and credits

Whether a debit or credit increases an account depends on the account type.

Account typeDebitCredit
AssetIncreaseDecrease
LiabilityDecreaseIncrease
EquityDecreaseIncrease
RevenueDecreaseIncrease
ExpenseIncreaseDecrease

SpeyBooks applies these rules consistently and deterministically.

Example: recording a sale

You invoice a customer for £1,200 (£1,000 + £200 VAT).

AccountDebitCredit
Accounts Receivable (Asset)£1,200
Sales Revenue£1,000
VAT Liability£200

Totals:

  • Debits: £1,200
  • Credits: £1,200
  • ✅ Balanced

Example: receiving payment

When the customer pays £1,200:

AccountDebitCredit
Bank (Asset)£1,200
Accounts Receivable (Asset)£1,200

The balance moves from "owed to us" to "cash in the bank". No revenue is created at this stage - it was recognised when the invoice was issued.

How SpeyBooks handles this

You do not need to manually create journal entries for normal business activity.

When you create an invoice, SpeyBooks automatically generates the correct double-entry transaction.

Convention Positive amounts are debits, negative amounts are credits. The sum of all line amounts must equal zero.

You can reason about the ledger directly - but you are never required to post journals for routine workflows.

Immutability

Ledger entries in SpeyBooks are immutable.

To correct an error, you create a reversing entry rather than modifying the original. This preserves a complete, auditable history of changes.

Nothing is overwritten. Nothing is hidden.

Key takeaways

  • Every transaction balances
  • Debits and credits are enforced, not implied
  • Business events create accounting entries automatically
  • Manual journals exist only for exceptional cases
  • The ledger is append-only and auditable

This is what allows SpeyBooks to be predictable, inspectable, and compliant.