FINANCE

Billing-vs-Recognition Reconciliation to Snowflake and Email

Reconciles invoiced amounts in BigQuery against recognized revenue to find unbilled-but-recognized and billed-but-unrecognized timing gaps, writes the reconciliation to Snowflake.

CategoryFinance
Enginesim
Difficultyadvanced
Triggerschedule
Steps6
Setup~25 min

How it runs

The automated pipeline, trigger to output.

  • TriggerWeekly reconciliation schedule fires
  • ActionPull invoiced and recognized amountsGoogle BigQueryBigQuery
  • LogicClassify asset/liability and compute gap
  • ActionWrite reconciliation to SnowflakeSnowflakeSnowflake
  • ActionSummarize top exceptionsOpenAI
  • OutputEmail digest to controllerOutlook

What it does

Reconciles two views of revenue that often diverge on timing: what was billed and what was recognized. It identifies contract assets (recognized ahead of billing) and contract liabilities (billed ahead of recognition), persists the reconciliation, and digests the exceptions for the controller.

When to use it

Run it weekly or at close to keep the unbilled and deferred balances clean and to give the controller an audit-ready bridge between the billing system and the recognition ledger.

How it works

  1. 1A weekly schedule triggers the run.
  2. 2BigQuery returns invoiced amounts and recognized amounts per contract for the period.
  3. 3A logic step classifies each contract as contract asset, contract liability, or matched, and computes the timing gap.
  4. 4The full reconciliation table is written to a Snowflake table for downstream reporting.
  5. 5OpenAI summarizes the largest exceptions, and the digest is emailed to the controller via Outlook.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect BigQueryDatasets, queries, schemas.
  2. 2
    Connect SnowflakeWarehouses, queries, shares.
  3. 3
    Connect OpenAIModels, embeddings, files.
  4. 4
    Connect OutlookMail, calendar, contacts.
  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.