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.
- Collectorpulled 2 reports for May
- Plannermatched two invoice formats
- Enginecompared 1,482 invoices
- Investigatorexplained 3 of 3 differences
- Resolverdrafted 3 fixes for approval
| Ref | Line | Amount | Agent finding | Drafted action |
|---|---|---|---|---|
| a | Zuora Billing, May invoices | 1,284,650.00 | 1,482 invoices | |
| b | NetSuite invoice register, May | 1,296,810.00 | 1,481 lines | |
| c = b − a | Difference | 12,160.00 | ||
| INV000125 | Synced to NetSuite twice | 24,000.00E | IDs 9024 and 9025 F-1 | Void 9025 in NetSuite |
| INV000107 | Missing in NetSuite | (8,640.00)E | No NetSuite transaction for it | Resync from Zuora |
| INV000131 | Posted in June in NetSuite | (3,200.00)E | Zuora date 31 May, NetSuite date 2 June | Move to the May period |
| Unexplained difference | 0.00 | tied, 3 fixes waiting for your OK | ||
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,342 | values compared with the analysts' workbooksEvery one matched, at ±0.01 | 100% |
| 9 of 9 | standard Zuora Revenue reconciliations rebuiltBilling, Waterfall, Netting, Accounting, CA/CL, unsatisfied POB, Booking | Tied |
| < 30 s | to reconcile 530,083 RC Rollforward lines against netting entriesThe report analysts split in Notepad++ before they can open it | Measured |
| 14 of 14 | reconciliations planned from plain English aloneThe planner found every contract the analyst had listed as an exception | Found |
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
Collector agent
Pulls the dataConnects 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 AllNetSuite invoice register
1,481 lines, saved search 2214 -
2
Planner agent
Turns your words into a planReads 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 reportsThe two reports use opposite signs. Use Waterfall + RCRF as the difference? -
3
Reconciliation engine
The one step with no AIRuns 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 currency530,083 lines in under 30 seconds -
4
Investigator agent
Explains every exceptionLabels 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
Resolver agent
Drafts the fixDrafts 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 51007Dr 2410 Deferred Revenue1,000.00Cr 4010 Subscription Revenue1,000.00Waiting for controller approval -
6
Reporter agent
Writes up the closeProduces the workpapers in your team's tab names and labels, then the schedules that follow from reconciled data.
Contract balances rollforwardASC 606-10-50-8Remaining performance obligationsASC 606-10-50-13Disaggregation of revenueASC 606-10-50-5Audit 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.
One reconciliation today
- Download each report and split the large ones to fit Excel
- Rebuild the pivots and VLOOKUP the keys across files
- Fix sign conventions and number formats by hand
- Hunt down each difference and type a comment
- Review and sign off
With Recon Studio
- Agents pull, reconcile and explain overnight
- You review the exceptions that remain
- 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.
| Reconciliation | What it proves | Tested |
|---|---|---|
| Billing to RC Rollforward | Every invoiced dollar became a contract-liability addition, with holds and auto-POBs explained by evidence. | 24 of 24 RCs |
| Waterfall to RC Rollforward | Revenue recognized in the open period agrees contract by contract, sign conventions handled. | 210 of 210 RCs |
| Netting to RC Rollforward, CA and CL | Contracts in a net contract-asset position are reclassed completely, in transaction and functional currency. | 15,043 RCs |
| Accounting to Waterfall, RCRF and Billing | Subledger journals tie to revenue, liability movements and invoicing, line by line. | 3 recons |
| Revenue from prior-period CA and CL | Revenue recognized from opening balances for the period, quarter and year to date. | PTD, QTD, YTD |
| Unsatisfied performance obligations | The 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 Detail | RC grouping applied to sales-order lines is the same in both reports. | 186 SO lines |
| ERP and CRM tie-outs | Zuora 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.
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.
- Connect your systems or send exports from Zuora, NetSuite, Oracle or Salesforce for one closed month.
- We rebuild your reconciliations together from your own close checklist, in one working session.
- Compare against your workpapers value by value, and keep the templates.
- 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.