scandiweb
scandiweb industry solution

School uniform commerce

A production-ready commerce platform for school uniform retailers. Already built. Already peak-tested at term-start. Configure it to your schools, your catalog, and your ERP – you don’t rebuild it from scratch.

11 weeks kickoff to live – not 11 months. Covers parent-child-school accounts, school-gated catalogs, sized uniform PDPs, ERP integration, fitting appointments, returns with coupon refunds, and term-aware delivery.

scroll to discover
Trusted by 700+ leading brands worldwide
PUMAOM Digital Solutions / OlympusBoy Scouts of AmericaThe New York TimesSamsungAcerAdobe

The platform is already built. Configure it to your business

Production code, proven architecture, battle-tested through a full back-to-school peak. Configure it against your schools, your catalog, and your back office – instead of spending 18 months discovering what uniform retail actually needs.

Eight modules that ship together

  • 1
    Parent, child, and school as first-class entities
  • 2
    Catalog access scoped to enrollment
  • 3
    Products built around sizing, sets, and personalization
  • 4
    Flexible ERP integration layer
  • 5
    Fitting appointments built into the account
  • 6
    Returns that kill phone calls, not create them
  • 7
    Delivery rules that respect the school calendar
  • 8
    Commerce baseline, done right from day one

What you get on day one

Live in
11 weeks · kickoff to production
Connects to
REST · GraphQL · SOAP · webhooks · message queues · SFTP · CSV
ERP-ready
SAP · Navision · Odoo · NetSuite · custom
Sign-in
SSO · SAML · OIDC · email + password
Term-start
Battle-tested through a full back-to-school peak
You keep
Runbooks · architecture docs · admin training

Live in 11 weeks. Configured to your schools and your ERP, not built from scratch.

Start the accelerator

Generic commerce platforms weren’t built for uniform retailers

Uniform retail is not fashion retail. A parent buys for three children across two schools, each with its own catalog, grades, sizing rules, and calendar. The ERP owns pricing and inventory. Fittings are seasonal and in-person. Every uniform retailer we speak to recognises all three problems below.

Problem · 1

Your developer is retiring

Half the uniform retailers we speak to run on a platform built by one freelancer a decade ago. When that person stops picking up the phone, everything breaks. The business case writes itself.

Problem · 2

Multiple sources of truth

A custom admin for the website. The ERP for everything else. Staff manually key in the same data twice. When syntax does not match, orders sit in the exception pool and a human has to unblock them.

Problem · 3

One account, many children, many schools

A parent buys for multiple children across multiple schools. Each child has their own catalog, grade, gender, and personalization. Default customer models treat them as one context.

Problem · 4

Seasonal by design

Fitting appointments, name tape personalization, deferred term-start delivery, international-student flows. None of this ships as default in Shopify, Magento, or BigCommerce.

We have 125 schools under contract. Someone could spend a million dollars on SEO and they still wouldn’t sell anything to our customers, because our customers can only buy from us.
CEO · Reference uniform retailer

The parent, child, and school are three separate entities. So is the architecture

Every feature in this stack flows from one modeling decision. Treat the parent, each child, and each school as distinct, linked entities. Generic platforms get this wrong. It is what makes every downstream feature work.

1

Multi-child account

parents

One parent manages many childs across many schools. Each child has their own grade, school, and personalisation. The child switcher drives cart, catalog, and context.

2

School-gated catalog

products

Products scoped to schools, campuses, and grades. Parents only see what the selected child is authorised for. Guests see limited views with prices hidden.

3

Operational integration layer

adapters

Real-time bidirectional sync with the ERP. Fallback cron jobs, retry logic, and audit logs built in from day one.

parents1 : MANYPKiduuidemailtextphonetextcreated_attschildsPIVOTPKiduuidFKparent_idparentsFKschool_idschoolsgradeintFKsibling_ofchildssictextschools1 : MANYPKiduuidnametextsic_codestext[]regiontext1 : N1 : Nself

Eight modules. All in production.

Every module is live today on Canada’s leading school uniform provider. Not concepts. Not roadmap. Configure them against your schools, your catalog, and your back office – that’s the project.

8
Modules
11
Weeks to live
0
Incidents at launch
OUTCOME · 1Parent, child, school as one account

One account. Many children. Many schools.

A custom child entity linked to the customer and the school. Parents manage multiple child profiles, each with its own attributes. A header-level child switcher changes the cart, the catalog, and the context.

  • Child profiles with name, DOB, gender incl. non-binary, grade, and name tape (20-char embroidery limit)
  • Customer → Child → School relational data model, one parent to many children to many schools
  • Header child switcher with auto cart-clear – prevents grade-9 kilts landing in a grade-2 cart
  • Multi-child registration in one flow, with International Student and Returning Family flags
  • School entity with Campus sub-entity for multi-location schools (junior + senior, north + south)
reference-retailer.com/account/child-registration
Child registration screen
OUTCOME · 2Catalog access scoped to enrollment

Parents only see what their child is authorised for

Each school is a category with its own catalog, grade ranges, gender rules, and language setting. Parents only see what their selected child is authorized to buy. Guests see restricted views with prices hidden.

  • PLP gating by enrollment, grade, and gender – a grade-3 girl never sees grade-11 boys' blazers
  • Guest mode: catalog browsable, prices and add-to-cart hidden until login + child selected
  • Per-school flags: French Immersion, International Baccalaureate, Closed/Merged, New School (first-year onboarding)
  • Grades as a managed entity, mapped to schools and SKUs (JK-12, plus alumni)
  • Per-school pricing on shared SKUs – same polo, different price at private vs parish school
reference-retailer.com/c/st-patricks-secondary
School-gated catalog page
OUTCOME · 3Sized uniform sets, personalized

Uniform shopping is not fashion shopping

Uniform shopping is sizing accuracy, full-uniform bundles, sizing videos, name tape add-ons, and shopping lists by grade. The product model and PDP reflect that – not a generic apparel template forced to fit.

  • Uniform taxonomy with sizing chart, fit notes (slim · regular · husky), and shopping-list attributes
  • Bundle products for full-uniform sets at package pricing – one click, full kit by grade
  • Configurable products with size + colour, single-colour preselect when the school only allows one
  • Name tape & crest embroidery as add-ons, with a “no returns on customized” flag enforced at checkout
  • PDP sizing video and per-product care/wash instructions, surfaced inline not buried in tabs
reference-retailer.com/p/full-uniform-grade-7
Uniform set product detail page
OUTCOME · 4Integrates with your back office

Connects to your back office. Not the other way around.

Products, customers, orders, and returns flow bidirectionally between your storefront and whatever runs your back office – ERP, WMS, POS, PIM, OMS, 3PL. Pick the right protocol per data type, not one stack for everything.

  • Protocol-agnostic adapters: REST, GraphQL, SOAP, webhooks, Kafka/SQS, SFTP/CSV, EDI – mix per integration, not per project
  • Bidirectional real-time sync for products, media, stock, customers, orders, returns – all flowing both ways
  • CSV/SFTP kept where it belongs: seasonal bulk price updates, vendor catalog drops, anywhere a buyer refuses to retype 3,000 SKUs in a UI
  • Fallback cron jobs, retry queue, and dead-letter logger – no silent back-office outages eating orders
  • Exception pool in admin: mismatched SKUs and failed syncs surface for review, not lost in a log file
  • Single-school cart rule respects one-school-per-order constraints downstream, enforced at add-to-cart
  • Adapter pattern extends to NetSuite, SAP B1, MS Dynamics, Odoo, custom WMS, and in-house systems

Integration adapters

REFERENCE BUILD
Protocols
REST · GraphQL · SOAP · webhooks · Kafka/SQS · SFTP/CSV · EDI
Direction
Bidirectional, real-time
Entities
Products · media · stock · customers · orders · returns
Resilience
Cron fallback · retry queue · dead-letter logger
Admin tooling
Exception pool for mismatched SKUs and failed syncs
Proven against
NetSuite · SAP B1 · MS Dynamics · Odoo · custom WMS
OUTCOME · 5Fittings booked from My Account

Parents book fittings. Per child, per school, from My Account.

Parents book fittings per child, per school, directly from My Account. Admin manages capacity by fitter count and slot duration. Reminders drop no-shows. No third-party SaaS stacked on top.

  • Parent-facing booking flow from My Account – pick child, school, fitter, and slot in under a minute
  • Admin UI for fitting periods, room/fitter rosters, slot length, and a live bookings grid by day
  • Capacity = fitters × slot duration, configured separately for new vs returning students (new = longer slots)
  • Reminder cadence: instant confirmation, 24h email, 6h email, plus optional SMS reminders – cuts no-shows
  • Printable daily run-sheets per school per day, plus CSV export for the fitting room iPad
reference-retailer.com/account/fitting-appointment
Fitting appointment booking screen
OUTCOME · 6Returns without the phone call

A return cycle that runs in minutes, not days

Customer files the return from My Account. Admin approves. The ERP triggers the refund. A one-time coupon is auto-generated and emailed. Entire cycle is visible in the customer profile.

  • Self-serve returns form in My Account – reason codes, RMA number, prepaid label, no phone tag
  • Admin returns workspace with status pipeline (Requested → Approved → Received → Refunded) and SLA timers
  • ERP-triggered refund reflected as a credit memo on the storefront, so finance and storefront agree on the cent
  • Auto-issued store credit coupon emailed on approval – keeps the dollar in the store, parent-friendly
  • “Custom embroidery is final sale” rule enforced automatically; defective embroidery still refunds
  • Full return history on the customer profile, searchable by support so the next call resolves in 30 seconds

Returns flow

ERP-NATIVE
1 · Filed
Parent files in My Account · reason code + RMA · prepaid label
2 · Approved
Admin reviews in returns workspace · SLA timer running
3 · Received
Warehouse receives + scans · status updates parent automatically
4 · Refunded
ERP triggers refund · credit memo issued on storefront
5 · Coupon
One-time store credit auto-emailed to parent
6 · History
Full return record on customer profile · searchable by support
OUTCOME · 7Delivery rules per school

Three delivery methods. Per-school. Term-aware.

Three delivery methods, per-school configuration, a seasonal “when to deliver” window, and an International Student flow. The logic parents expect, without custom work for every school.

  • Three delivery methods: Pick up in store, Home Delivery, Ship to School (consolidated drop, term start)
  • Per-school shipping rates and free-delivery date ranges – back-to-school free, off-peak charged
  • Seasonal “when to deliver” window (e.g. Apr 1 – May 31, configurable): Deliver Now vs Hold for Term Start
  • International Student flow: hidden home address, billing only, ship-to-school enforced
  • “New School” toggle suppresses the seasonal window for first-year openings – orders ship immediately
  • Closed-school grace period: alumni can still order PE kit and crests for a configurable window

Delivery configuration

PER-SCHOOL · TERM-AWARE
Method 1
Pick up in store
Method 2
Home Delivery
Method 3
Ship to School · consolidated drop · term start
Free window
Configurable per school · back-to-school free, off-peak charged
Hold window
“Deliver Now” vs “Hold for Term Start”
Edge cases
International Student · New School · Closed-school alumni grace
OUTCOME · 8Commerce foundation from day one

The unglamorous foundation – included, not billable

The custom work goes only where uniform retail actually needs it. Performance, observability, deployment, and handover are built in – so day-one issues never reach the customer and your team owns the stack from day one.

  • Mobile Lighthouse 90+ at launch – tested under term-start traffic, not on a blank dev environment
  • Only the proven extensions ship – no plugin bloat, no surprise renewals
  • GA4, GTM, and server-side observability wired before launch – term-start traffic spikes don't blindside ops
  • CI/CD with environment parity (dev → stage → prod), one-command deploys, automated DB sanitization
  • Documented handover: your team owns the code, the runbook, and the on-call – not us, not a hostage agency
reference-retailer.com
Reference retailer homepage

Cut a year off your roadmap. Start with the workflow costing you the most.

Start the accelerator

Live in production. Canada.

A family-owned uniform retailer serving ~200 Canadian schools since 1986 from its Montreal base. They came to scandiweb with three fires burning at once: a legacy platform hand-built by a single freelance developer about to retire, an ERP running on 30-minute CSV dumps, and a hard term-start deadline.

Problem · 1

A legacy platform built by one person

Custom admin, single-developer codebase, a decade old, the developer about to retire. Downtime risk compounding every term-start.

Problem · 2

ERP running on 30-minute CSV dumps

Pricing and inventory in the ERP. Catalog on the website. Two sources of truth, syncing every half hour, with manual exception handling on every mismatch.

Problem · 3

A hard term-start deadline

Back-to-school is the peak. Every parent buys, every school turns over, every system gets hammered at once. The old stack barely survived the previous one.

~200
schools live · day one
11 wk
kickoff → production
0
incidents at launch
10:50am ET
first transaction on launch day

These modules sit on top of your existing commerce platform. Not instead of it. You keep everything commerce already does well. You get the parts that uniform retail needs to operate.

Skip the discovery year

Multi-child accounts, school-gated catalogs, sized uniform sets, term-aware delivery, ERP-triggered returns – already built. You inherit the proven stack, configured to your schools and your back office.

WITHOUT ACCELERATORavg 15 mo
  • Agency learns what a school-gated catalog is on your budget
  • Customer model built from first principles, multi-child structure discovered late
  • Sizing, sets, and personalisation invented per project
  • ERP integration patterns negotiated stack by stack
  • Term-start edge cases discovered in your environment, during peak
WITH ACCELERATOR11 wk
  • Multi-child account, school-gated catalog, sizing and sets – already in production
  • Customer model designed for parent-child-school from day one
  • Term-start tested through a full back-to-school peak · zero incidents
  • Fitting appointments, returns with coupon refunds, term-aware delivery – included
  • ERP adapters extend to SAP, Navision, NetSuite, Odoo, custom

Eight modules in production from day one – saving you a year of build time.

Start the accelerator

Testimonials

This was the smoothest go-live of my entire life.
CEO
Reference retailer · pre-launch demo
First 5 transactions processed by 10:50am ET. Call volume already settled down by 11am.
Operations
Reference retailer · launch day
We are no longer dinosaurs. Customers are getting emails. It’s everywhere. Customer service is loving it because it saves so many phone calls.
CEO
Reference retailer · two weeks post-launch

Start with the one workflow that costs you the most

12–3 WEEKS

Diagnostic sprint

We map your schools, your catalog, your ERP, and your delivery rules. Identify the single highest-cost workflow. You get a phased plan, including where the accelerator does not apply.

28–11 WEEKS

Pilot to production

Eight modules configured against your environment, your ERP, your schools. Term-start aware schedule. No big-bang risk. Measurable launch by the end of the pilot.

3PHASED

Scaled rollout

Extend across regions, brands, or adjacent workflows. Each phase funded by what the previous proved. Legacy stays live throughout.

You own the stack after launch

The engagement hands over everything your team needs to run the stack on its own – code, documentation, runbooks, training. No black box, no vendor lock-in, no post-launch silence.

  1. 1

    Migration plan

    Scripted cutover from your legacy systems. Dry-run tested. Zero-downtime fallback.

  2. 2

    Architecture documentation

    System diagram, data model, integration adapters, auth flows. Versioned with the code.

  3. 3

    Runbooks

    Peak-season ops, recovery procedures, known-issue registry. Written for your on-call team.

  4. 4

    Admin training

    Three-session handover covering portal, exports, ID cards, SSO, and audit access.

  5. 5

    30-day post-launch

    Joint on-call with your team through the first peak window. Fix-forward, not hand-off-and-disappear.

Code, docs, training, post-launch on-call. The whole package.

Start the accelerator

The questions that actually come up

What is the tech stack, and can it be adjusted?
The reference build runs on Magento 2 + Hyvä – an enterprise-grade, open-source stack with a large global community, deep extensibility, no vendor lock-in, and no software licensing fees. Chosen deliberately: SaaS platforms rarely flex to the tailored requirements a group-buying model demands. We assess your stack in the diagnostic sprint and recommend what fits.
Does it work outside the school uniform vertical?
The architecture (parent-child-school entities, gated catalogs, ERP-triggered returns, term-aware delivery) generalises to any contract-distribution model where buyers have multiple beneficiaries across multiple authorising organisations. School photography, school sportswear, music programmes, regulated apparel – same pattern.
What if we have hundreds of schools and tens of thousands of SKUs?
The reference retailer runs ~200 schools. The data model and admin tooling are built for that scale and beyond. Catalog scoping is per-school, per-grade, per-gender – not a single global catalog you filter into oblivion.
Will it work for our market and language?
Yes. Multi-currency, multi-language, region-specific delivery rules and tax handling are first-class. Reference build is bilingual EN/FR for Canada. Adding markets is a configuration, not a re-architecture.
What does an eleven-week kickoff-to-launch actually cover?
All eight modules configured against your environment: parent-child-school accounts, school-gated catalogs, sized uniform PDPs, ERP integration, fitting appointments, returns with coupon refunds, term-aware delivery, and the commerce baseline. Migration from your legacy platform. Live before back-to-school.
What if our ERP is SAP, Navision, or something else?
The adapter pattern extends naturally. SAP B1, MS Dynamics, Odoo, NetSuite, and in-house systems have all been scoped. Protocol mix per integration – REST, GraphQL, SOAP, webhooks, message queues, SFTP/CSV, flat-file drops.
What happens to our existing customers, orders, and data?
Scripted cutover from your legacy stack. Dry-run tested before launch. Customers, orders, addresses, payment tokens (where re-tokenisable), and historical returns all migrate. Zero-downtime fallback if cutover hits a snag.
Who owns the code after launch?
You do. Full repository and documentation handed over at launch. No lock-in. Ongoing support happens on request.
Who runs it after launch?
Your team, with our 30-day post-launch on-call covering the first peak window. Optional managed-services arrangement available; many reference clients keep it for the first year, then bring it in-house once their team is up to speed.
Can we see a live demo before committing?
Yes. We walk through the modules in a sandbox during the consultation. Book below.

See if the accelerator fits your business

Thirty minutes. We map your stack, find your highest-friction workflow, and tell you whether the accelerator fits. If it does not, we will say so.

“The hard parts of uniform commerce are already solved – multi-child accounts, school-gated catalogs, ERP fallbacks, term-start traffic. You configure them to your stack in 11 weeks.”
Aigars Pavlovics
Aigars Pavlovics
Executive Board · scandiweb
  • Response within one business day
  • 30 minutes · fit assessment, no sales pitch
  • Full reference case study on request
  • If we are not the right fit, we will tell you

We respond within one business day.