INVOICE PROCESSING
FX-Normalize Emailed Invoices to Base Currency on Receipt
Watches a shared AP inbox for invoice emails, extracts amount and currency, captures the FX rate as of the invoice date.
How it runs
The automated pipeline, trigger to output.
- TriggerNew invoice email in AP inboxGmail
- ActionExtract amount, currency, invoice dateOpenAI
- LogicCurrency differs from base?
- ActionFetch FX rate as of invoice dateHTTP webhook
- OutputInsert original + base-currency rowPostgres
What it does
Every invoice that lands in your AP inbox gets normalized to your reporting currency the moment it arrives — with the exchange rate pinned to the invoice's own date, not today's rate. The result is an AP ledger where every row carries the original amount, the currency, the rate used, and the base-currency equivalent.
When to use it
Use this when vendors bill you in many currencies and your finance team is hand-converting amounts in spreadsheets. It removes the rate-date guesswork that makes month-end reconciliation drift.
How it works
- 1A new email arriving in the monitored Gmail label fires the trigger.
- 2An OpenAI extraction step parses the invoice for vendor, invoice number, amount, currency code, and invoice date.
- 3A logic step checks whether the currency differs from your base currency.
- 4If it does, an HTTP call fetches the historical FX rate for that currency on the invoice date.
- 5The original amount, currency, rate, rate-date, and computed base-currency total are inserted into the Postgres AP table.
- 6A confirmation note posts back so AP knows the invoice is booked and normalized.
Set it up
What you configure once, before turning it on.
- 1Connect GmailRead, draft, send, label.
- 2Connect OpenAIModels, embeddings, files.
- 3Connect HTTP webhookTrigger any URL on agent actions.
- 4Connect PostgresAny Postgres URL — query, write, migrate.
- 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.
