The invented mapping
Alder and Birch are made-up supplier labels. The example's declared policy uses supplier plus exact text SKU; it does not trim, case-fold or turn a code into a number. The internal product IDs are invented and contain no people or client records.
If the matrix is wider than the box, scroll horizontally to read every column. Keyboard: focus the matrix and use Left/Right.
supplier | SKU text | expected internal product
alder | 00123 | part-a
alder | 123 | part-b
birch | 00123 | part-c
alder | 9007199254740993 | part-d
birch | 123 | unmapped; no automatic creationExpected checks
The first two rows stay separate despite looking numeric. The first and third stay separate despite an equal local SKU. The long code remains the exact string shown. The last lookup is unmapped and reports an exception. These are expected results under the authored policy, not observations from a supplier import.
- A numeric 123 supplied where a text SKU is required is an invalid input in this example.
- No existing record is changed to satisfy the mapping.
- A real supplier's rules for spaces or letter case must be agreed separately.
What it does not prove
The batch's local policy model tests these invented lookups. It is not a CSV parser, spreadsheet application, product-equivalence engine or database constraint test. It does not show that an upstream spreadsheet preserved the original source identifier, or that a supplier mapping is correct for physical goods. Do not infer production reliability or previous SI delivery.
- Recover already damaged identifiers from an authoritative source rather than padding them by guesswork.
- Keep unknown product mapping under the purchasing owner's approval.
Use this to specify a priced enquiry
Describe which synthetic lookup fails and the desired key. One existing local matching defect may fit fix-one-bug-with-regression-test, from £295 after bounded reproduction and a fixed repair quote. Historical catalogue cleanup, a new master-data system and schema migration are outside the repair. No code, real price lists, private exports or credentials in first contact; the price is untested and payment follows passing checks and sign-off.
Sources and limits
- Python CSV reader preserves strings by default Checked 2026-10-11.
- QUOTE_NONNUMERIC changes unquoted fields to floats, unlike default string reading.
- PostgreSQL composite-key constraints Checked 2026-10-11.
- Composite uniqueness applies to the combined column values.
- Current bug-repair scope Checked 2026-10-11.