SI Store Ops

Troubleshooting guide · updated 2026-10-11

Two suppliers use the same SKU: match the supplier and code together

Prevent one supplier's stock or price from landing on another supplier's item, and keep unapproved cross-supplier mappings out of an automatic update.

Separate source identity from your internal product

Supplier Alder's 00123 and supplier Birch's 00123 are separate source keys in this synthetic case. Neither their equal code nor a similar description establishes that they sell the same item. Keep a supplier identifier beside the exact local SKU, then use an explicitly approved mapping to any internal product.

  • Require both parts of the source key before matching.
  • Do not auto-map on a fuzzy product name.
  • An unknown source key should remain unassigned until the purchasing owner approves its mapping.

A constraint protects the rule you choose

PostgreSQL supports a composite unique constraint or primary key. A unique constraint alone can permit null-containing keys by default, so missing supplier or SKU needs its own validation. A foreign key can keep a mapping attached to an existing row, but cannot prove that the purchasing owner chose the correct physical product. Inspect constraints and application lookup logic separately.

  • Two independent supplier and SKU references do not establish the intended supplier-SKU pair.
  • Do not change a live key or add a constraint before checking historical collisions.

Acceptance includes a collision and an unknown

Give two invented suppliers the same SKU but different internal products and stock quantities. Updating Alder must leave Birch unchanged. A third unknown source key must enter the agreed exception path, not silently create or map a product. Keep the expected key-to-product mapping beside the result.

  • The supplied key matrix is an authored specification; no database migration or supplier matching has been performed.
  • A product description or equal record count is not acceptance evidence.

Priced enquiry and non-fit

A wrong lookup in existing code may fit the synthetic-data bug repair, from £295 after bounded reproduction and a fixed quote. One new exception-review interaction in an existing web app may fit the feature-preview offer, from £750, only with an existing isolated private preview and no payment or personal-data changes. Building a product-master system, cleaning real mappings or migrating database keys needs separate scope. Send the invented collision and desired result initially; do not send live supplier files, code or credentials. Prices are untested proposals; work and payment require the relevant agreement and sign-off.

  • If nobody can authorise the mapping policy, purchasing ownership must be resolved before automation.

Sources and limits