Troubleshooting order payments

Here are some common questions and issues which occur when using order payments.

Issues with order payment details

I took payment against the wrong order. How do I fix it?

It is not possible to move the payment between orders, so you will need to reverse or delete the order payment then re-enter it against the correct order.

I took payment for the wrong amount/on the wrong date/using the wrong reference. How do I fix it?

It's not possible to amend the details of an order payment once it's been created, so you will need to reverse or delete the order payment then re-enter it with the correct details.

I allocated a payment to several invoices, but some of them were incorrect. How do I reallocate the payment?

A customer has made a payment on account, and you allocate it to a number of their outstanding invoiced orders. You then realize the payment was allocated to the wrong invoices. How can you reallocate the payment?

Before correcting the issue it’s important to understand what happens when you allocate a payment on account to an invoiced order.

Let’s take the example of £500 put on the account of a customer who has 4 outstanding invoiced orders with invoice references:

  • SI-1001 for £100
  • SI-1002 for £200
  • SI-003 for £300
  • SI-1004 for £400

Say the £500 is allocated to SI-1001 and SI-1004. The following table describes what happens in the sales module and in the accounting:

Action Sales module Accounting module
  Sales order Order payments  
Put £500 on account

N/A

N/A SR journal puts £500 on account
Allocate the £500 against SI-1001 and SI-1004 SO#1001 for £100
SO#1004 for £400

Order payment for £100
Order payment for £400

SR journal takes £500 off account and allocates £100 and £400 to SI-1001 and SI-1004

After the payment is allocated you will have 2 order payments related to a single journal.

Now you realize you’ve made a mistake and your customer meant to pay SI-1002 and SI-1003 instead.

The easiest thing to do is to cancel the journal allocating the payment to the invoices. That will put the payment back on account. You can then reallocate it to SI-1002 and SI-1003, which will create order payments and correct accounting.

Remember to check the box to 'Delete linked order payments' when canceling the journal!

Issues with order payments and accounting

I canceled a payment journal, but forgot to check the 'Delete linked order payments' box.

Merely go back into the journal and cancel it again, checking the box on the confirmation popup.

No payment journal was created by the order payment.

There are three main reasons why this may occur:

1. The order payment type does not support journal creation

You will need to check the type of payment which was created, since only some payment types create accounting.

If the payment type was any of the following then it should have an accounting journal:

  • Receipt
  • Payment
  • Capture

If the order payment is of type "AUTH", that signifies a pending payment which hasn’t yet been captured and therefore would not have an accounting journal associated with it. The accounting will be created once the payment is captured.

2. The payment method associated with the order payment does not have a bank account 

If this is the case, the error message you'll get on trying to 'Retry' the payment will read:

There was an error creating a sales receipt journal for this payment: Failed to create journal. No bank account has been set for payment method [X] with currency [Y]

The payment method must have an associated bank account in order to create accounting. Go to Settings > Company > Payment methods and click the pencil next to the relevant payment method. Ensure it has a bank account selected next to the relevant currency.

If it does have a bank account, contact Support.

3. The payment method associated with the order payment does not exist

This can happen if the payment downloaded from a sales channel where the payment methods are mapped incorrectly.

If this is the case, the error message you'll get on trying to 'Retry' the payment will read the same as if the bank account were missing.

You will need to go to Settings > Company > Payment methods and create a payment method with the same code as the one which is failing. Make sure to associate it with a bank account.

The paid amount on the order doesn't match the paid amount in the accounting.

You may encounter a situation where an order looks fully paid, but if you look at the customer financials, it says it's unpaid.

In those cases the most likely scenario is that a journal entry has been canceled or edited, without affecting the linked order payment.

The best thing to do, if possible, is to cancel all of the SR journals related to the order, making sure to check the 'delete linked order payments' box.

You can then re-enter the relevant payments.

I can't tell where the issue lies.

If the issue isn’t obvious from a quick look, the best thing to do is to compare the journal entries to the order payment list to see what’s different.

You can get to the general ledger filtered to a specific order by clicking the order ID on the top left hand side of any order page.

Remember that order payments will only relate to SR journals, so filter the general ledger for those, and for the 1100 code.

Then sort the order payment list and the journal entries by journal ID, oldest to newest, and compare the two lists.

  • Is there anything missing? A journal entry with no corresponding order payment, or an order payment with no corresponding journal entry?
  • Are any of the journal entries cancelled?
  • Are any of the numbers different?

There shouldn't be any differences between the two - anything different will be causing a discrepancy.

What if I can't cancel the journals?

Unfortunately the only way to correct discrepancies caused by the journals being edited is to cancel them. You may need to unreconcile them to be able to. The order payments will have to be posted again with the correct amounts, and then the resulting accounting can be reconciled again.

Have more questions? Submit a request