The short answer
Use one reconciled component pool for single items and fixed kits. Trunk is a focused stock-sync candidate; investigate Stocksmith when materials and batch costing must also be managed. Test each stock event before enabling more listings.
Matching SKUs and a clear initial stock authority come first.
Shared components mean independent bundle maxima cannot be added.
A refund increases saleable stock only when usable goods are actually restocked.
Choose the inventory job first
For finished products and fixed kits, Trunk is a focused candidate: its documentation covers matching SKUs and component dependencies. For a maker who must also consume materials and cost batches, investigate Stocksmith. Its Studio plan and above allow unlimited sales-channel connections, but manual Stock Push requires Indie or above and scheduled Auto-Push requires Business or Growth.
Our workflow is a test protocol built from documentation and original arithmetic. It does not establish measured sync speed or prove that either service handles every cancellation and refund configuration automatically.
- 1Map
Identify shared components and variants.
- 2Count
Set the physically reconciled opening balance.
- 3Calculate
Use the lowest component ceiling: 7 kits.
- 4Exercise
Test fulfillment, cancellation, refunds, and restocking separately.
- 5Observe
Measure each channel update and investigate failures.
Expected checkpoints from the article’s documented planning exercise; no hands-on result is claimed.
1. Write the SKU map before connecting stores
Use one component identity for each physical item. In this example MUG, TEA, and BOX are components; GIFT-2 is a fixed kit needing 2 mugs, 1 tea, and 1 box. A single mug listing must consume the same mug stock as the kit.
Map variants explicitly on Shopify and Etsy. Choose the system with the reconciled physical count as the initial authority; do not let several apps independently write the same stock field. With Trunk, follow the documented first-channel import order.
| Component | On hand | Reserved | Safety stock | Available for kits |
|---|---|---|---|---|
| MUG | 18 | 2 | 2 | 14 |
| TEA | 30 | 6 | 4 | 20 |
| BOX | 12 | 1 | 1 | 10 |
2. Calculate the common stock ceiling
After reservations and safety stock, the kit ceiling is min(floor(14/2), floor(20/1), floor(10/1)) = 7. Mugs are the limiting component. Seven is a planning ceiling before additional channel buffers or concurrent orders.
Two bundle listings using these components do not each own a separate pool. Calculate each independently only to compare possibilities; allocating stock to one reduces what remains for the other. Do not add their independent maximum quantities.
3. Test each event separately
Reset to the same baseline for each row below. These are expected physical-stock effects under the stated assumptions. Record how the app represents available and reserved quantities, and compare only after each channel has processed the event.
| Event | Expected change to the available component pool | What to inspect |
|---|---|---|
| Fulfill one GIFT-2 kit | MUG −2, TEA −1, BOX −1; kit ceiling drops from 7 to 6. | Kit listing, single-item listing, second store, and component balances. |
| Cancel an unfulfilled kit and release its reservation | Restore the two mugs, tea, and box only if that reservation previously reduced availability. | Store restock options and duplicate reversal risk. |
| Refund a fulfilled kit without restocking | No saleable stock increase. | A payment reversal must not automatically be treated as returned inventory. |
| Return and restock two usable mugs only | MUG +2; no tea or packaging returned to stock. | Damaged goods and consumed packaging remain unavailable. |
| Sell one single MUG | MUG −1; recompute kit capacity. | Both a component listing and kit listing use the same pool. |
4. Measure the delay and failure behavior
Record event time, app update time, and the other storefront's update time. Repeat after a manual adjustment and reconnect. Test close-together orders using low-risk test listings and conservative stock; a fast average does not establish an overselling guarantee.
Stocksmith's Auto-Push documentation describes scheduled updates and setup precautions. Trunk markets real-time stock updates. These are different vendor descriptions, so measure the end-to-end behavior your store configuration actually produces.
5. Expand only after reconciliation
Start with a few ordinary products, one kit, and one shared component. Record opening balances and each event. Expand after the event log reconciles and staff know where to correct stock.
Keep a named owner for SKU mapping and an exception routine for stuck updates. If you add manufacturing later, decide which system owns raw materials, finished stock, and store quantities before enabling another integration.
Next useful readBundle stock calculator Continue with this related evaluation.
Next useful readStocksmith vs Katana for a small-batch brand Continue with this related evaluation.
Next useful readIn-house fulfillment vs 3PL calculator Continue with this related evaluation.
Put the decision to work
Tools and practical buying guides
Bundle stock calculator →
Find the limiting component after reservations and safety stock.
Stocksmith vs Katana for a small-batch brand →
Choose around material costing, production, and channel stock updates.
In-house fulfillment vs 3PL calculator →
Compare labor, packaging, storage, returns, and service minimums.
Sources and research scope
Official documentation checked September 20, 2026 by the ArtisanSW Research Desk. This is source-based research with original worked examples and proposed trial scenarios. We have not operated trial accounts or measured vendor performance. Prices and plan boundaries can change.
- Trunk scope and FAQ ↗
- Trunk bundle setup ↗
- Trunk initial import sequence ↗
- Stocksmith scheduled Auto-Push ↗
Found a discrepancy? info@artisansw.com · Editorial methodology
Keep the terms in view
Products in this guide
Prices are checked against official sources and show the verification date. Currency, billing commitment and usage charges matter; these are not like-for-like total costs.
Essential · per account · Billed monthly
Checked Oct 2, 2026Official pricing ↗The still-published official help article is dated June 2023. Higher fulfilled-order bands cost more and can automatically change the tier. Confirm the current checkout quote before committing.
Studio · per account · Billed monthly
Checked Oct 2, 2026Official pricing ↗The FAQ advertises a lower Pro entry from $20 with one sales channel; its billing qualification needs confirmation and is not promoted as a verified universal minimum. Studio is a named plan, not the cheapest advertised offer. Order lines differ from orders.