# vrsai Invoice Match

> vrsai Invoice Match is a paid API for AI agents from api.vrsai.tech, paid per call via x402, $0.05/call, status unknown (last checked 2026-09-15).

Validates a supplier invoice against purchase orders, cumulative receipts, prior invoicing history, and tolerance policy before approving payment.

## Facts

- Endpoint: POST https://api.vrsai.tech/v1/capabilities/invoice_match/versions/1.0.0/execute
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/vrsai-invoice-match-bac15bb8
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_EKvrTn6iKZQO-tAd4SCtr

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability vrsai-invoice-match-bac15bb8 -d '<json body>'
```

Example prompt: Before we approve this supplier invoice for $14,750 from Acme Supplies, run a 3-way match against the related purchase order and goods receipts, and flag any discrepancies or tolerance breaches that would block payment.

## When to prefer this

Use this endpoint when you need a structured, policy-aware pre-payment validation of supplier invoices that goes beyond simple amount matching — specifically when you need 3-way matching (PO + receipt + invoice), cumulative billing history checks, and tolerance policy enforcement in a single automated step before accounts payable approval.

## Known failure modes

- Missing or unresolvable PO reference causes match failure
- Invoice already fully invoiced — duplicate detected and rejected
- Amount exceeds tolerance threshold — returned as flagged rather than approved
- Incomplete receipt data prevents cumulative comparison
- Malformed invoice body causes validation error
- Payment already approved for this invoice — idempotency check triggers warning

## How this service works

Match a supplier invoice against purchase orders, cumulative receipts, prior invoicing, and tolerance policy before payment approval.

## Output

Returns a match result indicating whether the invoice is approved, rejected, or flagged for review, along with details on any discrepancies found between the invoice, purchase orders, cumulative receipts, and prior invoicing. Includes tolerance policy assessment and specific line-item or amount variances.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "type": "object"
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "checks": [
   {
    "id": "duplicate_invoice_number",
    "status": "PASS",
    "evidence": {
     "duplicate_scope": "supplier_id+invoice_number",
     "duplicate_history_supplied": false
    }
   },
   {
    "id": "prior_invoicing_evidence",
    "status": "PASS"
   },
   {
    "id": "receipt_evidence_snapshot",
    "status": "PASS"
   },
   {
    "id": "invoice_subtotal_arithmetic",
    "status": "PASS",
    "evidence": {
     "computed_subtotal_minor": "42000",
     "declared_subtotal_minor": "42000"
    }
   },
   {
    "id": "invoice_total_arithmetic",
    "status": "PASS",
    "evidence": {
     "computed_total_minor": "42000",
     "declared_total_minor": "42000"
    }
   },
   {
    "id": "invoice_line_po_resolution",
    "status": "PASS",
    "invoice_line_id": "line_1"
   },
   {
    "id": "currency_match",
    "status": "PASS",
    "purchase_order_id": "PO-1001"
   },
   {
    "id": "supplier_match",
    "status": "PASS",
    "purchase_order_id": "PO-1001"
   },
   {
    "id": "unit_of_measure_match",
    "status": "PASS",
    "evidence": {
     "po_unit_of_measure": "EA",
     "invoice_unit_of_measure": "EA"
    },
    "po_line_id": "10",
    "invoice_line_id": "line_1",
    "purchase_order_id": "PO-1001"
   },
   {
    "id": "price_basis_match",
    "status": "PASS",
    "po_line_id": "10",
    "invoice_line_id": "line_1",
    "purchase_order_id": "PO-1001"
   },
   {
    "id": "cumulative_quantity_vs_ordered",
    "status": "PASS",
    "po_line_id": "10",
    "purchase_order_id": "PO-1001"
   },
   {
    "id": "cumulative_quantity_vs_received",
    "status": "PASS",
    "evidence": {
     "cumulative_invoiced": "10",
     "cumulative_received": "10"
    },
    "po_line_id": "10",
    "purchase_order_id": "PO-1001"
   },
   {
    "id": "unit_price_tolerance",
    "status": "BLOCK",
    "evidence": {
     "tolerance_bps": 200,
     "po_unit_price_minor": "4000",
     "invoice_unit_price_minor": "4200"
    },
    "po_line_id": "10",
    "reason_code": "UNIT_PRICE_OUTSIDE_TOLERANCE",
    "invoice_line_id": "line_1",
    "purchase_order_id": "PO-1001"
   },
   {
    "id": "line_total_arithmetic",
    "status": "PASS",
    "po_line_id": "10",
    "invoice_line_id": "line_1",
    "purchase_order_id": "PO-1001"
   }
  ],
  "totals": {
   "computed_total_minor": "42000",
   "declared_total_minor": "42000",
   "computed_subtotal_minor": "42000",
   "declared_subtotal_minor": "42000"
  },
  "invoice": {
   "id": "inv_
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/vrsai-invoice-match-bac15bb8/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.vrsai.tech](https://www.zero.xyz/host/api.vrsai.tech/llms.txt)
