Recording a payment
Record cash, card, bank transfer, USSD, or online payment against an invoice.
Overview
Recording a payment marks an invoice (or part of it) as paid and feeds the cash-up. The platform doesn't process the card or transfer itself — you record what you collected. For online payments via the patient portal, the platform records the Paystack callback automatically.
Prerequisites
- Owner, Admin, Billing Staff, or Receptionist role
- The invoice exists and is
SENTorPARTIALLY_PAID - The patient has paid (cash, card, transfer, etc.) — you're recording the receipt
Steps
Open the invoice. Patients → patient profile → Billing tab → click the invoice. Or top nav Billing → Invoices → click.
Click "Record payment". A modal opens.
Confirm the amount. Pre-filled with the invoice balance. Override for partial payment.
Pick the method. Cash, Card (POS terminal), Bank transfer, USSD, Online (Paystack), Cheque. Driver of the cash-up category.
Record the reference. For card: authorisation code; bank: transaction reference; cheque: number. Optional for cash. Appears on the patient receipt.
Add a note (optional). "Patient paid in two notes" or "Cheque to clear in 3 days".
Click "Record payment". Status update flows: full payment → invoice PAID; partial → PARTIALLY_PAID. The patient's outstanding balance recalculates.
Print or email the receipt. Click Receipt at the top of the invoice. PDF includes clinic logo, invoice details, payment method and amount, balance remaining.
The payment lands in today's cash-up. Open Billing → Cash-Up → Today to verify. Cash-up groups by method.
Expected outcome
- A new Payment entry exists with clinic, patient, invoice, amount, method, reference, recorder
- Invoice status updates correctly (PAID or PARTIALLY_PAID)
- Patient outstanding balance decreases
- Today's cash-up reflects the payment
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| Amount field locked | Invoice already fully paid | Use refund flow if reversing |
| Method missing | Custom methods can be added | Settings → Payment Methods |
| Online payment didn't auto-record | Paystack webhook delay | Wait 60 seconds; or click Reconcile online payments on the cash-up |
| Receipt missing logo | Logo not uploaded | Settings → Branding (Professional+) |
| Cash-up doesn't update | Wrong location | Check location filter |