Business Central to nopCommerce catalogue sync at 297,117 SKUs for a US manufacturer
The client
The client is a US-based manufacturer of premium furniture products and signage decor, and a nopStation client since 2023. Its commercial model depends on a large and constantly changing product catalogue, alongside product visualisation, custom design workflows and enterprise workflow automation.
As the range and the customer demands grew, the previous platform reached its scalability limit. The business needed a commerce system able to carry high product volumes across category management, centralised media and customer workflows, with Microsoft Dynamics 365 Business Central 28.2 as the ERP system of record and nopCommerce 4.9 as the storefront.
The immediate problem was how item data moved between the two. Everything went through Configuration Package exports and manual imports, at a catalogue size where that is measured in days rather than minutes.
The challenge
The catalogue itself was not the hard part. The attribute layer underneath it was three orders of magnitude larger, and that is where standard synchronisation approaches break.
01A spreadsheet process carrying millions of records
Item master data was exported from Business Central using Configuration Packages and imported into nopCommerce manually. At this catalogue size that is a multi-day operation every time the range moves.
02Slow enough to shape the release cycle
The client described the manual export and import cycle as highly inconvenient and extremely time consuming, which in practice means catalogue changes queue up behind the effort of publishing them.
03An attribute layer at extreme scale
Beyond the items themselves, the catalogue carries roughly one million product attributes and more than 95 million attribute values, a volume that standard synchronisation patterns cannot move reliably.
What we did
nopStation built a custom AL extension inside Business Central rather than bolting a middleware layer on the outside, so the synchronisation runs where the data already lives.
01Purpose-built Business Central objects
Custom tables, pages, codeunits, permission sets and page extensions were developed specifically for this integration, beyond anything available out of the box, giving the sync its own configuration surface and permission model inside the ERP.
02Configurable batch synchronisation
Data moves in batches of a configurable size, defaulting to 1,000 records. Users trigger a run on demand at any point rather than waiting on a fixed schedule, so a catalogue change can be published when it is ready.
03An OData approach tuned to the attribute volume
The core engineering problem was the batch-size tradeoff. Small batches generate an unworkable volume of HTTP requests, large batches produce payloads that time out. An optimised OData approach moves roughly one million attributes and more than 95 million values without hitting either failure mode.
From a multi-day manual cycle to one action
The same data set, moved two different ways. The change is in who does the work and how often it can be repeated.
Configuration Package export, manual import
- Item master exported from Business Central through Configuration Packages
- Millions of records moved into nopCommerce by hand
- Described by the client as highly inconvenient and extremely time consuming
- Error-prone at volume, with no repeatable verification
Single-action, on-demand synchronisation
- Items, attributes and attribute values flow end to end automatically
- Batch size configurable, default 1,000 records per batch
- Triggered by a user in Business Central whenever the catalogue changes
- Headroom well beyond 297,117 SKUs and 95 million attribute values
Business impact
A manual process replaced, not accelerated. Millions of records that were previously moved by hand now transfer end to end between Business Central and nopCommerce with no spreadsheet step in between.
The scalability ceiling removed. The data foundation carries catalogue growth well past current volume, which the previous manual process could not.
Sync-failure risk engineered out. Solving the batch-size tradeoff avoids the timeout and reliability failures that typically appear when data moves at this scale.
Delivered by a two-person team. One Microsoft Dynamics 365 Business Central developer and one nopCommerce developer.
297,117Product SKUs under automated synchronisation, with headroom well beyond that.
Delivered against the engagement
- 297,117 product SKUs brought under automated synchronisation
- Approximately 1 million product attributes and more than 95 million attribute values synchronised
- Configuration Package export and manual import replaced by a single user-triggered action
- Batch size configurable, defaulting to 1,000 records per batch
- Sync-failure risk reduced by resolving the batch-size tradeoff between request volume and payload size
- Delivered by one Business Central developer and one nopCommerce developer
A catalogue that publishes on one action
The catalogue publishes from Business Central to the storefront on a single user action, and the volume that used to define the release cycle no longer does. The data foundation carries growth well past the current 297,117 SKUs, so the constraint the business worked around for years has been removed rather than reduced.
Talk to our team about Business Central and nopCommerce integration