INVOICE PROCESSING
Reconcile metered usage against draft Stripe invoice before send
Pulls the billing period's metered events from BigQuery, compares the totals to the quantities on each draft Stripe invoice.
How it runs
The automated pipeline, trigger to output.
- TriggerSchedule fires before Stripe finalization window
- ActionQuery per-customer metered totals from BigQueryBigQuery
- ActionFetch draft Stripe invoices and line quantitiesStripe
- LogicDiff usage vs. invoiced quantity per line, apply tolerance
- OutputPost Slack approval card for flagged variancesSlack
What it does
Before Stripe finalizes a billing cycle, this workflow independently recomputes what each customer should owe from the raw usage events in BigQuery and diffs that against the quantities Stripe already metered onto the draft invoice. Mismatches beyond a tolerance get held for human review instead of going out wrong.
When to use it
Run it on usage-based plans where metered events flow into Stripe via the meter events API but you don't fully trust the pipeline — dropped events, double-counts, or proration bugs. Ideal as a monthly close-the-books guardrail before invoices auto-finalize.
How it works
- 1A scheduled trigger fires a few hours before Stripe's invoice finalization window.
- 2Query BigQuery for per-customer usage totals over the billing period, grouped by meter and Stripe customer ID.
- 3Pull all draft (open) Stripe invoices for the period and read their line-item quantities.
- 4Logic step joins the two sets and computes the variance per line; lines within tolerance pass silently.
- 5For any invoice with a flagged delta, post a Slack approval card with the BigQuery total, the Stripe quantity, and the dollar impact, tagging the billing owner to approve or correct before send.
Set it up
What you configure once, before turning it on.
- 1Connect StripeCustomers, subscriptions, payments.
- 2Connect BigQueryDatasets, queries, schemas.
- 3Connect SlackChannels, DMs, threads, mentions.
- 4Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
- 5Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
- 6Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.
More Invoice Processing workflows
Catch duplicate invoices as they hit your AP inbox
Watches your accounts-payable Gmail inbox for incoming invoice emails, fingerprints each one, and routes likely duplicates to a review label instead of into the approval queue.
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.
Nightly audit that flags duplicate payments already made
Runs every night to scan the last 90 days of Stripe payments against your Postgres invoice ledger.
Block duplicate Stripe payouts before they send
When a new vendor invoice is queued for payment in Stripe, cross-check it against your paid-invoice history in Postgres and halt any payout that matches an already-paid invoice.
Agent that codes Front invoices to GL accounts and drafts a bill
An agent reads each Front vendor invoice, assigns GL account codes per line item using your chart of accounts and past coding history.
Detect duplicate Front invoices and archive originals to S3
Parses each Front vendor invoice, checks it against a history table for duplicates, archives the source PDF to S3 with a normalized key, and alerts AP when a duplicate is caught.
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.
