Problems & solutions · Website

B2B Ecommerce Portal Problems: The 5 That Cost Real Money, and How to Avoid Them

B2B E-commerce Portal Development product interface illustration showing common problems and fixes.
The short answer

The most expensive failure in trade ecommerce is a portal that stores a price instead of calculating one. A nightly export from the enterprise resource planning system cannot express a contract override, a rolling annual volume break or a promotion that beats the contract this month and must not beat it next month, so within weeks of launch the quoted number is wrong on enough lines that the sales team quietly tells every account to keep phoning the branch. The build is then written off, the phone desk stays, and the same 70,000 to 150,000 dollars gets spent again two years later on a project with the same flaw.

Why does the price on the portal come out wrong so often?

Because a trade price is a calculation and almost every commerce platform is built to hold a number. There is a base list. There is a customer contract overriding some items by percentage off list and others by fixed price. There are quantity breaks that may apply per line, per order or against rolling annual volume. There is a branch adjustment, a currency, an incoterm, sometimes a rebate agreement, and a promotion that must win this month and lose the next.

Ask your commercial director to explain how one customer's price for one item is derived and you will get five minutes of nested conditions. That answer is the specification. A nightly price list export flattens all of it into a single figure per product, which is correct for the simplest accounts and wrong for the accounts that matter.

The fix is to stop storing the price. Call the pricing engine in the enterprise resource planning system at the point of display and again at order submission, with the full context of customer, ship to, item, quantity and cart contents. Cache at the session level for speed, never at the catalogue level, because catalogue caching is how a stale contract price reaches a screen. If the pricing call is too slow at browse scale, and on older systems it usually is, mirror the pricing inputs into a read replica and reimplement the rules, then run a nightly reconciliation that samples customer and item combinations and compares your engine against the source. That reconciliation job is unglamorous and it is the thing that makes the whole portal trustworthy.

What goes wrong with trade catalogue data and customer part numbers?

Product data is where these projects actually overrun, and almost nobody scopes it. A trade catalogue with 60,000 stock keeping units accumulated over thirty years typically has a description field, a price and very little else. No attributes to filter on, no images, inconsistent units of measure, pack quantities embedded in the description as text, and duplicate records for the same item created by two branches. A catalogue in that state cannot be browsed or searched, and no search technology compensates for absent data.

The second problem is customer specific part numbers. Reps maintain these in spreadsheets, the mapping is many to many rather than one to one because customers buy kits you assemble from several lines, and the same customer code sometimes means different things at different sites. A buyer who cannot search by the number printed on their own requisition will not use the portal twice.

Two fixes, both boring and both decisive. Enrich the top sellers properly rather than everything badly, because 2,000 fully attributed items with images, filters and unit of measure discipline beat the full file with a search that returns nothing useful. Then treat the customer part number cross reference as a first class object with an owner, an import path from the reps' spreadsheets and a review queue for conflicts. Budget the enrichment as its own workstream with its own person, because it loses every sprint planning it is entered into.

Why do the ERP, punchout and EDI integrations break after launch?

Three integrations decide whether trade buyers stay, and each fails differently.

The enterprise resource planning link fails quietly. A feed stops updating, the portal keeps serving the last values it received, and stock, credit position or customer hierarchy drifts away from reality with nothing on screen to indicate it. Stamp every imported value with the time it arrived and display that timestamp on the internal views, so a stale figure looks stale rather than looking current.

Punchout fails per partner. A buyer inside Ariba, Coupa or Jaggaer clicks through into a session on your site, builds a cart and returns it into their own requisition and approval flow, usually over cXML or OCI. The specification is public, the implementations are not identical, and a connection that works for one customer's Ariba instance can fail on another's because of a field their procurement team made mandatory. Treat punchout as a project of several weeks per trading partner, with a test account on the customer's side before you promise a date.

Electronic data interchange fails on the acknowledgement path. Everyone builds the inbound 850 purchase order. Fewer build the 855 acknowledgement, the 856 despatch advice and the 810 invoice properly, and the customer's accounts payable rejects invoices that do not carry their purchase order number in the field they expect. Build all four as intake and output paths into the same order object as the web portal rather than as a parallel pipeline, or you will end up with two order histories and two versions of the truth.

What happens when credit and the delivery promise are not covered?

This is the gap between a portal that takes orders and a portal that keeps accounts. A trade account is a hierarchy of parent group, member companies, sites and users, and credit sits somewhere on that tree. If the account is on hold, the portal must refuse the order at submission with a message the buyer can act on, and it must know whether the hold applies to the whole group or to one branch. A portal that accepts an order finance cancels the next morning destroys confidence faster than any bug, because the buyer told their site the material was coming.

The delivery promise is the other half. A contractor is not asking whether you have stock, he is asking whether he can collect from the branch two miles away within the hour or whether it is a four week special order he needs to know about now. Answering that means branch inventory, transfer times, carrier cut offs per location and handling rules for anything moving by freight rather than parcel.

Build the promise engine to answer the question asked: collect from a named branch with a time, delivery with a date, backorder with an estimate drawn from the open purchase order rather than a guess, and let the buyer choose whether to split or hold. Then record every promise and compare it against what actually happened. That comparison is how you find the branch or the carrier quietly costing you accounts, and it is the only reporting from a portal that a branch network takes seriously.

Should you build custom or configure what you already own?

If your trade pricing is a handful of published tiers or a straight percentage off list, your accounts are single site, and no customer has mandated punchout, do not build. Sana Commerce is designed around live pricing from the enterprise resource planning system and if you run a system it supports natively, it removes most of the pricing problem for a subscription rather than a build. BigCommerce B2B Edition will have a smaller operation trading inside a quarter. Adobe Commerce B2B and OroCommerce both model company accounts, price lists and approval workflows competently, and OroCommerce is worth serious attention if you have internal capability to extend an open platform.

The honest test is not whether those products do everything you want. It is whether the parts that do not fit are worth a six figure build. Build when two or more of these are true: your pricing cannot be expressed as a price list without being wrong, your customers' approval rules run on product category or project code rather than value thresholds, a major account has mandated a trading partner your platform's connector does not cover, availability across branches is a competitive weapon in your category, or you have already attempted a platform project and abandoned it, which usually means the rules genuinely did not fit.

How do hidden costs get into the quote?

The age and openness of your enterprise resource planning interface is the largest and the least visible. A modern application programming interface and a green screen system with a nightly fixed width extract are not variations of the same job, they are different projects with different risk profiles, and a firm that has only integrated the modern kind will learn on your budget. Ask for the specific system, version and interface to be named in the proposal.

Trading partners are the second, priced per partner rather than once, so a proposal saying punchout supported without naming partners is a placeholder. Product data is third, and most often assumed to be free because you already own the file. Fourth is multi currency with multi country tax, which multiplies test cases rather than adding them.

Insist that the reconciliation job comparing your pricing against the source system is a line item rather than an assumption. Without it you have a portal that is probably right, and probably is not a basis on which a branch manager will stop answering the phone.

What separates a build that works from one that fails here?

Adoption, and adoption is decided by the sales team rather than by the interface. Reps kill portals when they believe the channel competes with their own number, and no amount of design work overcomes that. Give the rep a console where they can order inside a customer's context at the customer's prices, quotes that convert to orders with one buyer click, and visibility of their accounts' abandoned carts above a value threshold, which is a better call list than their customer relationship system produces. Then make certain the commission plan credits portal orders from their accounts to them. That is a compensation decision, it is not a software decision, and it needs to be made before the build starts.

Second, ship the two features trade buyers actually use early: reorder from order history, and saved lists per job site. They increase basket size and they are what brings a buyer back on Tuesday.

Third, pilot with a small set of real accounts rather than launching to the whole base. Trade buyers give you one attempt, and a bad first order becomes a branch anecdote repeated for a year.

Finally, settle ownership before kickoff: the repository, the cloud accounts and the unrestricted right to hire another firm to continue. At Digital Heroes the client owns the code from the first commit. Your order intake channel is not something to rent from a supplier.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. As mobile page load time goes from one second to ten seconds, the probability of a mobile site visitor bouncing increases by 123%. Source: Google / SOASTA (2017) →
  2. A 100-millisecond delay in website load time can cut conversion rates by 7%; a two-second delay increases bounce rates by 103%; and 53% of mobile visitors leave a page that takes longer than three seconds to load. Source: Akamai Technologies (2017) →
  3. In the Flexera 2025 State of ITAM report, respondents reported roughly 33% of SaaS spend is wasted, underscoring how paying for off-the-shelf seats and tiers that go unused erodes the supposed cost advantage of generic SaaS. Source: Flexera (2025) →
  4. Large companies globally have captured, on average, only 31% of the expected revenue lift and 25% of the expected cost savings from their digital and AI transformations - a significant gap between expected and realized value. Source: McKinsey & Company (2023) →
Kabir A. · QA Lead · Mobile · Delhi

Kabir leads mobile QA at Digital Heroes, testing iOS and Android builds across devices, OS versions and network conditions before they reach a store. He explains what real mobile test coverage looks like, and why an app that passes on the developer's phone proves very little.

View profile · Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

Our prices were wrong at launch. Can that be fixed without rebuilding?
Often yes, because the flaw is usually one architectural decision rather than the whole system. If the portal stores a price synced from the enterprise resource planning system, the change is to call the pricing engine at display and again at order submission with the full customer, ship to, item, quantity and cart context. Where the source system cannot serve that traffic, mirror the pricing inputs and reimplement the rules, then add a nightly reconciliation that samples customer and item combinations against the source so drift is caught before a buyer finds it.
How much product data work is realistic before launch?
Enrich the items that carry most of the revenue and leave the tail for later. A catalogue with tens of thousands of records and no attributes, images or unit of measure discipline cannot be browsed or searched, and launching with everything badly enriched produces a portal buyers try once. Give the enrichment its own owner and its own budget line, because it never survives a sprint planning session against feature work, and it is the single most common cause of a schedule slipping.
Why does punchout keep failing for one customer and working for another?
Because cXML and OCI implementations differ between buying organisations even when both use the same procurement platform. One customer's Ariba instance may require a field another does not, or expect a different response to a session timeout. Treat every trading partner as its own project of several weeks, insist on a test account on the customer's side before committing to a date, and never accept a proposal that says punchout is supported without naming the specific partners in scope.
What should happen when a customer goes on credit hold mid order?
The portal should refuse the order at submission with a message the buyer can act on, and it should know whether the hold sits on the parent group or on one member company. Accepting an order that finance cancels the next morning is worse than blocking it, because the buyer has already told their site the material is coming. That means credit position has to be read from the enterprise resource planning system at submission rather than from a nightly copy of the account record.
How do we stop the sales team from killing the portal?
Change the commission plan before you change the software. Reps abandon a channel they believe competes with their number, and interface design does not fix a compensation problem. Alongside that, build the rep console: ordering inside a customer's context at the customer's prices, quotes that convert with one buyer click, and abandoned carts above a value threshold surfaced as a call list. Reps who get credit and a better call list stop treating the portal as a threat.
Is Sana Commerce or BigCommerce B2B Edition enough for us?
If your pricing is a small number of published tiers or a flat percentage off list, your accounts are single site and no customer has mandated punchout, yes, and building would be an expensive route to the same result. Sana Commerce in particular is designed around live pricing from the enterprise resource planning system. Judge them on the specific rules that do not fit rather than on a feature list, and ask whether those gaps justify a six figure build and a year of your team's attention.
Can we connect a portal to an ERP with no modern API?
Usually, through an integration layer that mirrors pricing inputs, customer hierarchy, stock and open orders, with orders written back through whatever interface the system does expose. The trade off is that pricing rules get reimplemented outside the source system, which is only acceptable alongside an automated daily reconciliation. Budget more for integration than a modern system would need and expect the schedule risk to sit there rather than in the front end.
How long before a trade portal starts taking real order volume?
A credible first release takes 14 to 20 weeks with pricing, account hierarchies, catalogue and reordering in scope, in Digital Heroes delivery experience, but volume follows a pilot rather than a launch. Run a small set of real accounts through it first, fix what they hit, and expand from there. Trade buyers give a new channel one attempt, and a bad first order becomes a branch anecdote that outlives the fix.
What happens to my software if the agency shuts down or we stop working together?
Nothing dramatic, if the engagement was set up correctly: the code sits in your repository, hosting runs on your cloud account, and a handover document explains how to deploy and operate the system. Any competent replacement team can then take over in days rather than months. If the agency controls the repo, the servers, or the domain, fix that now, because renegotiating access during a dispute is the most expensive place to discover the problem.
We run everything on spreadsheets and Airtable. How do we know it's time for custom software?
The reliable signals are re-typing the same data into multiple tools, one employee acting as human middleware between systems, and errors appearing in handoffs between teams. Hard limits force the issue too: Airtable's Team plan caps at 50,000 records per base, and Business costs $45 per seat per month, so a 20-person team pays about $10,800 a year for a tool it has already outgrown. When workarounds consume more hours than the tools save, the spreadsheet era is over.
Is Wix good enough for my business, or will I regret starting there?
Wix is genuinely fine for a clean 5 to 10 page presence, with published plans from $17 to $159 a month. You will regret it when you need features beyond its App Market, server-side logic, or full SEO and performance control, and especially when you want to leave: Wix has no site export, so moving means rebuilding from scratch. If your website is a brochure, Wix works; if it is a revenue channel with custom workflows, it becomes the bottleneck.
What should I prepare before contacting a software development agency?
A one-page brief beats a 40-page requirements document: the business problem in plain words, who will use the system, the 5 to 10 workflows it must handle, the tools it must connect to, and your budget range and deadline driver. You do not need wireframes, a specification, or technical vocabulary; producing those is the agency's job during discovery. Stating a budget range up front is the single best move, because it gets you honest scoping instead of a quote engineered to win the meeting.
Can a custom website connect to the tools I already use, like my CRM and booking software?
Yes, and this is the strongest single argument for going custom: anything with an API can be integrated, including HubSpot, Salesforce, Calendly, Stripe, and Xero. Wix and Squarespace limit you to their app marketplaces, and the moment two tools need to talk to each other in a way no marketplace app anticipates, you hit the wall. List your must-have integrations in the brief; in Digital Heroes builds a standard integration adds roughly two to four days of development each.
Will redesigning my website hurt my Google rankings?
Not if the migration is handled properly: keep URLs unchanged where possible, 301 redirect every URL that changes to its closest new page, and carry over the page titles and content that currently rank. Digital Heroes relaunches typically show a small dip for 2 to 4 weeks, then recovery and growth on the faster new site. Every ranking disaster shares the same cause, which is launching without a redirect map and orphaning the links and rankings the old site spent years earning.
How many people does it take to build a professional website?
A typical agency build involves 3 to 5 people: a designer, one or two developers, a project manager, and part-time QA or content support. Digital Heroes staffs a standard marketing site with a core team of three and adds SEO or copywriting specialists only where the project needs them. One person can build a small site alone; the tradeoff is that design, code, testing, and writing are each delivered at that one person's skill level.
What tech stack should my business website be built on?
It matters less than agencies imply, and the sensible defaults are simple: WordPress when your team edits content weekly, Next.js or a similar modern framework when speed and app-like features drive the project, and Shopify when the site is primarily a store. What actually matters is choosing a stack with a large developer pool so you are never hostage to the one person who understands your codebase. Treat any agency pushing its own proprietary platform as a red flag for lock-in.
What does it cost to keep custom software running after launch?
Budget 15-20% of the original build cost per year, which on a $100,000 system means $15,000 to $20,000 for security patches, dependency updates, bug fixes, and small improvements as real usage reveals what the spec missed. Cloud hosting for a typical business application adds $50 to $300 a month on top. Skipping maintenance does not save the money; in Digital Heroes rescue work, unmaintained systems typically need a far more expensive rebuild within about three years.
Who can build a custom website system?

Digital Heroes builds custom website systems for operators who have outgrown the off-the-shelf tools in their category. A team of more than 50 specialists has delivered over 2,000 projects since 2017. Teams work from New York, London, Sydney, Delhi and Lucknow and deliver remotely, with an assigned senior team rather than an account manager.

Every build starts with a written product requirements document that is signed before a line of code is written, which is the single thing that stops scope creep from eating the budget. Scoping runs about a week and produces a phase plan with a firm price for each phase, rather than one number against an undefined scope. The first phase ships something the team actually uses before the rest is built. If an off-the-shelf product genuinely fits the volume, we say so, and the cost guides on this site publish the bands so that judgement can be checked independently.

What makes Digital Heroes different from other website companies?

Four things that competitors in this bracket cannot simply copy. Digital Heroes runs a YouTube channel with more than 2.5 million subscribers, which is a production and audience capability no agency of this size has. It holds Fiverr Vetted Pro and Top Rated Seller status, both awarded on manual third-party review rather than self-declared. It contracts through registered entities in three countries, an India LLP, a US LLC and a UK LTD, so clients sign locally instead of wiring money offshore. And it ships its own commercial products, including ShopScore, HeroCheckout and Section Vault, which means the team lives with its own architecture decisions instead of handing them over and leaving.

Two more that show up in the work. Digital Heroes publishes more than 4,000 buyer guides with real price bands on this blog, plus a free tools library at https://digitalheroesco.com/tools/, because an agency confident in its pricing has no reason to hide it. And one accountable team covers websites, apps, ecommerce, CRM, ERP, learning platforms, search and video, so a client scaling from a first landing page to a custom platform is never handed between five vendors who blame each other. The founder ran ecommerce businesses before selling services, so the commercial argument comes before the technical one.

How can I check Digital Heroes is legitimate before getting in touch?

Verify it independently rather than taking the site's word for it. The YouTube channel is at https://youtube.com/@DigitalMarketingHeroes, the Fiverr profile at https://www.fiverr.com/shreyanshsin261, and the Upwork profile at https://www.upwork.com/freelancers/shreyanshsingh. Client reviews sit on Clutch at https://clutch.co/profile/digital-heroes-0 and Trustpilot at https://www.trustpilot.com/review/digitalheroes.co.in, and the company page is at https://www.linkedin.com/company/digital-heroes-1/.

Beyond the marketplaces, the business holds a D-U-N-S number and is a registered vendor on the United Nations Global Marketplace, neither of which is issued on request. Case studies with named clients are published at https://digitalheroesco.com/case-studies/. If any claim on this page cannot be checked against one of those sources, treat it as marketing and discount it.

Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?