EntityYour company
WorkpaperRevenue reconciliation, May close
W/P refA-1
Prepared byRecon Studio agents
Reviewed byYou, 3 June

AI agents that reconcile your revenue close, to the cent.

Recon Studio pulls reports from Zuora, NetSuite, Oracle and Salesforce, reconciles them the way you describe in plain English, explains every difference with evidence and drafts the fix. Your team reviews the exceptions and signs off.

Lead schedule: Zuora Billing to NetSuite invoice registerMay close, example data
  1. Collectorpulled 2 reports for May
  2. Plannermatched two invoice formats
  3. Enginecompared 1,482 invoices
  4. Investigatorexplained 3 of 3 differences
  5. Resolverdrafted 3 fixes for approval
RefLineAmountAgent findingDrafted action
aZuora Billing, May invoices1,284,650.001,482 invoices
bNetSuite invoice register, May1,296,810.001,481 lines
c = b − aDifference12,160.00
INV000125Synced to NetSuite twice24,000.00EIDs 9024 and 9025 F-1Void 9025 in NetSuite
INV000107Missing in NetSuite(8,640.00)ENo NetSuite transaction for itResync from Zuora
INV000131Posted in June in NetSuite(3,200.00)EZuora date 31 May, NetSuite date 2 JuneMove to the May period
Unexplained difference0.00tied, 3 fixes waiting for your OK
Agreed to source lines Footed Explained with evidence Drafted, waiting for approval

Accuracy, measured against the analysts' own workpapers.

We rebuilt a revenue team's real month-end reconciliations and compared every value the engine produced with the spreadsheets their analysts signed.

458,342values compared with the analysts' workbooksEvery one matched, at ±0.01100%
9 of 9standard Zuora Revenue reconciliations rebuiltBilling, Waterfall, Netting, Accounting, CA/CL, unsatisfied POB, BookingTied
< 30 sto reconcile 530,083 RC Rollforward lines against netting entriesThe report analysts split in Notepad++ before they can open itMeasured
14 of 14reconciliations planned from plain English aloneThe planner found every contract the analyst had listed as an exceptionFound

Measured in testing on one company's May close workbooks and on synthetic NetSuite, Oracle and Salesforce exports.

Six agents run the close end to end. You approve what matters.

Each agent does one job a revenue accountant does today, and leaves its work on the workpaper for you to review. The arithmetic belongs to a deterministic engine, so the same plan on the same data gives the same answer every time.

  1. 1

    Collector agent

    Pulls the data

    Connects to Zuora, NetSuite, Oracle, Salesforce and your warehouse, pulls the reports for the period every night, and reads report headers, periods and filters so nothing is downloaded by hand.

    RC Rollforward, PM_Layout
    31,652 rows, period May, MJE flag All
    NetSuite invoice register
    1,481 lines, saved search 2214
  2. 2

    Planner agent

    Turns your words into a plan

    Reads the recon the way your close checklist describes it, inspects the data, and writes a plan a controller can check line by line. Anything ambiguous comes back as a question with a recommended answer.

    Tie the May Waterfall to the RC Rollforward by RC. Difference zero is No issues, otherwise check holds.

    Key overlap checked: 210 of 210 RC IDs in both reports
    The two reports use opposite signs. Use Waterfall + RCRF as the difference?
  3. 3

    Reconciliation engine

    The one step with no AI

    Runs the approved plan exactly, to the cent: filters, lookups, sign conventions, tolerances and labels. Re-run it any time and you get the same answer.

    15,043 RCs reconciled in transaction and functional currency
    530,083 lines in under 30 seconds
  4. 4

    Investigator agent

    Explains every exception

    Labels each difference with its cause and the evidence behind it: holds, auto-POBs, duplicates, missing syncs, misposted releases and period cut-off. When evidence is missing, it says so.

    RC 20365, on hold
    Found in the Hold report, explains (45.87)
    83 RCs, summarization timing
    Waterfall ahead of the last summarization run
  5. 5

    Resolver agent

    Drafts the fix

    Drafts the correcting journal entry, the resync or the task, routes it to the owner, and posts only after the right person approves.

    Correcting entry, RC 51007
    Dr 2410 Deferred Revenue1,000.00Cr 4010 Subscription Revenue1,000.00
    Waiting for controller approval
  6. 6

    Reporter agent

    Writes up the close

    Produces the workpapers in your team's tab names and labels, then the schedules that follow from reconciled data.

    Contract balances rollforwardASC 606-10-50-8
    Remaining performance obligationsASC 606-10-50-13
    Disaggregation of revenueASC 606-10-50-5
    Audit PBC packageYear end

Work out the hours your team gets back.

Put in your own close. Blue figures are inputs, like a model your FP&A team would build.

$
%
Hours back per month
57.6
Working weeks back per yearAt 40 hours a week
17.3
Cost returned per year
$65,664

An estimate from your inputs: reconciliations × hours × 12 months × (1 − review time kept). It is not a measured result.

One reconciliation today

  1. Download each report and split the large ones to fit Excel
  2. Rebuild the pivots and VLOOKUP the keys across files
  3. Fix sign conventions and number formats by hand
  4. Hunt down each difference and type a comment
  5. Review and sign off

With Recon Studio

  1. Agents pull, reconcile and explain overnight
  2. You review the exceptions that remain
  3. You approve the drafted fixes and sign off

Today the close runs on VLOOKUPs and one person's memory.

We read a revenue team's month-end procedures line by line. These sentences are quoted from them.

Waterfall is a large report… use Notepad++ to divide the report into two or more parts.

Half-million-line reports don't fit the tool the close depends on.

Collector pulls it whole, every night.
Can be ignored as discussed for similar variance observed in previous months.

The reasons live in comment cells. When the analyst leaves, so do they.

Investigator keeps the evidence with the run.
Compare both columns and take a difference.

Except the RC Rollforward stores releases as negatives, so the real difference is a sum.

Planner checks the signs and asks.

The ASC 606 reconciliations your close needs, ready on day one.

Each ships as a template. Use it as it is, or describe your variation in plain English and save your own.

ReconciliationWhat it provesTested
Billing to RC RollforwardEvery invoiced dollar became a contract-liability addition, with holds and auto-POBs explained by evidence.24 of 24 RCs
Waterfall to RC RollforwardRevenue recognized in the open period agrees contract by contract, sign conventions handled.210 of 210 RCs
Netting to RC Rollforward, CA and CLContracts in a net contract-asset position are reclassed completely, in transaction and functional currency.15,043 RCs
Accounting to Waterfall, RCRF and BillingSubledger journals tie to revenue, liability movements and invoicing, line by line.3 recons
Revenue from prior-period CA and CLRevenue recognized from opening balances for the period, quarter and year to date.PTD, QTD, YTD
Unsatisfied performance obligationsThe unsatisfied POB balance equals future scheduled revenue plus unreleased amounts less MJE releases, the backbone of the RPO disclosure.20,285 lines
Booking to RC DetailRC grouping applied to sales-order lines is the same in both reports.186 SO lines
ERP and CRM tie-outsZuora invoices reached NetSuite once and in period, Oracle GL deferred revenue ties to the rollforward, and every closed-won deal is booked.Synthetic exports

Every number traces to a source line.

Built for the review and the audit that follow the close.

  • You approve the logic firstNothing runs until someone confirms the plan. It is stored with the run and printed in the workpaper as the documented procedure.
  • Click any figure, see its rowsEvery amount opens to the exact report lines behind it, on both sides.
  • Evidence, not guesses"On hold" means the contract was found in the Hold report. An inferred reason says it was inferred.
  • Your format and your labelsTab names, column headers and comment wording match the workbooks your reviewers sign today.

Revenue lives in many systems. The reconciliation doesn't care.

Different key formats, number formats and report layouts are handled for you: INV-000123 against INV000123, 1.234,56 against 1,234.56, an RC ID buried in a journal description.

Zuora RevenueRollforward, Waterfall, Billing, Accounting, CA/CL, POB, Holds
Zuora BillingInvoices, credit memos, subscriptions
NetSuiteSaved searches, invoice register, AR aging, GL
Oracle Fusion and EBSGL journal lines, account mappings, AR
SalesforceClosed-won opportunities, CPQ quotes
SAP S/4HANARAR contracts, FI-GL postings
Snowflake and BigQueryAny table or view your data team curates
Excel and CSVAnything else, including mapping tables

Bring last month's close. Leave with it reconciled.

We're working with a small group of revenue teams as design partners for the ASC 606 close.

  1. Connect your systems or send exports from Zuora, NetSuite, Oracle or Salesforce for one closed month.
  2. We rebuild your reconciliations together from your own close checklist, in one working session.
  3. Compare against your workpapers value by value, and keep the templates.
  4. Run next month's close with the agents and measure the hours yourself.
Does the AI calculate our balances?

No. Agents write the plan and explain the results. A deterministic engine does every calculation, the same way on every run, and the plan is printed in the workpaper.

What if an agent misunderstands the request?

You see the plan before anything runs, with live counts from a dry run on your data. Ambiguities come back as questions. Nothing runs or posts until someone approves it.

Can it match our existing workbooks?

Yes. Tab names, column headers and comment wording follow your templates. In testing, outputs matched the analysts' own workbooks value for value.

Who approves journal entries?

Your people. The Resolver agent drafts entries and routes them to the approver you set. Nothing posts to your ledger without that approval.