FIELD NOTES · ACCEPTANCE EXERCISES

Bundle availability needs component-level reconciliation

A bundle has a product identity, but that does not make its stock independent of its components. Before commissioning catalogue or search work, require the supplier to identify parent and component records and explain exactly what one sale consumes.

Source-bound fact

Shopify estimates available bundles from tracked component stock divided by required quantities, using the lowest whole result. Official reference · Checked 17 October 2026.

Filled synthetic acceptance example

Synthetic teaching example, not a client case or a real-store assessment. On narrow screens, scroll to read the complete table.

InputCheck basisExpected
Kit:2A +1B; availableA11/B4min(floor11/2,floor4/1)4kits
A11/B1B is bottleneck1kit
A not tracked or overselling enabledoutside tracked-stock assumptiondo not certify count

Supplier acceptance procedure

  1. Record parent ID, component IDs, quantities, tracking flags and app/version in a filled mapping.
  2. Recompute the bottleneck, then test a component stock change in an authorised non-production store.
  3. Keep parent revenue and component fulfilment counts separate in analytics; prove the chosen discount/checkout path independently.

Interpret the output

The first case produces4 complete kits, leaving3A and0B if all four are assembled. It does not make four parent products plus twelve components into sixteen sales. Search availability, order representation and analytics each need their own identity map.

Explicit limits

Tracked finite stock only; no nested bundles, overselling, concurrency, mixed apps, exchange/refund allocation or live inventory guarantee.

Replay the finite teaching model

Save both files in one folder. With Node22 or newer, run the command below. JSON contains explicit inputs and expected results. The script processes synthetic data only, with no network, credentials, payment or API calls. Passing proves the finite model only, not a live integration.

Filled inputs and expectations · Inspectable teaching script

node check.mjs bundle-component-stock-reconciliation.json