Count of GL transactions where debits do not equal credits, or a sub-ledger does not tie to the GL. Should always be zero in a healthy ledger.
At a glance
The number of general ledger transactions that fail the most fundamental rule in accounting: debits must equal credits. It also catches the next layer up, where a sub-ledger (AR, AP, inventory, cash) does not tie back to its GL control account. In a healthy Sage Intacct ledger this number is zero, always, because Intacct enforces double-entry at the point of posting. A non-zero reading therefore means something abnormal: an interface or connector pushing unbalanced data, a sub-ledger that has drifted from its control account, a partially-posted batch, or a corruption in an imported journal. This is a fix-now card, not a monitor-the-trend card.
| What it counts | GL transactions where the sum of debits does not equal the sum of credits, plus sub-ledger-to-GL control-account ties that do not reconcile. Sage Intacct’s gltransaction records carry debit and credit amounts per line; the card sums each batch and flags any non-zero net, and separately compares each sub-ledger balance to its GL control account. |
| Threshold | Default alert at >0. Any imbalance is an exception. There is no “acceptable” level; the threshold exists only to fire immediately on the first occurrence. |
| Imbalance types | Intra-transaction (debits ≠ credits within one entry), sub-ledger-to-control drift (AR/AP/inventory sub-ledger ≠ GL control account), and orphaned partial postings (a batch that posted some lines but not all). |
| Common sources | Failed or partial interface imports, a connector or integration pushing one-sided entries, a manual journal saved in an error state, a sub-ledger rebuild that did not re-tie, or a mid-posting interruption. |
| Currency | Multi-Entity Console: imbalances detected per entity in base currency. FX is not a cause of true imbalance; a balanced multi-currency entry uses the configured exchange-gain/loss account to stay balanced. |
| Entity scope | Card respects the dashboard entity filter. Per-entity imbalance counts isolate which subsidiary or interface is at fault. |
| Dimensional cut | Drillable by source module and by entity to attribute the imbalance to a specific feed (Order Entry, AP, AR, Inventory, a connector, or manual JE). |
| Time window | RT live count. |
| Alert trigger | >0, sentiment gl_imbalance. Not configurable to a higher tolerance; an imbalance is by definition an error. |
| Roles | owner, finance, engineering |
Calculation
Calculated automatically from your Sage data by summing debits against credits per transaction and comparing each sub-ledger to its GL control account. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.Worked example
A US ecommerce group on Sage Intacct, single entity, annual revenue ~$30M across Shopify and a wholesale Adobe Commerce portal. Heavy use of automated order-to-GL posting via the commerce connectors. Snapshot taken 9 Jun 26 during the May 26 close. Default alert threshold of zero, so the card fired the moment the first imbalance appeared.| Source | Imbalanced transactions | Net imbalance (USD) | Likely cause |
|---|---|---|---|
| Order Entry connector batch | 3 | $0 net per entry, but sub-ledger drift | Partial batch import |
| AR sub-ledger to control | 1 | $4,210 | Sub-ledger rebuild not re-tied |
| Manual JE (saved in error) | 1 | $1,500 | One-sided draft posted |
| Inventory adjustment | 0 | clean | none |
| Transaction Imbalances (this card) | 5 | $5,710 + sub-ledger drift |
- Five imbalances is five too many, and unlike most cards the correct target here is zero, not “below threshold.” Every other KPI on the dashboard has a healthy non-zero range; this one does not. Double-entry is the bedrock of the ledger, so any imbalance means the books are, at that moment, not internally consistent. The card fires at the first occurrence precisely because an imbalance left to sit will block the close, corrupt the trial balance, and eventually surface as an audit finding. The action is not to watch the trend; it is to clear all five before the period closes.
-
The three Order Entry connector imbalances are the most urgent because they point at an active feed, not a one-off. A partial batch import (some order lines posted, the offsetting lines did not) is the classic shape of an interface that timed out or hit a validation error mid-batch. The danger is that the feed is still running, so every subsequent order may be landing the same way. This is why the card carries an
engineeringrole: the fix is not a finance correction, it is stopping and repairing the integration. On this account the engineering team found the connector had hit an Intacct API rate limit mid-batch and posted the debit lines before the credit lines failed. Pair with Journals by Source Module to confirm the imbalance concentrates in the connector feed and not in manual entries. - **The AR sub-ledger drift of 4,210, that confirms the drift and pinpoints it.
- The manual JE saved in an error state is the easiest to clear and the easiest to prevent. A one-sided journal that got posted (or partially posted) is almost always a draft that should never have left the preparer’s hands. The fix is a one-line correction; the prevention is a posting control that refuses to release an unbalanced draft. Intacct normally enforces this, so a one-sided manual JE that made it to the GL usually points at an import path that bypassed the UI validation. Pair with Manual JEs as % of Total: a high manual-JE share plus recurring imbalances means the manual posting process needs a control review.
- This card is a hard gate on the close, which is why it links straight to the close status cards. A period cannot be cleanly hard-closed while imbalances exist, because the trial balance will not tie and the consolidated numbers will be wrong. So a non-zero reading here directly threatens Period Close Status and, over time, Period Close On-Time Rate (12mo). On this account the five imbalances were the single reason the May close was at risk; clearing them (engineering repaired the connector and reposted the three batches, finance corrected the AR drift and the manual JE) let the close complete on the same day the card was cleared.
Sibling cards merchants should reference together
| Card | Why pair it with Transaction Imbalances |
|---|---|
| Journals by Source Module | Attributes the imbalance to a connector feed, AP, AR, or manual JE. |
| Period Close Status | Imbalances are a hard gate on the close; they must clear first. |
| A/R Balance (live) | Confirms AR sub-ledger-to-control drift by comparing live balance to GL. |
| Manual JEs as % of Total | Recurring imbalances plus high manual share signals a posting-control gap. |
| Accrual Reversals (last close) | A partial reversal can leave a residual imbalance. |
| Commerce Orders Without Sage Intacct Order | A broken order feed causes both missing orders and unbalanced batches. |
| Open / Pending Transactions | A partly-posted batch shows here as pending and there as imbalanced. |
| Sage Health Score | Any imbalance heavily penalises the composite GL health score. |
Reconciling against Sage
Where to look in Sage Intacct: The native Sage Intacct views to run side by side with this card:Reports → General Ledger → Trial Balance for the period: a healthy trial balance nets to zero, so any non-zero total is the headline imbalance General Ledger → All → Journal Entries filtered to the period, scanning for any batch where the debit and credit columns do not match Reports → Accounts Receivable → AR Aging and Reports → General Ledger → Account Activity on the AR control account, compared to confirm the sub-ledger ties to the control Reports → Accounts Payable → AP Aging compared to the AP control account for the same tie General Ledger → All → Open Batches for batches stuck in a partially-posted or error state Interactive Custom Report (ICR) on the GL data source summing debit minus credit per batch, flagging any non-zero net, and a second ICR tying each sub-ledger total to its control accountIntacct enforces balanced double-entry on UI postings, so a true intra-transaction imbalance almost always entered through an import or API path. The Trial Balance is the fastest native confirmation: it must net to zero. For Multi-Entity Console accounts run the Trial Balance per entity, because an imbalance in one subsidiary can be masked at the consolidated level by an offsetting position elsewhere. Common reconciliation pitfalls:
- Rounding in multi-currency entries: a balanced foreign-currency entry can show a tiny residual if the exchange-gain/loss account is misconfigured. This is a configuration fix, not a true imbalance; the card flags it but the cause is the FX account setup.
- Timing during an active posting window: a snapshot taken mid-batch can catch a transaction between its debit and credit postings. The card re-evaluates on refresh, so a transient mid-post imbalance clears itself; a persistent one is real.
- Sub-ledger as-of timing: comparing an AR aging run at one moment to a GL control balance at another can show a phantom drift. Always tie sub-ledger to control at the same as-of timestamp, which the card does internally.
| Reason | Direction | Why |
|---|---|---|
| Multi-currency rounding | Card may overstate | A misconfigured exchange-gain/loss account leaves a tiny residual the card flags as imbalance; it is a config issue. |
| Mid-post snapshot timing | Card may overstate | A transaction caught between debit and credit postings reads as imbalanced until the next refresh. |
| Sub-ledger as-of mismatch | Either | Comparing AR aging and GL control at different timestamps shows phantom drift; the card ties at the same as-of. |
| Entity scope | Either | A per-entity imbalance can be masked at consolidation by an offsetting entity; the card reports at the dashboard scope. |
| Open vs posted batches | Either | An unposted draft batch is not yet a GL imbalance; the card distinguishes draft from posted. |
| Suspense account usage | Card may understate | An interface that routes the unmatched side to a suspense account keeps the GL balanced while hiding the real problem; the card flags suspense growth separately. |
| Statistical journals | Card excludes | Non-financial statistical entries do not follow debit-equals-credit; the card excludes the statistical book. |
| Card | Expected relationship | What the comparison reveals |
|---|---|---|
| Commerce Orders Without Sage Intacct Order | Same root cause | A broken order feed simultaneously drops orders and posts unbalanced batches; the two cards spiking together point at the connector. |
| Journals by Source Module | Attribution | Shows which feed produced the imbalanced batches, separating a connector fault from a manual-entry fault. |
| Revenue Gap vs Commerce | Indirect | A partial revenue feed can both widen the revenue gap and leave the GL out of balance. |
| A/R Balance (live) | Diagnostic | A live AR balance that disagrees with the GL control account by the imbalance amount confirms AR drift. |
| Sage Health Score | Input | Any imbalance is a severe penalty in the composite GL health score because it breaks the most basic invariant. |