INVOICE PROCESSING
OCR vendor invoices and 3-way match against POs before approval
Reads emailed PDF invoices, extracts line items with OCR, matches each line against the purchase order and goods receipt in Postgres.
How it runs
The automated pipeline, trigger to output.
- TriggerNew invoice email in AP inboxGmail
- ActionOCR extract header and line items from PDFOpenAI
- ActionFetch matching PO and goods receiptPostgres
- Logic3-way match quantity and price within tolerance
- ActionWrite approved status back to ledgerPostgres
- OutputPost discrepancies to AP channelSlack
What it does
Watches a shared AP inbox for vendor invoices, extracts the vendor, PO number, and every line item from the PDF, then performs a classic 3-way match: invoice line vs. purchase order vs. recorded goods receipt. Quantities and unit prices that agree within tolerance auto-approve; anything off-tolerance is held and posted to the AP channel for a human.
When to use it
Use this when your team manually keys invoices and eyeballs them against POs. It removes the data entry and the line-by-line comparison while keeping a person in the loop only for real exceptions.
How it works
- 1A new invoice email lands in the AP inbox and triggers the run.
- 2OCR extracts header fields and line items from the attached PDF.
- 3The flow looks up the referenced PO and its goods-receipt records in Postgres.
- 4A match check compares quantity and price per line within a tolerance band.
- 5Clean invoices are written back as approved; mismatches are flagged.
- 6Flagged invoices post to the AP Slack channel with the specific deltas for review.
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 SlackChannels, DMs, threads, mentions.
- 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.
