vrsai · Capabilities Invoice Match

by vrsai

POSTBaseSolana

$0.05

per call · USD Coin on Base

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

Endpoint

POST https://api.vrsai.tech/v1/capabilities/invoice_match

3

Calls / 30d

2

Unique payers / 30d

Sep 3

Last called

exact

Payment scheme

Call this service

TypeScript · @x402/fetch
import { wrapFetchWithPayment } from "@x402/fetch";
import { privateKeyToAccount } from "viem/accounts";

const account = privateKeyToAccount(process.env.PRIVATE_KEY);
const fetchWithPay = wrapFetchWithPayment(fetch, account);

const res = await fetchWithPay("https://api.vrsai.tech/v1/capabilities/invoice_match", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    "evidence": {
      "prior_invoicing_complete": true,
      "receipts_complete": true
    },
    "invoice": {
      "currency": "EUR",
      "id": "inv_internal_883",
      "invoice_number": "INV-883",
      "lines": [
        {
          "id": "line_1",
          "line_net_minor": "42000",
          "po_line_id": "10",
          "price_basis_quantity": "1",
          "purchase_order_id": "PO-1001",
          "quantity": "10",
          "unit_of_measure": "EA",
          "unit_price_minor": "4200"
        }
      ],
      "subtotal_minor": "42000",
      "supplier_id": "supplier_123",
      "total_minor": "42000"
    },
    "match_mode": "three_way",
    "policy": {
      "unit_price_tolerance_bps": 200
    },
    "purchase_orders": [
      {
        "currency": "EUR",
        "id": "PO-1001",
        "lines": [
          {
            "id": "10",
            "ordered_quantity": "10",
            "previously_invoiced_quantity": "0",
            "price_basis_quantity": "1",
            "unit_of_measure": "EA",
            "unit_price_minor": "4000"
          }
        ],
        "supplier_id": "supplier_123"
      }
    ],
    "receipts": [
      {
        "id": "GR-55",
        "po_line_id": "10",
        "purchase_order_id": "PO-1001",
        "received_quantity": "10"
      }
    ]
  }),
});
const data = await res.json();
cURL
curl -X POST \
  "https://api.vrsai.tech/v1/capabilities/invoice_match" \
  -H "Content-Type: application/json" \
  -d '{"evidence":{"prior_invoicing_complete":true,"receipts_complete":true},"invoice":{"currency":"EUR","id":"inv_internal_883","invoice_number":"INV-883","lines":[{"id":"line_1","line_net_minor":"42000","po_line_id":"10","price_basis_quantity":"1","purchase_order_id":"PO-1001","quantity":"10","unit_of_measure":"EA","unit_price_minor":"4200"}],"subtotal_minor":"42000","supplier_id":"supplier_123","total_minor":"42000"},"match_mode":"three_way","policy":{"unit_price_tolerance_bps":200},"purchase_orders":[{"currency":"EUR","id":"PO-1001","lines":[{"id":"10","ordered_quantity":"10","previously_invoiced_quantity":"0","price_basis_quantity":"1","unit_of_measure":"EA","unit_price_minor":"4000"}],"supplier_id":"supplier_123"}],"receipts":[{"id":"GR-55","po_line_id":"10","purchase_order_id":"PO-1001","received_quantity":"10"}]}' \
  -H "X-PAYMENT: <signed x402 payment>"

Example response

{
  "checks": [
    {
      "evidence": {
        "duplicate_history_supplied": false,
        "duplicate_scope": "supplier_id+invoice_number"
      },
      "id": "duplicate_invoice_number",
      "status": "PASS"
    },
    {
      "id": "prior_invoicing_evidence",
      "status": "PASS"
    },
    {
      "id": "receipt_evidence_snapshot",
      "status": "PASS"
    },
    {
      "evidence": {
        "computed_subtotal_minor": "42000",
        "declared_subtotal_minor": "42000"
      },
      "id": "invoice_subtotal_arithmetic",
      "status": "PASS"
    },
    {
      "evidence": {
        "computed_total_minor": "42000",
        "declared_total_minor": "42000"
      },
      "id": "invoice_total_arithmetic",
      "status": "PASS"
    },
    {
      "id": "invoice_line_po_resolution",
      "invoice_line_id": "line_1",
      "status": "PASS"
    },
    {
      "id": "currency_match",
      "purchase_order_id": "PO-1001",
      "status": "PASS"
    },
    {
      "id": "supplier_match",
      "purchase_order_id": "PO-1001",
      "status": "PASS"
    },
    {
      "evidence": {
        "invoice_unit_of_measure": "EA",
        "po_unit_of_measure": "EA"
      },
      "id": "unit_of_measure_match",
      "invoice_line_id": "line_1",
      "po_line_id": "10",
      "purchase_order_id": "PO-1001",
      "status": "PASS"
    },
    {
      "id": "price_basis_match",
      "invoice_line_id": "line_1",
      "po_line_id": "10",
      "purchase_order_id": "PO-1001",
      "status": "PASS"
    },
    {
      "id": "cumulative_quantity_vs_ordered",
      "po_line_id": "10",
      "purchase_order_id": "PO-1001",
      "status": "PASS"
    },
    {
      "evidence": {
        "cumulative_invoiced": "10",
        "cumulative_received": "10"
      },
      "id": "cumulative_quantity_vs_received",
      "po_line_id": "10",
      "purchase_order_id": "PO-1001",
      "status": "PASS"
    },
    {
      "evidence": {
        "invoice_unit_price_minor": "4200",
        "po_unit_price_minor": "4000",
        "tolerance_bps": 200
      },
      "id": "unit_price_tolerance",
      "invoice_line_id": "line_1",
      "po_line_id": "10",
      "purchase_order_id": "PO-1001",
      "reason_code": "UNIT_PRICE_OUTSIDE_TOLERANCE",
      "status": "BLOCK"
    },
    {
      "id": "line_total_arithmetic",
      "invoice_line_id": "line_1",
      "po_line_id": "10",
      "purchase_order_id": "PO-1001",
      "status": "PASS"
    }
  ],
  "coverage": {
    "checks_not_performed": [
      "document_authenticity_verification",
      "ocr_or_pdf_extraction",
      "product_description_or_sku_fuzzy_matching",
      "erp_or_wms_retrieval",
      "supplier_identity_verification",
      "tax_determination",
      "fx_conversion",
      "uom_conversion",
      "payment_execution",
      "accounting_posting",
      "invoice_line_multi_po_allocation",
      "credit_note_processing"
    ],
    "checks_performed": [
      "duplicate_invoice_number",
      "invoice_line_po_resolution",
      "currency_and_supplier_match",
      "unit_of_measure_and_price_basis",
      "cumulative_quantity_vs_ordered",
      "cumulative_quantity_vs_received",
      "unit_price_tolerance",
      "line_total_arithmetic",
      "invoice_subtotal_arithmetic",
      "invoice_total_arithmetic"
    ],
    "complete_for_declared_scope": true,
    "evidence": {
      "duplicate_history_supplied": false,
      "prior_invoicing_complete": true,
      "receipts_complete": true
    },
    "match_mode": "three_way"
  },
  "decision": "BLOCK",
  "input_fingerprint": "v1:2c0e0b727e0602244be927bc4215abff15a0323e44cc73ebe781b9860aabf71d",
  "invoice": {
    "currency": "EUR",
    "id": "inv_internal_883",
    "invoice_number": "INV-883",
    "lines_evaluated": 1,
    "purchase_orders_referenced": [
      "PO-1001"
    ],
    "supplier_id": "supplier_123"
  },
  "line_results": [
    {
      "decision": "BLOCK",
      "invoice_line_id": "line_1",
      "po_line_id": "10",
      "pricing": {
        "absolute_delta_minor": "200",
        "invoice_unit_price_minor": "4200",
        "po_unit_price_minor": "4000",
        "tolerance_bps": 200
      },
      "purchase_order_id": "PO-1001",
      "quantity": {
        "cumulative_invoiced": "10",
        "cumulative_received": "10",
        "current_invoiced": "10",
        "ordered": "10",
        "previously_invoiced": "0",
        "remaining_order_after_current": "0",
        "remaining_received_after_current": "0"
      },
      "reason_codes": [
        "UNIT_PRICE_OUTSIDE_TOLERANCE"
      ],
      "units": {
        "invoice_price_basis_quantity": "1",
        "invoice_unit_of_measure": "EA",
        "po_price_basis_quantity": "1",
        "po_unit_of_measure": "EA"
      }
    }
  ],
  "machine_action": "DO_NOT_APPROVE",
  "reason_codes": [
    "UNIT_PRICE_OUTSIDE_TOLERANCE"
  ],
  "ruleset_version": "1.0.0",
  "totals": {
    "computed_subtotal_minor": "42000",
    "computed_total_minor": "42000",
    "declared_subtotal_minor": "42000",
    "declared_total_minor": "42000"
  }
}

Payment details

Pay to0x6746dff7bdb1ed4940dbe50024795ad97cba09af
AssetUSD Coin · 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913
NetworksBase, Solana
Schemesexact

Is this your API?

Pin it to the top of Media & Generation and the homepage with a featured placement.

Get featured →

More from vrsai & similar services