An 84,000-SKU Magento 2 store with contract pricing, quick order and ERP-synced stock for trade accounts.
View live demo Opens a working demo with sample content in a new tab.
On location
Gears ChainsPhoto: AJ Montpetit (CC0)
Metal TexturePhoto: Leeroy (CC0)
Tools PeoplePhoto: m0851 (CC0)
Safety GearPhoto: The World is a Stage (CC0)
Warehouse WindowsPhoto: Cyrille Duverne (CC0)
About the Project
This case study describes a B2B Magento store for an industrial parts distributor whose trade customers had stopped trusting its website. Logged-in buyers saw list prices they never paid and stock figures that did not match what the warehouse could ship, so they phoned or emailed their orders instead. The catalogue held 84,000 parts, but searching it by specification was guesswork, and the sales team spent its days re-keying orders that customers could easily have placed themselves.
We rebuilt the storefront on Magento 2 around how trade buyers actually work. Every account sees its own contract prices, stock and pricing stay aligned with the ERP within minutes, and a quick-order screen accepts part numbers or a pasted spreadsheet. Faceted search over structured attributes lets engineers find parts by size, material and tolerance. Around 60% of trade order lines moved from phone and email to self-service, and average basket value rose by 31% through quick order and accessory suggestions.
About the Client
The client distributes industrial parts, from bearings and seals to hydraulic fittings and fasteners, to maintenance teams, manufacturers and workshops. Many customers order the same items repeatedly and need them quickly, at prices agreed in their trading terms.
The sales team knew every account well, but too much of their time went on typing orders from emails and answering stock questions. The distributor wanted customers to serve themselves with confidence, so that sales staff could focus on developing accounts rather than processing them.
Project Goals
Show every trade account its own contract prices when logged in.
Keep stock and pricing accurate against the ERP within minutes.
Make repeat and bulk ordering as fast as sending an email.
Let buyers find parts by technical specification.
Move order entry from the sales team to self-service.
Project Overview
The Challenge and Our Solution
The Challenge
Trade customers phoned or emailed orders because the website showed list prices they did not pay and stock figures they did not trust. The catalogue of 84,000 parts was hard to search by specification, and the sales team spent its days re-keying orders that customers could have placed themselves.
Our Solution
We rebuilt the storefront on Magento 2 with customer groups and price lists driving contract pricing, so every logged-in account sees its own agreed rates. Stock and pricing sync from the ERP through the Catalog API with webhooks in both directions. A quick-order screen accepts part numbers or a pasted spreadsheet, quote requests route to the account manager, and faceted search was rebuilt on Elasticsearch against properly structured attributes so parts can be found by specification rather than guesswork.
Contract Pricing per Trade Account
The first job was to make prices believable. Magento's customer groups and B2B price lists now drive contract pricing, so each logged-in account sees the rates agreed in its trading terms rather than the public list price. Where a part has no agreed rate, the list price is shown, and quote-only items are clearly marked.
When the price on the screen matches the price on the invoice, buyers stop phoning to check. That trust is what made every other self-service feature worth using.
Customer groups and price lists for agreed rates
Clear marking of list, contract and quote-only parts
Prices that match what appears on the invoice
ERP Integration for Live Stock and Orders
Stock and pricing come from the ERP, not from a copy that ages overnight. A two-way integration through the Catalog API and webhooks keeps the storefront aligned with the ERP within minutes, and orders placed online flow back into the ERP with their status updates returning to the customer's account.
Buyers can see what is available and where before they order, and the warehouse works from the same picture. Stock and contract pricing are now accurate to the ERP within minutes.
Quick Order by Part Number or Spreadsheet
Trade buyers rarely browse. They know the part numbers they need, often from a maintenance schedule or a spreadsheet. The quick-order screen accepts part numbers typed in a list or pasted straight from a spreadsheet, checks each line against stock and contract price, and adds the lot to the basket in one step.
One-click re-order from order history handles routine replenishment, and accessory suggestions remind buyers of the seals or fittings that usually go with a part. Together they lifted average basket value by 31%. Quote requests for larger or special orders route to the right account manager.
Elasticsearch Specification Search Across 84,000 Parts
Searching by name alone does not work for engineering parts. We restructured the catalogue's attributes so that size, material, tolerance and other specifications are stored consistently, then rebuilt faceted search on Elasticsearch against those attributes.
Engineers can narrow 84,000 lines to the exact bearing or fitting they need by filtering on the dimensions that matter. Redis and Varnish caching keep catalogue pages fast, even for buyers with complex price lists.
Our Process
How We Delivered It
1
Listening to trade buyers
We spoke with the sales team about why customers phoned instead of ordering online, which pointed straight at pricing, stock accuracy and search.
2
Catalogue and attribute clean-up
Product attributes were restructured so specifications were consistent across 84,000 lines, ready for faceted search.
3
Magento 2 and pricing build
The storefront was rebuilt on Magento 2 with customer groups, B2B price lists, quick order and quote routing.
4
ERP integration
A two-way integration with the ERP was built and tested so stock, prices and order status stayed aligned within minutes.
5
Account rollout
Trade accounts were invited in stages, with the sales team showing key customers how quick order and re-order worked.
Key Features
What We Delivered
Contract pricing per account
Customer groups and price lists showing each trade account its agreed rates.
Quick order & re-order
Part-number entry, spreadsheet paste and one-click re-order from history.
Specification search
Elasticsearch faceted search over structured attributes — size, material, tolerance.
ERP stock & order sync
Two-way integration keeping stock, pricing and order status aligned with the ERP.
Outcome
Results and Impact
Around 60% of trade order lines moved from phone and email to self-service.
Average basket value up 31% through quick order and accessory suggestions.
Stock and contract pricing accurate to the ERP within minutes.
Sales team time redirected from order entry to account development.
Client Feedback
What the Client Says
★★★★★
Eighty-four thousand parts, every trade account on its own pricing, and stock that matches the ERP. Around 60% of our order lines moved off the phone within a quarter.
Managing DirectorIndustrial parts distributor
Services
Services Behind This Project
The Magento & Adobe Commerce, PHP & Laravel, eCommerce expertise we used to build this magento ecommerce — and can bring to yours.
High-converting online stores on Shopify, WooCommerce and BigCommerce — with smooth checkout, secure payments and easy product management.
Learn more
FAQ
Frequently Asked Questions
Can Magento show different prices to different trade customers?
Yes. Customer groups and B2B price lists let each logged-in account see its own agreed rates. Prices can be set per product, per group or through rules, and they appear throughout the catalogue, basket and checkout.
How does ERP integration keep stock accurate on a B2B store?
Stock and pricing changes in the ERP are sent to Magento through APIs and webhooks, and online orders flow back into the ERP. Updates arrive within minutes, so buyers and the warehouse work from the same information.
Can customers order by pasting a spreadsheet?
Yes. The quick-order screen accepts part numbers and quantities pasted from a spreadsheet, checks each line for stock and price, and adds valid lines to the basket. Any lines that need attention are highlighted for the buyer to fix.
Why use Elasticsearch for an industrial parts catalogue?
Elasticsearch handles large catalogues and faceted filtering quickly. Combined with consistent attributes such as size, material and tolerance, it lets engineers find parts by specification rather than by guessing product names.
Is Magento a good platform for B2B eCommerce?
Magento 2 has strong B2B features, including customer groups, shared catalogues, price lists, quotes and company accounts. It suits distributors with large catalogues and complex pricing. Smaller ranges with simple pricing may be better served by lighter platforms.
What affects the cost of a B2B Magento project?
Main factors are catalogue size and data quality, pricing complexity, the ERP integration, quick order and quote workflows, and hosting and performance needs. ERP integration and attribute clean-up usually take the most effort, so we scope them carefully at the start.
Similar Work
Related Projects
Case studies built with the same technologies or for similar needs.