Codemaker-S
Case, 2026

Two stores,one shop.

shaped4.nlThe shaped4.nl homepage on desktopThe shaped4.nl homepage on mobile
ClientShaped4, part of Gerla Products B.V.
Year2026, in ongoing development
Services

Shaped4 sold footwear through two separate stores: one for consumers, one for business customers. We merged them into a single shop with a single login, and built an app alongside it that lets them manage *delivery times* themselves. Per product, per audience and per language.

What we built

An existing Shopify environment taken over, tidied up and built on. From two themes to one, with everything B2B needs inside it.

01

Two stores, one theme

The consumer shop and the business environment were merged into one codebase, with one catalogue and one customer account. Sections and blocks can be switched on or off per audience, set by Shaped4 themselves in the theme editor.

02

Delivery time in every place

On the product page, in the basket, in the mini-cart and on the order page, every line says when it will be delivered. Partial deliveries too: three pairs tomorrow, two pairs in four weeks.

03

Bespoke Shopify app

A bespoke app in the Shopify admin where Shaped4 manages all the delivery time copy: shop-wide, per product, per audience and per language. No code, no ticket, just a screen that works like a spreadsheet.

04

Ordering the way a buyer wants to

An order table listing every size with SKU, stock, delivery time and line total. Alongside it a minimum order check, so an order that is too small never makes it to checkout.

B2B and B2COrder tableDelivery time per product14 languagesPartial deliveriesOne login
shaped4.nlThe order table on shaped4.nl with SKU, price, quantity, line total and delivery time per sizeBusiness ordering on mobile: pasting SKUs from a spreadsheet or uploading a file
01 · One storefront, two audiencesThe shop knows who walks inBusiness customers are recognised by their company in Shopify and see their own pages, prices and order table. Consumers see that same shop, without the business noise. One login for both.
shaped4.nlThe product page of a Florensa clog with the delivery time above the size pickerThe same product page on mobile, with the delivery time by the chosen shoe size
02 · On the product pageA delivery time that moves with the sizePick a different size and the delivery time changes with it, based on real stock. In stock and out of stock each get their own colour, set by the client.
shaped4.nl/cartA basket showing delivery time per line, including a line split into 23 items tomorrow and 181 laterThe same basket on mobile, with the split delivery time per line
03 · In the basketPer line, partial deliveries includedIf only part is in stock, the message splits itself: 23 pairs arriving the next working day, the remaining 181 later. If a business order falls short of the minimum, checkout stays locked until it does not.
admin.shopify.comThe Delivery time admin screen in Shopify, with default copy per audience and the table of per-product exceptions
04 · In the Shopify adminManaging delivery times like a spreadsheetFour default texts for business and consumer, in stock and out of stock, with per-product exceptions underneath. Switch language and you fill in the same table for that market.

From two shops to one

Two stores means maintaining everything twice, pushing every price change twice, and customers landing in the wrong shop. We merged the two themes file by file into one codebase, keeping everything that made the business environment distinct.

Instead of a second shop there is now a visibility layer: every section and block can be set to always, business only or consumer only. Business customers are recognised by the company attached to their account, so there is one login and no separate account environment.

A B2B store is not a second shop. It is the same shop, one that knows who walks in.

Delivery time as a promise

With footwear the delivery time is often the real difference: this pair is in Rijen, that pair comes out of the factory in four weeks. That belongs on more than the product page; it travels with the product into the basket and onto the order page.

That is exactly what we built. The right message is worked out from stock, quantity and audience, including for lines put in the basket by an external bulk-order app. In the Shopify checkout and the order emails the message stays out of sight; in our own theme it is there.

One approach we reversed along the way: a Shopify Function that appended the delivery time to the line title only worked on certain Shopify plans. The functionality stayed, the engineering underneath was replaced with something that works everywhere and reliably.

Where it stands today

One shop is live, in 14 languages, with a staging environment beside it. A change on the development branch goes to staging automatically, a change on main to production, and the work Shaped4 does in the theme editor always survives it.

For the translations we made our own migration tools that only add new copy and check first that nothing disappears or quietly changes. Delivery times, copy and visibility are managed by Shaped4 themselves now. We keep building what comes next.

Onder de motorkap

Theme
Two Shopify themes merged into one, with visibility per audience
App
NestJS with its own admin screen in the Shopify admin
Business
Shopify Companies, order table and minimum order quantity
Languages
14 languages, with bespoke tooling for safe translation migrations