Business Central scenarios
How confirmed reconciliation matches materialize into Atlar documents and land in Microsoft Dynamics 365 Business Central.
This page lists the match shapes Atlar supports for Business Central, and what each one produces in Atlar and in Business Central. For the rules behind these outcomes — residual precedence, exchange-rate selection and FX handling — see Scenarios and outcomes. Scenario numbers match the NetSuite scenarios, so the same number describes the same match shape on both pages.
How Atlar writes to Business Central
Every outgoing document Atlar produces reaches Business Central through the Atlar extension in one of three ways:
| Atlar output | Business Central result |
|---|---|
New payment (from a SOURCE document or an overpayment) | A payment entry for the customer or vendor, posted to the paired bank account and applied to the invoices or credit memos. A payment applied to credit memos is posted as a refund. A payment with nothing to apply is posted on account. |
| New journal entry (bank fees, creation templates, transfers, realized FX) | A journal entry with exactly one bank account line; every other line posts to a G/L account. |
Existing entry (INSTRUCTION document) | The Business Central entry is linked to the match. Its posting date, amounts and exchange rate are not changed. |
Assumptions
Post realized FX gain/lossmust be on in the Reconciliation Configuration (journal mode), with GL accounts on theFX_GAINandFX_LOSSposting rules. Business Central keeps the exchange rate an entry was posted at, so Atlar posts the realized difference as a journal entry instead of changing the rate.- Bank accounts must be paired in Business Central. Payment entries cannot be created for an unpaired account.
- The company's local currency (LCY) is EUR and GBP is the foreign currency. Amounts are signed by direction (+ inbound, − outbound).
- In the Documents column, a
SOURCEdocument (e.g. an invoice) causes a new payment entry to be created and applied, anINSTRUCTIONdocument (e.g. an existing payment or journal entry) is linked to the match, andNonemeans a creation template defines the entry.
Scenarios
| # | Scenario | Documents | Transaction(s) | Residual | Result in Atlar | Result in Business Central |
|---|---|---|---|---|---|---|
| Exact matches (no residual) | ||||||
| 1 | Interest credit matched against no document | None | Inbound EUR +25.00 | None — creation template defines the entry | Journal entry created: debit bank account, credit interest income account. | Journal entry posted: bank account line, credit interest income G/L account. |
| 2 | Outbound bank service charge matched against no document | None | Outbound EUR −5.00 | None — creation template defines the entry | Journal entry created: credit bank account, debit bank fee account. | Journal entry posted: bank account line, debit bank fee G/L account. |
| 3 | Customer invoice matched exactly | Customer invoice (SOURCE) EUR +100.00 | Inbound EUR +100.00 | None (exact match) | Payment created, applied to invoice. | Customer payment entry posted, applied to the invoice. |
| 4 | Customer invoice in GBP matched exactly against GBP bank transaction | Customer invoice (SOURCE) GBP +100.00 | Inbound GBP +100.00 | None (exact match — same currency, no FX needed) | Payment created in GBP, applied to invoice. | Customer payment entry posted in GBP, applied to the invoice. |
| 5 | Vendor invoice matched exactly | Vendor invoice (SOURCE) EUR −75.00 | Outbound EUR −75.00 | None (exact match) | Payment created, applied to invoice. | Vendor payment entry posted, applied to the invoice. |
| 6 | Customer payment matched exactly | Customer payment (INSTRUCTION) EUR +100.00 | Inbound EUR +100.00 | None (exact match) | Existing payment updated with transaction date. | Existing payment linked to the match. Posting date unchanged. |
| 8 | Vendor payment matched exactly | Vendor payment (INSTRUCTION) EUR −75.00 | Outbound EUR −75.00 | None (exact match) | Existing payment updated with transaction date. | Existing payment linked to the match. Posting date unchanged. |
| 9 | Journal entry matched against transaction | Journal entry (INSTRUCTION) EUR +25.00 with bank line | Inbound EUR +25.00 | None (exact match) | Existing journal entry updated with transaction date. | Existing entry linked to the match. Posting date unchanged. |
| 10 | Customer refund matched against transaction | Customer refund (INSTRUCTION) EUR −25.00 | Outbound EUR −25.00 | None (exact match) | Existing refund updated with transaction date. | Existing refund linked to the match. Posting date unchanged. |
| 50 | Customer credit memo refunded | Customer credit memo (SOURCE) EUR −25.00 | Outbound EUR −25.00 | None (exact match) | Payment created, applied to credit memo. | Customer refund entry posted, applied to the credit memo. |
| 51 | Vendor credit memo refunded | Vendor credit memo (SOURCE) EUR +25.00 | Inbound EUR +25.00 | None (exact match) | Payment created, applied to credit memo. | Vendor refund entry posted, applied to the credit memo. |
| Same-currency residuals | ||||||
| 11 | Customer invoice greater than transaction — bank fee on charges field | Customer invoice (SOURCE) EUR +100.00 | Inbound EUR +98.00 (with EUR 2.00 included charge) | Bank fee (charges field) explains EUR 2.00 residual | Payment created for full EUR 100.00 applied to invoice + journal entry for EUR 2.00 bank fee. | Customer payment entry for EUR 100.00 applied to the invoice. Journal entry posted to the Reconciliation Configuration's bank fee account. |
| 12 | Transaction greater than vendor invoice — bank fee on charges field | Vendor invoice (SOURCE) EUR −75.00 | Outbound EUR −75.15 (with EUR 0.15 included charge) | Bank fee (charges field) explains EUR 0.15 residual | Payment created for EUR −75.00 applied to invoice + journal entry for EUR 0.15 bank fee. | Vendor payment entry for EUR 75.00 applied to the invoice. Journal entry posted to the Reconciliation Configuration's bank fee account. |
| 13 | Bank fee already itemized on the matched journal — no second fee booked | Journal entry EUR +98.00 that already includes a EUR 2.00 fee line | Inbound EUR +98.00 (with EUR 2.00 included charge) | None — documents already total the settled amount, so the charge is not folded in again | Existing journal entry updated. No BANK_FEE journal. | Existing entry linked to the match. |
| 14 | Transaction greater than vendor invoice — creation template explains residual (journal entry) | Vendor invoice (SOURCE) EUR −100.00 | Outbound EUR −110.00 | EUR 10.00 overpayment — creation template (journal entry) absorbs residual | Payment created for EUR −100.00 applied to invoice + journal entry created for EUR 10.00. | Vendor payment entry for EUR 100.00 applied to the invoice. Journal entry posted for EUR 10.00 against the template's G/L account. |
| 15 | Transaction greater than customer invoice — creation template explains residual (overpayment payment) | Customer invoice (SOURCE) EUR +100.00 | Inbound EUR +110.00 | EUR 10.00 overpayment — creation template (payment) absorbs residual | Payment created for EUR 100.00 applied to invoice + unapplied payment for EUR 10.00. | Customer payment entry for EUR 100.00 applied to the invoice. Customer payment entry for EUR 10.00 posted on account. |
| 16 | Transaction greater than customer invoice — residual within overpayment tolerance | Customer invoice (SOURCE) EUR +100.00 | Inbound EUR +110.00 | EUR 10.00 overpayment within tolerance | Payment created for EUR 100.00 applied to invoice + overpayment payment for EUR 10.00. | Customer payment entry for EUR 100.00 applied to the invoice. Customer payment entry for EUR 10.00 posted on account. |
| 17 | Customer invoice greater than transaction — residual within bank fee tolerance | Customer invoice (SOURCE) EUR +100.00 | Inbound EUR +99.00 | EUR 1.00 underpayment within bank fee tolerance — treated as fee | Payment created for full EUR 100.00 applied to invoice + journal entry for EUR 1.00 bank fee. | Customer payment entry for EUR 100.00 applied to the invoice. Journal entry posted to the Reconciliation Configuration's bank fee account. |
| 18 | Transaction greater than vendor invoice — residual within overpayment tolerance | Vendor invoice (SOURCE) EUR −100.00 | Outbound EUR −110.00 | EUR 10.00 vendor overpayment within tolerance | Payment created for EUR −100.00 applied to invoice + unapplied vendor payment for EUR −10.00. | Vendor payment entry for EUR 100.00 applied to the invoice. Vendor payment entry for EUR 10.00 posted on account. |
| Multi-document and multi-transaction cardinality | ||||||
| 19 | One transaction pays multiple customer invoices | Three customer invoices (SOURCE) EUR +100.00 / +120.00 / +80.00 | Inbound EUR +300.00 | None (exact match across all invoices) | One payment per invoice created (3 payments), each applied to its invoice. | One customer payment entry per invoice. |
| 20 | One transaction pays multiple vendor invoices | Three vendor invoices (SOURCE) EUR −100.00 / −120.00 / −80.00 | Outbound EUR −300.00 | None (exact match across all invoices) | One payment per invoice created (3 payments), each applied to its invoice. | One vendor payment entry per invoice. |
| 21 | Two transactions settle one customer invoice | Customer invoice (SOURCE) EUR +250.00 | Inbound EUR +150.00 + Inbound EUR +100.00 | None (transactions sum to invoice amount) | One payment per transaction created (2 payments), both applied to the same invoice. | One customer payment entry per transaction, each partially applied to the same invoice. |
| 22 | Two transactions settle one vendor invoice | Vendor invoice (SOURCE) EUR −250.00 | Outbound EUR −150.00 + Outbound EUR −100.00 | None (transactions sum to invoice amount) | One payment per transaction created (2 payments), both applied to the same invoice. | One vendor payment entry per transaction, each partially applied to the same invoice. |
| 23 | One payment instruction settled by multiple bank movements | Vendor payment (INSTRUCTION) EUR −300.00 | Multiple outbound EUR movements summing to EUR −300.00 | None (transactions collectively settle instruction) | Existing payment updated; date is left unchanged because several bank dates are present. | Existing payment linked to the match. |
| 24 | Batch payment run debits bank once, covers multiple payment instructions | Three vendor payments (INSTRUCTION) EUR −100.00 / −120.00 / −80.00 | Single outbound EUR −300.00 | None | Each instruction updated with transaction date (3 updates). | Each existing payment linked to the match. |
| 25 | One bank movement covers an existing payment instruction and a separate unpaid invoice | Vendor payment (INSTRUCTION) EUR −50.00 + Vendor invoice (SOURCE) EUR −50.00 | Single outbound EUR −100.00 | None | Existing payment updated with transaction date + new payment created applied to the unpaid invoice. | Existing payment linked to the match + vendor payment entry posted, applied to the invoice. |
| Cross-currency (explicit exchange rate) | ||||||
| 26 | Customer invoice differs from transaction — explicit exchange rate explains residual | Customer invoice (SOURCE) GBP +100.00 (EUR 113.00 base) | Inbound EUR +115.00 with explicit GBP/EUR 1.15 rate | FX difference explained by exchange rate | Payment created for GBP 100.00 with a EUR 115.00 base amount, applied to invoice. No FX journal entry. | Customer payment entry posted in GBP 100.00 with an LCY amount of EUR 115.00, applied to the invoice. Business Central posts the EUR 2.00 realized gain when it applies the payment. |
| 27 | Vendor invoice differs from transaction — explicit exchange rate explains residual | Vendor invoice (SOURCE) GBP −100.00 (EUR 113.00 base) | Outbound EUR −115.00 with explicit GBP/EUR 1.15 rate | FX difference explained by exchange rate | Payment created for GBP −100.00 with a EUR 115.00 base amount, applied to invoice. No FX journal entry. | Vendor payment entry posted in GBP 100.00 with an LCY amount of EUR 115.00, applied to the invoice. Business Central posts the EUR 2.00 realized loss when it applies the payment. |
| 28 | Customer payment differs from transaction — realized FX gain | Customer payment (INSTRUCTION) GBP +100.00 (EUR 113.00 base) | Inbound EUR +115.00 with explicit GBP/EUR 1.15 rate | EUR 2.00 realized FX gain | Existing payment keeps its rate + journal entry for EUR 2.00 against the FX_GAIN account. | Existing payment linked to the match. Journal entry posted: bank account line, credit FX_GAIN G/L account EUR 2.00. |
| 29 | Vendor payment differs from transaction — realized FX loss | Vendor payment (INSTRUCTION) GBP −100.00 (EUR 113.00 base) | Outbound EUR −115.00 with explicit GBP/EUR 1.15 rate | EUR 2.00 realized FX loss | Existing payment keeps its rate + journal entry for EUR 2.00 against the FX_LOSS account. | Existing payment linked to the match. Journal entry posted: bank account line, debit FX_LOSS G/L account EUR 2.00. |
| 30 | Transaction greater than vendor invoice — residual is bank-rate rounding, rate sharpened | Vendor invoice (SOURCE) GBP −10,000.00 | Outbound EUR −11,511.50 with GBP/EUR 1.15 rate | Residual is bank-rate rounding — rate sharpened to 1.15115, no overpayment booked | Payment created for GBP −10,000.00 with a EUR 11,511.50 base amount. | Vendor payment entry posted in GBP 10,000.00 with an LCY amount of EUR 11,511.50, applied to the invoice. |
| Intracompany transfers | ||||||
| 31 | Intracompany transfer, same currency, no documents | None | Outbound EUR −100.00 (sending) + Inbound EUR +100.00 (receiving) | None | Two journal entries created: one per leg, each with bank + clearing lines. | Two journal entries posted, each balancing a bank account against the clearing G/L account. |
| 32 | Intracompany cross-currency transfer, no documents — bank rate on a converting leg | None | Outbound EUR −115.00 (sending) + Inbound GBP +100.00 (receiving), bank rate on one leg | None — rate taken from the converting leg | Two journal entries created; FX rate attached to the foreign (non-base) leg. | Two journal entries posted, each in its bank account's currency. ⚠️ The bank rate is not sent: Business Central converts the GBP leg at its own exchange rate, so the clearing account can keep a small LCY difference. |
| 33 | Intracompany cross-currency transfer, no documents — no bank rate (MANUAL only) | None | Outbound EUR −115.00 + Inbound GBP +100.00 (amounts imply rate) | None — rate derived from the two amounts | Two journal entries created with derived FX rate on the receiving (foreign) leg. | As scenario 32. |
| 34 | Intracompany transfer matched with existing journal entry | Intracompany journal entry (INSTRUCTION) EUR | Outbound EUR −100.00 + Inbound EUR +100.00 | None (exact match) | Existing journal entry updated with sending transaction date. | Existing entry linked to the match. |
| 36 | Intracompany cross-currency transfer, no documents — foreign account sends to base account | None | Outbound GBP −100.00 (foreign account) + Inbound EUR +115.00 (base account) | None — rate taken from sending leg | Two journal entries created: sending leg in GBP with FX rate, receiving leg in EUR. | As scenario 32. |
| 37 | Intracompany transfer, no documents, creation template adds extra line (e.g. bank fee) | None | Outbound EUR −100.00 (sending) + Inbound EUR +99.00 (receiving) | Bank fee via ALWAYS template additional line on the sending leg | Two journal entries created: additional line on sending leg. | Two journal entries posted, each balancing the clearing G/L account. The sending leg has an extra fee line. |
| Intercompany transfers | ||||||
| 38 | Book one side of an intercompany transfer, no ERP document | None — ALWAYS journal template against IC AR/AP, counterparty = the other company | Inbound EUR +100.00 on entity A (entity B's bank movement is not in the match) | None — creation template defines the entry | One journal entry created on entity A: debit bank, credit IC receivable from entity B. | Journal entry posted in company A: bank account line, credit IC receivable G/L account. |
| 39 | Confirm one leg of an existing intercompany journal | Intercompany journal entry (INSTRUCTION) on entity A only | Inbound or outbound EUR on entity A | None (exact match) | Existing journal updated with transaction date. | Existing entry in company A linked to the match. |
| 44 | Intercompany transfer matched with IC journals, both companies EUR, both accounts EUR | Intercompany journal entry pair (INSTRUCTION) EUR | Outbound EUR + Inbound EUR | None (exact match) | Both journal entries updated with transaction date. | Each existing entry linked to the match in its own company. |
| 45 | Intercompany transfer matched with IC journals, both companies EUR, receiver account GBP | Intercompany journal entry pair (INSTRUCTION) | Outbound EUR + Inbound GBP | FX rate on the converting leg | Both journal entries updated; FX rate applied to the converting leg. | Each existing entry linked to the match. The rates stay as posted. |
| 46 | Intercompany transfer matched with IC journals, both companies EUR, both accounts GBP | Intercompany journal entry pair (INSTRUCTION) GBP | Outbound GBP + Inbound GBP | None (same currency across accounts) | Both journal entries updated with transaction date. | Each existing entry linked to the match. |
| 47 | Intercompany transfer matched with IC journals, receiver company GBP, both accounts GBP | Intercompany journal entry pair (INSTRUCTION) GBP | Outbound GBP + Inbound GBP | None — GBP account settles in GBP | Both journal entries updated with transaction date. | Each existing entry linked to the match. |
| Document-only netting | ||||||
| 49 | Reversal netted against the original instruction, no bank transaction | Two INSTRUCTION documents that sum to zero (e.g. a payment and its reversal) | None | None — documents must net to exactly zero. Creation templates are not allowed. | Each document updated with the match ID. No journal is created. | Each existing entry linked to the match. Manual matches only. |
Not supported
These shapes are rejected, or they materialize in Atlar but cannot be posted to Business Central:
- Undeposited Funds deposits (NetSuite scenario 7). A payment applied to another payment is rejected.
- Changing an existing entry. Atlar links existing Business Central entries to the match but cannot change their posting date, amounts or exchange rate.
- Payments that apply to both invoices and credit memos at once.
- Residual-driven creation templates that create a credit memo.
- Residual-driven journal templates that apply to the matched source documents (write-offs against AR/AP). Business Central journal entries need exactly one bank account line.
- Many-to-many cross-currency matches (several transactions and several documents in different currencies).
Posting errors
A match that can't be posted is sent back for manual intervention with one of these errors:
| Error | Cause | Fix |
|---|---|---|
ERP_DIMENSION_MISSING | Business Central requires a dimension value that the entry does not carry. | Add the dimension to the posting rule or creation template, or relax the dimension rule in Business Central. |
ERP_PERIOD_CLOSED | The posting date is outside the allowed posting dates. | Widen Allow Posting From / Allow Posting To in Business Central's General Ledger Setup or User Setup. |
Updated 3 days ago
