1. Pull the source records. NetSuite revenue arrangements and deferred revenue balances, Shopify subscription orders, contracted amounts from CRM or a spreadsheet. The flow ingests each source.
2. Standardize the customer key. Email, customer ID, contract ID. The flow joins across systems on a consistent identifier so a single customer rolls up to one row.
3. Map the recognition schedule. Contract start, end, period count, recognition method. Each customer gets the right ratable schedule applied.
4. Calculate the period balance. Beginning deferred, additions, recognized this period, ending deferred. Per customer, per arrangement.
5. Compare against the contract. Flag any timing differences between contracted recognition and what NetSuite actually posted. Tag the reason: missed period, accelerated recognition, churn, refund.
6. Aggregate by segment. Roll up by product, channel, brand, or revenue category. Finance reviews the rollup; audit reads the detail.
7. Output the schedule. Per-customer detail, period roll-up, JE-ready file for any catch-up entries, and a flagged exception list.