Solution · Finance Operations
Three-way matching: PO, goods receipt, bill; line by line, before payment
RoleAxis compares each supplier bill to the purchase order it references and the goods actually received: quantity and price, line by line. Where they disagree, it drafts a hold on the bill and, if you want, a query to the supplier. Nothing is paid, held or sent until a named person on your team approves it. The difference between what was billed and what was ordered is what the value statement counts as protected.
Nothing executes without approval.
What it does
- Executes on approval3-way match
PO vs goods receipt vs bill, line by line. On approval the bill is put on hold so it cannot be paid until it reconciles.
- Executes on approvalSupplier queries
A drafted question to the supplier when a bill and its PO disagree; the overcharge named in riyals.
- Executes on approvalAP invoice control
Open supplier bills reviewed before payment; anything that does not reconcile is held.
- RecommendsLate delivery
Open POs whose expected date has passed, with the real days late; a recommendation your buyer acts on.
“Executes on approval” writes to your system once approved; “Recommends” records the decision for your team to act on; “Planned” is not built and does not run.
How approval works here
A mismatch is a draft with the PO number, the bill, the received quantity and the billed quantity or price. Any approver can approve the hold. A bill worth 20,000 SAR or more routes to an owner. Rejections are logged with the reason and never touch the bill.
Connector note
Live on Odoo (hold written as a to-do on the bill plus its review flag; the supplier query as an activity). On Qoyod the finding and approval are recorded and your accountant applies the hold by hand, that connector is read-only today.
- Finding
- Bill 9082 has no matching goods receipt
- Amount
- 9,750 SAR billed, nothing received
- Decision
- Accountant approves the hold and the supplier query
- Result
- Bill held; query drafted for the supplier; audit rows FIN-3WAY-MISMATCH and FIN-SUPPLIER-QUERY
Questions
Does RoleAxis pay or block payment itself?
It never pays. On approval it holds the bill in your system so your own payment process cannot pick it up until a person clears it.
What if we receive goods in several deliveries?
The match is against the goods receipts recorded in your system, by supplier and product. Quantity received is the sum of what is recorded as done; anything billed beyond it shows as a mismatch until the next receipt lands. Matching is by supplier and product, not by a shared reference on every line, the agent page states that limitation.
Is this only for Saudi companies?
The matching logic is the same anywhere. The VAT check that runs alongside it is specific to the Saudi 15% rate, and the value statement is in SAR.
Credentials encrypted, tenants isolated, owner sign-off above 20,000 SAR, tax and bank changes never drafted, an append-only audit log. The full list, with what enforces each item: security and control →