INVOICE PROCESSING

Outlook invoice archive to S3 and ledger load to BigQuery

Captures every emailed vendor invoice, archives the original PDF to S3 with a structured key.

CategoryInvoice Processing
Enginesim
Difficultybeginner
Triggerevent
Steps5
Setup~5 min

How it runs

The automated pipeline, trigger to output.

  • TriggerVendor invoice with attachment in Outlook AP inboxOutlook
  • ActionExtract header and line items with OpenAIOpenAI
  • ActionArchive original PDF to S3 with partitioned keyAWS S3
  • ActionLoad structured ledger rows into BigQueryGoogle BigQueryBigQuery
  • OutputPost ledger reference and archive link to SlackSlack

What it does

Gives you a clean, queryable record of every invoice you receive plus an immutable copy of the source document. Each invoice PDF is stored in S3 under a predictable path, and its parsed contents become rows in your BigQuery AP ledger.

When to use it

Use it when invoices live scattered across inboxes and you have no single place to query spend or retrieve an original during an audit. This is the foundational capture layer other AP flows can read from.

How it works

  1. 1A vendor invoice with an attachment arrives in the Outlook AP inbox.
  2. 2OpenAI extracts the header fields and line items into a structured record.
  3. 3The original PDF is uploaded to S3 under a vendor and date partitioned key.
  4. 4The structured header and lines are loaded into BigQuery tables, with the S3 object URL stored alongside for retrieval.
  5. 5A short confirmation with the ledger reference and archive link posts to the AP Slack channel.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect OutlookMail, calendar, contacts.
  2. 2
    Connect OpenAIModels, embeddings, files.
  3. 3
    Connect AWS S3Buckets, objects, signed URLs.
  4. 4
    Connect BigQueryDatasets, queries, schemas.
  5. 5
    Connect SlackChannels, DMs, threads, mentions.
  6. 6
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  7. 7
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  8. 8
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.