B2B portal for wholesale clients
Every client sees their own contract price and the real stock figure, repeats a previous order in one action, and takes the shipping documents without asking.
- Buildfrom $2,850
- Timeline4–7 weeks
- Supportfrom $570/mo
Who this suits: Wholesale where the price depends on the contract, orders arrive by mail and in messengers, and a manager checks stock by hand.
What is in the first version
- contract pricing
- live stock
- repeat order
- shipping documents
The figures above are the package this sits on: CRM or client portal. Anything past its edges the calculator adds before the work starts, not after.
How the path goes
- 01
A client sees their own price
The price comes from this client's contract column rather than a general list, so the screen and the invoice agree.
- 02
The order is assembled from stock
Available quantity and its timestamp stand next to each item, so a shortfall shows up in the cart.
- 03
The documents sit with the order
The invoice, the delivery note and the handover document sit on the order card from the moment accounting issues them.
What decides whether this works or annoys people
Stock that is already sold
The quantity is reserved at confirmation, because goods promised and not shipped cost more than an honest note that less remains.
One client sees another's price
Price visibility is checked in the data layer on every request, never by hiding a column in the interface.
Case quantity and the minimum order
The multiple rules live next to the item and are checked in the cart, before confirmation reaches the warehouse.
What to measure once it is live
- orders placed without a manager
- repeat orders made from history
- documents downloaded without a request
- gaps between portal and warehouse stock
Why this comes out faster
The shape of this one is known: the states, the edge cases and the things that usually go wrong have been decided before. Nothing here is a template, and the saving is not in your half of the work. It goes into your process, your content and the systems this has to talk to, which is the part nobody can have solved in advance.
A likely stack for this
Picked against the task when we scope it, not decided in advance. This is the shelf it usually comes off.
- The portalTypeScriptReactNext.js
- Server and dataNode.jsPostgreSQLPrismaRedisS3
- Exchange with accounting and notificationsn8nTemporalTelegram Bot APIDockerGrafana
Price it yourself, right here
Five steps, and you can see the number without leaving a contact. The estimate accounts for the kind of work, what you already have and what it will need inside.
These bills do not come from us
- licences and plans for the accounting system
- the electronic document operator
- storage and traffic for shipping documents
- hosting and the servers for the portal
Asked before the first call
- Where do the prices and the stock figures come from?
- From your accounting system, and it stays the only source: the portal starts no second catalogue and no second price list. Where data arrives on a schedule, the screen says as of when.
- Does it handle deferred payment and a credit limit?
- Yes, where accounting keeps them: limit, debt and overdue sit next to the balance. An order above the limit either fails or goes to a manager, and you choose which before the build.
- Our buyers are used to sending orders by mail. Will they move?
- Some will, because repeating a previous order beats typing it into a mail. Orders that still arrive by mail get entered in the same portal: two intake queues drift apart.