{
 "schema": "aiblocks-page/1",
 "id": "recurring-invoice-exception-review-assistant",
 "type": "agent",
 "name": "Supplier invoice exception reviewer",
 "summary": "Track new invoice issues and recheck changed evidence. Keep arithmetic, goods received and payment approval separate.",
 "headline": "Supplier invoice exception reviewer",
 "subhead": "Share invoices, purchase records, receipt evidence, approved vendor data and the last issue list. It checks only new or changed records and revisits totals when arithmetic evidence changes. You get exceptions, resolved items with proof and an approval review list. Correct sums do not prove goods arrived or authorize payment.",
 "job": {
  "id": "manage-accounting",
  "name": "Reconcile accounts and close the books"
 },
 "level": "intermediate",
 "thinking": "high",
 "tested": true,
 "updated": "2026-11-03",
 "first_published": "2026-10-22",
 "inputs": [
  {
   "type": "question",
   "required": true,
   "label": "Question",
   "what": "the problem, decision or piece of work you want help with, and what a good outcome looks like"
  },
  {
   "type": "document",
   "required": false,
   "label": "Document",
   "what": "a finished document, such as a Word file, a PDF or a page of notes"
  },
  {
   "type": "spreadsheet",
   "required": false,
   "label": "Spreadsheet",
   "what": "a spreadsheet with its data, formulas and charts"
  }
 ],
 "outputs": [
  {
   "type": "spreadsheet",
   "required": true,
   "label": "Spreadsheet",
   "what": "a spreadsheet with its data, formulas and charts"
  },
  {
   "type": "audit_report",
   "required": true,
   "label": "Audit report",
   "what": "findings with evidence, severity, missing inputs and next actions"
  },
  {
   "type": "document",
   "required": true,
   "label": "Document",
   "what": "a finished document, such as a Word file, a PDF or a page of notes"
  }
 ],
 "you_give": [
  "The new supplier invoices for the batch",
  "Purchase orders and goods or service receipts for those invoices",
  "Your approved vendor list, with vendor IDs",
  "The name of the person who approves payment",
  "Last time's exception ledger (optional on the first run)",
  "How close two invoice dates must be to count as a possible duplicate (optional)"
 ],
 "you_get": [
  "A list of new exceptions, each with its type and what would fix it",
  "Items closed since last time, with the proof that closed them",
  "A list of invoices ready for your approver, and a list that stays blocked",
  "An updated exception ledger for the next run",
  "A run log showing what was checked and what was not"
 ],
 "use_when": [
  "A new batch of supplier invoices arrives and needs checking before approval.",
  "You are closing the month and need to know which exceptions are still open.",
  "A supplier sends a corrected invoice or a credit note for an earlier exception.",
  "Your approver asks which invoices are ready for review."
 ],
 "skip_when": [
  "This is your first check and you have no ledger yet. Use the Supplier invoice and receipt checker workflow.",
  "You want the sums on one invoice rechecked. Use the Invoice totals checker.",
  "You want to chase customers who owe you. Use the Late invoice and cash forecast reviewer."
 ],
 "output_sample": {
  "input": [
   "The new supplier invoices for the batch",
   "Purchase orders, receipts and your approved vendor list",
   "Last time's exception ledger (optional on the first run)",
   "The name of the person who approves payment"
  ],
  "prerequisites": [
   "Vendor IDs on your approved list",
   "An AI that can read files, such as Claude, ChatGPT or Gemini",
   "A spreadsheet tool, only if you want the ledger as a workbook"
  ],
  "output": [
   {
    "name": "exception-ledger.csv",
    "contains": "One row per exception with vendor ID, invoice ID, amount, type, state, evidence and review date."
   },
   {
    "name": "new-exceptions.md",
    "contains": "This run's new exceptions, each with its type, the records behind it and what would fix it."
   },
   {
    "name": "resolved-items.md",
    "contains": "Exceptions closed since last time, with the evidence that closed each one."
   },
   {
    "name": "approval-review-list.md",
    "contains": "Invoices ready for your approver to review, and invoices that stay blocked with the reason."
   },
   {
    "name": "run-log.md",
    "contains": "What was checked, what was skipped as unchanged, missing facts and checks not done."
   }
  ]
 },
 "output_shape": "NEW EXCEPTIONS (<batch date>)\n  <vendor ID> | <invoice ID> | <amount and currency> | <Duplicate, Possible duplicate, Arithmetic, No PO, Price mismatch, No receipt, Quantity mismatch, Vendor not approved, or Missing field> | <what would fix it>\n\nRESOLVED SINCE LAST RUN\n  <vendor ID> | <invoice ID> | <exception> | <evidence that closed it>\n\nAPPROVAL REVIEW LIST\n  Ready for approver review: <invoice ID, vendor ID, amount> (not approved)\n  Blocked: <invoice ID> | <reason> | <who must resolve it>\n\nLEDGER ROW\n  <vendor ID> | <invoice ID> | <amount and currency> | <exception> | <new, open, resolved or blocked> | <evidence reference> | <review date>\n\nRUN LOG\n  Invoices checked | invoices skipped as unchanged | MISSING lines | CHECKS MISSED",
 "how_to_use": [
  "Download the pack from this page and add it to your AI. If you cannot add it, paste SKILL.md into a new chat.",
  "Attach the new invoices, the purchase orders, the receipts and your approved vendor list. Leave out bank account details.",
  "Attach last time's exception ledger, or say this is the first run. Name the person who approves payment.",
  "Say \"Check this batch. Add new exceptions to the ledger. Do not approve or pay anything.\" Your AI asks once for anything missing.",
  "Open new-exceptions.md first. Check each one against the invoice itself.",
  "Give approval-review-list.md to your approver. Keep exception-ledger.csv for the next batch."
 ],
 "checks": [
  "Invoice IDs prevent duplicate processing; arithmetic and receipt checks remain separate from payment approval.",
  "Every factual claim, figure and date traces to a source or is clearly labeled as an assumption.",
  "The original source files stay intact, and revised files have distinct names or versions.",
  "Each required component check ran, or the run stopped and says which check could not pass.",
  "The summary names any work that could not be checked."
 ],
 "steps": [
  {
   "position": 1,
   "id": "check-supplier-invoices-before-approval",
   "name": "Supplier invoice and receipt checker",
   "summary": "Check bills against orders and goods received. Rework the totals and flag repeats, missing goods or wrong currencies before approval.",
   "url": "https://useaiblocks.com/workflows/check-supplier-invoices-before-approval"
  },
  {
   "position": 2,
   "id": "invoice-totals-checker",
   "name": "Invoice totals checker",
   "summary": "Check invoice totals before you pay or send. Give it the invoice. You get every line, discount, tax and total recalculated, plus missing fields.",
   "url": "https://useaiblocks.com/skills/invoice-totals-checker"
  }
 ],
 "next": [
  {
   "name": "Invoice checker",
   "url": "https://useaiblocks.com/skills/invoice-checker",
   "why": "Invoice checker"
  },
  {
   "name": "Clinic payment reconciliation reviewer",
   "url": "https://useaiblocks.com/skills/clinic-claims-collections-bridge",
   "why": "Clinic payment reconciliation reviewer"
  },
  {
   "name": "Late invoice and cash forecast reviewer",
   "url": "https://useaiblocks.com/skills/weekly-invoice-and-cash-chaser",
   "why": "Late invoice and cash forecast reviewer"
  },
  {
   "name": "EPS and share count reviewer",
   "url": "https://useaiblocks.com/skills/issuer-eps-reconciliation-review-assistant",
   "why": "EPS and share count reviewer"
  },
  {
   "name": "Fund fee and credit reviewer",
   "url": "https://useaiblocks.com/skills/fund-fee-revision-assistant",
   "why": "Check the money"
  }
 ],
 "source": null,
 "credits": [
  {
   "title": "Invoice checker",
   "by": "Burhan Sebin",
   "url": "https://github.com/seb1n/awesome-ai-agent-skills/tree/main/finance-and-accounting/invoice-processing",
   "used": "Component skill used as a separate, attributed dependency. This recipe adds original sequencing, handoff rules and acceptance checks. The component's own licence and source remain in its pack."
  },
  {
   "title": "Invoice totals checker",
   "by": "Pro Skill Packs",
   "url": "https://github.com/proskillpacks/skills/tree/main/skills/finance/invoice-checker",
   "used": "Component skill used as a separate, attributed dependency. This recipe adds original sequencing, handoff rules and acceptance checks. The component's own licence and source remain in its pack."
  },
  {
   "title": "Spreadsheet checker",
   "by": "Burhan Sebin",
   "url": "https://github.com/seb1n/awesome-ai-agent-skills/tree/main/documents-and-files/spreadsheet-analysis",
   "used": "Component skill used as a separate, attributed dependency. This recipe adds original sequencing, handoff rules and acceptance checks. The component's own licence and source remain in its pack."
  }
 ],
 "files": [],
 "links": {
  "page": "https://useaiblocks.com/agents/recurring-invoice-exception-review-assistant",
  "markdown": "https://useaiblocks.com/agents/recurring-invoice-exception-review-assistant.md",
  "json": "https://useaiblocks.com/agents/recurring-invoice-exception-review-assistant.json",
  "instructions": "https://useaiblocks.com/skills/recurring-invoice-exception-review-assistant/SKILL.md",
  "api_item": "https://useaiblocks.com/api/v1/items/recurring-invoice-exception-review-assistant",
  "api_document": "https://useaiblocks.com/api/v1/documents/agent/recurring-invoice-exception-review-assistant",
  "mcp": "https://useaiblocks.com/mcp"
 }
}
