Customer Portal Software Development Guide: Scope, Stack & Fixed-Scope Timeline for B2B Teams
A builder's guide to customer portal software development—ERP integration, stack, cost bands, and a 10-week fixed-scope plan for B2B teams.
A builder's guide to customer portal software development—ERP integration, stack, cost bands, and a 10-week fixed-scope plan for B2B teams.
Customer portal software development is the fixed-scope build of a secure web app where B2B customers log in, see account-specific data, and take action — orders, invoices, documents, shipments — with every write validated against your ERP or system of record. It is not a marketing site, a CRM login, or rebranded off-the-shelf SaaS.
Portals differ from internal tools and public SaaS in three ways:
| Dimension | Customer portal | Internal tool | Public SaaS |
|---|---|---|---|
| Users | External B2B accounts | Employees / CSRs | Paying subscribers |
| Data source | ERP truth (pricing, credit, inventory) | Ops workflows | Your product DB |
| Success metric | Order accuracy, support ticket reduction | Hours saved per role | MRR, churn |
| Typical auth | SSO + account hierarchy | SSO / role-based | Signup + billing |
Branch-specific catalogs, approval chains, EDI order replay — that’s portal territory, not “add a login to our marketing site.” For the template-vs-custom fork on NetSuite and Business Central, see .
Build custom when ERP pricing rules, credit holds, or ship-to hierarchies can’t be expressed in a template without expensive workarounds — common with customer-specific price lists and integrations beyond NetSuite SuiteCommerce or Business Central extensions. Buy or extend a template when 80% of flows match standard B2B catalog-and-checkout and your IT team can own configuration, not code.
Build custom if two or more apply:
Start with a template or ERP extension if:
Templates break quietly — see our breakdown of . Custom builds cost more upfront. They also spare you the “we outgrew the template in month nine” rewrite.
A B2B portal MVP should cover authenticated account access, ERP-sourced catalog and pricing, a governed order path, invoice visibility, and document self-service. Nothing else until those flows are stable in production. Fancy AI chat or a mobile app can wait. Bad order sync cannot.
A production B2B portal for SMB and mid-market operators usually pairs a Next.js or React front end with a Node.js or Python API layer, PostgreSQL for portal-specific state, and ERP connectors — deployed on AWS or GCP with Terraform, not hand-clicked consoles. Pick a stack your team can actually run after handoff.
| Layer | Common choice | Why |
|---|---|---|
| Front end | Next.js (App Router), TypeScript | SSR for SEO on public catalog pages; API routes for BFF pattern |
| API | Node.js (Fastify) or Python (FastAPI) | Thin orchestration — never duplicate ERP business rules in the portal DB |
| Portal DB | PostgreSQL | Sessions, cart staging, audit logs — not a second system of record |
| Auth | Auth0, Clerk, or Azure AD B2C | B2B SSO, MFA, account provisioning webhooks |
| ERP integration | SuiteTalk REST, BC OData, custom REST middleware | Queue-based sync; idempotent order POST |
| Infra | AWS (ECS Fargate or Lambda + RDS) or GCP (Cloud Run + Cloud SQL) | Terraform modules, per-environment state |
| Observability | Datadog, Sentry, CloudWatch | Alert on sync lag and failed order posts |
Seed-stage SaaS founders building a customer-facing admin portal (not ERP-backed) often share the same front-end patterns — lighter middleware, same Terraform and CI/CD handoff standards.
Rule we enforce in every SOW: the browser never writes directly to ERP tables. All mutations go through a server-side service with validation, retry logic, and dead-letter queues.
A governed B2B customer portal with ERP read/write integration typically ships in 8–12 weeks on a fixed-scope SOW when requirements are stable, ERP sandbox access exists on day one, and v1 scope is limited to the must-have list above. Add 2–4 weeks for credit-card payments, multi-brand catalogs, or SSO with a customer’s corporate Okta tenant.
| Phase | Duration | Deliverables |
|---|---|---|
| Discovery & integration spike | Weeks 1–2 | Data map (ERP objects ↔ portal entities), auth model, order POST proof in sandbox |
| Core portal shell | Weeks 3–4 | Login, account switcher, layout, design system |
| Catalog & pricing sync | Weeks 5–6 | Nightly + on-demand price refresh, search, discontinued handling |
| Order flow | Weeks 7–8 | Cart → validation → ERP order create → confirmation |
| Hardening & UAT | Weeks 9–10 | Load test, security review, 3 pilot customers |
| Handoff | Week 10–12 | Terraform repo, runbooks, training, 30-day hypercare |
Timeline killers (flag these in discovery):
We scope in two-week milestones with acceptance criteria per milestone — not open-ended time-and-materials. Comparing vendors? Read before you sign.
Custom B2B portal development for SMB operators starts from $12k USD fixed scope for an ERP-integrated v1 in North America and Western Europe — driven by integration complexity, number of ERP objects synced, and auth requirements, not page count. Template extensions and low-code portals cost less upfront; replatforming after you outgrow them often exceeds a disciplined custom v1.
| Scope profile | Indicative fixed range | What moves the number |
|---|---|---|
| Read-heavy portal (history, docs, invoices) | $12k–$14k | ERP read APIs only, <5 entity types |
| Standard B2B order portal (NetSuite / BC) | $14k–$20k | Pricing rules, cart, order POST, 1 ERP environment |
| Multi-brand / multi-region | $18k–$24k+ | Separate catalogs, tax logic, localized content |
| + Online payments | +$2.8k–$5.6k | Stripe / ACH, PCI considerations |
| + Custom mobile app | +$12k–$70k | Offline, barcode — separate SOW |
These are planning bands, not quotes. A 90-minute scoping call with your ERP admin and one customer-success lead produces a number you can put in a board deck.
ROI math distributors use: if CSRs spend 15 hours/week re-keying phone orders and the portal captures 40% of order volume in six months, a $70k build pays back inside 18 months — before counting error reduction on contract pricing.
A customer portal serves buyers who purchase from you — catalog, pricing, orders, invoices tied to their account in NetSuite or Business Central. A vendor portal serves your suppliers (POs, ASN, invoices they send you). A partner portal serves resellers or affiliates (deal registration, co-op funds). Different auth models, different ERP objects. Conflating them in one build usually doubles scope. Scope one audience per release.
Often yes for simple catalog-and-checkout. NetSuite SuiteCommerce and Business Central partner extensions work when your pricing is straightforward and you accept their UX limits. Custom development wins when you need customer-specific workflows — approval chains, non-catalog line items, branch-level catalogs, or integrations your ERP’s portal SKU does not expose. Run the nine-point checklist in our template-vs-custom post before committing budget.
Responsive web is enough for most B2B portals where buyers order from a desk. Build React Native or native iOS / Android when users scan barcodes in warehouses with weak Wi-Fi, capture proof-of-delivery offline, or walk a store floor with a Zebra scanner. Mobile adds 40–70% to budget; defer it unless field workflows are in v1 requirements.
Your team should own AWS / GCP accounts, Terraform state, ERP credentials, and tier-1 user support after hypercare. The agency should hand off a documented repo, CI/CD pipeline, and runbooks — not a black-box hosted SaaS you cannot export. Fixed-scope contracts should name a 30-day hypercare window and hourly rates for post-warranty change requests, not an open retainer.
Bring four items: (1) ERP sandbox access or a read-only integration spec, (2) a spreadsheet of your top 20 customer workflows today, (3) sample price lists showing customer-specific rules, and (4) one CSR and one buyer willing to join two feedback sessions. Without those, any timeline or budget estimate is fiction. If pricing still lives in Excel across locations, clean up the source data first — the portal is phase two until those rules are documented.
Wolverine Solution builds fixed-scope B2B customer portals for wholesale distributors on NetSuite and Microsoft Dynamics 365 Business Central, multi-location operators, and seed-stage SaaS teams that need a governed customer-facing layer — not another slide deck.
On a 45-minute scoping call, we map your ERP objects, define v1 acceptance criteria, and return a fixed-scope range and timeline you can approve without a six-month discovery phase.
Book a customer portal scoping call →
Or email [email protected] with your ERP, approximate user count, and whether orders must write back in v1.
Need this built? Our team does fixed-scope fixed-price portal build — scoped, priced and delivered in weeks.