# Make.com: Invoice Processing with AI OCR

> 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.

**Platform:** Make.com  
**Category:** make  
**Difficulty:** Advanced  
**Tags:** make, ocr, finance, operations  
**Updated:** 2025-05-20  
**Source:** https://promptfoo.tech/workflows/make-invoice-processing-with-ai-ocr

## 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.

## How it works
1. Gmail or Outlook watch module triggers on new emails to ap@yourdomain.
2. PDF attachments are converted to images per page.
3. A vision LLM call returns strict JSON: vendor, invoice_number, date, currency, subtotal, tax, total, line_items[].
4. A schema validator rejects malformed responses and retries with a stricter prompt.
5. 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.

## Use cases
- Small ops teams handling 50–500 invoices per month.
- Agencies invoicing across multiple currencies.
- Any team where finance is a bottleneck for growth.

## Step-by-step
### Step 1: Set up the watch
Create a dedicated AP inbox and connect it to Make. Filter for PDF attachments to avoid noise.

### Step 2: Convert PDF pages to images
Use the PDF module. Multi-page invoices are common; process each page and merge results.

### Step 3: Call a vision LLM
Use OpenAI or Gemini vision. Include a JSON schema in the prompt and set response_format to JSON mode where available.

### Step 4: Validate the JSON
Add a Tools > Compose validator. Kick invalid rows to an error channel and retry with a second prompt.

### Step 5: Route to approval
Post to Slack with Approve/Reject buttons via a webhook back to Make.

### Step 6: Write to accounting
On approval, create the bill in Xero/QuickBooks and archive the source PDF with a link to the created record.

## FAQs
**How accurate is vision OCR now?**

For clean digital PDFs, near-perfect for headers and totals. Line items still need a human check for anything above a spend threshold.

**What about privacy?**

Use a provider with a data-processing agreement. Redact bank details before sending if your policy requires it.

**Can I skip Make?**

Yes — the same pattern runs in n8n, Zapier, or code. Make is chosen here for its native PDF handling.

---
Licensed under CC-BY-4.0. Attribution: PromptFoo.tech