Skip to main content

Extract data from trial balances

A trial balance is the checkpoint an accountant runs before anything becomes a financial statement: a listing of every general ledger account with its balance, proving that total debits equal total credits before the books close. Controllers closing a month, external auditors sampling the ledger, and bookkeepers preparing year-end all read the same structure, an account code, an account description, and a balance sitting in either the debit or the credit column, with the two column totals expected to match to the cent. On a European chart of accounts, a mid-sized company might export a trial balance of 400 accounts from its ERP, where account 6400 Wages carries a debit balance and account 4000 Revenue carries a credit balance, and the footer states total debits of EUR 4,182,500 against total credits of EUR 4,182,500. Where it stops being a simple two-column dump is the account structure and the balance signs. Each account maps to a type, asset, liability, equity, revenue, or expense, that determines whether a normal balance is a debit or a credit, and a balance on the wrong side is worth flagging. Many trial balances add opening balance, period movement, and closing balance columns, so a single account row spans five figures that have to stay aligned. Up in the header sit the company, its VAT registration number, the reporting period, and the accounting system that produced the file, all of which an auditor needs before relying on the export, whether the entity closes under IFRS or a local GAAP. Talonic reads the trial balance and returns each account with its code, description, type, and debit or credit balance, plus any opening, movement, and closing columns, and it checks the two totals against each other. Dated 2026-06-30 and reporting in EUR, such a trial balance loads into the working papers with its 400 rows and its balancing check, so a controller ties out the close from structured data instead of a retyped ledger.

What gets extracted from trial balances

Company NameMeridian Handels GmbH
Trial Balance Date2026-06-30
VAT Registration NumberDE811234567
Reporting PeriodH1 2026
CurrencyEUR
Account Code6400
Account DescriptionWages and salaries
Account TypeExpense
Debit BalanceEUR 512,300
Total DebitsEUR 4,182,500Expected to equal total credits

How extraction works for trial balances

Trial balances are exported from accounting systems such as SAP, DATEV, Oracle NetSuite, and Xero, and they also arrive as PDF working papers, so the column set ranges from a two-column debit-and-credit listing to a five-column opening, movement, and closing layout. Talonic reads the report and maps it to the ledger schema in the Field Registry, which keeps each account as a row carrying its GL code, description, and type alongside its balances. Debit and credit columns are kept distinct so a balance is never collapsed to a single signed number, and where the report separates opening balance, period movement, and closing balance those columns stay aligned to the account. Account types, asset, liability, equity, revenue, or expense, are captured so a balance sitting on the unexpected side can be surfaced. Both column totals are checked against each other, and any difference is flagged. Every figure returns with a confidence score and pixel-region provenance under DIN SPEC 91491 conformity, so a controller can verify an account balance against the source export before signing off the close.

Sample extraction

A period-end trial balance exported from an ERP ledger

{
  "document_date": "2026-06-30",
  "company_name": "Meridian Handels GmbH",
  "tax_registration_number": "DE811234567",
  "currency_code": "EUR",
  "reporting_period": "H1 2026",
  "trial_balance_accounts": [
    {
      "account_id": "4000",
      "account_description": "Revenue",
      "account_type": "revenue",
      "debit_balance": 0,
      "credit_balance": 2380000,
      "closing_balance": -2380000
    },
    {
      "account_id": "6400",
      "account_description": "Wages and salaries",
      "account_type": "expense",
      "debit_balance": 512300,
      "credit_balance": 0,
      "closing_balance": 512300
    }
  ],
  "total_debits": 4182500,
  "total_credits": 4182500,
  "is_balanced": true
}

Frequently asked

Does it keep debit and credit balances separate?

Yes. Each account keeps its debit and credit balances as distinct columns rather than a single signed number, so a balance posted on the wrong side of the account type is visible instead of netted away.

Does it check that the trial balance balances?

The total debits and total credits are captured and checked against each other, and a difference between the two, even EUR 0.01, is flagged, since a trial balance that does not tie to zero cannot roll forward into the financial statements.

Can it capture opening, movement, and closing columns?

Yes. Where the report carries opening balance, period movement, and closing balance columns, each stays aligned to its GL account, so a five-column layout is preserved rather than flattened to a single balance.

Author note

Reviewed by Talonic engineering, schema review · last reviewed 2026-07-06