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