seb1n/invoice-processing
Extract, validate, and categorize invoice data against purchase orders and GL codes
npx skills add https://github.com/seb1n/awesome-ai-agent-skills --skill invoice-processing
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.
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.
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.
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.
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.
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).
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:
Take seb1n/invoice-processing from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.