Data reconciliation across documents: how to find where two figures disagree
Data reconciliation across documents means finding every place a figure appears and explaining why the versions differ. Finance teams reconcile accounts this way. The same method works when the figure is a warranty period in a contract, a sales deck and a chat reply. This note gives a plain procedure you can run in a spreadsheet, the kinds of difference you will meet, and where a tool can help.
By the Corteal team
What reconciliation is
To reconcile two sources is to compare them on the same fact and account for every difference. A bank reconciliation compares the ledger with the statement. A data reconciliation compares two systems or two files. Across documents, one source is a paragraph in a PDF and another is a message in a chat. Nobody exports them to a table, so the first job is to build the table.
The procedure
- Define the claim. Write it as a term, a unit and a scope, for example "warranty period, in months, all customers".
- Collect every mention. For each one, note the value, the document, the page, the author and the date.
- Normalise. Put all values in one unit. "Two years", "24 months" and "104 weeks" are one value. "120 days" and "four months" are close but not the same.
- Compare. Group by value and count how many documents quote each.
- Classify each difference. Decide what kind it is, using the list below.
- Decide. A named person picks the figure that stands for a scope and a period, and records why.
- Check new drafts. Compare each new document against the decided figure.
Kinds of difference
Not every difference is a conflict. Sorting them saves most of the work.
- Different unit or rounding. The values agree once converted.
- Different scope. One document is about enterprise customers and one about all customers. Both can be right.
- Out of date. A newer document replaced the old one, but the old one is still in circulation.
- A true conflict. Two current documents for the same scope disagree. A person has to decide.
A worked example, with invented numbers. A data retention period appears three times: 120 days in a policy, 90 days in a contract and "about four months" in a chat reply. After normalising, the policy and the chat reply are close, and the contract is lower. The scope of all three is the same. That is a true conflict, and it needs a decision.
Where it goes wrong
Teams that do this by hand run into the same traps. Mentions hide in places nobody searches, such as a meeting recording or a thread. Dates go missing, so you cannot tell which version is newer. The decision lives in someone's head and is lost by the next quarter. And nobody checks the next draft, so the old number comes back.
What our Verify demo does
The Verify demo works on a fictional company, Halden Flowworks. The facts in it are provided, not extracted by a model: the list of claims, each value and the number of documents quoting it was written by hand, and the conflicts are planted. What is real is the part after the conflict is found. A claim has a state. A named person approves one figure with a scope and a review date, every other value becomes a deviation, and a pasted draft is checked against the approved figures. The note Who decides which figure is right goes through the code.
Corteal Verify is built to find the mentions in your own documents, chat and meeting recordings, so that nobody has to type the table in step 2. The finding step is not in the demo. A pilot is where it gets built and tested on your material.
Have two documents that quote different numbers? Start a pilot and send them.