When a delivery is processed, the existing product - supplier relationship is updated if there is a match on:
1. reorder code
2. package size & units
4. zero package size (i.e. there is a relationship with a package size of zero)
in that order.
Sometimes, a supplier will be out of stock for the requested product, and substitute another product with the same package size and units, but a different reorder code. This will replace the existing product - supplier relationship as per (2) above.
If subsequent orders should use the original re-order code, this information is no longer available.
To avoid this always create a new product-supplier relationship if the existing product - supplier relationships have a reorder code, but that reorder code does not match the delivery. The new relationship should have preferred = true if there is no other preferred relationship for the supplier, otherwise it should be false.
Note that this means that users will need to manually remove any product - supplier relationship where the reorder code has changed but the package size/units are the same