At a glance
The Challenge
Inform Interiors, a Canadian premium furniture and home décor retailer, was undergoing a major digital transformation. They were simultaneously:
- Migrating from Shopify to Craft Commerce for greater flexibility and control
- Adopting NetSuite as their ERP for unified business operations
- Launching a completely new website with a complex product configurator
The problem: Craft Commerce had no out-of-the-box NetSuite integration. They needed a custom solution that could synchronize 2,500+ products (with 1-6 variants each) and handle complexities their previous Shopify integration couldn't manage.
Before the integration, every new order meant someone on the team spending 10-20 minutes manually entering it into NetSuite. Stock updates between the website and ERP were rare and unreliable. With hundreds of orders flowing through the site, that manual work was unsustainable.
How the Integration Works
We built a custom integration layer that sits between NetSuite and Craft Commerce, handling two-way data synchronization across seven data types: products, stock levels, orders, customer accounts, discounts, shipping information, and product images.
Orders sync instantly from Craft Commerce to NetSuite. Products, pricing, and stock updates flow from NetSuite to the website multiple times per day. The team updates data in one place and the other system reflects it automatically.
Discovery First
Before writing production code, we conducted a two-month discovery phase to understand the full scope of what needed to sync:
- Products and variants (2,500+ items with 1-6 variants each)
- Stock levels and pricing (frequent bulk updates from NetSuite)
- Orders and order status (instant two-way sync)
- Customer accounts and discounts (tiered pricing)
- Shipping information
- Product images (20,000 images from NetSuite to Craft)
During discovery, we built a technical demo that uncovered limitations in the initial approach and solved them before committing to the full build.
Key Technical Challenges
Queue-Based Synchronization for Scale
With thousands of products and frequent price updates, synchronous processing would block the website. We built a Craft Queue-based system that:
- Processes bulk updates asynchronously in the background
- Prioritizes critical syncs (orders, stock) over less time-sensitive data
- Handles failures gracefully with retry logic
- Keeps the website responsive during large sync operations
20,000 Product Images from NetSuite to Craft
Syncing 20,000 product images was one of the more challenging aspects of the integration. Unlike simple data fields, images required:
- Efficient file transfer handling for large image sets
- Storage optimization for web delivery
- Asset relationship management in Craft CMS
- Verification that the correct images display without performance degradation
Canadian Dual-Tax Compliance
Canada's GST/PST tax system added complexity. We built custom logic ensuring:
- Accurate tax calculations flow from Craft Commerce to NetSuite
- Proper order accounting for compliance
- Support for different tax rates based on customer location
Since launch, we have updated the tax logic twice to support new regulations and tariff changes.
Covering Edge Cases
The client's previous Shopify integration didn't handle several scenarios critical to their business. We designed the new system from the ground up to manage these edge cases, ensuring complete data consistency between their ERP and e-commerce platform.
Impact
The integration transformed how Inform Interiors manages their product data and order processing. As one team member put it:
It's faster for me to just do it once in NetSuite and then forget about it knowing that data changes will be sent to the website
The numbers tell the rest of the story. Before the integration, each order required 10-20 minutes of manual entry into NetSuite. Close to 1,000 orders have gone through the system over two years. That is roughly 170-330 hours of manual data entry that never happened. Orders now sync instantly.
Stock updates went from rare and unreliable to automatic, multiple times per day. 2,500 products and 20,000 images stay in sync without anyone logging into two systems. The integration has run for two years with zero major outages.
Two Years of Evolution
An integration is not a one-time build. Since launch, we have shipped roughly 4 updates per year as Inform Interiors' business evolves:
- New field mappings as their product catalog expands and business rules change
- Tax and tariff updates when Canadian regulations changed (twice since launch)
- NetSuite API modernization migrating from SOAP to REST to keep up with NetSuite's evolving feature set
Each update is a small project: scoped, built, tested, deployed. The integration gets more reliable over time, not less. That is the compounding value of building the connection well from the start.
Craft Commerce and NetSuite had no way to talk to each other. We built the connection. Two years later, close to 1,000 orders and 20,000 product images have moved through it without a major outage. The team manages their entire catalog from NetSuite and the website stays current automatically.
For the full engagement details, see the discovery phase and implementation work pages.
Need Similar Solutions?
If you're facing similar challenges or want to explore how I can help with your project, let's talk.