Case study · B2B IT Supplier

Wiring the Juice procurement portal straight into NetSuite

B2B Procurement Portal · NetSuite · UK

Vertical
IT reseller & managed services
Scope
Business customers — UK
Platform
AspDotNetStorefront 9.1 with Mercante extensions; .NET integration services
Commerce model
B2B · Integration
Technologies used
  • NetSuite
  • Etilize
  • OneTrail
  • Saverstore
Business outcomes
0
Web orders rekeyed into NetSuite by hand
4
External systems synced: NetSuite, Etilize, OneTrail, Saverstore
3 + 1
Standard price tiers, plus cost-plus pricing per customer
PIN → order
Orders held for approver sign-off before they reach the ERP
Executive summary

Kettering-based IT reseller and services business supplying hardware, software and lifecycle services to organisations across the UK. Its customers don't shop like consumers. Each one buys from an agreed product list, at its own negotiated price, against a purchase order — and often only after someone senior has signed the order off. Customers, products and prices all live in NetSuite, while product content and distributor pricing come from outside it.

Wired In Commerce built Juice, an online purchasing system, and the integration layer that ties it to NetSuite. Customer accounts, contacts and price tiers flow in from the ERP automatically. Products are assembled from three sources: NetSuite decides what is sold, Etilize supplies specifications and images, and OneTrail supplies distributor pricing. Each customer sees their own catalogue and prices, checks out on a purchase order, and approvers sign off with a PIN. Approved orders post straight into NetSuite as sales orders.

The challenge

The companies trade model doesn't fit an off-the-shelf store. A customer's price depends on their customer group, their agreed discount or margin, and which products they have been approved to buy. Distributor prices move constantly. Product content — specifications, images, categories — had to come from somewhere other than the ERP, which holds a part number and a price and little else.

Keeping a web store in step with all of that by hand doesn't scale. Every new buyer needs an account, a price tier and the right catalogue. Every product needs content before it can be sold. Every web order has to be rekeyed into NetSuite, and orders that need sign-off get chased by email. Each manual step is a chance for the website and the ERP to disagree.

The solution

One customer record in NetSuite, reflected everywhere it matters. Customers, products, prices and orders move between the ERP and Juice on a schedule — nobody rekeys an order.

NetSuite is the system of record. Etilize and OneTrail fill in content and prices, and nothing returns to NetSuite until an approver signs the order off.

Technical highlights

  • Accounts created from NetSuite, not by hand — an incremental sync turns each NetSuite contact into a Juice login with addresses and a price tier taken from the customer group. Web access is switched on or off by a flag in NetSuite, and new customers receive a welcome email.

  • One product, three sources — NetSuite decides what is sold; Etilize supplies names, descriptions, spec tables, images, accessories and the category tree; OneTrail supplies distributor pricing. Missing categories are created automatically, and products publish or unpublish to follow their NetSuite status.

  • Prices per customer, rebuilt in set-based SQL — three standard tiers come from a category discount book, and individual customers can be priced at cost plus an agreed margin. Every OneTrail price file triggers a rebuild of each customer's pricing and product visibility.

  • My Products, not the whole catalogue — each customer gets their own approved product list in a dedicated tab, including customer-only items that never appear in the public catalogue. Empty categories hide themselves.

  • Approval before the order leaves — buyers check out on a purchase order. Where a customer has an approver, the order is held and the approver signs it off with a PIN from an encrypted email link; only then is it exported to NetSuite as a sales order, lines matched by MPN.

  • Syncs that catch themselves up — each sync keeps a watermark and works forward one day at a time. A bad record is logged and skipped, the failed window is retried on the next run, and NetSuite calls retry up to five times.

Results

Before

  • Customer accounts and price tiers set up by hand for every new buyer

  • Product content and distributor prices maintained manually

  • Web orders rekeyed into NetSuite, approvals chased by email

After

  • Accounts, contacts and price tiers created automatically from NetSuite

  • Specs, images and distributor prices refreshed from Etilize and OneTrail

  • Approved orders post straight into NetSuite as sales orders

Got a commerce problem that doesn't fit neatly into a platform?
Tell us how your business works. We'll help you work out the right architecture.
Talk to our team