Purchases

Matching a Payment to Bills

The two places a vendor payment is allocated — and why only one of them has helpers.

Cash leaving your bank and the bills it settles are two different facts. The journal posts either way; allocation is what tells Trabalance which bills the money closed. A payment with no allocation is not an error — it is cash sitting on account against the vendor.

There are exactly two surfaces where allocation happens, and they do not offer the same tools.

Allocating on the payment form, where the helpers live — and allocating afterwards through Match Bills, where they do not.

Surface 1 — the Payment Form

Navigate to: Procurement → Payment vouchers → New, or Record Payment on a bill.

Once you have chosen a vendor and entered an Amount, the allocation grid unlocks. Until an amount is entered the grid stays greyed out — there is nothing to spread.

The running tally sits above the grid and updates as you type.

Columns are # · Document · Amount · Tax · Discount · Gross. Above them a sticky strip reads Payment · Allocated · N remaining, switching to Fully allocated or Over by X as you go.

Two helpers live here and nowhere else:

HelperWhat it does
Apply oldest firstSorts the vendor's open documents by date, oldest first, and fills each one with the lesser of what is left and what it owes — until the payment is exhausted. Disabled once nothing remains to allocate.
Pay in fullA per-row link, shown only while that row's amount is below its outstanding balance. Sets the row to settle the bill completely.

Withholding tax is picked in the row's Tax column, and the totals read Amount Payable − Cash discount − Tax = Amount Paid. See WHT on vendor payments.

✅Allocating is optional here

You can save a payment with no allocation at all. It posts, it reduces the vendor's overall payable, and it reads Unmatched until you come back and allocate it. That is the right thing to do when you are paying in advance.

Surface 2 — Match Bills, on a Saved Payment

Navigate to: the payment voucher's detail page.

A Match Bills section appears on the voucher — but only while its status is Unmatched or Partly matched. It shows the unmatched balance and a button.

Match Bills lists the vendor's open documents with a hand-typed amount per row.

Inside, the modal lists the vendor's Unpaid and Partly paid bills — plus any opening balance or statement document, which is why an old migrated balance can be settled here too. A header strip tracks Remaining balance · Allocated · Unallocated, and a search box filters by number, subject or party name.

Columns: Bill # · Subject · Total · Balance · Amount to match.

🚨This screen has no helpers

There is no Apply oldest first and no Pay in full in the Match Bills modal. Every figure is typed by hand, and a row that exceeds its own balance shows Exceeds balance inline. Allocating more than the remaining balance is refused outright. If you want the helpers, allocate on the payment form instead — which means, for a bank-fed payment, that you are typing.

Which Surface You End Up On

How the payment was createdWhere you allocateHelpers available?
Record Payment from a billThe payment form — the bill is pre-filled as a single allocation row for its outstanding balanceYes
New payment voucher, Apply to BillThe payment formYes
New payment voucher, Payment on AccountMatch Bills later, on the saved voucherNo
Converted from a bank statement lineMatch Bills, always — the voucher lands UnmatchedNo

Status Follows Allocation

You never set a voucher's match status. It is computed from how much of the amount is allocated.

StatusMeaning
UnmatchedPosted, but none of the cash is allocated to a bill. The full amount sits as a credit against the vendor.
Partly matchedSome of the amount is allocated; the rest remains on account.
MatchedFully allocated. The Match Bills section disappears.

A Worked Allocation

1
One transfer, three open bills

You pay Meridian Supplies 800.00. Three bills are open: 420.00, 951.60 and 610.00.

2
Apply oldest first

On the payment form, the helper fills BIL000038 with its full 420.00, then puts the remaining 380.00 against BIL000041. BIL000044 is left at zero — the money ran out.

3
Save

The voucher posts DR Accounts Payable 800.00, CR Bank 800.00, and reads Matched. BIL000038 becomes Paid; BIL000041 becomes Partly paid with 571.60 still owing; BIL000044 is untouched.

✅Allocation order is settled by date, not by save time

Apply oldest first, and the settlement engine behind it, order open documents by the document's own date. An opening balance or statement is exhausted before ordinary bills, whatever its date.