Extract, validate, and categorize invoice data against purchase orders and GL codes
Extract structured data from invoices, validate fields against purchase orders and vendor records, categorize line items by general ledger (GL) codes, and flag discrepancies for review. This skill handles both single invoice processing and batch operations, producing clean, auditable output ready for import into accounting systems.
Receive and Parse Invoice Accept invoice data in any format — raw text, OCR output, structured JSON, or CSV. Identify the document type (standard invoice, credit memo, debit note, proforma) and extract the header block: invoice number, date, due date, vendor name, vendor address, and payment terms.
Extract Line Items and Totals Parse each line item for description, quantity, unit price, extended amount, and tax. Validate that line item totals sum to the stated subtotal. Extract tax amounts, shipping charges, discounts, and the grand total. Flag any arithmetic inconsistencies between line items and totals.
Validate Against Purchase Order Match the invoice to its corresponding PO by PO number, vendor, or line item descriptions. Compare quantities and unit prices. Compute a three-way match score across PO, goods receipt, and invoice. Flag invoices where price variance exceeds a configurable threshold (default: 2%) or quantities don't match.
Categorize by GL Code Assign each line item to the appropriate general ledger account based on item description, vendor category, and historical patterns. Common mappings include office supplies → 6200, software subscriptions → 6500, professional services → 6300, raw materials → 5100. Apply department cost center codes where applicable.
Flag Discrepancies and Generate Output Produce a structured record for each invoice with all extracted fields, validation status, GL assignments, and any flags. Group flags by severity: blocking errors (missing PO, total mismatch > 5%), warnings (minor price variance, missing fields), and informational (new vendor, first invoice from vendor).
Generate Processing Summary For batch operations, produce a summary report showing total invoices processed, pass/fail counts, total dollar value, and a breakdown of flag types. List all blocked invoices requiring manual review with specific reasons.
Provide invoice data as text, structured data, or describe the invoices you need processed. Specify any PO data for validation and your GL code mapping preferences.
Example prompt:
Process this vendor invoice: Invoice #INV-2024-0847 from Acme Cloud Services, dated 2024-11-15, PO #PO-4521. Line items: 10x API Gateway licenses at $150/ea, 1x Premium Support at $2,400/yr. Tax 8.5%. Validate against PO and assign GL codes.
Input:
Invoice #INV-2024-0847
Vendor: Acme Cloud Services (Vendor ID: V-1042)
Date: 2024-11-15 | Due: 2024-12-15 | Terms: Net 30
PO Reference: PO-4521
Line Items:
1. API Gateway License (qty: 10, unit: $150.00) — $1,500.00
2. Premium Support Annual (qty: 1, unit: $2,400.00) — $2,400.00
Subtotal: $3,900.00
Tax (8.5%): $331.50
Total: $4,231.50
Output:
{
"invoice_number": "INV-2024-0847",
"vendor": { "name": "Acme Cloud Services", "id": "V-1042" },
"date": "2024-11-15",
"due_date": "2024-12-15",
"po_reference": "PO-4521",
"line_items": [
{
"description": "API Gateway License",
"quantity": 10,
"unit_price": 150.00,
"amount": 1500.00,
"gl_code": "6500",
"gl_name": "Software Subscriptions",
"cost_center": "IT-200"
},
{
"description": "Premium Support Annual",
"quantity": 1,
"unit_price": 2400.00,
"amount": 2400.00,
"gl_code": "6510",
"gl_name": "Software Maintenance & Support",
"cost_center": "IT-200"
}
],
"subtotal": 3900.00,
"tax": 331.50,
"total": 4231.50,
"validation": {
"arithmetic_check": "PASS",
"po_match": "PASS",
"price_variance": "0.0%",
"three_way_match": "PASS"
},
"flags": []
}
Input: 4 invoices from different vendors processed in batch.
Output — Error Report:
| Invoice # | Vendor | Amount | Status | Flags |
|---|---|---|---|---|
| INV-2024-0847 | Acme Cloud Services | $4,231.50 | PASS | — |
| INV-2024-1193 | Delta Office Supply | $892.40 | WARNING | Unit price $14.20 vs PO price $12.99 (+9.3%) |
| INV-2024-1205 | Spark Consulting | $18,750.00 | BLOCKED | No matching PO found |
| INV-2024-1210 | GreenLeaf Catering | $1,345.00 | BLOCKED | Line item total $1,280 ≠ stated subtotal $1,345 |
Batch Summary: