POS Payments
The POS system provides comprehensive payment processing with support for multiple payment methods, partial payments, refunds, and voids.
Payment Methods
Cash
- Accept cash payments at the counter or table.
- Enter the amount tendered; change is calculated automatically.
- Receipt can be printed for cash transactions.
Mobile Money (MoMo)
- Accept payments via MTN Mobile Money, Vodafone Cash, and AirtelTigo Money.
- Customer provides their phone number.
- An OTP prompt is sent to the customer to authorize payment.
- Supported networks are configured in payment settings.
Card (Paystack / Terminal)
- Card payments can be processed via:
- Paystack Inline: Web-based card entry
- External terminal: Connected card machine
- Visa and Mastercard are supported.
Bank Transfer (Virtual Account)
- Customer receives a virtual account number to transfer funds.
- Payment is tracked via manual proof or webhook.
- Requires the manual payment proof feature.
External Payment Link
- Generate a payment link that can be sent to the customer.
- Customer completes payment on their own device.
Payment Settings
Configure payment methods at POS > Settings > Payments (/pos/[branchId]/settings/payments):
| Setting | Description |
| Accepted methods | Enable/disable each payment type |
| Default method | Pre-selected payment method |
| MoMo providers | Configure supported mobile money networks |
| Paystack key | Paystack public key for card payments |
| Bank details | Merchant bank account info for transfers |
| Service charge | Optional service charge percentage |
| Tax rate | Applicable tax rate |
| Payment notes | Instructions displayed to customers |
Processing a Payment
Standard Payment Flow
- Open the order in Counter or Floor mode.
- Click Settle to open the SettleOrderDialog.
- Select the payment method.
- Enter the amount to collect (full or partial).
- Complete the transaction:
- Cash: Enter amount tendered
- MoMo: Enter customer phone, confirm OTP
- Card: Process via terminal or Paystack embed
- Receipt is printed automatically (if printer configured).
- Order status updates to paid/completed.
Partial Payments
- Split an order across multiple payment methods.
- Pay a portion with cash and the remainder with card.
- Track remaining balance until fully settled.
Split-the-Bill
- Available for floor mode orders (table service).
- Each seat/guest pays their share.
- Payment methods can differ per share.
- Remaining balance is visible until fully paid.
Refunds
The RefundOrderDialog handles refunds:
- Select the order to refund.
- Choose refund mode:
- Full refund: Refund the entire order amount
- Partial refund: Refund specific items
- Select a refund reason:
- Customer request
- Item unavailable
- Quality issue
- Duplicate order
- Other
- Process the refund.
- Refund receipt is printed (if configured).
Voids
The VoidItemDialog handles voiding individual items on an order:
- Select the item to void.
- Choose a void reason.
- Confirm the void.
- The voided item is removed from the order total.
Order Payment Statuses
| Status | Description |
| Unpaid | Order placed, no payment received |
| Partially Paid | Some payment received, balance remaining |
| Paid | Full payment received |
| Refunded | Payment returned to customer |
| Partially Refunded | Partial refund processed |
Print Receipts
- Customer receipts are automatically printed after successful payment.
- Duplicate receipts can be printed on demand.
- Receipt format is configurable in Settings > Receipts.
- Receipts include order details, itemized list, payment info, and QR code for digital access.