Mechanically reconcile supplied purchase-order lines, invoice lines and goods receipts under explicit decimal and tolerance rules. The report identifies discrepancies and is not an approval to pay.
0.05 per analysis
Requires x402 capable MCP client with wallet for payment settlement.
{
"type": "object",
"additionalProperties": false,
"required": [
"currency",
"minor_unit_digits",
"purchase_order",
"invoice",
"receipts"
],
"properties": {
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$"
},
"minor_unit_digits": {
"type": "integer",
"minimum": 0,
"maximum": 6
},
"purchase_order": {
"type": "array",
"maxItems": 500,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"line_id",
"sku",
"quantity",
"unit_price"
],
"properties": {
"line_id": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"sku": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"quantity": {
"type": "string"
},
"unit_price": {
"type": "string"
}
}
}
},
"invoice": {
"type": "array",
"minItems": 1,
"maxItems": 500,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"line_id",
"po_line_id",
"sku",
"quantity",
"unit_price"
],
"properties": {
"line_id": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"sku": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"quantity": {
"type": "string"
},
"unit_price": {
"type": "string"
},
"po_line_id": {
"type": "string",
"minLength": 1,
"maxLength": 128
}
}
}
},
"receipts": {
"type": "array",
"maxItems": 1000,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"po_line_id",
"quantity"
],
"properties": {
"po_line_id": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"quantity": {
"type": "string"
}
}
}
},
"tolerance_minor": {
"type": "string"
}
}
}
{
"currency": "USD",
"minor_unit_digits": 2,
"purchase_order": [
{
"line_id": "PO1",
"sku": "WIDGET",
"quantity": "10",
"unit_price": "2.00"
}
],
"invoice": [
{
"line_id": "INV1",
"po_line_id": "PO1",
"sku": "WIDGET",
"quantity": "10",
"unit_price": "2.00"
}
],
"receipts": [
{
"po_line_id": "PO1",
"quantity": "10"
}
],
"tolerance_minor": "0"
}
{
"ok": true,
"stage": "complete",
"currency": "USD",
"minor_unit_digits": 2,
"tolerance_minor": "0",
"lines": [
{
"line_id": "INV1",
"po_line_id": "PO1",
"sku": "WIDGET",
"quantity": "10",
"unit_price": "2.00",
"line_total_minor": "2000",
"exceptions": []
}
],
"purchase_order_summary": [
{
"po_line_id": "PO1",
"sku": "WIDGET",
"ordered_quantity": "10.000000",
"received_quantity": "10.000000",
"invoiced_quantity": "10.000000",
"exceptions": []
}
],
"receipt_exceptions": [],
"summary": {
"purchase_order_line_count": 1,
"invoice_line_count": 1,
"receipt_line_count": 1,
"total_invoice_minor": "2000",
"exception_count": 0,
"matched": true
}
}
Add to your MCP client configuration:
{
"mcpServers": {
"invoice-purchase-order-matcher": {
"type": "http",
"url": "https://mcp-factory.bowling-anthony.workers.dev/invoice-purchase-order-matcher/mcp"
}
}
}
Price: 0.05 USDC per analysis
This tool requires an x402-capable MCP client with wallet support. Tool listing and initialization are free. Actual completed job analysis is paid in USDC on the Base network.
Payment flow: