Get on a call with us to see how we can help you
Get a QuoteNeed one portal like this?Line-by-line proposal in 3 days
Submit a briefIMTRA case study
We built a Next.js admin portal on top of Business Central. Every team now works from one dashboard.
14
Modules, one portal
4
Store types
1
Login, every team
Services
Built with
Summary
Stock, orders and stores lived in four places. Now one portal runs them, with Business Central as the record.
Manual sync between them caused delays, stock mismatches and order errors.
See how it connects
The challenge
IMTRA's teams had no single place to manage products, stock, orders and customers.
Stock lived in the ERP and in vendor feeds.
Fix: One inventory view with BC sync
Orders waited for import into Business Central.
Fix: Push, refresh and resync in the portal
Every store change needed a developer.
Fix: A configurator per store type
More stores and B2B needed permissions.
Fix: Role-based access and 2FA
4
Four sources of stock to reconcile by hand: the ERP, vendor feeds, brand imports and manual entry.
Before and after
Fragmented
Business Central
Own tool
Vendor feeds
Own tool
Storefronts
Own tool
Marketplaces
Own tool
B2B requests
Own tool
CMS
Own tool
4
Connected
Business Central
In the portal
Vendor feeds
In the portal
Storefronts
In the portal
Marketplaces
In the portal
B2B requests
In the portal
CMS
In the portal
1
The work
The portal sits on IMTRA's existing services and ERP, so nothing in the backend was rebuilt.
Sales channels
4 store types plus marketplaces
Vendor and brand feeds
Inventory imports
IMTRA Admin Portal
Next.js 16 · built by Redefine
Business Central ERP
GrapesJS CMS
Roles and 2FA
Sentry monitoring
Master and active feeds with import and export.
Vendor, brand, manual and BC stock with buffers.
eCommerce, wholesale, distribution and corporate.
Status workflows, phone orders and BC tabs.
Requests linked to BC customer records.
Companies, quotes, dealer locator.
Page builder with revision compare.
Access set per module.
Master feed: import, export and attributes
Active feed: curated listings per store type
Store listings: categories, facets, bundles, pricing
Orders pushed to Business Central, then synced back
Next.js admin portal · Dynamics 365 Business Central · full code ownership on day one
The same three status tabs the IMTRA team uses.
One storefront order
Press Run the order to see it move.
09:14:02 Order #10482 lands in New
09:14:02 Pushed to Business Central, now Pending with BC
09:14:05 Business Central confirms, now Imported from BC
09:14:05 Status shows for operations and customer teams
Sync engine
Business Central stays the record. Every push is retry-safe, and every store sees its own stock.
Built with
Order push attempt
From the storefront or a resync
Order ID already synced?
Yes: skip the duplicate and return the existing Business Central order
No: create the Business Central order and store its ID
Running a push or refresh again never makes a duplicate, and a network drop mid-sync cannot corrupt an order.
Stock sources
Store buffer
Units held back on purpose, set per store
Available to sell
Per store, per SKU
Each store can hold units back without touching another store's count.
| Record | Direction | Timing |
|---|---|---|
| Orders | Portal pushes to Business Central, status refreshes back | On demand and on event |
| Customers and companies | Business Central to portal, portal to Business Central for B2B | On demand and manual |
| Business Central stock | Business Central to portal, with buffers | Scheduled and manual |
| Vendor stock | Vendor feed to portal | Scheduled import |
| Brand stock | Brand feed to portal | On-demand import |
| Master products | Master to active to store listings | Real time |
| Promotions and coupons | Portal to storefronts | On activation |
| Shipping and payment setup | Portal to store configurators | On save |
Every record has a named home, a set direction and a set timing, so teams know which system to trust.
Operations
Orders, returns, Business Central sync tabs, stock position and shipping setup.
Merchandising
Product feeds, store listings, categories, bundles, pricing, promotions, CMS and assets.
Customer team
B2B portal, companies, quotes, dealer locator and consultation bookings.
Access is set per module, and every login uses 2FA, so each team sees only its own tools.
Admin shell, roles and 2FA
Foundation
Product feeds and stock sync
Inventory
Order push, refresh and returns
Orders and ERP
Stores, B2B, CMS and QA suite
Rollout
Each phase shipped modules the team could use right away, with no big-bang cutover.
The results
Every figure here comes from the delivered scope.
Modules in one portal
14
Operations, merchandising and customer teams share one login.
For the first time, our operations team can see where every order sits in the ERP pipeline without calling anyone.
From the published IMTRA case study.
Why Redefine
Business Central work by a certified partner.
Every repository and environment is yours from day one.
Working software every week, not status reports.
Before you ask
Orders and customers sync both ways: push to BC, refresh from BC, and resync. Inventory syncs from BC with buffer levels per store. About 85% of manual ERP sync steps are now an automated push.
No. The portal sits on top of IMTRA's existing services and ERP, and is API driven.
Yes. Access is set per module, so operations, merchandising and customer teams each get their own view. Every login uses 2FA.
Jest unit tests run in the admin code, and a Playwright suite covers the key order, product and customer journeys. Sentry watches production.
550+ projects · 25+ years · Microsoft Solutions Partner
Send a brief. Get a line-by-line proposal in 3 business days.
Day 0
Submit your brief
48 hours
Call about your brief
3 days
Scoped proposal
1 week
Sprint 1 after sign-off
