91squarefeetRDashRDash Support Tickets
Help Center›Scope and Order Management›Vendor Invoice Booking & 3-Way Match

Vendor Invoice Booking & 3-Way Match

Last updated September 28, 2026

Everything you need to know about booking vendor invoices, how the match works, what the statuses mean, and what you can do at each stage.

Overview

RDash now lets you book invoices at the item level — capturing exactly which items are being billed, at what quantity and rate, and checking them against the purchase order and goods received (GRN) before payment. This replaces the old total-amount-only booking.

There are two booking flows:

  • Against Order — invoice is linked to a purchase order. Match runs against the order and GRN.
  • Against Non-Order — no order linked. Match does not run.
ℹ️

Match status is always shown Match status is always computed and displayed regardless of validation configuration. Validation rules control whether booking is blocked or warned — they do not affect match status.

Booking an Invoice

How to start

  1. Go to Vendor Order → Vendor Invoice and click Add Invoice.
  2. In the Add Invoice dialog, choose the flow: — Against Order: select Order Number → PO Number → Invoice Type, then confirm. — Against Non-Order: select Invoice Type only, then confirm.
  3. The Booking page opens pre-filled with the dialog selections. Clicking Cancel at the Add Invoice dialog returns you to the Invoice List page.

Other entry points

Entry pointBehaviour
Task Manager → Create Request → Vendor InvoiceHover Vendor Invoice → choose Against Order or Against Non-Order → select project → Add Invoice dialog opens automatically.
Manage Vendor → Vendor Invoice pageSelect Project Name → Order → PO → Invoice Type. Vendor Name field is not shown on the booking form (vendor is already known).
Manage Client → Client Invoice pageSelect Project Name → Order → PO → Invoice Type. Vendor Name field is not shown (you are the vendor; client is fixed for the project).
Vendor Order → Order Detail → Invoice pageNo Against Order / Non-Order selection — you are already inside an order. In the Add Invoice dialog, the order is pre-filled; select PO Number and Invoice Type, then the booking page opens.

Invoice Types

TypeWhen to useMatch appliedGRN checkedSpecial field
Advance InvoicePre-delivery payment before goods arrivePer order type config — if 3-way is configured, GRN checks are skipped for advance invoicesNo — GRN check skipped—
RA InvoiceRunning account / progressive billing on long contractsPer order type configYes (if 3-way)Billing Period (mandatory)
Final InvoiceStandard / final bill for goods or servicesPer order type configYes (if 3-way)—
⚠️

Advance invoices and GRN Advance invoices are not blocked by a missing GRN — they run 2-way match only. However, advance invoice quantities do count against the GRN pool. If you book an advance of 50 qty and a GRN of only 30 arrives, a subsequent Final invoice of 20 qty will fail the GRN check (GRN available = 30 − 50 = −20). GRN must reach at least 70 (advance 50 + final 20) for the Final invoice to pass.

How 3-Way Match Works

3-way match verifies that what you're billing aligns with what you agreed to buy (the order) and what you actually received (the GRN), before the invoice is approved for payment.

The three order item values that get matched

Item valueComparesApplies to
Order legInvoice qty / rate / amount vs order line2-way and 3-way
GRN legInvoice qty vs cumulative GRN received3-way only

Matching criteria

SettingWhat it does
No MatchMatch does not run. Status shows "—" (Not applicable).
2-Way MatchEach invoice item checked against the order on quantity, rate, and base amount. GRN not read.
3-Way MatchEach invoice item checked against both the order and the cumulative GRN received.
ℹ️

Validations are snapshotted at order creation The matching criteria and exceed toggles that apply to an invoice are captured when the order is created — not when the invoice is booked. Changing the config later only affects new orders, not existing ones.

Validation rules

Your admin configures blocking rules per order type. When a toggle is on, invoicing above that value is blocked. When off, it is allowed.

ToggleAvailable under
Block invoice item quantity to exceed GRN quantity3-Way only
Block Editing GRN Qty less than invoiced qty on a created GRN3-Way only (subset of above)
Block invoice item quantity to exceed order quantity2-Way and 3-Way
Block invoice item rate to exceed order rate2-Way and 3-Way
Block invoice item amount to exceed order amount2-Way and 3-Way
ℹ️

Advance invoices skip GRN checks Advance invoices will skip GRN checks regardless of how the GRN toggles are configured.

Match Status

Match status is shown at two levels — on each line item, and as a summary badge on the invoice header.

Invoice-level match status

StatusMeaning
MatchAll invoice item values match order values. No custom items.
Match with exceptionAll ordered invoice item values match order values. Custom items present.
MismatchOne or more ordered invoice item values do not match order values.
Not applicableNo ordered items on this invoice. All items are custom.

Item-level match status

IconMeaning
✅ (no icon)Item passes all match criteria
⚠️ Caution iconItem fails one or more match criteria (Mismatch)
? iconNo match basis — custom item or No Match order type
⚠️

Custom items never cause a Mismatch Custom items can only change Match to Match with exception (when all ordered items pass). If no ordered items exist, match cannot be evaluated and shows Not applicable.

Sequence & Cumulative Columns

When multiple invoices are booked against the same order line, RDash sequences them to determine cumulative quantities and who carries a Mismatch if the order limit is crossed.

Sequencing order

  1. Approved invoices first — by their approval date, regardless of invoice date.
  2. Then by invoice date — older invoice dates come first.
  3. Tie-breaker: created timestamp — if two invoices share the same date, the one created first sits earlier in the sequence.
ℹ️

The invoice that crosses the limit carries the Mismatch If cumulative quantity exceeds the order, the invoice at the crossing point in sequence carries the Mismatch. Earlier invoices keep their Match status.

Quick example

Order quantity = 500. Three invoices booked in this order:

InvoiceInvoice dateStateInv Qty (Seq. Till Now)Inv Qty (Current)Inv Qty (Seq. Cumulative)Match
inv1Jan 1Approved0200200Match
inv2Jan 15Submitted200200400Match
inv3Feb 1Pending400150550Mismatch

inv3's Seq. Till Now = 400 (inv1 + inv2, the two invoices dated before it). Its Seq. Cumulative = 550 (400 + 150), which crosses the order limit of 500 by 50 — so inv3 carries the Mismatch. inv1 and inv2 are unaffected.

If inv2 is now edited down from 200 → 100, inv3 (Pending = dynamic) recomputes live: Seq. Till Now drops to 300, Seq. Cumulative becomes 450 ≤ 500 → inv3 flips to Match automatically.

Column guide

ColumnWhat it shows
Inv Qty (Till Now)Total quantity invoiced against this order item across all booked invoices, regardless of sequence. Includes Submitted, Pending Approval, and Approved. Drafts excluded.
Inv Qty (Seq. Till Now)Total quantity invoiced by all invoices preceding this one in the billing sequence — Approved invoices first, then by invoice date. Drafts excluded.
Inv Qty (Current)Quantity being invoiced on this invoice.
Inv Qty (Cumulative)Total quantity invoiced including this invoice, regardless of sequence.
Inv Qty (Seq. Cumulative)Total quantity invoiced including this invoice, in the billing sequence — Approved invoices first, then by invoice date.

Draft invoices and the sequence

Draft invoices are outside the reserved sequence. They show live till-now and cumulative columns as a preview (computed as if the draft were submitted now), but they do not affect any other invoice's figures. Once a draft is submitted, it enters the sequence at its invoice date position and later-dated invoices recompute.

Editing Rules

Billing fields (quantity, rate, amount, line items, invoice number) can be edited while the invoice is uncommitted — Draft, Submitted, or Pending Approval. Once Approved, billing fields are immutable. To change a billing field on an Approved invoice, cancel it and book a new one.

What triggers approval reset

Some edits reset the approval process; others do not.

Edit typeExamplesResets approval?
Resets approvalQuantity, rate, amount, line items, invoice numberYes — approval restarts from step 1
Does not reset approvalSupporting documents, remarks, TDSNo — no re-approval needed

Key invoice edit rules

  • I1 — Cannot reduce invoice total below a raised payment request amount.
  • I2 — Cannot change vendor, linked order, or invoice type after submission. Cancel and rebook.
  • I3 — Approved billing fields are immutable. Cancel and rebook to change them.

Credit Notes

🆕

What's new in this release Previously, credit notes could only be raised against Approved invoices. From this release, you can raise a credit note while booking the invoice itself — as soon as it is Submitted, without waiting for approval.

A credit note reduces the payable amount on a booked invoice without changing the original invoice record.

  • Can only be raised against Submitted or Approved invoices.
  • Does not change the invoice amount — it is a separate offsetting record.
  • Does not affect item-level match status — match is per line; credit notes are at the invoice level.
  • Only takes effect on approval — an unverified credit note has no impact on net payable.
  • If an invoice is rejected while in Pending Approval, all linked credit notes are cancelled.
  • Cancelling an invoice also cancels all linked credit notes.

Net payable = Invoice amount − approved credit notes (a derived figure shown in the Credit Note section; not a change to the invoice amount itself).

Deductions

Deductions reduce the final invoice amount for penalties, de-scoping, retention, and similar reductions. They are added at booking and can be edited or deleted while the invoice is uncommitted.

  • Final invoice amount = Total invoice amount − deductions.
  • The "invoice amount must not exceed order amount" validation and alert are evaluated on the final (post-deduction) amount.
  • Deductions do not affect item-level match status.

Was this article helpful?