Somerset Timbers: A hybrid B2B and B2C timber commerce build on nopCommerce 4.70 with Dynamics 365 Business Central





A brief background on Somerset Timbers
Somerset Timbers is a South African timber supplier based in Strand, Western Cape, established in 1990 as a sawmill supplying wet off-saw products and now serving construction professionals, home builders, designers, architects, contractors, and individual buyers country-wide. The business manufactures, treats, and customizes timber on site, and describes itself as having led the local timber trade for more than 33 years. Its public storefront runs on the Comalytics and nopStation hybrid B2B and B2C stack, built on nopCommerce 4.70 with Microsoft Dynamics 365 Business Central, surfaced in admin as BCS Integration, as the ERP system of record. The engagement extended the shared Comalytics B2B platform so one branded site, live at somtim.co.za, could serve trade accounts that need credit, account pricing, ship-to branches, and quotes, alongside consumer buyers who need a lighter path to browse and order.
Challenges
Before approaching team nopStation, Somerset Timbers was working with a site that gave them limited control over their own catalog and content, no connection to their ERP system, and online sales performance that fell short of what the business needed. Running on nopCommerce 4.70.0, the client needed a public storefront that could carry trade and consumer commerce side by side while keeping Microsoft Dynamics 365 Business Central as the system of record for accounts, pricing, and stock. After an extensive audit and R&D process, our team identified key development challenges for this project.
Serving Trade And Consumer Buyers On One Storefront: A single public site had to support wholesale-style trade accounts and individual buyers together, each needing different registration, pricing visibility, payment options, and order types passed through to Business Central. Without a clean separation, buyers risked seeing the wrong prices, or the wrong document type posting to the ERP.
Keeping Business Central As The System Of Record: Trade identity, credit limits, balances, stock, and ship-to branches all live in Dynamics 365 Business Central. The storefront needed to sync accounts, products, stock, prices, invoices, and ship-tos on a schedule, and post orders back into BC reliably over OData, including retries and correct field mappings.
Supporting Credit And Pay-On-Account Purchasing: Trade buyers needed credit limits, overspend warnings, and the ability to pay on account rather than by card alone. Card-only checkout would have pushed trade buyers offline, while ignoring credit exposure would have created financial risk for Somerset Timbers.
Aligning Quotes With Business Central: Quotes had to calculate tax correctly, carry delivery dates and customer references through to BC, and match Somerset Timbers' preferred workflow, which did not call for a convert-to-order button once a quote was placed.
Evolving Address Handling As Business Needs Changed: Ship-to and billing addresses are owned in Business Central, so the storefront initially kept address editing read-only to protect sync integrity. As a change request after launch, Somerset Timbers asked for customers to manage their own addresses directly on the storefront, which meant moving from a one-way feed out of BC to real, two-way synchronisation.
Preventing Duplicate Accounts At Registration: Registration had to create both a nopCommerce customer and a Business Central account and ship-to without producing duplicates when reCAPTCHA delays caused the two systems to race against each other.
Keeping Order Status Accurate Under ERP Sync: A manually cancelled order could be silently reopened to processing by the scheduled ERP sync, undermining trust in the order status shown to staff and customers.
Our Solution
Team nopStation took a plugin-driven approach on nopCommerce 4.70 rather than rebuilding the storefront, working across the NopStation B2B plugin stack on .NET 8, with the Emporium theme and DooFinder search.
Dual B2B & B2C Behaviours in One Catalogue: The NopStation B2BB2CFeatures plugin was set up for Somerset Timbers (Pty) Ltd with the default country being South Africa, and features such as quote functionality, ERP integrations, checkout delivery day and cut-off configuration, credit overspending messages and address sync rules were provided. Both trade and consumer buyers browse the same timber categories and DooFinder search, with commercial behaviour diverging once a customer's identity and ERP account link are known.

Image 1.2: Customer registration
Connecting To Business Central Over OData: The ODataIntegration plugin, surfaced in admin as BCS Integration, paired with ERPIntegrationCore and the ErpDataScheduler, maps accounts, products, and orders between nopCommerce and Business Central, with configurable API timeouts, retries, and JSON mappings for B2BSalesOrder and B2CSalesOrder document types. Admin tooling covers ERP accounts, sales organisations, account branches, group price codes, invoices, ERP orders, registration applications, and activity logs.

Image 1.3: Admin - ERP accounts synced from Business Central
Enabling Credit And Account Payments: The B2B Account payment method was activated alongside Peach Payments, so trade customers can check out on account against a credit limit and balance held in the ERP account record, while consumer buyers pay by card through Peach.

Image 1.4: Admin - active payment methods (B2B Account and Peach Payments)
Hardening Quote Placement: Placement of quote orders was adjusted to ensure that tax, delivery dates, and customer references reach Business Central correctly, and order items are properly persisted as expected. The convert-to-order button was hidden from the quote placement flow to align with Somerset Timbers’ process.
Building Real-Time Bidirectional Address Synchronization: My Account initially showed ERP-linked ship-to addresses as read-only, directing customers to support for changes. In response to the client's change request, a real-time bidirectional sync was then built between nopCommerce 4.70 and Business Central. B2B and B2C customers can now add and edit shipping addresses, reflected in BC immediately, and B2C customers can also update billing addresses with the same real-time sync. Customers can select or add a shipping address directly during checkout, giving Somerset Timbers accurate address data for fulfilment, delivery, and billing.

Image 1.5: My Account - ERP-linked ship-to addresses
Sequencing Registration To Avoid Duplicates: Registration was re-ordered so the nopCommerce customer record is created first, with the Business Central account and ship-to created immediately after, removing the race condition that had produced duplicate accounts under reCAPTCHA load.
Protecting Manually Cancelled Orders: An override was added to order processing so a manual cancellation is preserved and can no longer be overwritten back to processing by the scheduled ERP sync.
Together, these changes let Somerset Timbers run trade and consumer commerce from one storefront, with Dynamics 365 Business Central as the single system of record behind it.
Results
- Delivered a hybrid B2B and B2C storefront on a single nopCommerce 4.70 and .NET 8 instance.
- Grew ERP accounts synced from Dynamics 365 Business Central from 100 to 6,728 post-launch, complete with credit limits, balances, and multi ship-to branches.
- Configured two order postings in Business Central as B2B Sales Order and B2C Sales Order.
- Enabled B2B Account credit payments and Peach Payments for card checkout.
- Enabled quote placement with BC-specific tax, delivery date, and line item policies.
- Improved customer registration and order-cancellation processes’ reliability in terms of race conditions and ERP overwrites.
- Generated 779 storefront orders in total; clients reported higher sales and an easier way to reach prospective buyers, according to the feedback.
- Enhanced website performance and SEO optimization on the new platform.
- Gave Somerset Timbers full control over sales, customer accounts, and B2B commerce for the first time.