DOCUMENT OPS

Expense policy violation flagging from receipts

Checks each newly parsed receipt against spend-policy rules in BigQuery, flags over-limit, weekend, or restricted-category charges.

CategoryDocument Ops
Enginesim
Difficultyadvanced
Triggerevent
Steps5
Setup~25 min

How it runs

The automated pipeline, trigger to output.

  • TriggerNew parsed receipt row in BigQueryGoogle BigQueryBigQuery
  • ActionLoad policy rules and category caps from BigQueryGoogle BigQueryBigQuery
  • LogicEvaluate receipt against rules; collect violations
  • ActionPost violation with rule details to Slack approvalsSlack
  • OutputMark row approved or pending-approval in BigQueryGoogle BigQueryBigQuery

What it does

Enforces expense policy at the moment a receipt is parsed. As records land in BigQuery, it evaluates each against configurable rules, per-category dollar caps, disallowed merchant categories, and same-receipt-over-limit checks, and surfaces anything that breaks policy to a Slack approvals channel for sign-off.

When to use it

Use it when finance needs guardrails rather than after-the-fact audits. It catches a $400 dinner, a flight booked on a restricted card, or a banned category before reimbursement, while letting compliant receipts pass untouched.

How it works

  1. 1A new parsed receipt record in BigQuery triggers the evaluation.
  2. 2An action loads the active policy rules and category caps from a BigQuery config table.
  3. 3A logic step tests the receipt against each rule and collects any violations.
  4. 4Compliant receipts are marked approved and the run ends.
  5. 5Violating receipts post to the Slack approvals channel with the specific rule broken and approve or reject actions; the row is marked pending-approval in BigQuery.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect BigQueryDatasets, queries, schemas.
  2. 2
    Connect SlackChannels, DMs, threads, mentions.
  3. 3
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  4. 4
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  5. 5
    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.