How is historical spend data cleaned for UNSPSC reporting?
Published | Updated
Put plainly, old codes mapped forward through version changes, with unmappable codes kept visible rather than forced under UNSPSC, managed by the United Nations Development Programme since 1 January 2025. Cleaning that forces every old code into a new code creates false precision. The sections below work through what that means for spend cleaning in practice.
A working note on spend cleaning
- remember that old codes mapped forward through version changes, with unmappable codes kept visible rather than forced
- remember too that cleaning that forces every old code into a new code creates false precision
- watch out because a cleaned dataset should carry its mapping notes, so a later reader can see what was changed and why
- quote spend cleaning only with its version and managing body attached
Finding the shelf for spend cleaning
Think of spend cleaning as occupying one shelf position defined by the claim that old codes mapped forward through version changes, with unmappable codes kept visible rather than forced. Cleaning that forces every old code into a new code creates false precision. That position decides which families a buyer searches when looking for spend cleaning and which reports will count it. A cleaned dataset should carry its mapping notes, so a later reader can see what was changed and why. A shelf position for spend cleaning that is roughly right is still wrong for reporting, because reports add shelf positions for spend cleaning together without asking how rough they were.
From broad shelf to spend cleaning
To narrow toward spend cleaning, start broad and ask at each pair whether old codes mapped forward through version changes, with unmappable codes kept visible rather than forced still holds. Cleaning that forces every old code into a new code creates false precision. Each yes moves the reading one level finer, and each no sends the reader back to a neighbouring pair for spend cleaning. A cleaned dataset should carry its mapping notes, so a later reader can see what was changed and why. That loop for spend cleaning, repeated patiently, is the whole method, and there is no shortcut version of it for spend cleaning that stays reliable.
Where spend cleaning goes wrong in practice
With spend cleaning, the error to watch for is a cleaned dataset should carry its mapping notes, so a later reader can see what was changed and why, set against the fact that old codes mapped forward through version changes, with unmappable codes kept visible rather than forced. Cleaning that forces every old code into a new code creates false precision. Errors of this kind with spend cleaning survive because the resulting code still looks valid, with the right number of digits and a plausible title for spend cleaning. Only a check against the current codeset wording for spend cleaning exposes them, which is why checking is a habit rather than a one-off task.
Before moving on from spend cleaning, run one last check: does the claim that old codes mapped forward through version changes, with unmappable codes kept visible rather than forced still hold in the current codeset wording for spend cleaning? Cleaning that forces every old code into a new code creates false precision. A cleaned dataset should carry its mapping notes, so a later reader can see what was changed and why.
In practice, spend cleaning will keep returning in new tenders and new catalogues, and each return is a fresh chance to remember that old codes mapped forward through version changes, with unmappable codes kept visible rather than forced. A cleaned dataset should carry its mapping notes, so a later reader can see what was changed and why. Old codes for spend cleaning carried forward without a version check are how a good classification quietly goes stale, so the check for spend cleaning matters more than the memory.