NetSuite scenarios
How confirmed reconciliation matches materialize into Atlar documents and land in NetSuite.
This page lists the match shapes Atlar supports for NetSuite, and what each one produces in Atlar and in NetSuite. For the rules behind these outcomes — residual precedence, exchange-rate selection and FX handling — see Scenarios and outcomes.
Assumptions
- A row is listed only when both sides work: Atlar can build the outgoing documents, and NetSuite can post or patch them.
- The GL entity's base currency is EUR and GBP is the foreign currency (cross-currency settlement is only possible from a base-currency account).
- Amounts are signed by direction (+ inbound, − outbound).
Post realized FX gain/lossis off (patch-rate mode). With it on, cross-currency rows differ as described under WithPost realized FX gain/lossenabled.- In the Documents column, a
SOURCEdocument (e.g. an invoice) causes a new payment to be created and applied, anINSTRUCTIONdocument (e.g. an existing payment or journal entry) is patched with the transaction's date and any FX rate, andNonemeans a creation template defines the entry. - The Residual column explains any gap between the bank movement and the documents, resolved in order: included charges and
ALWAYS-template lines, then residual-driven creation templates, then a tolerance fallback.
Scenarios
| # | Scenario | Documents | Transaction(s) | Residual | Result in Atlar | Result in NetSuite |
|---|---|---|---|---|---|---|
| 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 created: debit bank account, credit interest income 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 created: credit bank account, debit bank fee 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 created, applied to invoice. |
| 4 | Customer invoice in GBP matched exactly against GBP bank transaction | Customer invoice (SOURCE) GBP +100.00 (EUR 113.00 base) | Inbound GBP +100.00 | None (exact match — same instructed currency, no FX needed) | Payment created in GBP, applied to invoice. | Customer payment created in GBP, applied to invoice. |
| 5 | Vendor invoice matched exactly | Vendor invoice (SOURCE) EUR −75.00 | Outbound EUR −75.00 | None (exact match) | Payment created, applied to invoice. | Bill payment created, applied to bill. |
| 6 | Customer payment matched exactly | Customer payment (INSTRUCTION) EUR +100.00 | Inbound EUR +100.00 | None (exact match) | Existing payment patched with transaction date. | Customer payment patched with transaction date. |
| 7 | Undeposited customer payment matched against bank deposit | Customer payment (SOURCE) EUR +100.00 posted against Undeposited Funds transit account | Inbound EUR +100.00 | None (exact match) | Payment created, applied to source payment document. | Deposit created, moving funds from Undeposited Funds to bank account. |
| 8 | Vendor payment matched exactly | Vendor payment (INSTRUCTION) EUR −75.00 | Outbound EUR −75.00 | None (exact match) | Existing payment patched with transaction date. | Bill payment patched with transaction date. |
| 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 patched with transaction date. | Journal entry patched with transaction date. |
| 10 | Customer refund matched against transaction | Customer payment (INSTRUCTION) EUR −25.00 | Outbound EUR −25.00 | None (exact match) | Existing payment patched with transaction date. | Customer refund patched with transaction date. |
| 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 created, applied to invoice with full EUR 100.00. Journal entry created debiting 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. | Bill payment created, applied to bill with full EUR 75.00. Journal entry created debiting Reconciliation Configuration's bank fee account. |
| 13 | Bank fee already itemized on the matched journal — no second fee booked | Journal entry (SOURCE) 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 | Journal entry patched with transaction date. No BANK_FEE journal. | Journal entry patched with transaction date. |
| 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. | Bill payment created, applied to bill with EUR 100.00. Journal entry created for EUR 10.00. |
| 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 created, applied to invoice with EUR 100.00. Customer deposit of EUR 10.00 created. |
| 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 created, applied to invoice with EUR 100.00. Customer deposit of EUR 10.00 created. |
| 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 created, applied to invoice with full EUR 100.00. Journal entry created debiting 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. | Bill payment created, applied to bill with EUR 100.00. Vendor prepayment created for EUR 10.00. |
| 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 created 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 bill payment created per bill. |
| 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 created per transaction, 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 bill payment created per transaction, applied to the same bill. |
| 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 patched; date is left unchanged because several bank dates are present. | Bill payment keeps its own date. |
| 24 | Batch payment run debits bank once, covers multiple payment instructions | Three vendor payment instructions (INSTRUCTION) EUR −100.00 / −120.00 / −80.00 | Single outbound EUR −300.00 | None | Each instruction patched with transaction date (3 patches). | Bill payments patched with transaction date. |
| 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 instruction patched with transaction date + new payment created applied to the unpaid invoice. | Bill payment patched with transaction date + bill payment created, applied to bill. |
| Cross-currency (explicit exchange rate) | ||||||
| 26 | Customer invoice differs from transaction — explicit exchange rate explains residual | Customer invoice (SOURCE) GBP +100.00 | Inbound EUR +115.00 with explicit GBP/EUR 1.15 rate | FX difference explained by exchange rate | Payment created in GBP 100.00 with FX rate attached, applied to invoice. | Customer payment created with FX rate reported on transaction, applied to invoice. |
| 27 | Vendor invoice differs from transaction — explicit exchange rate explains residual | Vendor invoice (SOURCE) GBP −100.00 | Outbound EUR −115.00 with explicit GBP/EUR 1.15 rate | FX difference explained by exchange rate | Payment created in GBP −100.00 with FX rate attached, applied to invoice. | Bill payment created with FX rate reported on transaction, applied to bill. |
| 28 | Customer payment differs from transaction — explicit exchange rate explains residual | Customer payment (INSTRUCTION) GBP +100.00 | Inbound EUR +115.00 with explicit GBP/EUR 1.15 rate | FX difference explained by exchange rate | Existing payment patched with transaction date and FX rate. | Customer payment patched with transaction date and FX rate. |
| 29 | Vendor payment differs from transaction — explicit exchange rate explains residual | Vendor payment (INSTRUCTION) GBP −100.00 | Outbound EUR −115.00 with explicit GBP/EUR 1.15 rate | FX difference explained by exchange rate | Existing payment patched with transaction date and FX rate. | Bill payment patched with transaction date and FX rate. |
| 30 | Transaction greater than vendor invoice — residual is bank-rate rounding, rate sharpened | Vendor invoice (SOURCE) GBP −10,000.00 | Outbound EUR −11511.5 with GBP/EUR 1.15 rate | Residual is bank-rate rounding — rate sharpened to 1.15115, no overpayment booked | Payment created in GBP −10,000.00 with sharpened FX rate. | Bill payment created with a deduced rate; the rate reported by the bank is assumed to be rounded. |
| 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 created, balanced against the specified clearing 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 created, balanced against the specified clearing account. Reported FX rate put on the converting leg. |
| 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. | Two journal entries created, each balancing a clearing account. Derived FX rate put on receiving leg. |
| 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 patched with sending transaction date. | Journal entry patched with sending transaction date. |
| 35 | Intracompany cross-currency transfer matched with existing TRANSFER document | Transfer document (INSTRUCTION) GBP | Outbound GBP −100.00 (sending, EUR base) + Inbound EUR +115.00 (receiving) | None — rate taken from converting (sending) leg | Existing transfer document patched with FX rate. | ⚠️ Not supported. NetSuite does not allow API operations on transfers; this is a no-op. |
| 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. | Two journal entries created, each balancing a clearing account. Reported FX rate put on sending leg. |
| 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 created, each balancing a clearing account. Sending leg with an additional fee line. |
| One-sided intercompany | ||||||
| 38 | Book one side of an intercompany transfer, no ERP document | None — ALWAYS journal template against IC AR/AP, counterparty = the other subsidiary | 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 created, with NetSuite toSubsidiary / eliminate routing from the GL-entity counterparty. This is a normal journal, not an Advanced Intercompany Journal. |
| 39 | Confirm one leg of an existing advanced intercompany journal | Advanced intercompany journal (INSTRUCTION) on entity A only | Inbound or outbound EUR on entity A | None (exact match) | Existing journal patched with transaction date and ADVANCED_INTERCOMPANY subtype. | Advanced Intercompany Journal patched on the header. A single-leg patch is enough when the sibling subsidiary is not linked in Atlar. |
| Two-sided intercompany transfers | ||||||
| 40 | Intercompany transfer, same currency, no documents | None | Outbound EUR −100.00 (entity A) + Inbound EUR +100.00 (entity B) | None — auto-balanced at ERP | Two journal entries created, one per entity; bank lines auto-balanced against IC AR/AP at ERP. | Advanced Intercompany Journal created, auto-balanced by NetSuite. |
| 41 | Intercompany cross-currency transfer, no documents — bank rate or MANUAL derived rate | None | Outbound EUR −115.00 (entity A) + Inbound GBP +100.00 (entity B) | None — FX rate from the converting leg, or derived on a manual match | Two journal entries created with FX rate on the converting leg. | Advanced Intercompany Journal created with FX rate on the converting subsidiary's line, auto-balanced by NetSuite. |
| 42 | Intercompany transfer, creation-template fee line on sending side, no bank rate | None | Outbound EUR −100.00 (entity A) + Inbound EUR +99.00 (entity B) | EUR 1.00 fee added via creation template | Two journal entries created with an explicit fee line on the sending side. | Advanced Intercompany Journal created with fee line belonging to subsidiary A, auto-balanced by NetSuite. |
| 43 | Intercompany transfer, creation-template fee line on receiving side, no bank rate | None | Outbound EUR −100.00 (entity A) + Inbound EUR +99.00 (entity B) | EUR 1.00 fee added via creation template | Two journal entries created with an explicit fee line on the receiving side. | Advanced Intercompany Journal created with fee line belonging to subsidiary B, auto-balanced by NetSuite. |
| 44 | Intercompany transfer matched with IC journal, both subs EUR, both accounts EUR | Intercompany journal entry pair (INSTRUCTION) EUR | Outbound EUR + Inbound EUR | None (exact match) | Both journal entries patched with transaction date. | Advanced Intercompany Journal patched with sending transaction date. |
| 45 | Intercompany transfer matched with IC journal, both subs EUR, receiver account GBP | Intercompany journal entry pair (INSTRUCTION) | Outbound EUR + Inbound GBP | FX rate attached on the converting leg | Both journal entries patched; FX rate applied to the converting leg. | Advanced Intercompany Journal patched with FX rate on the converting subsidiary's line. |
| 46 | Intercompany transfer matched with IC journal, both subs EUR, both accounts GBP | Intercompany journal entry pair (INSTRUCTION) GBP | Outbound GBP + Inbound GBP | None (same currency across accounts, no FX attached) | Both journal entries patched with transaction date. | Advanced Intercompany Journal patched with sending transaction date. |
| 47 | Intercompany transfer matched with IC journal, receiver sub GBP, both accounts GBP | Intercompany journal entry pair (INSTRUCTION) GBP | Outbound GBP + Inbound GBP | None — GBP account settles in GBP, no FX attached | Both journal entries patched with transaction date. | Advanced Intercompany Journal patched with sending transaction date. |
| 48 | Intercompany transfer no documents, receiver sub GBP, both accounts GBP | None | Outbound GBP + Inbound GBP | None — GBP account settles in GBP, no FX rate attached | Two journal entries created; no FX rate on the EUR-base/GBP-account leg. | Advanced Intercompany Journal created, without any reported FX rate. |
| 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 patched with the match ID. No journal is created. | Each instruction patched with the match ID. Manual matches only. |
With Post realized FX gain/loss enabled
Post realized FX gain/loss enabledJournal mode is optional for NetSuite. When it is on, the same-currency, cardinality and transfer rows above are unchanged. Only cross-currency matches differ:
SOURCEdocuments (rows 26, 27, 30). The created payment carries the settlement rate and base amount directly, so no separate FX journal entry is booked. NetSuite computes realized FX on application.INSTRUCTIONdocuments (rows 28, 29). When the match settles exactly at the transaction's rate, the instruction keeps its original rate instead of being patched. The difference between its carrying base amount and the bank amount is booked as a journal entry against theFX_GAINorFX_LOSSGL account, with no threshold check. See Realized FX modes.- Other cross-currency residuals are handled as in rate-patch mode.
Not supported
These shapes are rejected, or they materialize in Atlar but are not pushed to NetSuite:
- Existing NetSuite
TRANSFERrecords. Atlar can emit an update; but NetSuite does not allow API operations on transfers, so the patch is a no-op. - Many-to-many cross-currency matches (several transactions and several documents in different currencies).
- Intra-company cross-currency transfers with no base-currency leg.
- Intercompany transfers whose two subsidiaries have distinct base currencies that both differ from the settlement currency.
- Automatic (non-manual) no-document transfers that need a derived FX rate because neither leg booked a converting rate.
Updated 3 days ago
Did this page help you?
