Skip to content

How to pay thousands of grant beneficiaries without losing track of a single naira

A step-by-step guide to running a programme or grant disbursement in iPay: structure the programme, clean the beneficiary list, approve the batch, authorise it, and close with a record your funders and auditors can follow.

iPay product teamiPayUpdated 3 min readGuide
A woman carrying a calabash bowl on her head against an orange wall

Paying one person is easy. Paying 1,248 people from a grant, on time, to the right accounts, with every naira accounted for when the funder asks, is a different job. Most of the risk is not in the transfer itself. It is in the spreadsheet before it and the reconciliation after it.

This guide walks through how a programme disbursement runs in iPay, from an empty programme to a closed batch, and what is on record at each step.

Before you start

You will need:

  • The programme details: its name, the grant or funding source it is paid from, and the activities or cohorts it covers.
  • Your beneficiary list: names, bank details and amounts for everyone being paid in this batch.
  • Your approvers: the people who must sign off before any money leaves, in the order they sign.
  • A funded iPay wallet to pay the batch from.

Step 1: Set up the programme

Start by creating the programme and recording the grant and funding source it draws on. Then split it into activities, for example one per cohort, state or project phase.

This structure is what makes the reporting work later. When a funder asks “how much went to the Kano cohort, and from which grant?”, the answer is already organised that way instead of being rebuilt from bank statements.

Step 2: Upload the beneficiary list

Fill in iPay’s beneficiary template and upload it. Every row is checked as it lands. iPay flags:

  • Duplicates: the same beneficiary appearing twice in the batch.
  • Invalid details: account details that will not work.

You fix the flagged rows and re-upload only the corrections, not the whole file. A 1,253-row upload with five problem rows becomes a clean batch of 1,248 without anyone re-checking the other 1,248 by hand.

The cheapest failed transfer is the one you catch before the batch is approved.

Step 3: Send the batch for approval

The batch now moves through the approval stages you set, in order. A typical chain might be:

Stage Who What they check
1 Programme officer The right people, cohort and amounts
2 Finance Funding source and wallet balance
3 Director Final sign-off

Nothing is paid until the last stage signs off. Each approval is recorded with the approver’s name and the time, so the batch carries its own evidence of who said yes.

Step 4: Authorise and disburse

After the final approval, the batch is authorised with a one-time code (OTP) and paid out from your iPay wallet. The OTP adds a deliberate last step: approving a batch and releasing the money are separate actions.

As transfers complete, each beneficiary’s status updates, so you can watch the batch progress instead of waiting for a bank file.

Step 5: Handle the exceptions

At this scale, some transfers will fail. Accounts close, banks time out. iPay lists every exception with its reason:

  • Retry failed transfers from the same screen once the cause is fixed.
  • Reversals are tracked back to the beneficiary they belong to.
  • Every retry and reversal is added to the batch’s history.

The goal is a batch that closes cleanly: every beneficiary either paid, or explained.

Step 6: Close and report

When the batch is done, you have a single record of the whole disbursement: the upload and its corrections, every approval, the OTP authorisation, each transfer, and every retry and reversal. That audit trail can be exported for your funder or auditor.

Because payouts are organised by programme and activity, the monthly report shows what went out, by programme, without a separate reconciliation exercise.

A checklist for your next disbursement

  1. Programme created, with its grant and funding source recorded.
  2. Activities or cohorts set up.
  3. Beneficiary template filled in and uploaded.
  4. Duplicates and invalid details fixed, and corrections re-uploaded.
  5. Approval stages confirmed, in order.
  6. Wallet funded for the batch total.
  7. Batch approved at every stage, then authorised with an OTP.
  8. Exceptions retried or explained.
  9. Audit trail exported for the file.

See it with your own programme

Every programme is structured differently. Book a 30-minute demo and we will walk through a disbursement shaped like yours, or read more about bulk payouts in iPay.

Frequently asked questions

Where does the money for a batch come from?

From your iPay wallet. Once a batch has passed its approval stages, it is authorised with a one-time code and paid out from the wallet.

What happens to transfers that fail?

Each failed transfer is listed with its reason, such as a bank timeout or a closed account. You can retry it from the same screen, and the retry is recorded against the beneficiary.

Can we reverse a payment?

Reversals are tracked back to the beneficiary they belong to, so the batch record shows what was paid, what came back and why.

Can we report by programme or funder?

Yes. Payouts are organised by programme and activity, and each programme records its grant and funding source, so the monthly report shows what went out, by programme.

Who has to approve a batch?

You set the approval stages. A batch moves through them in order, and nothing is paid until every stage has signed off. Each sign-off is recorded with who approved and when.

Found this useful?

Share it with your finance team.

See your next payroll run in iPay.

A 30-minute demo built around your headcount, your deductions and your vendors. We will show you what closing the month looks like.