September 3, 2026 7 min read Customer portals

Business Central B2B Portal: Template Limits, Extensions & Custom Scope for Distributors

Microsoft Business Central customer portal templates hit hard limits for multi-location wholesale. When to extend, when to build custom, and the fixed-scope math.

Business Central B2B Portal: Template Limits, Extensions & Custom Scope for Distributors

You searched business central customer portal template because your wholesale or multi-location operation runs on Microsoft Dynamics 365 Business Central and you need customers to place orders, check inventory, and view invoices without emailing your inside-sales team. The AppSource listings look fast. The partner demos look clean. Then you hit the wall: template portals assume one price list, one warehouse, one approval flow — and your business has three warehouses, customer-specific pricing tiers, and a rep-assignment rule that lives in a spreadsheet.

This page walks through where the standard Business Central B2B portal template (and the common Power Pages starter kits) break for distributors, which AL extensions actually close gaps, and when a fixed-scope custom portal becomes cheaper than fighting the platform. We build fixed-scope web applications on React/Next.js, mobile apps on React Native, and AI/LLM systems (RAG pipelines, agentic workflows) for companies like yours — regional wholesale distributors, multi-location operators, and technical SaaS founders in the US and EU.

What does the standard Business Central customer portal template actually include?

The out-of-the-box Business Central customer portal template (via Power Pages or AppSource ISV solutions like Sana Commerce Cloud, Kensium, Visionet) gives you: customer self-registration with Azure AD B2C or Entra ID, order entry against the Sales Order table, real-time Item Availability by location, invoice history with PDF download, and a basic Power BI embedded dashboard. It assumes a single Company in BC, standard pricing via Sales Prices/ Trade Agreements, and approval workflows that map to Approval User Setup. If your catalog is under 5,000 SKUs, you have one warehouse, and pricing is list-less-discount, the template deploys in 4–6 weeks through a Microsoft partner.

Where do template portals break for wholesale distributors?

Template portals break when: (1) multi-location inventory logic requires available-to-promise (ATP) across warehouses with transfer rules — BC’s standard Item Availability by Location doesn’t surface transfer lead times or allocation priorities; (2) customer-specific pricing lives outside Sales Price Worksheet (e.g., matrix pricing by volume tier, annual rebate agreements, or contract PDFs stored in SharePoint); (3) sales rep assignment is territory-based with override logic — the template has no concept of “rep owns account” vs “house account”; (4) order minimums, case-pack enforcement, or palletization rules vary by customer and item — standard Order Promising doesn’t enforce case multiples per ship-to; (5) credit hold/release needs real-time AR aging visibility and a “pay now to release” button — the template shows balance but not Payment Journal integration; (6) returns/RMA require photo upload, restocking fee calc, and credit memo auto-gen — not in any starter kit.

Which AL extensions close the gaps — and which create new ones?

Gap Extension approach Where it still falls short
Multi-warehouse ATP AL extension on Item Availability page + custom Transfer Order logic Requires Telemetry monitoring; debug in VS Code AL extension; no UI for customer-facing “ship from nearest” selector
Contract pricing matrix Price Calculation event subscribers + External Document links to SharePoint API throttling on OData v4 when 50+ buyers hit refresh; caching strategy needed
Rep assignment Dimension-based territory + User Personalization No mobile-first rep dashboard; Power App canvas app becomes separate project
Case-pack enforcement Sales Line validation on OnBeforeInsertEvent Error messages surface in BC client, not portal — needs custom API endpoint
Credit hold + pay-now Payment Services (Adyen/Stripe) + AR Ledger Entry webhook PCI SAQ-A scope expands; partner must be Payment Application certified
RMA with photos Blob Storage + Power Automate → Credit Memo Dataverse capacity costs spike; Power Pages file upload limit 25 MB

Bottom line: each extension adds AL development hours, BC SaaS tenant testing cycles, and AppSource upgrade risk. Three extensions ≈ one custom portal sprint.

When does a fixed-scope custom portal cost less than extending the template?

Custom portal wins when: (a) ≥3 template gaps from the list above — each extension is 40–80 hrs AL + testing; a React/Next.js portal on Azure Static Web Apps or Vercel with BC OData v4 + Azure API Management is 120–180 hrs fixed scope; (b) mobile field reps need offline order capture — React Native app shares TypeScript types with portal; (c) AI-assisted ordering (RAG over product catalog + order history) — Azure AI Search + Semantic Kernel agent calls BC API; templates have no AI layer; (d) brand/UX ownership — template CSS is locked; custom portal is your IP, portable if you migrate ERP.

Rule of thumb: if your annual portal-driven revenue > $2M and template TCO (partner retainer + AL dev + Dataverse capacity + upgrade regression) > $12k/yr, fixed-scope custom build pays back in 12–18 months. We scope these at $12k–$20k for portal + $10k–$12k for companion React Native field app — fixed price, 10–14 weeks, Terraform-provisioned AWS/GCP infra in your account.

What does a fixed-scope Business Central portal engagement look like?

  1. Discovery (week 1): map BC Company structure, Dimension usage, Number Series, Payment Terms, Ship-to hierarchy, and User Group permissions. Output: Portal Requirements Checklist (downloadable below).
  2. Architecture decision (week 1): Next.js 14 App Router + React Server Components for SEO-catalog pages; tRPC or GraphQL Yoga for typed BC API layer; Azure API Management for rate limiting, caching, Entra ID B2B guest auth; Terraform modules for Azure Container Apps or AWS ECS Fargate.
  3. Sprint 0 (week 2): provision infra, GitHub Actions CI/CD, Playwright e2e against BC Sandbox, OpenTelemetry → Grafana Cloud (free tier).
  4. Core loops (weeks 3–8): catalog browse → cart → order submit → Sales Order creation → Webhook → email/SMS confirmation → invoice history → Payment Services embed.
  5. Gap-specific modules (weeks 6–10): ATP calculator, contract pricing engine, rep dashboard, RMA flow — each behind feature flag.
  6. UAT & handoff (weeks 11–14): BC Production cutover, Load test (k6, 200 VU), Accessibility (WCAG 2.1 AA), Runbook + Architecture Decision Records in your Notion/Confluence. You own repo, infra, Terraform state.

How do you decide: template, extend, or build custom?

Use this decision checklist (downloadable CSV at the bottom):

Question Template Extend Custom
Warehouses / ship-to locations 1 2–3 ≥3 with transfer rules
Pricing complexity List less % Matrix ≤5 tiers Contract PDFs, rebates, annual agreements
Rep assignment logic None Territory dimension Override, house accounts, split commissions
Order rules None Case pack only Min order, palletization, customer-specific
Credit / payments Balance view Pay-now link Real-time AR aging, partial release, ACH/CC
Mobile field reps No Power App canvas React Native offline-first
AI-assisted ordering No No RAG + agent on catalog/history
Annual portal revenue <$500k $500k–$2M >$2M
Internal AL dev capacity None 0.5 FTE None (you want fixed-scope partner)
Timeline to launch 4–6 wks 8–14 wks 10–14 wks fixed scope

Score: 0–3 Template, 4–6 Extend, 7+ Custom.

What about Power Pages vs custom React — isn’t Power Pages “low code”?

Power Pages (formerly Power Apps Portals) uses Dataverse as data layer. You still need Dual Write or Virtual Tables to sync Business Central → Dataverse → Portal. That adds: Dataverse capacity ($40/mo base + per-app/per-user), Dual Write latency (5–30 sec), schema drift risk when BC AL extensions change tables, and Power Fx logic that doesn’t travel. Custom React/Next.js hits BC OData v4 directly — no middle layer, no extra license, full TypeScript control, portable to any host. Choose Power Pages only if: you already have Dataverse for Dynamics 365 Sales, your IT team owns Power Platform governance, and portal is read-heavy (catalog, invoices) with <5 write flows.

What does the downloadable scope checklist cover?

The Business Central Portal Scope Checklist (CSV) includes: BC version + AL extension inventory; Company/ Dimension map; Number Series for orders/invoices/credit memos; Price Calculation method (standard vs custom); Ship-to hierarchy + Location ATP rules; Customer price group + Sales Price Worksheet usage; Approval User Setup + Workflow definitions; Payment Services provider + PCI scope; Entra ID B2B guest config; API throttling limits (BC SaaS: 100 req/30 sec/tenant); Dataverse capacity if Power Pages; Accessibility target; Load test criteria; Handoff deliverables (repo, Terraform, runbook, ADRs).

FAQ

How long does a fixed-scope Business Central portal take to launch?

10–14 weeks from signed SOW to production cutover, including Terraform-provisioned infra, Playwright e2e suite, k6 load test, and handoff documentation. Template + partner: 4–6 weeks but with gaps. Extensions:

Need this built? Our team does fixed-scope fixed-price portal build — scoped, priced and delivered in weeks.