
B2B pre-orders and forecasting customised in Shopify
In July 2026, Zinzo turned next-season guesswork into a live demand picture for Loints of Holland: a custom B2B pre-order app built into the existing webshop, delivered in two weeks and fully operational after one feedback round.
2 weeks
Delivery - to working app
1 round
Feedback - to sign-off
Live
Status - fully operational
The Challenge
Loints of Holland is a Dutch footwear brand selling through two Shopify channels: a wholesale webshop for retail partners and a consumer shop. Both shops draw on the same pool of stock, and both were built for one thing only — selling what is physically on the shelf today.
That worked for repeat orders. It fell short at the point where footwear brands make one of their most consequential decisions: how many pairs of a new season to produce.
Demand arrived too late to act on
Loints only learned how a new collection would sell once retailers began ordering — well past the point at which the production run could still be adjusted. The size of the run was effectively an estimate, placed months before the evidence that could confirm or contradict it.
Shared stock made pre-selling risky
The wholesale and consumer shops decrement the same inventory. Selling a future season through the standard order flow could therefore draw down stock the consumer shop relied on for the current season.
Wholesale order entry was slow
Retailers order full size runs across multiple colourways. Entering those variants one by one is tedious and error-prone — and handling pre-orders as a separate flow would have doubled the work.
Delivery expectations were ambiguous
A March delivery on an order placed in July can look like a delayed order unless the confirmation says otherwise. Without a clear delivery window, every pre-order risks becoming a support ticket.
The core challenge: how do you let retailers commit to a season that does not physically exist yet — inside a live webshop, without touching current stock, without changing how invoicing works, and without asking retailers to learn a second way of ordering?
The Solution
Zinzo designed and built a custom pre-order application on top of Loints' existing Shopify B2B storefront. The guiding principle was simple: pre-ordering should feel like ordering — the same shop, product page and ordering matrix — while behaving differently underneath. The eight parts of the solution were:
1. Two Order Modes on One Product Page
On each shoe, a retailer chooses how they want it: from stock, shipping straight away exactly as before, or next season, reserved now and delivered when the new collection arrives. Both options can be offered on the same product at the same time.
It is the same shoe on the same page. Retailers do not have to learn a new flow, and Loints does not have to maintain a parallel pre-order catalogue.
2. Ring-Fenced Reservations
This is the heart of the design. A next-season reservation is captured and held entirely separately from live inventory; it does not decrement the stock the consumer shop is selling from.
A retailer can reserve forty pairs for spring without those reservations drawing down the pairs sitting in the warehouse today. That separation made it possible to open pre-selling across the wholesale catalogue while keeping current inventory accounting distinct.
3. The Size and Colour Ordering Matrix
Rather than clicking through variants one at a time, retailers enter quantities in a single grid covering every size and colourway of a model. The matrix serves both order types: the same grid handles a from-stock order and a next-season reservation, with stock availability reflected where it applies.
The two can be combined in one order. A retailer can top up current stock and commit to the coming season in a single pass, while each line is routed to its own fulfilment path behind the scenes. One interface supports two behaviours, so placing a large wholesale order gets faster without retraining.
4. Delivery Window and Comments on Every Reservation
A pre-set date picker lets retailers indicate their preferred delivery timing within the window Loints defines for the season. A comments field captures what does not fit a form field: a request to combine shipments, a delivery preference, or a note about a specific model.
This replaced a separate application that previously sat outside the webshop, folding the full interaction back into the shop retailers already use.
5. Confirmations That State the Delivery Window
Every reservation produces a confirmation that clearly states when the goods are expected. A March delivery reads as a March delivery, not as a late order.
This small but explicit piece of communication gives retailers the context they need at the point of reservation and reduces avoidable uncertainty around delivery.
6. The Demand Overview and Buy Sheet
Behind the storefront, reservations roll up into a live overview: how many pairs are reserved for the coming season, by model, size and retailer. Forecast reporting and a broader analytics layer sit on top, projecting committed volume forward per model and size and showing reservation behaviour by colourway and account.
The full picture exports to a spreadsheet, and that export is the production order. Loints can place a run against confirmed retailer commitments instead of an estimate — the single largest change this project delivered.
7. Season Setup and Release
Loints defines the season: which models open for pre-order, the expected delivery window, and optional caps on how many pairs can be reserved per model or size where open-ended pre-ordering is not wanted.
When the collection physically arrives, reservations are released into live orders ready to invoice and ship. Because a reservation is not a finalised order until that point, quantities can still be adjusted beforehand without refunds or re-invoicing.
8. Delivery in Two Weeks, One Iteration
The July 2026 project ran on a deliberately focused first version: the pre-order option, ordering matrix, safe reservation capture, demand overview and clear retailer confirmations — the parts that carry the value — with refinements held back until the app had seen real use.
That focus made a two-week build possible. Loints reviewed the working app, gave one consolidated round of feedback, and the adjustments from that round took it to sign-off. No second review cycle was needed.
Before the build, Zinzo settled the questions that shape the underlying model rather than the surface: whether a pre-order is a firm commitment or adjustable, which accounts may pre-order, whether minimum quantities are required or advisory, and where the demand overview ultimately needs to land. Answering those questions before writing code is why one feedback round was enough.
Key Technical Implementations
Custom pre-order application integrated natively into the existing Shopify B2B storefront and theme
Dual-mode product page logic — from-stock and next-season offered simultaneously on the same product, controlled per model
Reservation capture held entirely separate from live inventory, preserving stock integrity across the shared wholesale and consumer channels
Size-and-colour ordering matrix serving both regular orders and pre-orders through a single interface
Pre-set date picker and per-reservation comments field, replacing a standalone external application
Season configuration with per-model availability, delivery windows and optional reservation caps
Aggregated demand overview by model, size and retailer, with spreadsheet export as the production buy sheet
Forecast reporting on top of the reservation data, projecting committed volume forward per model and size alongside broader analytics on retailer ordering patterns
Mixed baskets — from-stock lines and next-season reservations combined in a single retailer order, each routed to its own fulfilment path
Confirmation flow surfacing the expected delivery window to the retailer at the point of reservation
Bulk release of reservations into live orders on arrival of the collection, leaving existing invoicing untouched
Results
| Outcome | Detail |
|---|---|
| Two-Week Delivery | From approved proposal to working app in two weeks — fast enough to capture the coming season's demand rather than the one after it. |
| One Feedback Round | The first version landed close enough to the mark that a single iteration was all it took to reach sign-off. No drawn-out revision cycles or scope drift. |
| Fully Operational | The pre-order flow is live in the B2B storefront and in day-to-day use by retailers placing next-season reservations. |
| Live Inventory Protected | Next-season reservations are held apart from live inventory, so the consumer shop's current stock is not decremented by a reservation. |
| One Ordering Matrix, Two Modes | The same size-and-colour grid handles both from-stock orders and next-season reservations, so retailers have nothing new to learn. |
| Faster Order Entry | Full size runs are entered in a single grid instead of variant by variant, reducing the click count on large wholesale orders. |
| Demand Visible Live | Reservations accumulate by model, size and retailer as they come in, giving Loints a running read on next-season demand. |
| Forecast Reporting | Dedicated forecast reporting projects reserved volume forward by model and size, turning the reservation book into a planning instrument rather than a static order list. |
| Extensive Analytics | Reservation data is cut by model, size, colourway and retailer, so account-level ordering patterns are visible without exporting first. |
| Seasonality and Stock Settings | Season windows, per-model pre-order availability, delivery periods and stock behaviour are configurable, so each collection can be opened, capped and closed on its own terms. |
| Pre-Order and In-Stock Combined | A single order can carry both from-stock lines and next-season reservations side by side; the system routes each line to the right fulfilment path. |
| Production Built on Commitments | The exportable buy sheet turns confirmed retailer reservations into the production order — real commitments instead of an educated guess. |
| No Change to Invoicing | Existing invoicing and payment arrangements were left untouched; reservations become live orders only when the season lands. |
| Native Storefront Integration | The app is built into the existing B2B theme and product pages rather than bolted on, keeping the shopping experience consistent. |
Conclusion
The Loints B2B pre-order project shows what a tightly scoped custom app can do when the problem is understood before the build starts. The hard constraint — shared stock between a wholesale and a consumer channel — was designed for by separating reservations from live inventory entirely. The hard requirement — that retailers should not have to learn anything new — was met by extending the ordering matrix they already used rather than building a parallel flow beside it. The commercial result is a brand that no longer has to base its production run on a guess. Demand for a season is visible while there is still time to act on it, expressed as commitments from retailers and exportable straight into a buy sheet. It reached that point two weeks after the proposal was approved, after one round of feedback. The app applies the same discipline to the season as the project applied to the build: decide what matters, build that, and get it into real use before refining the rest.
Fix your store. Book a free discovery call now!
Schedule a free discovery call directly.
Open the booking calendar