The same importer and distributor that appears elsewhere on this site: Odoo running, eight years of history. No data comes from a real client.
The complaint it starts with: the monthly sales report closes on one number and the income statement on another, and the difference changes every month. Nobody is lying; nobody can explain it.
What the x-ray finds. The sales report comes out of a spreadsheet somebody exports on the second of the month, cut at the last day of the month and without deducting credit notes issued after the close. Accounting cuts on the same day but does deduct them. Returns reported by the logistics operator come in through a file that is pasted in by hand once a month, and in the months that file arrives late they land in the following month. Three routes, three different cut-offs, and a manual copy in the middle.
The order proposed. First the definition gets written and a single cut-off agreed, because that costs no money and removes half the gap. Then the manual copy of the logistics operator's file is taken out, because that is the one that breaks the month in silence. And only at the end does the rest get automated, once it is clear what is being automated.
The pipeline that ends up in place. Three sources: the ERP, the logistics operator's file and the list-price spreadsheet that still lives outside the system. Daily load at six in the morning, retries if the source does not answer, checks on expected rows and duplicates, and an email alert when something stops, carrying what was expected and what arrived.
And the test that closes it. At handover the month's sales are recalculated from source in front of you, and they have to give the same number as the report. If they do not, it is corrected before the second half is invoiced. With that, the figure stops depending on who runs the report, which is all that was being bought.