Balance in Transaction Currency Error at Posting
The document balances in local currency but not in the document (transaction) currency, so the system refuses to post. It is usually caused by manually keyed foreign currency lines that do not net to zero, document splitting generating rounding differences per currency, or a clearing transaction mixing exchange rates between the open item and the payment or down payment.
This page covers the FI posting error where a document nets to zero in local currency but leaves a residual amount in the transaction currency, blocking the posting. It works through the difference between manual entry errors, document splitting rounding, and clearing-related exchange rate mismatches, and gives the check sequence and resolution path for each.
Published 16 Sept 2026· 1,193 words
The business symptom
An AP clerk reports that an invoice will not save: the system throws an error naming a currency and a small non-zero amount, even though the totals on the invoice look correct. An AR clerk clearing a customer payment against an open item gets the same message and cannot understand why the document balances on screen but the system disagrees. A batch monitoring team reports that a batch of EDI or interface-driven invoices is failing overnight with the identical error, always for foreign currency documents, never for local currency ones. In all three cases the complaint sounds like a system bug because the header total and the sum of visible line items appear to match; the mismatch is happening in a currency the user is not looking at, typically because the document uses more than one currency internally.
The configuration behind it
Ranked by how often each actually turns out to be the cause in practice.
- Manual foreign currency entry where line amounts were typed and rounded individually instead of letting the system calculate the last line automatically; local currency nets to zero because the exchange rate translation absorbs the rounding, but the transaction currency does not.
- Document splitting active on the document type or business transaction: the splitting engine derives amounts per splitting characteristic using the local currency basis, and rounding differences accumulate across the generated split lines in the transaction currency, especially with several splitting characteristics or many line items on one document.
- Clearing open items across different exchange rates: the invoice was posted at one rate and the payment or down payment is cleared at another, and the exchange rate difference posting that should absorb the gap either did not trigger or is misconfigured, leaving a residual in document currency after the local currency amounts have already been forced to net.
- Interface or BAPI-driven postings, including EDI invoices and third-party billing feeds, where tax or line amounts are rounded independently per item at the source system rather than at document level, producing a difference of a few cents that only shows up in the transaction currency.
- A substitution rule or user exit changing an amount field on one line after the document's internal balance check baseline was set, without adjusting the offsetting line.
- Multiple line items posted in genuinely different transaction currencies within the same document, a foreign trade scenario where local currency balances but there is no automatic mechanism reconciling the separate transaction currencies against each other.
What to check
Work from the error message outward rather than guessing at configuration first.
- Read the message text in full before anything else. It names the currency and the exact imbalance amount, which tells whether the difference is a rounding-scale amount (cents) or a real exchange rate mismatch (larger).
- In FB01, FB60, FB70 or F-02, use the simulation screen and manually sum the amount column per currency shown, not just the local currency total.
- Check the exchange rates actually used on the document against the rate table in OB08 to see whether the invoice and the clearing transaction used different rate types or rate dates.
- In FBL1N or FBL5N, check the currency and exchange rate stamped on the specific open items being cleared, particularly when a down payment and an invoice are cleared together.
- Check whether document splitting is active for the document type or business transaction in the general ledger configuration, and whether a rounding item category is assigned in the splitting rule to absorb small differences.
- For interface-generated documents, check the interface log or the inbound IDoc in WE02 or WE05 for the amounts as received, to see if rounding happened before the data reached FI.
- Check the tolerance group assigned to the user or company code in OBA4 to confirm what automatic rounding difference the system is permitted to absorb without complaint.
How to prove it in the data
Pull the document in simulation in FB03 or during entry and list every line's amount in document currency, grouped by currency, and sum each group independently rather than trusting the header total. For clearing cases, pull the open items in FBL1N or FBL5N with their posted exchange rate and compare against the rate used on the clearing document from OB08. For interface postings, pull the source IDoc or interface payload and compare line-level amounts and rounding against what FI received.
Resolution path
For manual entry errors, the fix is data correction at the point of entry: let the system calculate the balancing line amount instead of keying every line, then re-simulate before posting. For document splitting rounding, the fix is configuration in the splitting rule: assign or correct the rounding difference item category on the affected document type or business transaction, which is a transport-based change owned by the FI configuration team. For clearing-related exchange rate mismatches, check the automatic account determination for exchange rate differences in OBA1; if the accounts are missing or the posting keys are wrong, that is a configuration fix requiring transport, while a one-off document with a genuine small residual can be cleared with a manually posted exchange rate difference line as a data action. For interface rounding, the durable fix is a development change so the source system rounds once at document level, not per line; adjusting the tolerance group is a legitimate but narrower config change and should only cover the actual rounding scale seen, not be widened arbitrarily. For substitution or user exit issues, the rule or exit logic itself needs correcting and transporting.
The fix people try first (and why it fails)
The reflex fix is to widen the tolerance group in OBA4 until the document posts, or to add a manual plug line for the difference just to get the invoice through. Both mask the underlying currency mismatch instead of resolving it. A widened tolerance silently swallows larger discrepancies on every future document for that user or company code, which becomes a currency translation and audit problem later. A manual plug line creates a suspense posting with no economic meaning that someone has to identify and clean up downstream, and it does nothing to stop the same interface or splitting configuration producing the same error on the next document.
Whose problem this is
Manual entry mistakes belong to the AP or AR clerk and the transaction is corrected at entry, no ticket needed. Document splitting rounding and exchange rate account determination are owned by FI configuration. Interface rounding is owned jointly by the interface development team and FI; the handover note should carry the document number, company code, transaction currency and imbalance amount, and the exchange rates involved on both sides of the posting.
Related SAP objects
Reviewed pages this object connects to in the ERPClimb knowledge graph.
Source: ERPClimb — https://erpclimb.com/sap-functional-issues/balance-in-transaction-currency-error-at-postingERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.