Payment Runs
Pay a batch of approved supplier bills in one sitting — by bank file, cheque, cash, M-Pesa or Paystack — with one person preparing the run and someone else approving it before any money leaves.
Open Procurement → Purchase Orders and choose Payment runs in the row of links at the top of the page, or press New payment run on the supplier bills list. A run is numbered PRUN-… and moves through Draft → Submitted → Approved → Processing → Completed.
Building A Run
- Press New payment run. The screen lists every approved bill with something owed that is due by the date in Bills due by (a week from today unless you change it and press Show) and is not already in another open run.
- Give the run a name, a Pay date, and the account to Pay from for bank, cheque and cash lines (Bank, or Cash for cash lines, unless you choose another). M-Pesa and Paystack lines settle from their own accounts.
- Tick the bills to pay. Each line starts at what is owed, less any open debit notes from that supplier — those are shown under the line and applied when the run is paid. You can lower an amount to pay part of a bill.
- Choose a Method per line. It defaults to bank transfer when the supplier has bank details, otherwise M-Pesa to their phone if one is on file.
- Press Save draft, check it, then Submit for approval.
Maker And Checker
- Whoever built or submitted a run cannot approve it. The run page says so while it waits.
- The one exception: in a workspace where nobody else holds the approval permission, the preparer may approve their own run so the feature stays usable — and the audit log records it as approved by its preparer.
- An approver can Send back a submitted run with a reason; it returns to draft and the reason shows at the top.
- Approval records each line’s payment details as they are at that moment. If a supplier’s bank account or M-Pesa number changes afterwards, that line is refused when the run is paid, until an approver retries it to accept the new details.
Re-Checked At Every Step
Each line is validated again when the run is approved and again when it is paid. A bill that was paid by hand, cancelled or credited in the meantime cannot be overpaid, and a bill against a purchase order must still pass the order’s payment match check. A bill can sit in only one open run at a time. Pay now is refused before the run’s pay date, and only a draft, submitted or approved run can be cancelled.
The Six Methods
- Bank Transfer. When you press Pay now, bank lines go to Awaiting bank. Download the Bank file — a CSV of beneficiary, bank code, account number, amount, currency, reference and narrative — and upload it to your bank’s bulk payment screen. Nothing posts until you confirm the bank paid.
- Cheque and Cash. Recorded as paid when you press Pay now, from the run’s Pay from account.
- M-Pesa B2C — to the supplier’s phone. Needs M-Pesa payouts set up under Settings → Payment Settings. A line above the KES 150,000 a transaction allows is refused, so you can split it or pay by bank.
- M-Pesa B2B — to the supplier’s paybill or till, taken from the supplier record.
- Bank Transfer (Paystack) — sent to the supplier’s bank account through Paystack, once Paystack transfers are set up for your business.
M-Pesa and Paystack pay in KES only, and M-Pesa pays whole shillings — a bill in another currency, or an amount with cents, is refused on those methods with a message telling you what to enter instead. Gateway lines show Sent — awaiting confirmation until the provider confirms, then become paid.
Paying And Confirming
- On or after the pay date, an approver presses Pay now. Every pending line is attempted; a line that fails keeps its reason and the rest carry on. Each line is claimed before money moves, so a double-click or two people pressing at once cannot pay a line twice.
- For bank lines, once your bank statement shows them paid, use Confirm all bank payments with the date they were paid (today or earlier). A line the bank did not pay can be marked Bank didn’t pay with a reason.
- A failed line can be corrected (for example, the supplier’s number fixed) and then Retry queues it again; pay the run to send it.
- If M-Pesa times out, the line shows Check with Safaricom — the money may have gone. Check the statement, then mark it Paid or Not paid; only a line marked not paid can be retried.
The run completes on its own when nothing is still in flight. Every confirmed line is an ordinary supplier payment: it reduces the bill’s balance (and the order’s), posts Dr Accounts payable, Cr the account it was paid from, books that payment’s share of any withholding on the bill, and appears under Vendor Payments.
Permissions
- Manage payment runs — see runs, build, edit, submit and cancel them.
- Approve payment runs — approve or send back, pay, download the bank file, confirm or reject bank lines, resolve timed-out M-Pesa lines and retry failed lines.
Common Mistakes
- Confirming bank lines before the bank has paid. Confirm from the statement, not from the upload. Confirmed lines post to the ledger and reduce the bill.
- Re-sending a timed-out M-Pesa payment. A timeout means the outcome is unknown. Check with Safaricom first.
- Looking for a bill that is already in another run. A bill in an open run is left off new runs until that run finishes or is cancelled.
Related
- Supplier Bills — what a run pays.
- Supplier Returns & Debit Notes — the credit a run offsets.
- Bank Reconciliation — matching the payments to your statement.
- Payments Register — where money out is reviewed.
Need help with this topic?
Capture the module, record number, branch or warehouse, user, visible message, and what you expected to happen before contacting support.