Skip to main content
A batch is a period’s disbursement run for one template. It moves through a strict, audited lifecycle. Run batches under Finance → Disbursement → Batches.

Lifecycle

1

Create (draft)

Pick a template, a period, and a label. The batch scopes exactly one template — one currency, one config snapshot, one clean file.
2

Load inputs

Feed gross amounts, one per merchant (business/brand). Sources:

Manual

Pick a business and brand (searchable) and type the gross amount.

CSV upload

Columns business_id, [brand_id], [merchant_name], gross_amount, currency. Duplicate merchants are aggregated; bad rows are rejected with line numbers.
The Settlements source (pull gross from settlement data) is deferred — coming later.
3

Compute

The engine matches each input to an active instance (brand-exact, then business-level), runs the split, and writes one line per party. The config is frozen onto the batch at this moment.
4

Review

The review table shows each line’s merchant, party, gross, MDR, service charge, tax, net, and any flags, plus batch totals.
5

Approve

A second person (with disburseit.finance.approve, distinct from the creator) approves. Approval is blocked while unresolved flags exist unless explicitly acknowledged.
6

Export

Download the bank file for the approved batch. The first download stamps the batch exported; re-downloads are allowed.

Replacing inputs

Replacing a computed batch’s inputs resets it to draft and wipes its computed lines — so you always review a fresh computation.

Export formats

  • Generic CSVbank_code, account_number, account_name, amount, currency, reference, merchant_name. Excludes klikit-role lines, lines missing bank details, and negative nets (all surfaced as flags in review).
  • BCA — a labelled placeholder (delegates to generic) until the real BCA batch spec is supplied. The UI badges it “not for bank submission”.

Rules

  • An exported batch can never be voided (money may have moved; the record is permanent).
  • Draft/computed batches can be voided by an operator; an approved batch can be voided only by an approver.
  • The beneficiary bank details are snapshotted onto each line at compute, so a later bank edit can’t redirect an approved batch.