VanillaPM
translation in beta
Войти Начать бесплатно Dashboard

Run a vendor invoice through P2P controls

Learn Finance · Fund & Financial Accounting · Task B5. Process a supplier invoice the controlled way — so every payment is for something ordered, received, and correctly priced.

What it is

Procure-to-pay (P2P) is the controlled chain from "we need to buy something" to "we paid for it":

Purchase Request → Purchase Order → Goods Receipt → Invoice → Payment.

Two controls make it trustworthy: - Thresholds decide who must approve — a $200 purchase and a $20,000 one don't need the same sign-off. - The three-way match checks that the PO (what we ordered), the goods receipt / GRN (what we got), and the invoice (what we're billed) all agree before payment. No match, no pay.

Why it matters

  • It's the main defence against loss. Most fraud and error in an NGO lives in payments — paying a ghost vendor, paying twice, paying for goods never delivered. The three-way match blocks all three.
  • Donors require segregation of duties. The person who orders must not be the one who receives and the one who pays. The chain enforces that separation.
  • It protects the budget. The PO commits the money up front (an encumbrance), so you see committed-but-not-yet-spent before the invoice even arrives.

Where you do it in VanillaPM

Everything below is in Finance → Accounting (procure-to-pay). A step-by-step:

  1. Know the thresholds. ProcurementThreshold sets the approval tiers — who signs off at what amount — so a $500 order and a $50,000 order don't take the same path.

  2. Walk the P2P chain. Purchase Request → Purchase Order → GoodsReceipt: the PR is the ask, the PO commits the budget (A3), the GRN confirms the goods actually arrived.

  3. Three-way match the invoice. Enter the APInvoice (and lines) and match it against the PO and the GoodsReceipt — the quantities and prices must agree across all three before it's cleared to pay. (VendorPrepayment handles advances.)

  4. Post and pay. Posting the approved invoice: Dr 5xxx Expense (→ coding block) / Cr 2xxx Accounts payable; paying it: Dr Accounts payable / Cr 1101 Bank. The commitment from step 2 converts to actual as it's paid.

Honest boundary: VanillaPM holds the full PR→PO→GRN→invoice→payment chain and thresholds. Whether the three-way match is system-enforced (hard block) or documented-and-checked is a Phase-0 verification item for this track — this lesson teaches the control; confirm the enforcement mode in your instance before relying on it as a hard gate.

Walked example — Hilsa Health Initiative

The field office needs $5,000 of medical supplies for the grant.

Step Document What it records
1 Purchase Request "We need supplies" — approved per the threshold for $5,000
2 Purchase Order → vendor commits $5,000 (an encumbrance against the grant budget)
3 Goods Receipt (GRN) the supplies physically arrived — qty checked
4 Invoice vendor bills $5,000 → three-way match: PO = GRN = invoice ✓
5 Payment Dr Payables 5,000 / Cr Bank 5,000 — only after the match passes

If the invoice had been $5,400 against a $5,000 PO and GRN, the match fails — the $400 over-bill is caught before a cent leaves the bank.

The numbers

The match is three equalities: PO quantity & price = GRN quantity = invoice quantity & price. A tolerance may be allowed (say ±2% on price for freight), but anything outside it stops for investigation. The encumbrance from the PO also means your available grant budget already reflects the $5,000 commitment the moment the PO is raised — not when the invoice lands.

Controls & evidence

  • Segregation of duties — different people request, approve, receive, and pay.
  • Approval per threshold — the right level signed off for the amount.
  • Three-way match evidenced on every invoice before payment.
  • No duplicate payment — an invoice can only be paid once against its PO.

Best practices & pitfalls

  • Do raise the PO before the purchase, not after. A PO written to match an invoice you already received defeats the whole control.
  • Do check the GRN against what physically arrived, not against the paperwork.
  • Pitfall: "urgent" purchases that skip the request/PO step. Emergencies need a documented exception path, not a silent bypass.
  • Pitfall: paying an invoice that doesn't match "to keep the vendor happy." The mismatch is the control working — resolve it, don't override it.

Practise question

Q1. A vendor invoices you for 100 units at $12. The PO was for 100 units at $12, but the goods receipt shows only 80 units arrived. Do you pay the invoice? Why?

Answer: No — the three-way match fails on quantity (invoice/PO = 100, GRN = 80). You pay for what was received: 80 × $12 = $960, pending a corrected invoice or a credit note for the 20 undelivered units. Paying the full $1,200 would be paying for goods you never got.

Terms used here

  • Procure-to-pay (P2P) — the controlled chain from request to payment.
  • Three-way match — PO = goods receipt = invoice, checked before payment.
  • Goods receipt (GRN) — the record that ordered items physically arrived.
  • Encumbrance / commitment — budget reserved by a PO before the cash is spent.
  • Segregation of duties — no one person controls a whole transaction.
  • Related: Record a balanced journal entry — the postings behind the invoice and payment.

How an auditor / donor expects this

They sample payments and walk them backwards: payment → invoice → GRN → PO → request, checking the match, the thresholds, and that different people acted at each step. A payment that can't produce a matching PO and GRN is the classic finding. The P2P chain exists so every payment survives that walk.