Headless Adobe Commerce, engineered for farm & ranch retail.
QC Supply is a farm, ranch, agriculture, and rural-lifestyle retailer serving everyday consumers and B2B Pro accounts alike. IWD engineered a headless Adobe Commerce platform on PWA Studio, wired into Microsoft Dynamics NAV, with multi-warehouse split shipping, a full B2B Pro Portal, and a headless storefront that kept every surface on GraphQL.
QC Supply
QC Supply is a farm, ranch, agriculture, and rural-lifestyle supply retailer. It sells across two audiences at once, everyday consumers and B2B Pro accounts, and runs the business on Microsoft Dynamics NAV across multiple warehouses. IWD engineered its eCommerce platform as a headless Adobe Commerce build: a PWA Studio storefront over a deeply integrated Magento back end.
A farm-and-ranch catalog sold to consumers and Pro buyers alike doesn't fit a standard headless storefront.
So we engineered the layer that does.
Headless PWA storefront
A PWA Studio storefront that keeps the existing B2B, search, and ERP feature set, every surface on GraphQL.
Multi-origin shipping
Multi-warehouse availability and accurate per-origin rates, not a single-warehouse number.
B2B Pro Portal
Company accounts, sub-accounts, and NAV-driven tiered pricing for Pro buyers.
ERP as source of truth
Dynamics NAV driving catalog, inventory, pricing, and orders, in both directions.
Search & address, headless
Address validation, search, and analytics rebuilt to run inside a GraphQL storefront.
Accessibility as a program
A standing WCAG audit-and-remediation workstream, not a one-time fix.
Engineered,
not assembled.
When off-the-shelf extensions can't carry a headless B2B catalog wired to an ERP, we build the layer that can.
Nine systems. One platform.
ERP, shipping, payments, search, tax, analytics, and financing, wired straight into the headless Adobe Commerce storefront and the B2B flow, not bolted on as a side process.
ERPMicrosoft Dynamics NAVCustom bidirectional sync: customers, catalog, inventory, orders
ShippingShipperHQMulti-origin rates, stitched per shipment
PaymentsBraintreeCheckout payment processing
SearchGroupBySearch and SAYT via custom GraphQL middleware
Address / TaxOneSourceAddress validation and tax, replaced legacy QASAnalyticsGoogle Analytics 4GA4 and Tag Manager, PWA-compatible
FinancingJohn Deere FinancingCheckout financing option
ExtensionsAmasty SuiteStore locator, blog, stock, GraphQL-extendedCDNCloudflareEdge delivery and security
Built to keep growing.
QC Supply's headless platform wasn't a single launch. It grew capability by capability, from the PWA foundation to ERP-driven shipping to the B2B Pro Portal, each phase shipped without losing the layer beneath it.
- Phase 01Headless foundation
A custom PWA Studio (Venia) storefront, every surface re-expressed through GraphQL: header, search, minicart, category, product, account, and checkout.
- Phase 02ERP + multi-warehouse shipping
Bidirectional Dynamics NAV sync, then Magento MSI retrofitted for per-origin availability and a line-item source split that stitches accurate per-shipment rates.
- Phase 03B2B Pro Portal
Company accounts, sub-accounts, role permissions, and NAV-driven tiered pricing, with a personalized My Products catalog and a supplier vendor portal.
- Phase 04Search, merchandising & accessibility
GroupBy search wired headless through GraphQL middleware, OneSource address and tax validation, a self-serve Sale Barn grid, Round-Up donations, and an ongoing WCAG program.

A headless storefront that kept the B2B brains.
QC Supply's storefront was rebuilt on Adobe Commerce PWA Studio, every surface re-expressed through GraphQL, while preserving the ERP sync, multi-warehouse shipping, and B2B pricing the business runs on.
- B2B-aware from the start. Company accounts, tiered pricing, and “My Products” survived the headless rebuild.
- ERP stayed the source of truth. Dynamics NAV drove catalog, inventory, pricing, and orders throughout.
- Every extension, GraphQL-enabled. Store locator, blog, search, and forms each extended to run headless.
Less manual work,
cleaner shipping margins.
The build was never the point. This is what changed day to day for QC Supply's order desk, warehouse teams, and Pro buyers.
Get this for your storeShipping stops leaking margin
A line-item source algorithm splits each order across warehouses and stitches accurate per-shipment rates, closing the per-origin gap a single carrier rate had been quietly giving away.
Custom modules. Built from scratch.
Off-the-shelf Magento extensions couldn't carry a headless B2B catalog wired to an ERP across multiple warehouses. So we built the modules that make the storefront, the Pro Portal, and the warehouse logic work the way QC's buyers and teams need them to. Every one is custom-built and owned by QC Supply.
HeadlessPWA Studio Storefront Foundation
What it doesA custom Venia-based storefront: header with promo slider, search and a B2B My Products filter, minicart, homepage, category, product, and footer, all expressed through GraphQL.
Why from scratchPWA Studio didn't support QC's existing B2B, search, and ERP feature set out of the box. Each surface had to be re-expressed through GraphQL without losing what buyers relied on.
HeadlessPWA Cart + Edit-Options
What it doesIn-cart editing of configurable and custom options (text, dropdown, radio, checkbox, multi-select), a capability Venia shipped without.
Why from scratchThe feature had been disabled on the live storefront, so we rebuilt it natively in the headless cart, letting buyers change options without restarting an order.
B2BPWA My-Account + B2B Roles
What it doesB2B account management, roles and permissions, and company structure, surfaced inside the PWA through a seamless iframe with no page reload.
Why from scratchAdobe Commerce provides no PWA support for these B2B features, so we delivered them without breaking the headless experience.
HeadlessPWA CMS & Utility Pages
What it doesStore locator (maps plus custom GraphQL), blog, track-order, FormBuilder with address validation, FAQ, and digital catalogs with quickview.
Why from scratchMost third-party extensions lacked GraphQL and PWA support, so each was extended to expose GraphQL and run headless.
CheckoutShip-to-Multiple-Addresses
What it doesA reworked split-to-addresses flow: toggle group-by Product or Address, inline add-address, and live totals, rebuilt for the headless storefront.
Why from scratchNative Magento's multi-address flow wasn't PWA-friendly and shipped with a validation bug, so we rebuilt and fixed it.
CheckoutOrder Success Page
What it doesA headless thank-you page with order details, billing and payment blocks, a combined multi-order PDF print, and inline guest account creation.
Why from scratchIt had to handle single- and multi-address checkout and combine multiple NAV sub-orders into one printable confirmation.
ERPDynamics NAV Integration Layer
What it doesBidirectional sync of customers, catalog, inventory, orders, and shipments with Microsoft Dynamics NAV. Orders post to NAV and status writes back.
Why from scratchA long-standing custom integration, reworked repeatedly for multi-origin inventory, tiered B2B pricing, and shipping-method mapping.
ShippingMulti-Origin Shipping (MSI)
What it doesMulti-warehouse inventory sources synced daily from NAV, with accurate per-origin availability and shipping.
Why from scratchRequired retrofitting Magento MSI against QC's existing custom extensions: order manager, call-for-pricing, NAV, fast-order, and stock status.
ShippingMSI Source Selection / Split Orders
What it doesA line-item source algorithm (max-availability, capped warehouses per order, fallback source) that splits an order into per-source NAV sub-orders and merges per-shipment rates.
Why from scratchShipperHQ doesn't return per-origin rates, so it took multiple stitched requests, and the gap was leaking real shipping margin.
B2BPro Portal Onboarding
What it doesB2B re-architected onto customer-group, tiered-pricing, and segment visibility, with company registration, many customer groups, and NAV-driven per-group pricing.
Why from scratchReplaced the B2B Shared Catalog model while preserving company and sub-account structures and the personalized My Products catalog.
B2BVendor Portal
What it doesSupplier self-service: product upload, approval workflow, CSV import, and vendor dashboards.
Why from scratchA third-party supplier-uploader configured against QC's catalog rules and approval workflow.
SearchGroupBy Search Overhaul
What it doesA custom search popup (trending searches, quick links, top products by recent conversion) and a B2B My Products filter.
Why from scratchGroupBy had no GraphQL support, so we built middleware translating its REST API to GraphQL so search could run headless.
IntegrationsOneSource Address Validation
What it doesReplaced the legacy QAS service with NAV's OneSource address and tax validation over API, keeping the popup and auto-update UX.
Why from scratchConsolidated address validation onto the ERP's service while preserving the checkout experience buyers already knew.
MerchandisingDynamic Sale Barn & Seasonal
What it doesAn admin grid to assign SKUs, links, and thumbnails to homepage Sale Barn and seasonal sections.
Why from scratchReplaced manual homepage edits with a merchandising tool the marketing team could run themselves.
MerchandisingRound-Up for FFA / 4-H
What it doesA round-up-to-donate option plus donation products addable at checkout, supporting QC's agricultural-education giving.
Why from scratchBuilt PWA and GraphQL-compatible so the donation flow worked inside the headless checkout.
ComplianceAccessibility (ADA) Program
What it doesAn ongoing WCAG 2.0 AA audit-and-remediation program across the storefront.
Why from scratchAccessibility is continuous, not one-and-done, so we ran it as a standing workstream rather than a single fix.
Let's build your headless commerce platform the right way.
Headless PWA, ERP-wired, multi-warehouse, B2B. When a catalog outgrows off-the-shelf, we engineer the Adobe Commerce platform that fits it. Tell us what you're up against.


