INVOICE PROCESSING
Block Duplicate Invoice Before Stripe Payout
Fingerprints each incoming invoice against your paid-history ledger and halts the Stripe payout when a likely re-submission is detected, alerting AP in Slack for a human decision.
How it runs
The automated pipeline, trigger to output.
- TriggerInvoice approved for payment (webhook)HTTP webhook
- ActionLook up fingerprint in paid-history ledgerPostgres
- LogicBranch: duplicate match vs. unique
- ActionHold payout and alert AP for reviewSlack
- ActionCreate Stripe payout for unique invoicesStripe
- OutputWrite fingerprint to paid-history ledgerPostgres
What it does
This workflow intercepts every invoice queued for payment, builds a deterministic fingerprint from vendor, invoice number, amount, and date, then checks it against a Postgres ledger of already-paid invoices. If the fingerprint matches a prior payment, it blocks the Stripe payout and routes the case to AP instead of letting money go out the door twice.
When to use it
Use this when vendors re-send invoices, when multiple inboxes feed your AP queue, or when a finance migration risks paying the same bill from two systems. It is the last line of defense right before funds move.
How it works
- 1A new invoice approved for payment hits the webhook with vendor, number, amount, and due date.
- 2The flow normalizes those fields and computes a stable fingerprint hash.
- 3It queries the Postgres paid-history ledger for a matching fingerprint.
- 4If a match exists, the Stripe payout is held (never created) and the branch diverts to review.
- 5AP gets a Slack alert with both invoices side by side to approve or reject.
- 6Clean invoices proceed to the Stripe payout and the fingerprint is written back to the ledger.
Set it up
What you configure once, before turning it on.
- 1Connect HTTP webhookTrigger any URL on agent actions.
- 2Connect PostgresAny Postgres URL — query, write, migrate.
- 3Connect StripeCustomers, subscriptions, payments.
- 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.
