The books overstate revenue by 16%, and the margin miss is one product line.
June 2026 close
Distance from plan, by product line
Bar height is revenue share. The largest line in the book is also the furthest below plan.
What was verified
How it was built. SQL views over 30,000 transaction-level records turn raw detail into close artifacts. The site carries no database credentials — figures are precomputed, so there is nothing at the edge to leak. Alfred, the analyst in the drawer, explains reconciled figures rather than recalculating them, and is not permitted to assert a cause the data does not establish.
A close is not finished when the numbers are produced. It is finished when someone can say what is wrong with them and what it costs to fix. This tower reconciles 30,000 order-level transactions against the general ledger across 48 periods and surfaces what the summary hides.
Close period at a glance
What the close found
Recognized revenue against what was billed
The top two bands are revenue the general ledger recognizes and accounting standards do not. Across all 48 periods that is , or of recognized revenue.
v_ct_revenue_recognition, v_ct_subledger_to_gl, v_ct_channel_recon, v_ct_ar_aging, v_ct_tax_accrual, v_ct_flux. Nothing here is illustrative: the numbers reproduce by running the views. The underlying company is anonymous and the dataset carries no personal data.
The ledger records the full value of every order as revenue. It does that for cancelled orders too, and for orders that came back. Under ASC 606 revenue is recognized net of expected returns, and an order that was cancelled is never recognized at all. The bridge below is the difference between what was billed and what may be reported.
The bridge, drawn
Every step is a decision the ledger did not make. The two red bars are what has to come off before a client sees a top line.
Gross to net, all 48 periods
| Bridge | USD | Share of gross |
|---|
By period, trailing twelve
| Period | Gross billings | Cancelled | Returns | Recognizable | Not recognized |
|---|
The transactional subledger and the general ledger have to agree, every period, to the cent. Forty-eight periods reconcile with zero variance — and that is worth saying out loud, because the value of the control is not that it found a break. It is that it would find one the month it appeared, instead of at the audit.
Reconciliation coverage
Forty-eight periods, one square each
Green is a period where the transaction detail and the ledger agree to the cent. A single amber square would be a month of work — and the point of the control is that it would appear the month it happened.
v_ct_subledger_to_gl aggregates order-level detail by period and joins it to the monthly ledger, returning the variance and a status flag. Anything with an absolute variance above one cent is flagged rather than rounded away. The test costs one query and it is the difference between asserting the books are right and knowing it.
Six payment channels settle separately, each with its own discounts and refunds. Matching what a channel paid out against what the ledger recorded is the work no ERP does on its own — and it is where most of the difference in an e-commerce book hides.
Settlement to ledger · close period
| Channel | Txns | Gross | Discounts | Refunds | Net settled | Status |
|---|
Net settled against refunds
Cash on Delivery and Debit Card carry the heaviest refund load relative to what they settle.
Orders still marked Processing or Shipped carry an open balance. All but a fraction of it is more than ninety days old, and more than two thousand of those orders never left Processing at all. A receivable that has not moved in a quarter is rarely a collections problem — it is a status field nobody closed.
Where the 30,000 orders sit
Returned and cancelled orders are the two blocks the ledger still counts as revenue. Processing is the block that should have moved and did not.
Open balance by age
| Bucket | Orders | Processing | Shipped | Balance | Share | Treatment |
|---|
The business sells into ten jurisdictions. That is ten tax liabilities, not one line on the balance sheet — and the effective rate moves between 6.97% and 8.62% depending on where the order landed.
Accrual by jurisdiction · close period
| Country | Taxable base | Tax collected | Effective rate |
|---|
Where the liability sits
Ten jurisdictions, effective rates from 6.97% to 8.62%. One accrued-tax account cannot be tested; this can.
Actual revenue landed under budget in ten of the last twelve periods, and gross margin missed the 21% budget line in all twelve, averaging . A budget that is never met stops being a target and becomes noise in the variance column — which is worse than having no budget, because it trains everyone to ignore the number.
Actual against budget
Where the margin actually goes
Electronics is of trailing-twelve revenue at the worst margin of the eight categories. Bring that one line to 21% and blended margin lands at 22.0% instead of 19.3% — it accounts for the entire miss on its own. Country and customer segment were tested and cleared: margin varies 1.88 and 0.71 points across them, which is noise.
Gross margin against plan
The line never crosses the budget. Twelve periods below plan is not a variance — it is a plan that was never right.
Variance detail
| Period | Actual | Budget | Variance | Gross margin | Budget GM | Status |
|---|
The close is the product. Everything else is bookkeeping.
An outsourced accounting firm does not sell reconciliations. It sells the moment a founder opens the monthly package and trusts what is in it. This is what that package looks like when the person building it can also build the system underneath.
The problem this was built for
A summary cannot be audited
Most close packages are built from a monthly rollup. If the rollup is wrong, nothing downstream can catch it — the error is already baked into every margin, every KPI and every decision taken from them.
This tower starts at the transaction and works up. That is the only direction in which a variance is findable.
Multi-client means multi-shape
No two clients close the same way. One has inventory and three channels; the next has deferred revenue and none. A close system that assumes one shape breaks on the second engagement.
Every view here is driven by SQL over raw detail, so a new client is a new query — not a new spreadsheet nobody else can maintain.
Speed is not the hard part
Closing faster is easy if nobody checks. The difficulty is closing faster and being able to prove the books tie — which is why the tie-out runs on all 48 periods, every time, instead of on a sample.
Four findings came out of this dataset. Not one of them is visible in a monthly summary, and all three change what a client should be told.
What the work produced
Revenue overstated by 16%
The ledger recognizes the full value of every order — including 1,771 cancelled and 3,033 returned. ASC 606 requires revenue net of expected returns; a cancelled order is never recognized.
Consequence: every margin in the package inherits the error, and so does every decision taken from it.
Receivables that are not receivables
96% of the open balance is over ninety days, and 2,092 of those orders never left Processing. That is not a collections problem — it is a status field nobody closed, sitting on the balance sheet as an asset.
A budget nobody can hit
Gross margin missed plan in all twelve trailing periods. A target that is never met stops being a target and becomes noise — which is worse than no budget, because it trains everyone to ignore the variance column.
How it was built, and why that way
The accounting lives in SQL, not in a spreadsheet
Six views turn transactional detail into close artifacts. They are readable, versioned and reproducible — anyone can run them and get the same number, which is the whole point of a control.
The site carries no credentials
Figures are precomputed at build time, so the deployed tower needs no database connection and no secrets at the edge. Fast, and nothing to leak.
Alfred explains, he does not recalculate
The close analyst answers from the reconciled figures and is forbidden from asserting a cause the data does not establish. Asked why margin moved, it states the movement and names the detail it would need.
A confident wrong driver is worse than no driver. That is true of accountants before it is true of models.
The distinction that matters: this was not a dashboard commissioned from a designer and filled with numbers. The person who found the revenue recognition error is the person who wrote the query, drew the chart and wrote the sentence explaining it.
Who built it
Alfredo R. Suárez Espinosa
Nine years across the US and LATAM owning full-cycle close in multi-entity, multi-client environments. Ran accounting and reconciliation for a US proptech operating 100+ entities on NetSuite, automating the reconciliation routines in Python and cutting close-the-books delay by roughly 70%. Led budgeting and client-facing financial reporting for international portfolios under US GAAP and IFRS.
This transaction-level analysis is the basis for the client financial package I would build.
Everything above reports what the data already contained. What follows is the part that is not yet done — named as artifacts rather than intentions, with the dependency each one carries stated in the open. A proposal that hides its constraints is not a proposal.
The first three workstreams
Client diagnostic package
A monthly report that connects the financial result to the operational driver behind it.
- A revenue reconciliation bridge, gross sales to net recognised revenue
- A source-of-margin report tracing gross profit to individual product lines
- An aged receivables cohort analysis showing payment velocity by customer group
- Requires transaction-level access to the client's sales, billing and general ledger systems. A summary export will not support the bridge.
The thirty-day close playbook
A standard process that makes a new client's first close accurate and the second one repeatable.
- A client data request list and chart-of-accounts mapping template
- A master close checklist with named owners and deadlines by close day
- A management reporting pack template with metric definitions written down
- Requires working with the existing team to codify what already works. Written in isolation it becomes a document nobody follows.
Key controls documentation
The controls that make the numbers defensible when someone outside the firm asks.
- A bank and key-account reconciliation review procedure
- A revenue recognition policy memo based on the client's standard contracts
- An accrual and reversal checklist for the major expense categories
- Requires the client to adopt and maintain the procedures. A control nobody performs is a document, not a control.
Ninety days, and what exists at the end of each
Pilot client
At the end: a complete diagnostic package for one client that did not have one — built end to end, not designed on paper.
Playbook
At the end: a first draft of the close playbook in front of the team for review, written from what the pilot actually took rather than from theory.
Rollout
At the end: the package and playbook running on a first portfolio of clients, with the staff who deliver them trained on both.
The first client diagnostic package lands within thirty days of a start date.
A commitment, not an intentionThe close is complete. Three things in it are costing you, and only one of them is cash.
Built from your trailing twelve months of transaction data, not from a summary export. Every figure below reproduces by running the queries. Where a number is a correctness problem rather than money that arrives, it says so.
What it is costing
Annual gross profit gap, Electronics
Electronics is 55% of revenue at 16.09% margin against a 21% plan. Closing that one category to plan adds this much gross profit a year without a single additional sale.
It is recoverable, but not automatically: it comes from repricing or renegotiating landed cost, not from an accounting entry. Five of the eight categories already clear 21%.
Receivables past ninety days
Across 5,351 orders. Nearly USD 800,000 of it sits against orders that never left Processing — which is a fulfilment failure showing up as an asset, not a collections problem.
Some of this is collectable and some was never real. Until they are separated, the balance sheet overstates what the business owns.
Revenue recognised that should not be
This one is not money you are missing. It is revenue the ledger recognises on 1,771 cancelled and 3,033 returned orders, which ASC 606 does not permit.
It matters anyway: it overstates the top line to anyone reading your accounts, and every margin below it inherits the error. A lender or an investor finds this, and it costs more than fixing it.
The engagement
Diagnostic and root cause
Delivered: a root-cause analysis on the Electronics margin gap and the unshipped receivables, and a process map of the current order-to-cash cycle.
You gain: the ability to name why, not only what. Country and customer segment are already tested and cleared, so the search is narrow.
Redesign and correction
Delivered: a revised procedure for order processing and revenue recognition, and the set of adjusting entries that correct the receivable and revenue balances.
You gain: historical records that reconcile, and procedures that stop the same balances rebuilding next quarter.
Controls and monitoring
Delivered: a close checklist carrying the new controls, and a live dashboard on gross-to-net revenue, days sales outstanding and Electronics margin.
You gain: the ability to see the next break in the month it happens rather than at the audit.
What it is worth, honestly
One of the three figures is money. The USD 75,728 annual gross profit gap in Electronics is recoverable, and it recurs every year it goes unaddressed. It is the only number here that arrives in the bank, and even that one requires a commercial decision rather than an accounting one.
The other two are correctness. Separating the USD 2,007,970 receivable into what is collectable and what was never shipped does not create cash — it tells you which of it you were counting on and should not have been. Restating revenue net of returns does not reduce what you earned; it changes what you may report, which is the prerequisite for every forecast built on top of it.
Stated plainly so it is not oversold: this engagement pays for itself out of the Electronics margin gap alone if that gap closes. The rest is the difference between accounts that are approximately right and accounts that are defensible.