INVOICE PROCESSING
Extract Emailed Invoice PDFs and Compare Them to the Vendor Baseline
When a vendor invoice PDF lands in the finance inbox, extracts the amount and line items, compares the total to that vendor's historical baseline.
How it runs
The automated pipeline, trigger to output.
- TriggerNew invoice email in finance inboxGmail
- ActionExtract vendor, total, line items from PDFOpenAI
- ActionLookup baseline and upsert invoicePostgres
- LogicTotal deviates from baseline tolerance?
- OutputCreate Notion review-board card for deviationNotion
What it does
Handles recurring invoices that arrive as emailed PDFs rather than through an API. When a new invoice email hits the finance inbox, it parses the attachment, extracts the vendor, total, and key line items, then checks the total against that vendor's stored baseline. Normal invoices are archived; deviating ones are pushed to a Notion review board with the parsed details.
When to use it
Use it when a chunk of your recurring spend comes from vendors who only email PDF invoices. It removes manual data entry and still applies anomaly detection, so off-baseline charges surface for review instead of being paid on autopilot.
How it works
- 1A new email with an invoice attachment arrives in the finance inbox.
- 2An action runs OCR and structured extraction on the PDF to pull vendor, total, and line items.
- 3A Postgres lookup fetches the vendor's historical baseline and upserts this invoice.
- 4A logic step compares the total to the baseline tolerance.
- 5On-baseline invoices are marked processed and the run ends.
- 6Deviating invoices create a Notion review-board card with the extracted fields, variance, and a link to the source email.
Set it up
What you configure once, before turning it on.
- 1Connect GmailRead, draft, send, label.
- 2Connect OpenAIModels, embeddings, files.
- 3Connect PostgresAny Postgres URL — query, write, migrate.
- 4Connect NotionPages, databases, comments.
- 5Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
- 6Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
- 7Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.
More Invoice Processing workflows
Dollar-Threshold Match Variance Escalation Chain
Routes three-way match variances up an approval ladder by dollar size — small ones to the line manager, large ones to the controller.
Front vendor invoice to Airtable approval packet with line-item parse
Watches a Front inbox for vendor invoice emails, extracts header and line-item data from the body and PDF attachment, and writes a structured.
Gate invoice approvals on a duplicate cross-check
When an approver clicks Approve in your AP system, a webhook re-validates the invoice against paid history in Postgres and Stripe charges.
Three-Way Match Exception Router by Variance Type
When a new invoice fails three-way match against its PO and receiving record, this workflow classifies the mismatch (price, quantity, or missing receipt) and routes each variance…
Route parsed Front invoices to the right Slack approver by amount
Parses an incoming Front vendor invoice and posts an interactive Slack approval card to the approver whose spending threshold matches the invoice total.
Three-way match Front invoices against purchase orders in Postgres
Parses a Front vendor invoice and runs a three-way match against the matching purchase order and receipt records in Postgres, posting pass or exception results to Slack.
Run it inside a business
This workflow drops into a full company template. Import the org, and this is one of the playbooks its agents run.

Run this workflow in your colony.
14-day trial. No DevOps. No Sales call. Provisioned in under a minute.
