Nobody sets out to build a second system of record. It starts as a performance decision, and a sensible one: SAP is busy, reporting queries are heavy, so the data is extracted somewhere cheaper to query and the reports are pointed at that.
That is a cache. Caches are fine.
It stops being a cache the moment somebody quotes a number from it in a meeting.
The decision nobody made
There is no point at which a team resolves to maintain two versions of the truth. What happens instead is that the extract gets used, and use is what promotes it.
A dashboard reads from it. Then a second dashboard, because the first was quick to build. Then a figure from one of those dashboards appears in a board pack. Then somebody builds a report that reconciles the extract against itself, which is the point at which the extract has become a system of record with a maintenance burden and no owner, but the conversation that would have flagged this never happened, because each individual step was obviously reasonable.
We have written before that pushing reporting demand to self-service BI is one of the three ways teams try to clear a report backlog, and that it works until month end. This is the mechanism, at length.
Why close is where it surfaces
Two sources of truth can disagree for weeks without anybody seeing it, because day to day nobody puts them side by side. The warehouse figure is read by the people who read the warehouse. The SAP figure is read by the people who read SAP. Divergence is invisible until something forces a comparison.
Close forces the comparison. That is what close is.
So the reconciliation work (find the difference, explain the difference, decide which one is right) lands in the period with the least available time and the most consequence attached, and it lands on the team that built the extract to save time.
The reasons for divergence are all mundane, which is what makes them hard. A load that failed quietly and was not retried. A transformation encoding a business rule that changed. A late posting in SAP after the extract ran. A currency conversion done at a different rate on each side. None of these is a bug in anything; each is the ordinary behaviour of two systems that were never going to agree without continuous effort.
The staleness is the same defect as a frozen dashboard
There is a family resemblance to something else we have written about. A dashboard with a hardcoded date range is a decision taken once, stored as a value, and never revisited. An extract is the same shape at a larger scale: the data was correct at extraction time, and the system will not tell you when that stops being true.
Both fail the same way, too: silently, with a plausible number rendered confidently. There is no error state for this figure is real but describes a moment that has passed.
Reading the system of record instead
The alternative is to point the question at SAP and accept what comes with that.
Be clear about the cost, because it is real: answer speed is bounded by what your system can serve. There is no extract sitting in a column store to make an aggregation instant. A question that needs a lot of rows takes as long as SAP takes to hand them over, and no amount of engineering on our side changes that number.
What you get in exchange is the absence of the reconciliation problem. Not a better reconciliation process: its absence. There is one set of figures, the ones your ERP holds, and a disagreement between the answer and SAP is not possible in the way it is possible between SAP and a copy.
The saved view stays honest for the same reason a period token does: it stores the question rather than the answer, so reopening it next quarter re-reads live data instead of showing you what was true when you built it.
What this does not solve
It is not a data warehouse and it is not trying to be one. If you need to join SAP against three non-SAP systems and keep five years of history for a data science team, you need a warehouse and you should build one deliberately, with an owner and a reconciliation process you chose rather than inherited.
The argument here is narrower: do not acquire one by accident, as the residue of a reporting shortcut, and then discover at close that it has been a system of record for eighteen months.