Skip to main content

Payments and refunds

Where: Sales → Invoices → an invoice → Payments card

Payment reports from customers

Customers tell you they have paid from three places, all landing as claims for you to accept or reject: the Paid already? link on their invoice page and in the invoice email, the reminder emails' link, and a WhatsApp reply carrying an M-Pesa code. Accepting a claim books the payment; the payment details they saw come from billing.payment_note under Configuration.

Recording a payment

The Payments card shows every payment against this invoice. While the invoice is collectible (balance above zero and not void) it offers “Record payment”; once settled, it simply reads “Settled in full”.

  1. Press “Record payment”.
  2. The dialog fields:
    • Customer — prefilled.
    • Methodcard / ach / invoice / po / mpesa.
    • Currency and Amount — the amount defaults to the outstanding balance; lower it for a partial payment.
    • Reference“bank / M-Pesa receipt, blocks duplicate entry”. Always fill this in: the same reference can’t be recorded twice, which protects you from double-keying a receipt.
  3. Save — toast “Payment recorded”. Payment rows show Method, Amount, and Status (captured green, refunded grey, failed red).

Figure: Record payment — method, amount (defaults to the balance) and a reference

Record payment — method, amount (defaults to the balance) and a reference

note

Buyers can also pay their own invoices online from the storefront (card, or mobile money where enabled); those payments appear in this same card automatically.

Refunds

On any captured (or authorized) payment row, press the Refund text button. The refund is sent to the payment gateway; if it can’t be processed you’ll see “Refund failed” with the reason. Refunded payments turn grey in the list.