Skip to main content

How Kolleno Handles Customer Payments for Invoices in Different Currencies

Kolleno automates NetSuite’s multi-step FX payment reconciliation, eliminating manual entries.

Kolleno Support avatar
Written by Kolleno Support
Updated over a month ago

Overview

When customers pay invoices in a different currency than the invoice was issued, Kolleno automatically handles the complex multi-step NetSuite reconciliation process, eliminating the need for manual currency conversion entries.

This solution is based on NetSuite SuiteAnswer ID 21339.


The Problem

Invoice issued in EUR €100 → Customer pays in USD $110 → NetSuite cannot directly apply USD payment to EUR invoice due to double currency conversion limitations.


Prerequisites

Configure your General Ledger Mapping with:

  • Bank Ledger Category: Your bank asset accounts (for each currency)

  • Accounts Receivable Category: Your A/R accounts

  • Undeposited Funds Category: Your undeposited funds accounts

  • Variances Category: Your FX gain/loss accounts (optional for FX adjustments)


Kolleno's Automated Solution

Automatic 4-Step Process

When Kolleno detects a cross-currency payment, it automatically executes the complete reconciliation:

Step 1 - Original Customer Payment (Invoice Currency)

  • Creates customer payment in EUR (invoice currency)

  • Applied to the original EUR invoice

  • Uses Undeposited Funds account

Step 2 - Deposit Payment (Actual Currency Received)

  • Creates deposit payment in USD (actual currency received)

  • Deposits to the correct USD bank account

  • Records the actual amount received from customer

Step 3 - FX Reversal Journal Entry

  • Creates journal entry in USD to reverse Step 1 impact:

  • Debit: Accounts Receivable - $110.00 (linked to customer)

  • Credit: USD Bank Account - $110.00 (linked to customer)

Step 4 - Payment Application

  • Creates final customer payment that applies:

  • Journal entry from Step 3 (as invoice)

  • Original payment from Step 1 (as credit)

  • Uses Undeposited Funds and correct A/R account


FX Gain/Loss Handling (Optional)

When exchange rates fluctuate between when an invoice was created and when payment is received, there may be a difference between the expected and actual amounts. Kolleno automatically handles this:

FX Gain Scenario: If the exchange rate moved in your favor (you received more than expected):

  • Example: EUR €100 invoice expected $110, but you actually received $115

  • Kolleno records the $5 gain by increasing your Accounts Receivable and crediting your FX Variance account.

FX Loss Scenario: If the exchange rate moved against you (you received less than expected):

  • Example: EUR €100 invoice expected $110, but you only received $105

  • Kolleno records the $5 loss by debiting your FX Variance account and reducing your Accounts Receivable.

This ensures your books accurately reflect the actual financial impact of currency fluctuations on customer payments.


Manual NetSuite Process (Without Kolleno):

Step 1 - Create Customer Payment (Invoice Currency)

  1. Go to Transactions > Sales > Create Invoices > List

  2. Click View on EUR invoice → Click Accept Payment

  3. Select A/R Account and Undeposited Funds

  4. Currency: Select Euro

  5. Apply to the EUR invoice and Save

Step 2 - Deposit Payment (Actual Currency)

  1. Go to Transactions > Bank > Make Deposits

  2. Select USD bank account, Currency: USD

  3. Apply the payment created in Step 1

  4. Enter USD amount received and Save

Step 3 - Create Reversal Journal Entry

  1. Go to Transactions > Financial > Make Journal Entries

  2. Currency: Select USD

    • Debit: A/R Account - USD amount (select customer)

    • Credit: USD Bank Account - same amount (select customer)

  3. Save

Step 4 - Apply Journal Entry Against Payment

  1. Go to Transactions > Customers > Accept Customer Payments

  2. Select customer, A/R Account, Undeposited Funds

  3. Currency: Select USD

  4. Apply tab > Invoices: Check the Journal Entry from Step 3

  5. Apply tab > Credits: Check the unapplied payment from Step 1

  6. Save

Did this answer your question?