# Starter packages — precomputed sellable qty Brand: **am.co.za** / AM.CO.ZA. Generated 2026-09-07 03:02 SAST. Stock stamp: `{'refreshed_sast': '2026-09-05 22:25 SAST', 'files': {'johannesburg': {'sku_count': 1928, 'last_modified': 'Sat, 05 Sep 2026 20:16:36 GMT'}, 'cape-town': {'sku_count': 350, 'last_modified': 'Sat, 05 Sep 2026 20:13:40 GMT'}, 'durban': {'sku_count': 217, 'last_modified': 'Sat, 05 Sep 2026 20:19:29 GMT'}}}`. Joined from am.im product JSON `stock.ordered`/`compulsory` + [`stock/latest.json`](https://8i.co.za/data/amcoza/stock/latest.json) Available. Rules: [`stock/HOW-TO.md`](https://8i.co.za/data/amcoza/stock/HOW-TO.md). Machine JSON: [`packages-available.json`](https://8i.co.za/data/amcoza/scenarios/packages-available.json). **Not prices.** Do not invent restock days. Catalog questions ≠ this stock path — use category packs for machine lists. | SKU | JHB | CT | DBN | Total | Limiting (JHB) | Notes | | --- | ---: | ---: | ---: | ---: | --- | --- | | `H-DTF/A3/XP600` | 0 | 0 | 0 | **0** | `H-DTF/OVEN/A3` | limit H-DTF/OVEN/A3 {"incomplete":1,"demo":2} | | `H-DTF/A3P/XP600` | 1 | 0 | 0 | **1** | `EPSON-XP600/SEALED` | — | | `H-DTF/A3S/XP600` | 0 | 0 | 0 | **0** | `H-DTF/OVEN/A3` | limit H-DTF/OVEN/A3 {"incomplete":1,"demo":2} | | `H-DTF/A3T/XP600` | 0 | 0 | 0 | **0** | `H-DTF/OVEN/A3` | limit H-DTF/OVEN/A3 {"incomplete":1,"demo":2} | | `H-DTF/300/XP600` | 0 | 0 | 0 | **0** | `F-DTF/300` | limit F-DTF/300 {"demo":1} | | `H-DTF/303/XP600` | 0 | 0 | 0 | **0** | `F-DTF/300` | limit F-DTF/300 {"demo":1} | | `H-DTF/306/XP600` | 0 | 0 | 0 | **0** | `F-DTF/300` | limit F-DTF/300 {"demo":1} | | `H-DTF/601/XP600` | 0 | 0 | 0 | **0** | `H-DTF/POWDER/600` | limit H-DTF/POWDER/600 {"demo":1} | | `H-DTF/606/XP600` | 0 | 0 | 0 | **0** | `H-DTF/POWDER/600` | limit H-DTF/POWDER/600 {"demo":1} | | `F-UVDTF/300` | 28 | 2 | 2 | **32** | `F-UVDTF/300` | — | | `F-UVDTF/303/XP600` | 0 | 2 | 2 | **4** | `EPSON-XP600/SEALED` | — | | `F-UVDTF/306/XP600` | 0 | 2 | 2 | **4** | `EPSON-XP600/SEALED` | — | | `F-UVDTF/600` | 17 | 0 | 1 | **18** | `F-UVDTF/600` | — | | `F-UVDTF/603/XP600` | 0 | 0 | 0 | **0** | `EPSON-XP600/SEALED` | limit EPSON-XP600/SEALED {"demo":22} | | `V4-H720` | 5 | 5 | 0 | **10** | `V4-H720` | — | | `V4-H727` | 5 | 5 | 0 | **10** | `V4-H720` | — | | `V4-S720` | 0 | 3 | 0 | **3** | `V4-S720` | — | | `V4-S727` | 0 | 3 | 0 | **3** | `V4-S720` | — | | `V4-B720` | 16 | 2 | 2 | **20** | `V4-B720` | — | | `H-PRESS/4050` | 76 | 0 | 1 | **77** | `H-PRESS/4050` | — | | `H-PRESS/2938` | 206 | 10 | 3 | **219** | `H-PRESS/2938` | — | | `H-PRESS/MT5` | 40 | 4 | 0 | **44** | `H-PRESS/MT5` | — | | `H-PRESS/MT8` | 64 | 0 | 0 | **64** | `H-PRESS/MT8` | — | | `H-HOBBY/M5` | 138 | 1 | 1 | **140** | `H-HOBBY/M5` | — | | `H-PRESS/4060D` | 76 | 1 | 3 | **80** | `H-PRESS/4060D` | — | | `H-PRESS/MUG320` | 814 | 10 | 0 | **824** | `H-PRESS/MUG320` | — | ## How combo qty is computed 1. Read `https://am.im/product/{slug}.json` (`slug` = SKU lowercased, non-letters → dash). 2. For each compulsory part that is managed physical and not a high-Spillrank rider: `floor(Available_at_branch / compulsory)`. 3. Package sellable at branch = **min** of those floors. 4. Virtual/unmanaged (training codes, InkRIP, VinylCut, FlexiPRINT, T-BASIC/PE) are skipped. 5. `AM-WIPE/5` (Spillrank 254) never blocks a package. 6. If total Available = 0, read [`status.json`](https://8i.co.za/data/amcoza/stock/status.json) for InTransit / InComplete / Demo. ## Limiting parts when sellable Total = 0 (data) Per HOW-TO the min() is honest. HELPING also says a missing required part does not hard-kill the **conversation** — say majority may be here / Demo / Incomplete; do not invent days. | Package | Limiting (JHB) | Limiting Available JHB | Limiting status | | --- | --- | ---: | --- | | `H-DTF/A3/XP600` | `H-DTF/OVEN/A3` | 0 | {"incomplete":1,"demo":2} | | `H-DTF/A3S/XP600` | `H-DTF/OVEN/A3` | 0 | {"incomplete":1,"demo":2} | | `H-DTF/A3T/XP600` | `H-DTF/OVEN/A3` | 0 | {"incomplete":1,"demo":2} | | `H-DTF/300/XP600` | `F-DTF/300` | 0 | {"demo":1} | | `H-DTF/303/XP600` | `F-DTF/300` | 0 | {"demo":1} | | `H-DTF/306/XP600` | `F-DTF/300` | 0 | {"demo":1} | | `H-DTF/601/XP600` | `H-DTF/POWDER/600` | 0 | {"demo":1} | | `H-DTF/606/XP600` | `H-DTF/POWDER/600` | 0 | {"demo":1} | | `F-UVDTF/603/XP600` | `EPSON-XP600/SEALED` | 1 | {"demo":22} | ## Navigate - Scenario router: [INDEX.md](https://8i.co.za/data/amcoza/scenarios/INDEX.md) (AIs) · [index.html](https://8i.co.za/data/amcoza/scenarios/index.html) (browsers) - Master path: [roadmap.md](https://8i.co.za/data/amcoza/scenarios/roadmap.md) · [roadmap.html](https://8i.co.za/data/amcoza/scenarios/roadmap.html) - KB entry: [START_HERE.md](https://8i.co.za/data/amcoza/START_HERE.md)