{
  "$schema": "https://promptfoo.tech/schemas/workflow-template.json",
  "name": "Make.com: Invoice Processing with AI OCR",
  "slug": "make-invoice-processing-with-ai-ocr",
  "platform": "Make.com",
  "category": "make",
  "difficulty": "Advanced",
  "tags": [
    "make",
    "ocr",
    "finance",
    "operations"
  ],
  "summary": "Watch an email inbox for invoice PDFs, extract structured line items with a vision LLM, and push them into your accounting tool with an approval step.",
  "overview": "Accounts payable is a workflow tax on every growing company. This Make scenario ingests PDF invoices from a monitored inbox, uses a vision-capable LLM to extract vendor, totals, and line items into JSON, and hands the result to a Slack approver before writing to Xero or QuickBooks.",
  "variables": {
    "WEBHOOK_URL": "<your webhook URL>",
    "API_KEY": "<your provider API key>"
  },
  "steps": [
    {
      "order": 1,
      "name": "Set up the watch",
      "description": "Create a dedicated AP inbox and connect it to Make. Filter for PDF attachments to avoid noise."
    },
    {
      "order": 2,
      "name": "Convert PDF pages to images",
      "description": "Use the PDF module. Multi-page invoices are common; process each page and merge results."
    },
    {
      "order": 3,
      "name": "Call a vision LLM",
      "description": "Use OpenAI or Gemini vision. Include a JSON schema in the prompt and set response_format to JSON mode where available."
    },
    {
      "order": 4,
      "name": "Validate the JSON",
      "description": "Add a Tools > Compose validator. Kick invalid rows to an error channel and retry with a second prompt."
    },
    {
      "order": 5,
      "name": "Route to approval",
      "description": "Post to Slack with Approve/Reject buttons via a webhook back to Make."
    },
    {
      "order": 6,
      "name": "Write to accounting",
      "description": "On approval, create the bill in Xero/QuickBooks and archive the source PDF with a link to the created record."
    }
  ],
  "howItWorks": [
    "Gmail or Outlook watch module triggers on new emails to ap@yourdomain.",
    "PDF attachments are converted to images per page.",
    "A vision LLM call returns strict JSON: vendor, invoice_number, date, currency, subtotal, tax, total, line_items[].",
    "A schema validator rejects malformed responses and retries with a stricter prompt.",
    "Slack sends an approval card; on approval, a router writes to your accounting tool and archives the PDF to Drive."
  ],
  "benefits": [
    "Removes 90% of manual data entry from AP.",
    "Structured line items enable spend analytics immediately.",
    "Human approver stays in the loop for anything above a threshold."
  ],
  "useCases": [
    "Small ops teams handling 50–500 invoices per month.",
    "Agencies invoicing across multiple currencies.",
    "Any team where finance is a bottleneck for growth."
  ],
  "example": null,
  "faqs": [
    {
      "q": "How accurate is vision OCR now?",
      "a": "For clean digital PDFs, near-perfect for headers and totals. Line items still need a human check for anything above a spend threshold."
    },
    {
      "q": "What about privacy?",
      "a": "Use a provider with a data-processing agreement. Redact bank details before sending if your policy requires it."
    },
    {
      "q": "Can I skip Make?",
      "a": "Yes — the same pattern runs in n8n, Zapier, or code. Make is chosen here for its native PDF handling."
    }
  ],
  "source": "https://promptfoo.tech/workflows/make-invoice-processing-with-ai-ocr",
  "updated": "2025-05-20",
  "license": "CC-BY-4.0"
}