Back

Sales Invoice Payments in a Different Currency

You can record a client payment in the currency the client actually paid in, even if it differs from the invoice currency, such as a client who pays an invoice issued in US dollars with Saudi riyals. You don’t need to convert the amount manually: the system calculates the Invoice Settlement Amount in the invoice currency, deducts it from the invoice balance, and automatically creates an FX Difference Journal against the foreign exchange differences account. Use this method whenever the collection currency differs from the invoice currency.

Required permissionsA permission to add payments to invoices (such as Add Payments to All Invoices), and a permission to deposit into the selected treasury. To edit exchange rates manually, the Currency Conversion Rate setting must be set to Show in Sales Settings.
How to accessSales Invoices > Open the invoice > Add Payment

Before you begin

  • The Accounting app is enabled, and the Chart of Accounts includes the foreign exchange differences account (it appears as Foreign Exchange Gains and Losses, which is also the name used in the report). Without it, the payment isn’t saved.
  • Exchange rates between the two currencies exist in Currency Rates, or you plan to enter the rate manually after setting the setting to Show.
  • The invoice is saved (not a draft, if you want the journal entries to be posted) and has a balance due.

Where do you record a payment in a different currency?

  • Only from the Add Payment button on the invoice page.
  • The invoice create and edit form (the Already Paid section) always records the payment in the invoice currency and doesn’t let you select another currency.
  • Once the invoice has any payment in a different currency, the payment section is hidden in the invoice edit form so the payment isn’t rewritten in the invoice currency. Edit the payment from its own page.

Currency fields in the payment form

The following fields appear in the Add Payment form alongside the usual fields (Payment method, Treasury, Date, Identifier, Notes, Attachments).

Field Mandatory? Default value When it appears What it does
Payment Amount + the currency list next to it Mandatory The invoice balance due, with the currency set to the invoice currency Always, regardless of any setting The amount the client actually paid (or you paid the supplier) in the currency you select from the list attached to the field. This currency list is what the report refers to as “Payment Currency”.
Invoice Settlement Amount Calculated automatically Empty until you select a different currency When the payment currency differs from the invoice currency The amount deducted from the invoice balance in the invoice currency = payment amount × exchange rate from the payment currency to the invoice currency. It updates instantly when you change the amount or the rate.
{Payment Currency} to {Invoice Currency} Exchange Rate Mandatory when shown The system rate on the payment date (from Currency Rates or the live rate) Payment currency ≠ invoice currency, and the Currency Conversion Rate setting = Show You can edit it manually for this payment only. It must be greater than zero.
System Amount Calculated automatically (read-only) — Payment currency ≠ your account’s base currency, and invoice currency ≠ your account’s base currency The value of the paid amount in your account’s base currency; this is the value posted to the treasury.
{Payment Currency} to {System Currency} Exchange Rate Mandatory when shown The system rate on the payment date Same condition as the previous field, and the setting = Show The rate for converting the payment to your account’s base currency. If the invoice currency is your account’s base currency, this field doesn’t appear and the previous rate is used instead.
Update System Rate (next to each rate) Optional Disabled Whenever the rate field appears When you enable it, the rate you entered is saved as a new record in Currency Rates and used in subsequent transactions, as the tooltip explains: This rate will be added as a new record in the system’s Local Currency Rates and used in upcoming transactions.
🛈

Note: If the payment currency is the same as the invoice currency, the form works exactly as before, and no additional fields appear.

Effect of the “Currency Conversion Rate” setting

Setting option What happens in the payment form
Show The exchange rate fields appear pre-filled with the system rate and can be edited, and the Update System Rate option appears. The entered rate is mandatory.
Hide Only the currency list and the Invoice Settlement Amount appear, and the system rate on the payment date is applied automatically. If no rate exists, the message Currency conversion rate not found appears.
🛈

Note: The setting under Sales Settings > Invoice Configuration section > Currency Conversion Rate is the same setting that controls editing the currency rate on the sales invoice.

How are the amounts calculated?

  • Invoice Settlement Amount = payment amount × exchange rate (payment currency → invoice currency), rounded to the decimal places of the invoice currency.
  • The system deducts the settlement amount from the Remaining balance on the invoice, and the invoice status changes to Paid or Partially Paid accordingly.
  • The treasury is posted with the amount actually paid in the payment currency, using the payment’s conversion rate to your account’s base currency.
  • Currency difference = (payment amount × payment-to-system-currency rate) − (settlement amount × the invoice-to-system-currency rate the invoice was recorded with).
  • The invoice rate used is the manual rate saved on the invoice, if there is one; otherwise, the rate of the invoice journal entry; otherwise, the system rate on the invoice date.

Journal entries created after saving

Journal Accounts Date Description
Payment Journal Debit: the treasury or bank account, with the amount paid in the payment currency / Credit: the client account Payment date The usual payment journal description
FX Difference Journal (separate entry) If the difference is positive: debit the client account / credit Foreign Exchange Gains and Losses. If it is negative, the two sides are reversed. Payment date FX Difference — Payment #{payment number} Invoice #{invoice number}
🛈

Note: The system does not create an FX difference journal if the difference is less than the smallest unit of your account’s base currency (such as 0.01). When you edit the payment, both journals are recalculated, and if the difference becomes zero, the difference journal is deleted. The journals appear in the Related Journals section of the payment page as Payment Journal and FX Difference Journal.

Restrictions and exceptions

  • The system does not accept a payment in a different currency if it is linked to an open Point of Sale shift.
  • You cannot change the amount or currency of a payment linked to an advance payment invoice from its page; edit the advance payment invoice itself instead.
  • Older payments, and any payment in the invoice currency, stay as they are, with no change to how they are saved or printed.
  • Paying multiple invoices in a single transaction does not support this feature; use Add Payment from each invoice.

Practical example

  1. You have an invoice for 1,000 US dollars, your account currency is the Saudi riyal, and the invoice was recorded at a rate of 1 USD = 3.75 SAR.
  2. The client pays 3,780 riyals. In Add Payment, you enter 3,780 in Payment Amount and select SAR from the list.
  3. The SAR to USD Exchange Rate appears, pre-filled with the system rate (for example, 0.2667), and the Invoice Settlement Amount shows approximately 1,008.13 USD. If it is greater than the remaining balance, adjust the amount or the rate.
  4. After you save, the remaining balance on the invoice decreases by the settlement amount, and the treasury is posted with 3,780 riyals.
  5. The currency difference is calculated in riyals: (3,780 × 1) − (settlement amount × 3.75), and it is posted in the FX Difference Journal.

What happens after saving?

  • The payment is saved in the payment currency, along with the settlement amount and the two exchange rates used, so they do not change later if the system rates change.
  • The invoice status changes to Paid or Partially Paid.
  • If you enabled Update System Rate, a new rate record is added to Currency Rates.
  • The payment appears in the Client Payments list in the payment currency.
  • The receipt prints in the payment currency, with an exchange rate line.
  • The transaction is recorded in the activity log of both the invoice and the payment.

Why doesn’t it work as expected?

Problem Reason Solution
The currency list does not appear next to Payment Amount You are opening the payment form from within the invoice form (the Already Paid section), or the payment is linked to an advance payment invoice, so the fields are locked Open the saved invoice and click Add Payment, or edit the advance payment invoice
The exchange rate fields do not appear The Currency Conversion Rate setting is set to Hide Change the setting to Show in Sales Settings or Purchases Settings
System Amount does not appear The payment currency or the invoice currency is your account’s base currency This is normal behavior; no second rate is needed
The FX Difference Journal was not created The difference is less than the smallest unit of the account currency, or the rates match the invoice rate This is normal behavior
The payment was rejected with an English message about the Foreign Exchange account The Foreign Exchange Gains and Losses account does not exist or is not available Add it or reactivate it from the Chart of Accounts
The settlement amount is greater than the remaining balance The amount paid, after conversion, exceeds the invoice balance The excess is handled according to the invoice’s usual overpayment behavior; review the amount and the rate before saving
Setting Location Effect on payments in a different currency
Currency Conversion Rate (Sales) Sales Settings > Invoice Configuration Shows or hides the rate fields on payments for sales invoices and refund receipts, and controls the rate field on the sales invoice
Currency Conversion Rate (Purchases) Purchases Settings > Invoice Configuration Shows or hides the rate fields in purchase invoice and purchase refund payments, and the purchase invoice rate field
Currency Rates Currency Rates The default rate source. The system picks the rate that starts on or before the payment date.
Currency difference account Chart of Accounts The FX Difference Journal posts to this account. Without it, the system rejects the payment.

Error messages and solutions

Message Reason Solution
Required (under the rate field) The Currency Conversion Rate setting is set to Show, the payment currency is different, and you left the rate field empty. Enter the exchange rate.
The exchange rate must be greater than zero You entered a rate of zero or a negative rate. Enter a positive rate.
Currency conversion rate not found The setting is set to Hide, and the system has no rate between the two currencies on the payment date. Add a rate in Currency Rates dated before the payment date, or change the setting to Show and enter the rate manually.
Invalid currency The system does not recognize the selected currency (usually when the payment comes through the API). Choose a currency from the list.
Cross-currency payments are not supported here The payment is linked to a Point of Sale shift, and its currency differs from the invoice currency (sales invoices only). Record the payment in the invoice currency, or record it outside the Point of Sale shift.
Foreign Exchange account not found — add it to your chart of accounts before recording a cross-currency payment. The Chart of Accounts does not include the account assigned to currency differences (the Foreign Exchange Gains and Losses account). Add the account or reassign it in the Chart of Accounts, then try again.
Could not update the system currency rate You enabled Update System Rate, and the system could not save the new rate in Currency Rates. The payment is saved, but check Currency Rates and add the rate manually.

FAQs

Does the client balance change in the invoice currency?

Yes. The invoice balance decreases by the Invoice Settlement Amount in the invoice currency, and the currency difference is recorded on the client account and the Foreign Exchange Gains and Losses account in the account’s base currency.

Can I edit the payment later and change its currency?

Yes. Go to the payment page > Edit, and the system recalculates the Invoice Settlement Amount, the payment entry, and the FX Difference Journal.

What if I entered the wrong exchange rate?

Edit the payment and enter the correct rate. The system recalculates the Invoice Settlement Amount and the entries. If you enabled Update System Rate, also edit or delete the rate that was added to Currency Rates.

Does the payment currency appear on the printed receipt?

Yes. The receipt prints in the payment currency, with a line showing the exchange rate used. See Print client and supplier payment receipts in the actual payment currency.

Why doesn’t the exchange rate appear even though I selected a different currency?

Because the Currency Conversion Rate setting is set to Hide, so the system rate applies automatically.

Can I pay in a currency that is neither the invoice currency nor the account currency?

Yes. For example, you can pay in euros for a dollar invoice in a riyal account. In this case, both rates appear along with the System Amount.

Does the Invoice Settlement Amount change if I change the system rates later?

No. Both rates are saved with the payment.

How does the payment affect the client statement?

The payment line shows the Invoice Settlement Amount in the invoice currency, and the effect of the difference entry is added to the client balance in the account currency.