Checkout Extensibility Build
Checkout UI extensions for trust content, delivery choice, gifting and post-purchase upsell. Native, upgrade-safe, and no longer dependent on checkout.liquid.
Plus-tier work for Lombardy brands where wholesale is still the bigger number and the direct channel has to run alongside it rather than compete with it.
Delivered remotely for brands across Milan and Italy.
Most Milan manufacturers arrive at Plus for one of two reasons, and neither is traffic. Either wholesale has outgrown the spreadsheet — a showroom book of retailers and interior studios ordering on terms, with prices that differ by account and by country — or the export map has, with four or five European markets each needing their own currency, price, tax treatment and delivery promise. Both are Plus problems, and both are usually being solved today by a second website, a discount code and somebody's inbox.
Native B2B is the piece that changes the most here. Company accounts with multiple buyers, per-company price lists, payment terms, and reorder history mean the retailer who wrote an order at Salone can reorder in November without emailing anyone. It runs on the same catalogue and the same stock as retail, which is the entire point — one place where inventory is true, rather than a wholesale site that thinks you still have twelve of something you sold at retail last week.
The other Plus surface that matters in Italy is checkout. Checkout UI extensions let you ask for codice fiscale, partita IVA and an SDI recipient code or PEC address at the right moment, show different content to a business buyer than to a consumer, and put delivery-window or freight-quote information in front of someone buying a piece of furniture. Shopify Functions handle the logic underneath: volume and account-based discounts for trade, shipping rules that separate a courier parcel from a palletised delivery, and payment method visibility so contrassegno appears where you allow it and nowhere else.
The Milan pattern is a business whose real customer list lives in a showroom relationship book and whose website was built as a brochure with a buy button. Salone and the February and September fashion weeks produce a burst of trade contacts in a single week, and what happens to those contacts afterwards is usually a PDF sent by email and a follow-up nobody has time for. Plus B2B is what turns that into a channel: the buyer gets a login, their own prices, their terms, and the ability to reorder without a conversation, while your team gets the order in the same admin as everything else. On the export side, Markets does the rest — per-country pricing that is a decision rather than a floating conversion, local domains or subfolders for Germany and France, and duties handled predictably rather than as a surprise at the door. We would rather make Plus earn its cost through B2B and Markets than sell you a headless rebuild you do not need; Hydrogen is worth it when the front end genuinely is the bottleneck, and for most brands at this size it is not.
The same standard of work we run for every client — applied to a Milan brand’s realities.
Full service detailCheckout UI extensions for trust content, delivery choice, gifting and post-purchase upsell. Native, upgrade-safe, and no longer dependent on checkout.liquid.
Custom discount, delivery and payment-method logic written as Functions. Volume tiers, bundle pricing and B2B rules run server-side instead of via three stacked apps.
Company profiles, price lists, payment terms, quantity rules and a self-serve reorder portal. Wholesale and DTC on one catalogue, one inventory, one admin.
Multi-currency, multi-language, market-specific catalogues, domain routing and correct hreflang. Expansion without a store-per-country sprawl.
Hydrogen on Oxygen with the Storefront API, edge caching and streaming SSR. We build this only when the performance or content case is real, and we say so when it isn't.
NetSuite, Business Central, Akeneo or a 3PL wired in through a documented middleware layer with retry logic, error alerting and a reconciliation report.
We do not work off a rate card. Every Milan engagement starts with a fixed statement of work — named deliverables, named dates, one number — written after we have looked at your store, not before. If a smaller first step would serve you better, we will say so.
Get this scopedWe map your systems, order flows and edge cases end to end, then document where data breaks today. Output is an architecture diagram you can hand to any engineer.
Native-versus-custom decision for every requirement, with cost and maintenance load attached. Plenty of requests get answered with a $0 native setting.
Two-week sprints in a dev store with a staged demo at the end of each. You see working software every fortnight, not a status deck.
Peak-traffic simulation, payment-failure paths, partial-sync recovery and a rollback plan. We break it in staging so BFCM doesn't break it live.
Phased rollout, monitoring dashboards and training for ops and finance. Every custom component ships with a README and a named owner.
Anonymised under NDA. Figures pulled from the client’s own analytics.
~$4.2M/yr, 60% subscription revenue, 22 SKUs, US · Shopify Plus (Recharge, Klaviyo)
Monthly subscription churn hit 9.4% and the cancel flow was a single button on a hosted page nobody had touched in three years. Support processed 340 subscription changes a month by hand because customers could not do it themselves. The named constraint: no forced logins. The brand refused to gate account access behind a password reset, which ruled out every off-the-shelf portal.
~$11M/yr, 2,300 SKUs, configurable upholstery, US · Shopify Plus + Hydrogen storefront (Oxygen)
Fabric, leg and size options turned 2,300 SKUs into more than 40,000 variant permutations, and the Liquid theme rendered a configurable PDP in 6.9 seconds on mobile. Collection filtering ran client-side, so 40% of shoppers left before the first product painted. The named constraint: the ERP stayed. It was the single source of truth for stock and lead times and was not up for replacement.
“We sell wholesale into about 400 accounts and were still taking reorders by email like it was 2009. They built the B2B catalog on Shopify with net-30 terms and per-account price lists, and moved our whole rep team onto it in one week. Average reorder went from roughly 20 minutes of back-and-forth to under three.”
“A Hydrogen build plus a NetSuite sync that our own team had failed at twice. Inventory finally matches between the warehouse and the storefront, which sounds boring and is the most valuable thing anyone has done for us this year. LCP went from 4.1s to 1.3s. The honest part: the first six weeks felt slow and I genuinely wasn't sure we'd picked right — it only clicked once we moved to a standing Thursday call with the engineers instead of account-manager summaries.”
Thirty minutes with the strategist who would actually run your account. We screen-share your store, read your data live, and tell you the three highest-value things we can see from the outside.
Prefer to write it out? [email protected] gets a real reply the same business day, Mon-Fri, 9am-6pm MT.