Accounting

Understanding the General Ledger in Simple Books

Learn how the Simple Books General Ledger displays journal postings, account activity, debit and credit entries, and running balances.

15 minute read Last updated

Introduction

The General Ledger is the detailed account-by-account view of the journals behind the Simple Books accounting reports. Where the Trial Balance gives one closing debit or credit balance for each active account, the General Ledger lets you choose one account and review the individual dated postings that produced its balance.

This guide explains the General Ledger exactly as it is currently implemented: how source activity generates journals, how those journals are stored and loaded, how nominal-account, bank-account and date filters work, and how the running balance is calculated. It also identifies the current limitations that matter when interpreting a filtered ledger. This is general product guidance, not accounting or tax advice.

What is a General Ledger?

A General Ledger organises accounting postings by account. Each journal can affect several ledger accounts, and the ledger for one account shows only the lines posted to that account. For example, a sales invoice journal can appear in the separate ledgers for Trade Receivables, Sales Revenue and VAT Output.

In Simple Books, the page displays one selected nominal account at a time. Its table has Date, Reference, Description, Debit, Credit and Running Balance columns. The Account selector contains accounts with journal activity and orders them by account code. Selecting 1000 — Bank also reveals a Bank account selector for the owned accounts attributed to that shared nominal ledger.

The General Ledger is not another transaction-entry page. Journals are created by the supported invoice, bill, expense, mileage and Banking workflows. For the underlying accounting model, read What is double-entry bookkeeping?.

Why businesses use a General Ledger

The General Ledger provides the detail needed to explain a summary balance. It can help a business:

  • trace a Trial Balance amount to its individual journal postings;
  • review the dates, references and descriptions behind an account;
  • see whether a posting was recorded as a debit or a credit;
  • follow how selected postings build the displayed running and closing balance;
  • check which expense account a bill or expense category used; and
  • investigate why accounting reports differ from operational status totals.

A ledger can show what Simple Books posted, but it does not decide whether the source date, category, value, VAT treatment or business purpose is correct. Those details still need review.

How Simple Books creates ledger entries

Saving or updating an invoice, bill, expense or mileage claim creates or replaces one linked journal. Each valid journal contains a source date, source type, source identifier, description, and at least two account lines. Every line has a recognised account code and one non-zero debit or credit value. The combined journal debits must equal the combined journal credits.

The current posting rules are:

  • Sales invoice: debit 1100 Trade Receivables for the gross total; credit 4000 Sales Revenue for the net amount; and credit 2100 VAT Output when VAT is greater than zero. Active invoice items can create separate revenue lines, all using account 4000.
  • Supplier bill: debit the category-mapped expense account for the net amount; debit 1200 VAT Input when VAT is greater than zero; and credit 2000 Trade Payables for the gross total.
  • Business expense: debit the category-mapped expense account for the net amount; debit 1200 VAT Input when VAT is greater than zero; and credit 2200 Employee Reimbursements Payable for the gross amount.
  • Mileage claim: debit 5200 Travel & Mileage and credit 2200 Employee Reimbursements Payable for the claim amount. The current mileage journal has no VAT line.
  • Banking activity: supported settlements, categorisation, opening balances and exception resolutions post their Bank side to shared nominal account 1000 Bank with an owned bank-account ID. Internal transfers debit 1000 for the destination account and credit 1000 for the source account, so their combined nominal movement is zero.

Supported bill and expense categories map to Travel & Mileage, Utilities, Professional Fees, or Software & Subscriptions. An unmatched category uses General Expenses. Project allocation does not add a project-specific journal line.

How journal entries are stored and loaded

Simple Books stores journals as separate documents in its journals collection. Each source has a deterministic journal document identifier built from its source type, the user ID and the source record ID. Saving an update writes to that same linked document rather than deliberately adding a second journal for the source.

A stored journal includes the owning user ID, journal ID, journal date, source type, source ID, source number where available, description, created and updated timestamps, and its debit and credit lines. Each line stores the account code, line description, debit and credit values. Banking journals can carry bank-account attribution at journal level, while transfer and exception Bank lines can carry the more specific line-level attribution.

The General Ledger queries journal documents for the authenticated user. It maps the stored fields into journal data without silently repairing malformed values, then validates the complete loaded journal set. If loading or validation fails, the page shows Unable to load and no partial account or journal results.

Journal entries shown in the ledger

After you select an account, Simple Books examines every loaded journal line and keeps only lines whose account code exactly matches the selection. Each resulting row shows:

  • Date: the journal’s written calendar date, shown as YYYY-MM-DD.
  • Reference: the source number when present, otherwise the source ID, journal ID or journal document reference in that order.
  • Description: the journal line description, falling back to the journal description when needed. Attributed 1000 Bank rows add Bank account:, To, or From beneath it.
  • Debit and Credit: the posting amount on its relevant side, with an em dash on the other side.
  • Running Balance: the cumulative debit-minus-credit position after that row.

Entries are ordered chronologically. When journals have the same date, Simple Books uses the journal identity as a stable secondary order. The table does not combine multiple postings into one source summary: if one journal contains more than one line for the selected account, those lines can appear separately.

Debit and credit postings explained

Debit and credit describe which side of an account received the posting; they do not simply mean money out and money in. Under the current journal rules, asset and expense accounts commonly receive debits, while liability and income accounts commonly receive credits.

The General Ledger shows the original posting sides rather than netting each row. A £120 invoice therefore appears as a £120 debit in the Trade Receivables ledger, a £100 credit in Sales Revenue and a £20 credit in VAT Output. A £60 supplier bill can appear as a £50 debit in its expense account, a £10 debit in VAT Input and a £60 credit in Trade Payables.

Positive running balances are formatted with Dr; negative running balances are displayed as their absolute value with Cr. A zero balance displays as £0.00 without a Dr or Cr suffix.

Running account balances

For the selected account, Simple Books starts the running balance at zero and processes the displayed entries in order. For each row it applies:

New running balance = previous running balance + debit − credit.

Two Trade Receivables debits of £120 and £60 produce running balances of £120 Dr and £180 Dr. In a credit-oriented account, a £60 Trade Payables credit produces a numeric balance of minus £60, displayed as £60.00 Cr.

The Closing balance above the table is the final running balance of the currently displayed entries. It is not stored separately; the page recalculates it from the selected journals and account lines. When a particular owned bank account is selected, only that account’s admitted 1000 rows participate in both the running and closing balances.

Filtering by account, bank account and date

The Account selector lists distinct account codes that have debit or credit activity anywhere in the loaded journals. Labels combine the code and chart name, such as 1100 — Trade Receivables. Only an exact active account code is accepted. An unknown or missing account selection is ignored safely and the page asks you to choose an account.

For 1000 — Bank, All bank accounts is the default and preserves the complete combined nominal ledger, including attributed and unattributed legacy Bank rows. Selecting a specific active or archived owned bank account keeps only 1000 rows whose resolved bank-account ID exactly matches; archived options are marked (Archived). Unattributed rows are excluded from a specific-account view, missing account records do not break All, and Simple Books does not guess attribution from descriptions, names, values or transaction types.

Date From and Date To are optional and inclusive. Date From keeps journals on or after that calendar date; Date To keeps journals on or before it. You can use either boundary alone or both together. Date From must be on or before Date To. An invalid range produces Check dates and no ledger rows until it is corrected.

Changing the nominal Account or Bank account reapplies the current filters immediately. Leaving 1000 hides the Bank account selector and resets it to All, so it cannot affect another nominal ledger. After changing a date, select Refresh. If no entries match the selected filters, the page shows No activity.

The date filter is applied to whole journals before the selected account ledger is built. The filtered running balance therefore starts at zero with the first in-range posting. It does not bring forward an opening balance from journals before Date From. This is an important difference from a conventional ledger report with a brought-forward balance.

Relationship to the Trial Balance

The Trial Balance and General Ledger use the same loaded journals and chart of accounts. The Trial Balance accumulates all debits and credits for each active account and presents one net closing debit or credit balance. The General Ledger exposes the individual postings for one account.

Every Trial Balance account code links to the General Ledger using an account query parameter, for example ?account=1100. When that code exists in the active account list, the General Ledger selects it automatically. An unknown query value is ignored.

The current Trial Balance has no date or bank-account filter, while the General Ledger does. With no General Ledger filters, the selected account’s closing balance should represent the same all-journal debit-minus-credit amount as its Trial Balance row. A specific 1000 Bank account or a date range can differ because the General Ledger includes only the selected subset and does not carry forward an opening balance.

Relationship to the Profit & Loss Statement

The Profit & Loss Statement uses the same journal data but selects Income and Expense account balances for its chosen date range. Income is calculated as credits minus debits, expenses as debits minus credits, and total income minus total expenses produces the net profit or loss.

Use the General Ledger to inspect the entries behind a Profit & Loss row. Sales Revenue journal lines explain reported income. General Expenses, Travel & Mileage, Utilities, Professional Fees and Software & Subscriptions journal lines explain the current expense rows.

The two pages calculate their date ranges independently. Match Date From and Date To when comparing them. Remember that the General Ledger running balance begins at zero for its filtered entries, which is appropriate for reviewing in-range movement but is not a brought-forward account balance.

Relationship to the Balance Sheet

The Balance Sheet includes journals up to an optional inclusive As at date. It uses asset balances as debits minus credits and liability and equity balances as credits minus debits. It also calculates the current Profit & Loss result and adds it to displayed equity.

Use the General Ledger to investigate asset and liability rows such as Trade Receivables, VAT Input, Trade Payables, VAT Output and Employee Reimbursements Payable. To compare with a dated Balance Sheet, set General Ledger Date To to the same date and leave Date From blank. That includes journals from the beginning of the available data through the reporting date, although the current source journals may still omit settlement activity described below.

Worked examples

Trade Receivables from two invoices

A consultant saves invoice INV-101 for £120 gross on 5 July and INV-102 for £60 gross on 12 July. Each journal debits Trade Receivables. With account 1100 selected and no date filter, the ledger shows £120 in the Debit column with a £120 Dr running balance, followed by £60 in Debit with a £180 Dr running and closing balance.

If Date From is set to 10 July, only INV-102 appears and the displayed balance is £60 Dr. The earlier £120 is not brought forward, so this filtered balance is the net movement in the displayed journal set rather than the full receivable position.

Software supplier bill with VAT

The business saves a £240 supplier bill made up of £200 net and £40 VAT, categorised as Software. The same journal contributes a £200 debit row to 5500 Software & Subscriptions, a £40 debit row to 1200 VAT Input and a £240 credit row to 2000 Trade Payables. Selecting each account shows only its matching line and its own running balance.

Expense and mileage in one payable account

A £30 expense credits Employee Reimbursements Payable, followed by a £5.50 mileage claim that credits the same account. In account 2200, the first row produces £30 Cr and the second produces £35.50 Cr. The corresponding expense debits appear in General Expenses and Travel & Mileage, not as extra rows in the payable account.

Following a Trial Balance link

The Trial Balance shows £180 Dr for Trade Receivables. Selecting its 1100 account-code link opens the General Ledger with 1100 requested. If that account remains active, it is selected and the two invoice postings above explain the total. Applying a date filter then changes the displayed rows and recalculates the balance from the filtered set.

Common mistakes

  • Thinking the General Ledger is a source-entry page. The current ledger is read-only; journals come from saved invoices, bills, expenses and mileage claims.
  • Reading debit as money out and credit as money in. Their effect depends on the selected account.
  • Expecting every journal line in one account. The page filters by exact account code and shows only matching lines.
  • Comparing an in-range closing balance with an all-time Trial Balance. The journal scopes are different.
  • Assuming Date From carries forward an opening balance. The filtered ledger starts from zero.
  • Expecting date changes to apply automatically. Select Refresh after changing Date From or Date To.
  • Expecting Paid status to add a settlement entry. Current status actions do not post Bank or clear receivables, payables or reimbursements.
  • Deleting a source to remove its ledger posting. Current delete workflows do not reverse or delete the linked journal.
  • Ignoring a posting warning. A source can remain saved while its failed journal is absent from the General Ledger.

Current implementation limitations

  • One account at a time: the page does not show a combined multi-account ledger table.
  • No brought-forward balance: Date From excludes earlier journals entirely, so a filtered running balance begins at zero.
  • Unattributed legacy Bank rows: these remain in All bank accounts but cannot be assigned to a specific owned bank account without reliable stored attribution.
  • No manual journal workflow: the current user interface does not provide a general manual-journal posting tool; Banking opening balances use their dedicated owned-account workflow.
  • No ledger export, print or pagination controls: the current page displays the loaded selected-account entries in one table.
  • Status changes do not post payments: marking invoices, bills or expenses Paid does not create Bank entries or clear Trade Receivables, Trade Payables or Employee Reimbursements Payable.
  • One shared Bank nominal account: owned bank accounts remain attributed beneath 1000 Bank and do not receive separate nominal codes.
  • Deletion does not reverse journals: deleting a source record does not currently create a reversal or remove its linked journal, so the posting can remain in the ledger.
  • A journal write can fail after its source is saved: the source can exist on an operational page but be missing from journal-based reports.
  • No partial display for malformed data: one invalid loaded journal or invalid journal date makes the General Ledger unavailable rather than being silently skipped.
  • No direct source-record link: Reference is displayed as text; the current ledger table does not link a row back to its invoice, bill, expense or mileage record.

Summary

The Simple Books General Ledger reads the authenticated user’s stored journals, validates them, builds a list of active chart accounts and displays the matching lines for one selected account. Rows show the journal date, best available reference, description, debit, credit and a running balance calculated by adding debits and subtracting credits. Account 1000 can additionally be narrowed to an exact owned bank-account attribution.

Use exact account-code selection, the optional 1000 Bank account selector, and inclusive Date From and Date To filters to investigate account activity. Follow account links from the Trial Balance, match reporting dates when comparing Profit & Loss or the Balance Sheet, and remember that Date From does not bring forward earlier balances. Unattributed legacy rows, current payment statuses, deletion workflows and missing journal writes can all affect what the ledger represents.