Vaan is a Shopify Platinum design & technology agency and the home of Brand Conversion Design.
We migrate, design, and build high performing eCommerce experiences leveraging our Brand Conversion Design framework, industry partnerships & deep eCommerce technical expertise. Solving the tension between optimization and design, we help brands make the most of their eCommerce.
About the role
We're in flight on a platform migration to Shopify Plus B2B, with a legacy on premise ERP as the system-of-record ERP. This role is central to designing and building the middleware/integration layer that connects Shopify to ERP and surrounding systems (payments, tax, inventory, fulfillment, pricing). This is a complex, high-stakes migration involving real-time and batch data sync, custom B2B logic, and payment processing — not a simple app-to-app connector job.
Expected Contract Duration: 4 months
Responsibilities
- Design and build middleware services (Node.js/NestJS) that synchronize orders, customers, pricing, inventory, and fulfillment data between Shopify B2B and ERP
- Architect resilient integration patterns: queues, retries, idempotency, reconciliation, and error recovery for high-volume transactional data
- Build and consume REST/GraphQL APIs (Shopify Admin/Storefront APIs, ERP APIs/EDI, and any third-party services)
- Implement B2B-specific logic: company/location accounts, tiered/contract pricing, custom catalogs, payment terms (net terms), quoting, and approval workflows
- Integrate payment processing (tokenization, authorization/capture flows, refunds, reconciliation) in a way that's PCI-aware and auditable
- Work closely with the ERP functional team to map data models and business rules between systems
- Write tests, documentation, and runbooks; participate in code review and architecture discussions
- Support cutover planning: data migration, dual run/parallel testing, and rollback strategy
Qualifications
- 4+ years professional backend software development experience (Engineer 2 baseline)
- Strong proficiency in production NestJS (modules, providers, DI, guards/interceptors, decorators)
- Solid TypeScript fundamentals; comfortable owning services end-to-end, not just feature tickets
- Experience integrating with at least one ERP or large enterprise system (order management, inventory, financials) via API, EDI, flat file, or message queue
- Experience building or consuming Shopify APIs (Admin API, GraphQL, webhooks, or apps) — Shopify Plus experience a plus
- Working knowledge of relational databases (Postgres/MySQL) and schema design for transactional data
- Experience with asynchronous/event-driven architecture: message queues (SQS, RabbitMQ, Kafka, or similar), background jobs, retry/backoff patterns
- Understanding of idempotency, data consistency, and reconciliation in distributed systems (critical for order/payment sync)
- Comfortable working independently in an ambiguous, evolving integration landscape — this isn't a fully-spec'd ticket queue
- Strong communication skills; able to work directly with ERP/functional stakeholders, not just engineers
Nice to Have
- Direct experience with mid-market/enterprise ERPs — Infor CloudSuite, NetSuite, Epicor, Dynamics 365 including its API layer, IDO/business logic, or EDI patterns
- Experience with Shopify B2B features: company accounts, B2B checkout, customer-specific catalogs/pricing, quoting
- Experience with payment gateways/processors (Shopify Payments, Stripe, Authorize.net, Adyen, or similar) — auth/capture, refunds, chargebacks, tokenization, PCI-DSS awareness
- Prior experience on a platform migration (legacy/custom → SaaS commerce platform), especially with a cutover/parallel-run phase
- Familiarity with middleware/iPaaS patterns or tools (custom middleware, MuleSoft, Boomi, Celigo, or similar) even if this build is fully custom
- Experience with infrastructure/deployment: Docker, CI/CD, AWS/GCP/Azure, observability (logging, tracing, alerting) for production integration pipelines
- Background working with high-volume B2B commerce (large order counts, complex pricing rules, multi-entity/multi-warehouse)
- Familiarity with GraphQL schema design for internal middleware APIs
- Domain experience in [industry — e.g., wholesale distribution, manufacturing, apparel] if applicable to the brand
- Experience with tax engines (Avalara, Vertex) or fulfillment/3PL integrations
- Experience with EDI (X12/EDIFACT) for order, invoice, or ASN transactions if SX.e integration relies on it
#LI-DNI