Point of sale

Cashless payments — bank transfer, QR, and card terminal

Customers can pay without cash. Depending on what your shop has set up, the Checkout dialog will offer one of two flows:

  • Paystack flow — bank transfer to a one-time virtual account, or a QR code the customer scans with their phone.
  • Card-on-terminal flow (Moniepoint / Opay / Squad) — the charge is pushed to your physical card terminal and the customer dips or taps their card on the device. See POS — charge a customer on your card terminal for the step-by-step.

Which flow appears depends on the gateway provider wired to the picked Payment Method (your admin sets this at Setup → Payment Methods). A method routed to Paystack opens the bank-transfer / QR dialog covered here; a method routed to a terminal provider opens the terminal dialog instead.

Before you start

  • Cashless payment must be switched on for your shop. An administrator configures it under Setup → Payment Methods (see Wire a payment method to a gateway).
  • Look for a green ⚡ Charge via Paystack button on the tender row — if you see it, that method is wired up. If you see a plain Amount field instead, the method is manual-only.

Take a bank-transfer payment

  1. Build the cart and press Charge to open the Checkout dialog.
  2. Pick the Card (or other cashless) payment method on the tender row.
  3. Just under the row, a small caption shows where the money will land — "via Paystack · ACCT_… · GTBank · 0218456789". Confirm it looks right.
  4. Click the green ⚡ Charge via Paystack button.
  5. The till shows a virtual account number for this exact sale.
  6. The customer transfers the amount from their banking app to that account.
  7. When the transfer lands, the dialog confirms and the row shows ✓ ₦8,500.

Auto-finalize after a successful card payment

When a gateway charge fully covers the sale (no balance remaining), a green banner appears at the bottom of the Checkout dialog:

⚡ Payment confirmed — Auto-finalizing & printing receipt in 3…

The countdown ticks down 3 → 2 → 1 → 0 and then automatically posts the sale and prints the receipt — no extra click needed.

  • Want to keep editing first? (add a note, change the customer, etc.) Click Cancel auto-finalize while the countdown is running. The banner disappears and stays hidden for the rest of this checkout — you can press Charge & Print manually when you're ready.
  • Mixed cash + card sales (e.g. customer pays ₦5,000 by card and ₦3,000 in cash) do NOT auto-finalize, because you still need to physically receive the cash leg. Press Charge & Print yourself once the cash is in the drawer.

Take a QR payment

  1. Pick the QR option at checkout.
  2. The customer scans the on-screen QR code with their phone.
  3. They complete payment on the page that opens.
  4. The till confirms the payment and the same auto-finalize countdown takes over.

Waiting for confirmation

Cashless payments are confirmed once the money is received. The Charge dialog checks for confirmation automatically; give it a few moments after the customer pays. Don't hand over goods until you see the payment confirmed (✓ marker).

Tips

  • The green badge under each tender row is your "where's the money going?" confirmation — same as the routing card the administrator sees in setup.
  • Bank transfer to a virtual account is the most reliable option where card terminals are scarce.
  • The virtual account is unique to that sale, so payments are matched correctly.
  • If you see a rose ⚠ No active Paystack subaccount on this account warning, the charge will fall back to the platform's pool instead of routing to your bank — the sale will still complete, but tell your administrator to fix the wiring at Chart of Accounts → Payment Gateways.

Common problems

  • No "⚡ Charge via Paystack" button on the tender row → the picked method isn't wired to a gateway. Pick a different method or ask an administrator to configure it.
  • The Charge button says "Charge via Moniepoint" instead of Paystack → that method is wired to a card terminal, not Paystack. The dialog that opens has no bank-transfer or QR option — it pushes to a physical device instead. See POS — charge a customer on your card terminal.
  • Payment not confirming → ask the customer to check their banking app showed success, then wait a moment for the till to re-check. If it still doesn't confirm, take another payment method and reconcile later.
  • Auto-finalize banner never appeared after a successful charge → the gateway charge didn't fully cover the sale. Add or adjust another tender row to bring the balance to zero.
  • Auto-finalize fired but I wanted to edit something → next time hit Cancel during the 3-second countdown. For the sale you just posted, use Refund or edit from the Invoice list.

See it working on your own business

Start a 45-day free trial — no card needed — and follow this guide in your own practice company.