Skip to content

Knowledgebase

Why is a WHMCS invoice still unpaid after the customer paid?

whmcs, resellers

When a WHMCS invoice shows the wrong payment state, reconcile the money and ledger before changing a status. A status label is not a substitute for recording a received transaction, and it may not trigger the same automation as a real payment.

What should I check when money was received but the invoice is unpaid?

  1. Confirm the transaction in the bank or gateway account. Match the amount, currency, customer and invoice reference.
  2. Search WHMCS Transactions List for that transaction ID. Check whether it was allocated to another invoice or credited to the account.
  3. If a gateway callback failed, repair and reconcile the notification path before entering a duplicate manual receipt.
  4. If the payment is genuinely missing from WHMCS, record it through Add Payment or the appropriate transaction workflow.
  5. Confirm the resulting balance and any provisioning, renewal or unsuspension action.

01 If an invoice was marked paid without receiving money

Review who performed the action and whether the amount was intentionally waived or settled using account credit. In WHMCS 9.0, marking an invoice paid while a balance remains can create a credit note. The ledger therefore matters when investigating why the displayed amount due reached zero.

Do not delete the adjustment or fabricate a bank transaction to make the record appear paid correctly. Have the billing owner determine whether the intended result is a documented allowance, a correction or a new amount to collect, then use the supported workflow.

02 If a payment was reversed

Check the provider's final dispute or reversal result and whether WHMCS already processed it. The Reverse Payment workflow can change due dates and service status, while domains and custom items require separate review. A refund, payment reversal and invoice cancellation are different actions.

After correction, compare the client balance, invoice ledger, transaction list and service dates. Add an internal explanation identifying the original error and the verified result. This prevents a later administrator from attempting collection again based on only one screen.

Was this answer helpful?

Need a little more help?

Our support team can help you find the next step.

Contact support