Overpayments in foreign currencies are not allowed

Software: MoneyWorks accounting software

When you try to deposit an advance payment from a foreign currency debtor (example: USD) into your base currency bank (example: SGD), you will be prompted an error message of:

Overpayments in foreign currencies are not allowed. You must issue a debit note (and a credit note if desired) for this customer.


If you need to receive an advance payment from client (foreign currency) and could like to deposit it into your base currency bank account, you can consider using an Invoice-Receipt method.

First, you create an account, Client Deposit (you may use any suitable account name); the account type will be a Current Liabilities type of account.

Next, you create a sales invoice to your USD Customer, example with an amount of USD 10,000.00 at an exchange rate of 1SGD : 0.8 USD; the account used in this sales invoice will be “Client Deposit”, which you have created earlier.

The double entry for this entry will be:

Credit Client Deposit 10,000

Debit USD Accounts Receivable 10,000

Credit Client Deposit 2,500

Debit USD Accounts Receivable (Currency Delta) 2,500

Note: If your customer does not require you to issue an invoice for advance payment, then, this invoice will be serve as an internal reference.

Upon receiving your USD Customer payment, you do a receipt to record the payment received. The amount received will be USD 10,000 and the bank used will be your base currency bank account (in this case, SGD bank account). Select your invoice (which you have created earlier) for client deposit and save your transaction.

MoneyWorks will prompt you to use a “Clearing Account” (in this case, USD bank was being used) and enter your base currency equivalence amount into the window provided.

The double entry for this transaction will be:

Credit USD Accounts Receivable 10,000

Credit USD Accounts Receivable 2,500

Debit USD Bank 10,000

Debit USD Bank (Currency Delta) 2,500

Note: a Payment transaction will be automatically created to transfer from USD Bank (Foreign clearing bank account) of USD 10,000 to the SGD Bank account (base currency) of SGD 12,500.

In Balance Sheet report, the SGD Bank (base currency bank) will show as 12,500 (based on USD 10,000 / 0.8), the Client Deposit account (Current Liability) will have an amount of 12,500 (account balanced).

There won’t have any outstanding accounts receivable as the invoice is fully paid up.

Actual invoice.

When creating the actual invoice to client (USD Customer), besides the sales account, you need to add an extra line item below the sales account for the client deposit (so to less off the amount owing of this invoice). Example:

Sales account             USD 10,000

Less Client Deposit    -USD 10,000

Note: if you are using item instead of account, then, you need to create a non-stock item, and associate this item to Client Deposit account.

The end balance of this invoice, if full paid, and it will be zero.

The double entry for this transaction will be:

Credit Sales 10,000

Debit Client Deposit 10,000

Debit USD Accounts Receivable 0.00

Credit Sales 2,500

Debit Client Deposit 2,500

In the Balance Sheet report, SGD bank account will show 12,500(Current Assets) and Current Year Operating Surplus (Shareholder fund (equity)) will have an amount of 12,500.

Since the invoice was fully offset by the advance payment, there will not have any outstanding Accounts Receivable.

In your Profit & Loss report, you will see the sales amount as SGD 12,500.