Axiomatic

PO Matching

Match purchase orders to bills and track fulfillment status.

Overview

Axiomatic's PO matching module links purchase orders to vendor bills, giving you visibility into whether orders are fully, partially, or over-billed. Purchase orders originate from on-chain protocol transactions, and matching is performed in the AP module.

Purchase Order Workflow

Purchase orders are created as finalized transition proposals with event type purchase_order through the Axiomatic protocol. Each PO carries:

  • Amount — the expected total
  • Effective date — the order date
  • Reference — a PO number or identifier
  • Counterparty — the vendor name

Once finalized on-chain, POs appear in the AP matching tab as available for matching against incoming bills.

Matching POs to Bills

Navigate to AP → Matching to access the matching interface.

The page displays two lists:

  • Unmatched POs — purchase orders not yet linked to a bill
  • Unmatched Bills — bills without a PO association

To match:

  1. Select a purchase order from the PO list
  2. Select a bill from the bills list (potential matches highlight automatically based on amount similarity)
  3. Click Match Selected

The system compares the bill amount to the PO amount and assigns a match status.

Match Statuses

StatusConditionDescription
MATCHEDBill amount ≈ PO amount (within $0.005)Exact match — the bill fulfills the PO
PARTIALBill amount < PO amountUnder-billed — the bill covers part of the PO
OVERBill amount > PO amountOver-billed — the bill exceeds the PO amount

Matched bills display a color-coded badge in the AP bills list:

  • MATCHED — green
  • PARTIAL — amber
  • OVER — red

Auto-Match Suggestions

When you open the matching tab, the system analyzes unmatched POs and bills and suggests potential matches based on:

  • Amount proximity — PO and bill amounts within 1% of each other
  • Date proximity — PO and bill dates within 30 days

Suggested matches appear with a reason label (e.g. "Exact amount match", "Amount within 0.5%", "Date within 12 days"). These are suggestions only — you must confirm each match manually.

Unmatching Bills

To remove a PO-to-bill link:

  1. Find the matched bill in the Matched Bills section
  2. Click Unmatch

This clears the purchaseOrderId, poMatchStatus, and matchedAmount from the bill, returning both the PO and bill to the unmatched lists.

API Reference

See the PO Matching API Reference for endpoint details.

On this page