June 16, 2026

Reconciling a Business inΒ Motion

An Isotopes AI explainer Β· for finance and data leaders driving AI transformation in their business‍

‍

Every System of Record Captures Snapshots of the Business at a Different Tempo

‍

No one in a large company has ever seen the business whole, much less in motion. Each system of record captures it from one angle, at one tempo, frozen at the moment each record was written: the CRM holds the sales view, the ERP the financial view, the HRIS the people view, the planning system the budget view, procurement the commitment view. Every one is a faithful picture of its own slice β€” and none of them is current, because the business kept moving after the picture was taken.

‍

So reconciling any three or more of these systems is the same problem: aligning views that were never pointed at the same instant of the business. The hardest and most expensive instance β€” the one this paper works through in detail β€” is the finance close, where three systems hold three views of every dollar across time:

‍

  • Plan is the past reasoning forward β€” a budget built on how the org looked and what it expected, often quarters ago.
  • Actuals are the present β€” what the ledger says has happened.
  • Commitments are the future as told by the imperfect present β€” open POs that may still fall out, shift, or never post.

‍

These three are the worked example throughout, because they are where the money and the difficulty concentrate. The same fracture runs through revenue (bookings vs. billings vs. recognition), workforce (planned vs. actual headcount vs. open reqs), and supply chain (forecast vs. POs vs. receipts) β€” finance is simply where it's worst, so that's where we start. Everything that follows about why pipelines fail and reasoning succeeds is general to any systems of record you try to reconcile.

‍

That's why nothing ties them together cleanly. To match a planned dollar to the dollar that was actually spent and the dollar that's still committed, you'd need a shared reference that all three systems agree on β€” and there isn't one. Each was built by different people, at different times, to answer a different question, so the same purchase shows up under a different cost center in the plan, a different account in the ledger, and a different category on the PO. The labels are assigned by hand, by whoever coded the entry, so they drift as people and org charts change. And the cases that actually move the number β€” the ones worth catching β€” are the ones nobody can list in advance; you only find them by doing the reconciliation. Any mapping you build ahead of time is wrong on the details and out of date the day you finish it.

‍

And the views don't hold still while you reconcile them. The residual a single pass can't close is the friction of a present still resolving into the past and a future still reckoning with the present: a placeholder PO is a future still reckoning with the present; a cross-charge that won't net is two entities whose clocks haven't synchronized; a cost-center collapse is the past being re-narrated to fit a changed present. Each is a seam, not dirty data β€” and you close a seam by working out where each piece sits in time (this commitment will land here; these two centers became one), checking it against the data, and adjusting. Reconciliation is not a lookup. It is a reasoning task performed fresh each period against a business in motion β€” and every answer is verified against the business's own reality before it's trusted.‍

‍

The rest of this page shows why, with one worked example.

‍

‍

The worked example: one purchase, three irreconcilable records

‍

To make the problem concrete, zoom into the finance instance. Take a single real-world event: the Cybersecurity team buys a year of managed detection-and-response (MDR) from a vendor, for $2.4M, on a 12-month contract signed in March.

‍

That one economic event is recorded three times, by three populations, in three taxonomies that were never designed to agree.

‍

  • In the plan (e.g. Anaplan, Hyperion), the budget owner planned it under cost center CYBER-OPS-NA β€” a structure that reflects how the org looked when the plan was built β€” in a planning category called "Security Operations β€” Managed Services," smoothed at $200K/month.
  • In the GL (e.g. NetSuite, SAP), the controller books the invoices to leaf accounts of the corporate chart β€” say 6420-330 and 6425-110, split because part is "monitoring" and part is an "incident-response retainer" β€” against whatever cost center is active today, which after last year's reorg is SEC-1180. She codes by her own local convention.
  • In the PO system (e.g. Coupa, Ariba), procurement raised the order against a purchasing category β€” UNSPSC 81111801 ("computer security services") β€” tied to vendor master record V-44871, under PO number 4500-88231 with a delivery/payment schedule, but with no GL account and no cost center on it at all, because procurement thinks in spend categories and supplier contracts, not GL accounts.

‍

‍

One purchase recorded differently in planning, ERP, and procurement systems with no shared reconciliation key.

‍

‍

Every field is different. There is nothing that appears in all three records to match on β€” not the cost center (drifted in the reorg), not the account (doesn't exist in plan or PO), not the category (three different category systems), not even the amount (smoothed in plan, split in GL, committed upfront in PO). That is the problem in a single purchase.

‍

‍

Extraction was never the problem

‍

Reading the invoice β€” vendor, date, amount, address, line items β€” is solved. The AP tools most large enterprises already own extract it at well over 95% accuracy. If the difficulty were optical, it would already be fixed.

‍

And yet the close is still slow and the numbers still don't reconcile. The hard part was never reading the invoice β€” it's where it belongs: which account and cost center this controller would code it to, which of fifteen POs it ties to, whether it nets against a plan line modeled under a since-superseded org. A perfectly extracted invoice still has no shared key to the plan or the commitment. Every AP tool a prospect already owns is quiet proof of the point: reading was solved, and the problem didn't go away.

‍

‍

Why it can't be solved the way the stack was built to solve it

‍

The warehouse paradigm has one move: anticipate the question, then build the pipeline. That move is defeated here by five distinct problems stacked on top of each other. Any one is surmountable alone. The combination has never been done.

‍

1. There's no shared reference across the three systems

‍

Each system was built by a different population, at a different time, to answer a different question β€” plan asks what did we expect, actuals what occurred, commitments what's coming. A planned line, the ledger entries that fulfill it, and the PO that committed to it carry no common identifier, because they were never describing the same moment. Even the cost centers don't line up: after a reorg, centers exist in the ledger with no equivalent in the plan, and vice versa. A warehouse can hold all three systems and still not reconcile them β€” putting the data in one place is a storage problem; making it agree is a meaning problem, and only the first one is solved by moving it.

‍

2. The coding is local, so the "rule" is really a distribution

‍

The phrase that does the damage: each controller codes to leaf accounts at their own convention, under local laws or practices. Corporate owns the structure of the chart of accounts. The act of choosing which leaf account an invoice lands in is local, and controllers apply their own conventions:

‍

  • The planner books the spend under OPEX code OPX-4150 β€” "Other Internal Charges." The controller actuals it to OPX-4185 β€” "Corporate Chargeouts." Two codes, identical business meaning, differing only at the leaf β€” a "mirror pair" no fixed join will ever match, because nothing in the data says they're the same thing.
  • A second controller, same service, uses her own inherited convention; a third lumps it into a generic account for lack of a local one. Same purchase, same economic substance, different accounts β€” none wrong by local convention.

‍

Multiply by hundreds of cost centers and thousands of vendors and the "rule" for where a cost lands is not a rule at all; it's a probability distribution across accounts that shifts by cost center and by controller. A deterministic pipeline needs a rule. The rule doesn't exist. (The same account number also means different things in different cost centers, so you can't even trust the account as a semantic anchor.)

‍

The same fracture hits vendors. "Northwind" in the plan is "NORTHWIND CLOUD SERVICES IRELAND LIMITED" β€” or one of a dozen subsidiaries β€” in the GL. Spend that should aggregate to a negotiated threshold never does, because no two systems spell the vendor the same way.

‍

3. The PO taxonomy cross-cuts the GL taxonomy

‍

Accounting organizes by nature of expense. Procurement organizes by what was bought / who supplies it. These axes cross, which makes the mapping many-to-many:

‍

  • One PO β†’ many GL lines. A single "digital transformation" PO from a Big-4 firm sits under one procurement category β€” Management Consulting β€” but lands in the GL split across five leaf accounts: software implementation, professional fees, a capitalized software asset, training, and travel reimbursables, across two or three cost centers.
  • One GL account β†’ many POs. "Professional Fees β€” Technology" contains spend from fifteen different POs β€” consulting, contract engineering, security services, audit β€” because all those vendors' invoices, by various controllers' conventions, landed in the same account.

‍

So the PO says "I committed $2.4M to vendor V-44871 under security services." The GL says "I have $11M in account 6420-330 across forty vendors." Which $2.4M of that $11M is this PO? The systems don't say. A human currently figures it out by recognizing the vendor name (often misspelled β€” see below), the rough amount, and the timing.

‍

4. The knowledge required is tacit, and tacit knowledge resists documentation

‍

The reconciliation works today only because two or three senior FP&A analysts carry the rules in their heads: this account drift is a known mirror-pair from last fiscal year; these two cost centers should collapse to one entity; that PO is a placeholder. To build a pipeline you would first have to extract all of that β€” and enterprises have tried, through documentation projects, semantic layers, and data catalogs, for twenty years, and consistently failed, because people can't fully articulate what they know and have no incentive to try. The knowledge is revealed in the act of reconciling, not in a documentation sprint. A pipeline built before the knowledge is extracted is built on sand; the knowledge can't be extracted before the work is done. That is a genuine chicken-and-egg, not a resourcing gap.

‍

5. Commitments make it a forward problem on a backward stack

‍

The GL records what was spent. But at this scale a $50M open PO with a strategic vendor is a near-certain future expense and belongs in any forward-looking variance analysis. Real reconciliation has to be commitment-aware β€” plan vs. actuals vs. open commitments β€” producing forward variance that reflects economic reality, not just ledger reality. The accounting stack is structurally backward-looking; it closes a period that already happened, and it has no native representation of when a committed dollar will land. Bolting forward commitments onto a backward-looking close, through a PO taxonomy that doesn't map to the GL, is a fourth reconciliation on top of the other three β€” and it's the one that drives the decisions (reallocate before quarter-end, hit a rebate threshold, renegotiate a commitment) that justify the whole exercise.

‍

This is where treatment of the PO schedule as a first-class object matters: it ingests not just the PO header amount but the delivery and payment schedule, so future commitments are keyed by PO number and dated. The forward position is looked up against the PO, not inferred from ledger residue. A pipeline that only sees the GL cannot produce this, because the timing information it needs was never in the system it was built to query.

‍

‍

Why a pre-built mapping fails specifically

‍

Suppose you had all the knowledge and tried to build the giant mapping table anyway. It fails for three compounding reasons, each visible in the example above:

‍

  • It's a distribution, not a mapping. Because coding is local, the "rule" for where a cost lands is a spread across several accounts. A static mapping encodes the average and is wrong on the specific transactions β€” which is exactly where the money hides.
  • It drifts continuously. A reorg remaps cost centers (CYBER-OPS-NA β†’ SEC-1180). A controller retires and her successor codes differently. A new vendor variant appears. The mapping built in Q1 is stale by Q3, and nobody owns keeping it current β€” because the people who could carry the rules in their heads and have no incentive to write them down (problem 4).
  • The exceptions are the whole point. The placeholder PO, the mirror-pair OPEX codes that net to zero, the prior-year manual-journal anomaly, the two cost centers that should collapse into one β€” these are the reconciliation. They're not noise around a clean mapping; they're the specific judgments that move a reconciliation from 92% to 98%, each one recognized by a senior human in context. You cannot enumerate them in advance because you discover them by doing the work.

‍

‍

A taxonomy of reconciliation breakers

‍

PO/cost-center drift is the example everyone pictures, but it is one of many seams where the three time-views haven't finished resolving into each other. Below are six recurring breakers seen across the close. The point of listing them is not completeness β€” it is the opposite. This list is open-ended. Every close surfaces a new variant, because the business keeps moving, which is precisely why the problem cannot be solved by enumerating cases in advance.

‍

‍

Common finance reconciliation breakers that cause records to disagree across planning, ERP, and procurement systems.

‍

‍

Notice the shape of the problem. Each breaker is a different seam in time β€” a timing cycle, an FX drift across the year, a silent non-posting, a correction that re-narrates the past. There is no single rule that catches all of them, and no finite rulebook that stays complete, because the next close introduces a variant nobody wrote down. A pre-built mapping is always one breaker β€” one moment β€” behind. This is why "we'll just build it in the warehouse" method fails. One would not be building a pipeline once, and would have to resort to maintaining an ever-growing catalog of exception rules forever, while continuously falling behind on it every period as the business moves on.Β 

‍

A reasoning system handles each seam as it appears and remembers the resolution, so the same one never has to be solved twice. More importantly, new patterns could be discerned from existing ones.

‍

‍

What changes with a reasoning system

‍

The traditional stack is technology-first: buy the warehouse and the pipelines, then hope the answers follow. aidnn inverts the order β€” decisions first, technology second β€” deriving the answer on demand and building permanent infrastructure only where proven value justifies it.

‍

aidnn assembles the three views the moment a question is asked and resolves the seams between them β€” the same judgments a senior analyst makes, except in software, at row level, with every figure traceable back to the entries behind it.

‍

‍

AI reasoning layer reconciling planning, actuals, and commitments with traceability and verification.

‍

‍

Two properties make it trustable. It works the way a careful analyst does β€” most-reliable match first, falling back to harder methods only when that fails, and never a silent guess: anything uncertain is surfaced and escalated, not buried in a number. And every answer it returns is verified against what has to be true (the section below covers how). That is the difference between a reconciliation you can stand behind and a black box you can't.

‍

And it compounds. Each resolution is remembered, so the same seam doesn't have to be solved twice. Reconciliation climbs from 92% to 98% within a single session, and starts higher every cycle after β€” not because the data got cleaner, but because the system carried forward how this business moves and only has to resolve what changed. The institutional knowledge that used to live in the heads of two or three senior people becomes something the system holds, cites, and carries forward when they leave.

‍

This is the loop no pipeline can close. A pipeline is a snapshot of the business as understood at build time; the business keeps moving underneath it, and every reorg, new vendor, and shifted commitment widens the gap between the frozen model and the live entity β€” repairable only by an engineer editing code. A reasoning system treats the business as the moving thing it is, and gets sharper the longer it runs inside it. Reconciliation stops being a snapshot you re-take each period and becomes a living model that moves as the business moves.

‍

Interested in more details? We have a technical paper covering how aidnn learns to reconcile and Neocortex, our self-learning layer customized to each enterprise. Please get in touch with us at contact@isotopes.ai.

‍

‍

How you know the number is right

‍

A reasoning system raises an obvious worry: a system that reasons can produce a confident wrong number β€” and a wrong number in the close is exactly what a CFO cannot afford. The CFO's organization tolerates no ambiguity; it reconciles to the cent under audit, so every answer has to carry its own proof. That is why verification is built into aidnn rather than bolted on.

‍

Every answer is checked two ways. First, each step of the work is verified independently as it runs, catching execution errors before they propagate β€” an approach established in the team's published results across hundreds of production sessions. Second, and more important, the completed answer is verified against the business's own reality: aidnn derives the constraints the answer must satisfy if it is correct β€” a segment's parts summing to its whole, a reconciled figure obeying the basic economics it can't violate β€” and tests the answer against them. This catches the dangerous failure no query can catch on its own: the case where the code ran perfectly and returned a number that is simply wrong, because the reasoning behind it was flawed. A figure that fails its own constraints is never returned.

‍

That is what makes the output trustable rather than merely plausible. The reconciliation isn't asserted; it's checked against what has to be true, and refused when it isn't.

‍

‍

The same problem, everywhere in the business

‍

The domains named at the outset are not analogies β€” they are the same problem. Plan, actuals, and commitments are where this is hardest and most expensive, but the shape is identical anywhere two systems of record describe the same business at different tempos. The same reasoning, the same fallback behavior, the same compounding memory apply directly:

‍

  • Revenue. Bookings (CRM), billings (the billing system), and recognized revenue (the GL) are three time-views of the same dollar β€” the sale, the invoice, the earned amount β€” recorded by three teams on three clocks. Reconciling them is the same seam-closing problem.
  • Workforce. Planned headcount (the planning system), actual headcount (the HRIS), and open requisitions (the ATS) rarely agree, because hiring, attrition, and re-orgs move faster than any one system reflects.
  • Supply chain. Demand forecast, purchase orders, and goods received are forecast, commitment, and actual β€” the same three tenses, in a different domain, with the same timing seams and the same fallout when a commitment never lands.
  • Intercompany. Charges between entities, in different currencies and on different close calendars, are the cross-charge breaker generalized across the whole org chart.

‍

In each case the systems were built to answer different questions at different moments, so they have no shared reference; the business moves faster than they can describe it; and the exceptions that matter are discovered in the act of reconciling. A reasoning system that can close seams against a moving business does so wherever the business keeps records β€” the finance close is the wedge, not the boundary.

‍

‍

The objection this answers: "Can't our team just build this in Snowflake?"

‍

No β€” and not because your data team isn't capable. The warehouse paradigm can only anticipate and pre-build, and that approach is defeated by problems 3, 4, and 5 no matter how much money or talent is applied to it. There's a second reason, too: a pipeline returns whatever its query produces, with no independent check that the answer is internally consistent β€” it can't verify itself against the business's own reality, because it has no notion of what must be true. That's why every Fortune 500 has tried to build row-level three-way reconciliation, internally or through a systems integrator, for decades β€” and none have. They tried to solve a reasoning problem with a pipeline.

‍

Reconciling a business in motion is a reasoning problem wearing the costume of a data-pipeline problem. The entire stack was built to solve pipeline problems. aidnn is built to solve the reasoning one.

‍

The figures and system names in the worked example are illustrative, drawn from a representative Fortune 500 deployment. The reconciliation mechanics, confidence-tiered fallback ladder, and Neocortex accretion are as documented in the Isotopes AI Technical Whitepaper. Please get in touch with us at contact@isotopes.ai for a copy, or ask your Isotopes AI account team.

‍