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.

CategoryInvoice Processing
Enginesim
Difficultyintermediate
Triggerschedule
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerSchedule fires before Stripe finalization window
  • ActionQuery per-customer metered totals from BigQueryGoogle BigQueryBigQuery
  • ActionFetch draft Stripe invoices and line quantitiesStripeStripe
  • 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

  1. 1A scheduled trigger fires a few hours before Stripe's invoice finalization window.
  2. 2Query BigQuery for per-customer usage totals over the billing period, grouped by meter and Stripe customer ID.
  3. 3Pull all draft (open) Stripe invoices for the period and read their line-item quantities.
  4. 4Logic step joins the two sets and computes the variance per line; lines within tolerance pass silently.
  5. 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.

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