School uniform retail looks like retail. It isn’t. The difference is that the catalog isn’t open. What a parent can buy is determined by the school their child attends, the grade they’re in, and the contract the retailer holds with that institution. Fittings are seasonal and in-person, and returns have embroidery exceptions. That’s a fundamentally different commerce model, and most platforms simply weren’t designed for it.
Let us walk you through what it looks like when that platform gets replaced properly: what it needs to do, and how one family-owned retailer serving 200 schools went from three simultaneous fires to a live, peak-tested platform in 11 weeks.
Also read:
School Photography Commerce: Production-Ready Platform in 14 Weeks
The 4 problems uniform retailers share
Uniform retail is in its own category – it’s not fashion, nor standard B2C, and it’s not B2B. It’s a contract-distribution model where one parent buys for multiple children across multiple authorizing schools, each with rules the platform has to enforce. Generic eCommerce platforms weren’t built for it, and every schoolwear retailer we speak to recognizes the same 4 problems:
- A legacy platform that wasn’t built for this
Many uniform retailers operating today run on a custom legacy platform built a long time ago, so every update, integration, fix, and peak-season incident becomes a risk.
- ERP and website out of sync
Pricing and inventory are in the ERP, while the catalog is on the website. This leaves staff manually entering the same data into both systems, and when the syntax doesn’t match, like a SKU formatted differently, or a price that was updated in one place and not the other, orders have to wait for a human to unblock them.
- The wrong customer model
If a parent buys uniforms for three children across two schools – each child has their own school, grade, gender, and personalization & each school has its own catalog, pricing, and rules. Default commerce platforms treat them as a single context. Customer experience becomes full of friction, and the backend is full of workarounds.
- Seasonal complexity
Back-to-school traffic spikes don’t resolve themselves. Fitting appointments, name tape personalization orders, deferred term-start delivery windows, international student flows, and every school turning over collide at once. Dealing with these cases is not built into Shopify, Magento, or BigCommerce, but gets built from scratch on every project, discovered late, and tested in production.
Foundational data model for school uniform eCommerce
Gated catalogs, multi-child accounts, term-aware delivery, fitting appointments, and every other feature that makes uniform retail work flow from one architectural decision made at the start: treating the parent, the child, and the school as three separate, linked entities.

The correct structure looks like this:
Customer → Child → School
- A parent is a single account connected to multiple children across multiple schools
- Each child carries their own grade, gender, name tape personalization, and flags for returning or international student status
- A school is its own record with its own catalog, pricing rules, grade ranges, and delivery configuration
- Multi-location schools get a Campus sub-entity rather than duplicated school records.

Here’s how our platform works:
Every child has their own context
When a parent selects a child in the account header, three things happen automatically: the cart is cleared, the catalog is updated, and the entire context shifts to that child’s school, grade, and authorized product range. These validation rules are enforced at the data level from the moment a child is selected.
Catalog works without custom logic
Products are scoped to schools, campuses, grades, and gender at the data level. A few practical examples of what that means:
- A grade-3 girl never sees grade-11 boys’ blazers
- Shared SKUs carry a different price per school type
- Guests can browse a restricted catalog view, but prices and add-to-cart are hidden until they log in
- New or closed school flags are all managed at the school entity level.
ERP integration layer
Because the child, school, and product are all modeled correctly, pricing and inventory from the ERP map to the right entities without manual exception handling. So, when the ERP updates, the right record updates:
- A SKU belongs to a school’s catalog, not a global product list
- A price belongs to a school-SKU relationship.
Sized & personalized uniform sets
- Sizing charts, fit notes, and shopping list attributes are built into the product classification
- Bundle products cover full schoolwear sets at package pricing
- Configurable products handle size and color, with a single-color preselect when the school only permits one option
- Name tape and crest embroidery are add-ons
- Sizing videos and care instructions surface inline on the PDP.
Fitting appointments
Parents can book fittings per child and per school directly from their account, with built-in email reminders. Admin manages capacity by fitter count and slot duration, configured separately for new and returning students.
Easy returns
On this platform, a parent files a return from their account with a reason code, an RMA number, and a prepaid label, without needing to contact customer service. Admin reviews it in a returns workspace with a status pipeline and SLA timers. The ERP triggers the refund, which is reflected as a credit memo on the storefront. Then, a one-time store credit coupon is auto-generated and emailed upon approval. The full return history is available on the customer profile.
Delivery rules per school
There are three delivery methods configured per school with their own shipping rates and free-delivery windows:
- Pick up in store
- Home delivery
- Ship to school
A seasonal hold window lets parents choose between delivering now or holding for term start, configurable per school and per period.
Commerce foundation
The custom work goes only where uniform retail needs it. Everything else is built right from the start:
- Mobile Lighthouse score 90+ at launch, tested under term-start traffic
- GA4, GTM, and server-side visibility
- CI/CD with environment parity across development, staging, and production
- Fully documented handover, code repository, and admin training.

Case study: 200 schools live on a custom uniform platform in 11 weeks
Our client is a family-owned uniform retailer that has been serving Canadian schools since 1986. They have around 200 schools under contract, tens of thousands of parents buying every term, and a hard back-to-school deadline.
Problem
Their existing platform had been custom-built by a single developer and maintained by that same person for close to a decade. It worked, but every update depended on one individual staying available.
ERP and catalog synced via CSV dump every 30 minutes, which meant that for 29 minutes out of every 30, the data on the storefront could be wrong. Going into another back-to-school peak season on the same stack wasn’t an option.
Solution
We replaced the flat customer structure that had been creating friction for years with a parent-child-school account model. The ERP integration now has a bidirectional sync, with a fallback cron job and retry queue replacing the manual exception pool.
School-gated catalogs have per-school pricing, grade and gender rules, and guest mode configured per deployment. Fitting appointments, term-aware delivery, and the returns flow with coupon refunds all went live.
Outcome
11 weeks from kick-off to production (usually projects like these take 15 months on average)
- ~200 schools live on day one
- 0 incidents at launch
- First transaction processed at 10:50 am ET on launch day
- The ERP integration moved from 30-minute CSV dumps to real-time bidirectional sync.
We are no longer dinosaurs. Customer service is loving it because it saves so many phone calls.
CEO, 2 weeks post-launch
What’s next
Whether you have a legacy platform that’s one term-start away from a serious incident, or have outgrown the current setup but haven’t found a replacement, both scenarios are a reasonable starting point for a conversation. Even if you have most of the pieces but one workflow is costing more than it should, we can help.
The school uniform platform by scandiweb integrates with any ERP you’re running, whether that’s SAP, Navision, NetSuite, or something built in-house. It also works the same outside Canada, with delivery rules, tax, and data residency handled per market. And you don’t have to replace everything at once; we can start with the single workflow that’s causing the most pain.
Common questions about school uniform eCommerce platforms
How long does it take to launch a school uniform eCommerce platform?
Our platform goes live in 11 weeks. That timeline covers the Customer → Child → School data model migration, real-time ERP integration, school-gated catalogs, fitting appointments, returns flow, and term-aware delivery in production. The industry average for replacements at this scale is closer to 15 months. Our Canadian client launched 200 schools on day one with zero incidents.
Does the platform integrate with our ERP – SAP, Navision, NetSuite, or in-house?
Yes. The ERP integration layer is built around a bidirectional sync with a fallback cron job and retry queue, so pricing and inventory move between systems without manual exception handling. SAP, Navision, and NetSuite are all supported out of the box, and in-house ERPs are handled through the same adapter pattern.
Is this built for multi-school operators or single-store retailers?
For multi-school operators. The platform was built for retailers holding contracts across hundreds of schools – our launch client serves around 200 – with the back-to-school peak that comes when all of them turn over at once. A single-school retailer doesn’t need the gated-catalog architecture, the per-school delivery rules, or the multi-child account model; a multi-school operator does.
Which countries does the platform support?
Canada is the launch market. The architecture works the same outside Canada, with delivery rules, tax, data residency, and locale configured per market. UK schoolwear retailers, US uniform programs, and Australian and New Zealand operators all share the same underlying contract-distribution model that the platform was built for.
How does the platform handle back-to-school peak season?
Peak readiness is structural, not a runtime tweak. The catalog is gated at the data level so school turnover doesn’t cascade into manual exception handling, fitting appointments are managed in-platform with per-fitter capacity, term-aware delivery windows are configured per school, and the front end ships at a Mobile Lighthouse score of 90+ at launch. Our client passed their first back-to-school season with zero launch incidents and the first transaction at 10:50 am ET on go-live day.
Can parents manage uniforms for multiple children across different schools?
Yes – this is the central architectural decision in the platform. A parent has a single account connected to multiple children across multiple schools. Selecting a child switches the cart, catalog, pricing, and authorized product range to that child’s school and grade. Each child carries their own grade, gender, name-tape personalization, and returning- or international-student flags.
What happens to our legacy data during the 11-week implementation?
Legacy customer, child, school, and product data are migrated into the unified Customer → Child → School model, with sibling relationships, per-school catalog rules, returning-student flags, and international-student flags restructured as first-class fields. Your existing platform stays live throughout migration – the integration layer connects new systems to your stack through an adapter API, with no direct database access and no mid-project decommissioning. The migration runs in parallel with live operations, with no downtime at cutover.
Let’s schedule a free 30-min assessment! We’ll map your stack, identify your highest-friction workflow, and tell you whether this solution is a good fit for your business.

Share on: