Case Study
DragZone Custom Shopify Integration
DragZone is a leading Bulgarian retailer of bicycles, e-bikes, and cycling accessories.
The company operates a physical store network across Bulgaria and Romania, backed by a central warehouse and multiple pickup locations. Their catalog spans dozens of brands (Drag, Shimano, Bell, FSA, Suntour, and more) with tens of thousands of SKUs across mountain, road, urban, e-bikes, components, and gear categories. The business serves both retail (B2C) and business (B2B) customers with dedicated pricing tiers per country.
The Project
DragZone needed to unify their Shopify storefront (dragzone.bg) with their existing Microsoft Dynamics NAV ERP so that the online store always reflects real-world stock, prices, and product data — without operators having to duplicate work between systems.
We built a private Shopify app that owns the end-to-end integration:
- Full product-catalog sync — ~50,000 NAV items pushed to Shopify twice daily (02:00 and 14:00 Bulgarian time). Products, variants, images, categories, collections, metafields, and expected-delivery dates are all synchronised. Manual Shopify collections added by the merchandising team are preserved across runs.
- Incremental inventory sync — every 5 minutes, only the SKUs NAV reports as changed are compared against Shopify's current stock and pushed if different. Zero unnecessary API calls.
- Multi-tier B2B pricing — 4 separate price lists (Retail BG, B2B BG, B2B EN, B2B RO, Retail RO) synchronised in one job, batched by 250 prices per Shopify mutation.
- Order processing — Shopify orders (retail and B2B) are validated, mapped to NAV customers, and posted to NAV as sales orders. Invoice data (VAT ID, company name, MOL) flows through from checkout attributes; VAT code is derived from country. Failed orders are automatically retried on a configurable interval with cooldown and max-retry protection.
- Content enrichment — weekly Netpeak internal-linking pass writes recommendation data back to product metafields so the storefront can render “you might also like” sections driven by real SEO signals.
- Observability — every integration action is logged with severity, searchable and filterable in a Shopify-embedded admin. Scheduled tasks can be started, stopped, and triggered on demand.
- Safety-first design — orphan-detection guards prevent mass-archiving when NAV is temporarily unreachable; NAV pagination is validated against reported totals with automatic retry; bulk operations are chunked and use binary-search fallback on partial failures.
The whole stack runs unattended, processes tens of thousands of records per cycle, and respects Shopify's GraphQL cost and rate limits at every step.
Technologies
.NET 8
C#
ASP.NET Core
React Router (Remix)
Shopify GraphQL Admin API
Shopify Bulk Operations- Microsoft Dynamics NAV (SOAP)
PostgreSQL