INVOICE PROCESSING
Three-Way PO Matching with Exception Routing to Postgres
Extracts data from incoming invoices, matches them against purchase orders and receiving records in Postgres.
How it runs
The automated pipeline, trigger to output.
- TriggerNew invoice file in DropboxDropbox
- ActionExtract PO number and line items with OpenAIOpenAI
- ActionFetch matching PO and receiving record from PostgresPostgres
- LogicThree-way match on quantity and price
- ActionMark approved-for-payment in PostgresPostgres
- OutputRoute mismatches to Slack finance channelSlack
What it does
Performs classic three-way matching: it reconciles each invoice against its purchase order and the goods-received record, approving only when all three agree and escalating discrepancies.
When to use it
Use this when you run purchase orders and need invoices validated against what was ordered and what actually arrived before paying. It catches overbilling, wrong quantities, and price drift that flat OCR pipelines miss.
How it works
- 1A new invoice file in the watched Dropbox folder triggers the run.
- 2OpenAI extracts the PO number, line items, quantities, and unit prices.
- 3A query pulls the matching purchase order and receiving record from Postgres.
- 4A logic step compares quantities and prices across all three documents within tolerance.
- 5Clean matches are written back to Postgres as approved for payment.
- 6Mismatches post to a Slack finance channel with the specific deltas highlighted for manual review.
Set it up
What you configure once, before turning it on.
- 1Connect DropboxFiles and folders.
- 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.
