invoice-processing
Extract, validate, and categorize invoice data against purchase orders and GL codes. Use when the user requests invoice processing or provides relevant inputs for this workflow.
git clone --depth 1 https://github.com/seb1n/awesome-ai-agent-skills /tmp/invoice-processing && cp -r /tmp/invoice-processing/finance-and-accounting/invoice-processing ~/.claude/skills/invoice-processingSKILL.md
# 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.
## Workflow
1. **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.
2. **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.
3. **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.
4. **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.
5. **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).
6. **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.
## Usage
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.
## Examples
### Example 1: Single Invoice Processing
**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:**
```json
{
"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": []
}
```
### Example 2: Batch Processing with Validation Errors
**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:**
- **Total Processed:** 4
- **Passed:** 1 (25%) — $4,231.50
- **Warnings:** 1 (25%) — $892.40
- **Blocked:** 2 (50%) — $20,095.00
- **Total Value:** $25,168.90
- **Action Required:** 2 invoices require manual review before payment authorization.
## Best Practices
- Always verify arithmetic independently — never trust the stated totals without recalculating from line items.
- Maintain a vendor-to-GL mapping table and update it as new vendors or expense types appear.
- Set price variance thresholds appropriate to your industry: 2% for commodities, up to 10% for services with variable scope.
- Require PO matching for all invoices above a configurable dollar threshold to prevent unauthorized spending.
- Retain the raw invoice data alongside extracted fields for audit trail purposes.
- Process invoices in batch during off-peak hours and route exceptions to AP staff immediately.
## Safety Boundaries
- Treat the output as analytical support, not individualized financial, tax, investment, or accounting advice.
- Preserve source dataDesign reproducible evaluations for AI agents with representative task sets, explicit rubrics, appropriate graders, baselines, regression gates, and failure analysis. Use when defining agent quality, comparing prompts or models, validating a release, measuring tool-use reliability, investigating regressions, or deciding whether an agent is ready for production.
Design privacy-aware observability for AI agents using traces, spans, structured events, metrics, cost attribution, dashboards, alerts, and investigation workflows. Use when instrumenting an agent, debugging intermittent tool or model failures, defining service-level objectives, analyzing latency or spend, auditing agent decisions, or preparing production monitoring.
Design and verify auditable human oversight, approval gates, escalation paths, and safe state transitions for AI agent workflows. Use when deciding which agent actions require review, adding approve/reject or dual-control flows, preventing unauthorized autonomous effects, creating decision records, reducing rubber-stamping, or recovering safely from rejected, expired, or failed actions.
Design, implement, harden, and verify Model Context Protocol (MCP) servers with precise tool contracts, least-privilege authorization, safe transports, structured errors, and interoperability tests. Use when creating a new MCP server, exposing an API or data source through MCP, reviewing an MCP server design, adding or revising MCP tools, or preparing an MCP server for production.
Design and operate bounded multi-agent workflows with task decomposition, dependency graphs, ownership, handoff contracts, shared-state controls, approvals, recovery, and synthesis. Use when a task contains genuinely independent workstreams, specialized roles, parallel research or implementation, reviewer-worker loops, or coordination problems that one agent should not execute sequentially.
Design and validate model-facing tool definitions with clear names, action-oriented descriptions, bounded JSON Schema parameters, explicit side effects, safe defaults, idempotency, errors, and realistic tests. Use when creating function-calling tools, MCP tools, agent actions, structured tool inputs, or when a model selects the wrong tool, invents arguments, or causes unsafe side effects.
Plan, execute, document, and retest authorized security assessments of AI agents and multi-agent workflows using safe adversarial cases, synthetic identities, canaries, and evidence-based findings. Use when defining red-team rules of engagement, assessing prompt injection or excessive agency, testing tool and identity boundaries, evaluating memory or cross-agent attacks, scoring a campaign, or verifying remediation in an approved environment.
Threat-model and harden AI agents, RAG systems, assistants, and tool-using workflows against direct, indirect, stored, cross-agent, and multimodal prompt injection. Use when reviewing an agent architecture, isolating untrusted content, constraining tools and egress, protecting secrets, adding injection-focused tests, investigating a suspected injection incident, or documenting residual prompt-injection risk.