FINANCE

Receipt Upload OCR, Categorization, and Policy Flagging

When an employee uploads a receipt to a shared Drive folder, OCRs it, extracts merchant/amount/category, writes a structured row to Postgres.

CategoryFinance
Enginesim
Difficultyintermediate
Triggerevent
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerNew receipt file in Drive folderGoogle DriveGoogle Drive
  • ActionOCR and extract fields with OpenAIOpenAI
  • ActionInsert structured expense into Postgres ledgerPostgreSQLPostgres
  • LogicEvaluate amount and category against policy
  • OutputPost violation to Notion exceptions boardNotionNotion

What it does

This workflow turns a dropped receipt image into a clean, policy-checked ledger entry. When a new file appears in the shared expense receipts folder in Google Drive, an OpenAI vision pass reads the receipt and extracts merchant, total, date, and a best-guess spend category. The structured result is written as a row in the Postgres expense ledger. If the extracted amount or category trips a policy rule — over the meal cap, a blocked category, no itemization on a large total — the workflow opens an entry on a Notion exceptions board for the approver.

When to use it

Use it when you want receipt capture, data entry, and first-pass policy screening to happen automatically the moment an employee uploads documentation, rather than at month-end review.

How it works

  1. 1A new file in the Drive receipts folder triggers the run.
  2. 2OpenAI reads the receipt and extracts structured fields.
  3. 3The parsed expense is inserted into the Postgres ledger.
  4. 4A policy check evaluates the amount and category.
  5. 5Violations are posted to the Notion exceptions board for approval.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect Google DriveDocs, sheets, slides, files.
  2. 2
    Connect OpenAIModels, embeddings, files.
  3. 3
    Connect PostgresAny Postgres URL — query, write, migrate.
  4. 4
    Connect NotionPages, databases, comments.
  5. 5
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  6. 6
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  7. 7
    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.