Skip to content

Statements not balanced

The Statement of Financial Position renders with a red not balanced banner: total_assets ≠ total_equity_and_liabilities (beyond ±1.0 SGD).

What this means

The statement generator is deterministic — every figure is a pure function of the mapped TB. An imbalance always traces back to:

  1. The TB itself was unbalanced on upload (you already saw the amber preview badge in TB not balanced).
  2. Or — far more common — a sign-flip on one or more mappings: a credit-side key (e.g. trade_payables) resolved to a debit balance, or vice versa.

Diagnose

Check the anomaly list at the top of the Statements tab — sign-flip anomalies surface with the affected row id and key.

sql
SELECT account_code, account_description, current_year_balance, taxonomy_key
  FROM fs_trial_balance_items
  WHERE engagement_id = '<engagementId>'
    AND taxonomy_key IN (
      SELECT key FROM <the keys flagged in the anomalies list>
    );
-- inspect: do the balances make sign sense given the taxonomy_key's expected balance?

Common patterns:

  • An accumulated depreciation row mapped to ppe rather than to a contra-PPE concept; the negative balance flows through to PPE and disagrees with the section total.
  • A revenue refund / contra-revenue mapped to revenue; the natural balance is debit but revenue is credit-side.
  • Director loan mapped to trade_receivables instead of other_receivables — the sign is consistent but the section is wrong.

Fix

  1. Open the Mapping tab. Filter by confidence == LOW or MANUAL; this is where overrides accumulate.
  2. Identify the offending row by the anomaly's fields array.
  3. Override the mapping to the correct key (see Override a mapping).
  4. Regenerate statements. versionNo bumps; the new run should land is_balanced = true.

If you regenerated and the imbalance is identical, the cause is upstream (a different row); inspect the anomalies again.

When the imbalance is tiny (≤ 1.0 SGD)

The balancer tolerates ±1.0 SGD. If the imbalance is exactly at the edge (e.g. 1.05 SGD), it's almost always a rounding artefact in the TB. Tighten the source or accept and document.

Internal use only — BreezyCorp