Customer XY has accounting entries in currency TWD for company XY. Please select a receivable or pay

“Customer XY has accounting entries in currency TWD for company XY. Please select a receivable or payable currency TWD.” - this is a message we get when we want to Submit Payment Entry from customer.

Customer has settings:

  • Company Bank Account Multi Currency
  • Account Paid to: multi currency (USD)
  • Account Currency (To): USD
  • Account Currency (From) USD

We are an international company and receive money in multiple currencies and are now experiencing 2 situations:

  1. Customer used to pay in TWD, now pays in USD. In this case, we cannot submit the payment entry, and above message pops up.
  2. Customer paid in USD and keeps paying in USD. In this case, we can easily submit the payment entry.

Solution, or what do you think is the issue?

We suspect that ERP Next logs in the payment entries and “locks” the currency that was used in the past, or it checks the entire customer ledger and locks in TWD currency as main currency as it was used in the past.

  • Customer XY already has at least one posted receivable entry in TWD, so ERPNext treats the customer as a TWD ledger and blocks any USD receivable or USD advance. That’s why the USD payment works for other customers that didn’t pay previously in different currencies.

To proceed we must either:

  • Settle this payment via Accounts Receivable – TWD, or
  • Fully migrate the customer to USD receivables by fixing historical entries.

Question:

  • Is this an enforced behaviour in ERPNext v15 and not a bug?
  • How do we solve it or what is the workaround you use?
    • Did you fix historical entries?
    • Did you create under assets → accounts receivables, sub accounts for each used currency (e.g. debtors USD, debtors EUR, debtors TWD, …), kept one customer’s master record and then mapped receivable accounts based on currency? Then once SI was raised in USD it should automatically go to Debtors USD. Did such a thing work for you?
  • Creating multiple accounts with different currencies for one customer (e.g. Customer XY - USD, and Customer XY - TWD) does not make sense. We are an international company and need to be able to receive multiple currency types for one customer. And it doubles the data and opens us up for more mistakes. Or does it work for you?

Hi @Martinzavo
I have tried the same customer with three different currencies and its working perfectly with exchange differences also
Can you try two things: -

  1. In Accounts Settings → Invoice and Billings → tick “Allow multi-currency invoices against single party accounts”
  2. In Customer → Details → Defaults → remove any Billing Currency

Hope it works out