Source: https://oguzerol.com/en/dealer-order-entry-portal/

[![Example scenario: a dealer orders 20 of A-44, 5 of B-12 and 10 of C-07 through the portal; B-12 stock falls short, so the order moves to revision and waits for approval.](https://oguzerol.com/gorseller/senaryo/dealer-order-entry-portal-senaryo-en.webp)

View full size](https://oguzerol.com/gorseller/senaryo/dealer-order-entry-portal-senaryo-en.webp)

# Let Dealers Submit Orders Through Their Own Portal: Tier Pricing, Carton Multiples and Credit Holds

[Oğuz Erol](https://oguzerol.com/en/about-me/)  |  15 min read

A dealer order entry portal is a custom B2B web application where wholesale dealers log into their own account to browse only the products authorised for their dealership, see their specific discount tier, order in valid carton multiples, and submit orders against their available credit limit—instead of sending photos of handwritten lists on chat apps or filling in outdated Excel price lists. I build this portal to fit your wholesale workflow. Three traps plague spreadsheet and chat-based dealer ordering: dealers submit orders using a three-month-old Excel file and dispute the invoice when prices differ; dealers type `130 units` for an item that ships in cartons of 50, forcing internal sales staff to call back on every order; and the warehouse packs and loads an order for a dealer whose credit limit is already exhausted. Below I follow one month at a fictional 64-dealer irrigation and plumbing fittings manufacturer through all three.

This page focuses on self-service dealer ordering, tier pricing and credit-limit gating. Separating stock reserved for open orders from free warehouse stock is covered on the [reserved stock tracking app](https://oguzerol.com/en/reserved-stock-tracking-app/) page, while internal sales reps quoting custom margins without seeing unit cost is covered on the [cost-protected quoting portal](https://oguzerol.com/en/cost-protected-quoting-portal/) page. If you work with only five or six dealers, receive a handful of orders a week, or already run a full B2B e-commerce module inside your ERP, you may not need this portal; see the checklist further down.

## A sample company: a 64-dealer fittings manufacturer, four roles and six terms

*Sample data, fictional. Amounts are in a generic currency unit.* Consider a 110-person manufacturer selling PE100 pipe fittings, drip-irrigation filters and pressure regulators wholesale through 64 active regional dealers. Four internal sales coordinators process incoming orders, one finance officer manages dealer credit risk, the warehouse team plans dispatches, and purchasing buyers at the 64 dealerships place orders.

Today the manufacturer emails an 1,800-row Excel price list four times a year. Dealers either type quantities into that file or send chat messages saying *“130 of the 32 mm couplings”*. The four internal sales coordinators spend half their day matching vague descriptions to exact SKUs (`KP-PE100-032`), rounding quantities to full cartons, and calling finance to ask whether a dealer’s credit limit is clear.

Six terms used throughout this page:

- **Dealer tier and discount rate:** The pricing group assigned to a dealer based on annual volume and payment terms (for example Tier A Master Dealer $28%$, Tier B Regional Dealer $22%$, Tier C Sub-Dealer $15%$ off list).
- **Authorised catalogue scope:** A permission filter that exposes only the product families a dealer is contracted to carry (for example agricultural irrigation vs municipal infrastructure fittings).
- **Carton multiple and minimum order quantity (MOQ):** A rule requiring each line to be ordered in exact multiples of its inner-carton pack size ($50, 100, 150\\dots$).
- **Available credit limit:** The dealer’s assigned credit ceiling minus billed open invoices **and minus unbilled open orders currently in fulfilment**.
- **Submission price lock:** Freezing the list priceversion and dealer discount on each line at the exact timestamp the order is submitted, while leaving unsubmitted draft baskets subject to price-list updates.
- **Backorder split:** Splitting a partially available order line into an immediate dispatch line and a price-locked backorder line tracked separately.

The four roles are **dealer buyer**, **internal sales coordinator**, **finance (credit control) officer** and **warehouse dispatch planner**.

## How a 3-line dealer order works across carton rules and credit limits

*Sample data.* A **Tier B Regional Dealer** ($22%$ discount off list) logs into the portal. Their assigned credit limit is $600,000$, billed unpaid invoices total $410,000$, and an approved order currently being packed in the warehouse totals $75,000$. The top-right banner displays their **available credit limit**:

$$\\text{Available Credit Limit} = 600,000 - 410,000 - 75,000 = 115,000\\text{ (tax inclusive)}$$

The dealer adds three items to the basket:

1. **`KP-PE100-032` PE100 Coupling Ø32 mm:** Carton pack size is $50\\text{ units}$. The buyer types `130`; the screen prompts *“Ships in cartons of 50; choose 100 or 150 units”*. The buyer selects **$150\\text{ units}$ (3 cartons)**. List price is $80$, net unit price at $22%$ discount is $80 \\times 0.78 = 62.40$, line net total is $150 \\times 62.40 = 9,360$.
2. **`FL-DML-050` Drip Irrigation Filter 2”:** Carton pack size is $10\\text{ units}$; the buyer selects **$40\\text{ units}$ (4 cartons)**. List price is $1,250$, net unit price is $1,250 \\times 0.78 = 975$, line net total is $40 \\times 975 = 39,000$.
3. **`RG-BSN-030` Pressure Regulator 3 Bar:** Carton pack size is $20\\text{ units}$; the buyer selects **$60\\text{ units}$ (3 cartons)**. List price is $950$, net unit price is $950 \\times 0.78 = 741$, line net total is $60 \\times 741 = 44,460$.

- **Basket Net Total (excluding tax):** $9,360 + 39,000 + 44,460 = 92,820$.
- **Tax ($20%$):** $92,820 \\times 0.20 = 18,564$.
- **Order Grand Total (including tax):** $92,820 + 18,564 = 111,384$.

Because the grand total ($111,384$) is within the available credit limit ($115,000$) and the dealer has no overdue invoices, the order bypasses finance hold and lands directly in **“Ready for Internal Sales & Dispatch Review”**, reducing remaining available credit to $115,000 - 111,384 = 3,616$.

Had the dealer added **one more carton ($10\\text{ units}$)** of the 2” Filter, the tax-inclusive total would have reached $111,384 + (10 \\times 975 \\times 1.20) = 123,084$, exceeding the available limit by **$8,084$**. Instead of rejecting the basket or letting it slip to the warehouse, the portal routes the order to **“Pending Finance Credit Approval”** and lets the dealer attach a payment remittance or request a temporary limit override.

## Catalogue, carton and credit-control rules table

Below is the rule structure I recommend for the sample company (*labelled as my starting suggestion*; thresholds are tailored to your commercial policy):

| rule | starting suggestion in sample company | what it prevents |
| --- | --- | --- |
| Catalogue and tier isolation | each dealer sees only authorised product groups, list price and their own net price; other tiers and manufacturing costs are never sent to the browser | stops sub-dealers from seeing master-dealer discounts or ordering restricted regional lines |
| Carton and pallet multiples | every SKU enforces `carton_qty` via $\\text{CEILING.MATH}(\\text{qty}, \\text{carton_qty})$ | eliminates broken cartons in the warehouse and phone calls to round quantities |
| Minimum order value | baskets below $15,000$ net trigger a freight charge or “buyer pays carriage” notice (*starting suggestion*) | prevents small ad-hoc orders from eroding margin through delivery costs |
| Banded stock availability | dealers see **“In Stock”**, **“Low Stock (<5 Cartons)”** or **“Made to Order (Lead Time)”** rather than exact warehouse counts (`1,420 units`) | gives dealers reliable delivery expectations without exposing exact factory inventory levels to competitors |
| Credit limit and overdue hold | if $\\text{order total} > \\text{available credit}$ or any invoice is $>15\\text{ days}$ overdue, order routes to finance hold before warehouse visibility | stops the warehouse from picking and shipping goods to an over-limit account |
| Submission price lock | price list version and net unit prices lock when the dealer clicks **Submit Order**; unsubmitted draft baskets recalculate if a new price list goes live | stops dealers from parking items in draft baskets for weeks to beat an upcoming price increase |
| Backorder line splitting | if 40 of 60 ordered units are in stock, internal sales splits the line into `40 Dispatch Now + 20 Backorder` at the locked price | prevents unshipped balances from being forgotten in email threads or re-ordered twice |

## Roles and permissions: who sees what and who approves?

| field / action | dealer buyer | internal sales coordinator | finance (credit control) | warehouse dispatch planner |
| --- | --- | --- | --- | --- |
| Catalogue and net unit price | sees own dealership tier only | sees assigned regional dealers | sees all dealers | no prices or discounts shown |
| Create or revise order | creates order; requests change before picking | splits backorders, confirms stock | no | no |
| Credit limit and open balance | sees own summary banner | sees status badge (“Credit OK / On Finance Hold”) | sees full ageing breakdown; approves credit holds | hidden |
| Request special project discount | adds project note on submission | recommends up to manager cap | views | hidden |
| Picking list and dispatch status | views live order status (“Picking / Dispatched”) | views | views | sees approved orders’ carton/pallet quantities only |
| Manage dealer sub-users | dealer admin views own staff accounts | activates/deactivates dealer logins | no | no |

When a dealership has multiple purchasing staff, each person gets an individual login tied to the same parent dealer account; the audit log records which buyer submitted each order, and a departing buyer’s login can be revoked instantly.

## A sample month: 380 orders from 64 dealers and three bottlenecks removed

*Sample data.* In the first month, the 64 active dealers submitted **380 orders** (**4,210 order lines**) through the portal. Each order is counted once below:

| order flow | orders | lines |
| --- | --- | --- |
| Within carton multiples, stock and available credit limit; routed directly to sales/dispatch | 312 | 3,490 |
| Total orders intercepted by rule gates or split for partial fulfilment | 68 | 720 |
| · Routed to finance credit hold (exceeded available credit limit or invoice $>15\\text{ days}$ overdue) | 31 | 310 |
| · Split into “Immediate Dispatch + Price-Locked Backorder” due to partial stock | 26 | 295 |
| · Flagged with a dealer request for special project pricing (routed to sales manager) | 11 | 115 |
| **Total** | **380** | **4,210** |

**Three concrete outcomes and the end-of-month decision:**

1. **Zero broken-carton phone calls:** Because the quantity input enforced carton multiples across all 4,210 lines, internal sales spent zero hours re-keying WhatsApp lists or calling dealers to round quantities up.
2. **31 credit-hold orders resolved before picking:** Out of 31 orders held by the credit gate, 22 dealers wired an interim payment the same day to free up their limit, 6 received a logged temporary limit override from finance, and 3 remained on hold pending collection. Zero over-limit shipments left the loading dock unapproved.
3. **End-of-month decision (draft basket expiry rule):** In week three, ahead of a raw-material price adjustment, nine dealers built large “Draft Baskets” without submitting them and called internal sales on the morning of the new price list claiming *“my basket showed the old price”*. Management added an explicit banner and rule: draft baskets never lock prices, price locking occurs only upon order submission, and unsubmitted draft baskets older than 7 days automatically refresh to current list prices.

## Where Excel order forms break across 64 dealers

When companies collect dealer orders via Excel, they usually add an `Order Qty` column (`H2`) next to `List Price` (`E2`), `Dealer Discount` (`F2`) and `Carton Pack Size` (`G2`):

- **`I2` (Carton-Rounded Quantity):** `=IF(H2>0, CEILING.MATH(H2, G2), 0)`
- **`J2` (Net Line Total):** `=ROUND(I2 * ROUND(E2*(1-F2), 2), 2)`

While that formula works inside a single spreadsheet, it fails across a dealer network for three reasons:

- **You cannot revoke an emailed `.xlsx` file:** Once a price list is on 64 dealers’ desktops, half of them will continue emailing orders from the old file weeks after a price change.
- **A spreadsheet cannot check live credit exposure:** An offline Excel file has no idea what invoices were issued this morning or what open orders are already sitting in the warehouse.
- **Hidden discount columns leak:** Sending one master workbook with hidden columns for Tier A, Tier B and Tier C discounts lets any curious dealer unhide the columns or inspect copied cells ([Microsoft Support — inspecting workbooks for hidden data](https://support.microsoft.com/en-us/office/inspect-documents-presentations-or-workbooks-for-hidden-data-and-personal-information-356b7b5d-77af-44fe-a07f-9aa4d085966f)).

## What AI does and does not do in a dealer portal

AI **never decides dealer discounts, unit prices, carton multiples or credit limits**; those rules are enforced strictly by deterministic application code. AI performs three assistive tasks, always subject to human confirmation:

1. **Converting a dealer’s own PO PDF or Excel export into a draft basket:** Larger dealers often generate a Purchase Order PDF from their own accounting software using their own item descriptions (*“32mm PE coupling - 150 pcs”*). The dealer uploads the file, the model maps the lines to your SKUs (`KP-PE100-032`) and populates a **draft basket**; the portal’s rule engine applies carton rounding and tier pricing, and the dealer reviews and confirms the order.
2. **Suggesting missing companion fittings:** If a dealer orders drip-irrigation filters without the matching manifold adapters they bought on their last three orders, the screen displays a non-blocking reminder before checkout.
3. **Management queries across authorised regions:** A regional sales manager can ask *“Which dealers in my region had the highest backorder value over the last two months?”* The model translates the question into a filtered query over only the dealers that manager is authorised to view.

No row reaches the model without passing the user’s permission filter first, and one dealer’s data is never included in another dealer’s prompt context. Buyer names, email addresses and phone numbers are personal data; when using cloud-hosted models, cross-border data transfer rules apply (under GDPR in the EU/UK, and in Turkey under KVKK Article 9 as amended effective 1 June 2024). I do not provide legal advice; I provide a written list of fields sent to the model so your legal counsel can review compliance.

## If your current B2B module or spreadsheet flow is enough, you do not need this portal

Check five questions before building a custom portal:

1. Do you have fewer than 8 active dealers placing straightforward orders a few times a week?
2. Does every dealer buy from the exact same catalogue at the same flat discount?
3. Can your products be ordered in any arbitrary unit quantity without carton or pallet constraints?
4. Does your ERP’s built-in B2B portal already enforce live credit limits (including unbilled open orders) and track backorder splits?
5. Does your internal sales team spend less than 30 minutes a day re-keying and verifying incoming dealer orders?

If you answer yes to all five, keep your current setup. If your sales team is buried in chat messages, outdated Excel price lists and credit-check phone calls, a dedicated dealer portal removes the friction immediately.

## How we start, who owns the data and code, and what happens if your ERP changes

We do not migrate all 64 dealers on day one. First we document your product catalogue, dealer discount tiers, carton pack rules and credit-limit formula in writing. We launch the initial version with 3 to 5 pilot dealers who order frequently, verify the flow across dealer checkout, credit hold and warehouse picking, and then invite the remaining dealerships in batches.

**Data, code and hosting.** The portal runs on a virtual private server (VPS) in your company’s name; the database is yours and you can export all orders, dealer balances and price versions to Excel or CSV at any time. Source code, run instructions, dependency lists and known limits are delivered in a repository you control. There are no per-dealer or per-user licence fees; growing from 20 dealers to 100 dealers does not increase software licensing costs, as your only ongoing cost is server hosting and maintenance. Every buyer and internal staff member logs in with an individual account, and every order, price update and credit override is logged with user ID and timestamp. Daily dealer balances and stock levels can be synced from your accounting or ERP system via scheduled CSV/Excel imports or API; if you switch ERPs later, your portal history and dealer rules remain intact.

Tell me how many active dealers you manage, how orders arrive today and how your tier discounts work via the [contact page](https://oguzerol.com/en/contact/), and we will map out the scope for your pilot portal.

## Frequently Asked Questions

### Do we have to take online credit-card payments inside the portal?

No. Most wholesale manufacturers work with dealers on open credit limits, bank transfers or cheques, so the first version usually focuses on credit-limit gating and order confirmation. If you want online card collection later, a payment gateway can be added as a separate, scoped step.

### Can a dealer hide their wholesale buying price when showing the screen to their own end customer?

Yes. We can include a **“Showroom Mode (Hide Wholesale Cost)”** toggle in the dealer’s header. With one click, the dealer hides their discount percentage, net buying price and credit limit banner, leaving only product specifications, stock availability bands and recommended retail list prices visible on screen.

### What happens to unsubmitted draft baskets when we publish a new price list?

The rule is explicit and displayed on the basket screen: once a dealer clicks **Submit Order**, that order locks in the price list version active at submission time. Items sitting in an unsubmitted “Draft Basket”, however, do not lock prices—when a new price list takes effect, draft baskets recalculate at the new rates and highlight any changed lines before the dealer can submit.

[Back to top ↑](https://oguzerol.com/en/dealer-order-entry-portal/#icerik)

## You may also find these useful

[Separate Reserved Stock from Available QuantitySeparate physical stock, reserved quantities and available stock in a custom app built around your Excel or Google Sheets allocation workflow.](https://oguzerol.com/en/reserved-stock-tracking-app/)[Custom Order Tracking Software: Stage, Owner and Delivery in One RecordIf you track orders in a spreadsheet or in messages, I build order software for your team that keeps stage, owner, missing items and delivery dates together.](https://oguzerol.com/en/order-preparation-delivery-tracking-app/)[Order Forms with Repeatable Line ItemsLet customers add the items they need to one order. Explore a custom form with quantities, unit prices, clear subtotals and checks for every product line.](https://oguzerol.com/en/repeating-line-item-order-form/)

[Browse all articles →](https://oguzerol.com/en/articles/)

WHAT YOU CAN ASK FOR

## How do I work?
Work-hour packages

Tell me about your business and what you need on WhatsApp or by phone; we agree on **a work block of somewhere between 5 and 40 hours** and I start doing what is needed. What you get is not a calendar window — it is net working hours spent directly on your business. I can use 40 hours working three days straight, or deliberately spread it out and finish it over a year — whatever the work calls for. I do not spend my time estimating how long something will take, I spend it doing the work; every hour I spend leaves a lasting result in your business. We keep going for as long as you find it useful.

WORK BLOCKS

## Why not monthly?
Is 40 hours a week?

On a fixed monthly fee both sides are watching the wrong thing: you watch a fixed cost, the other side watches how many more contracts like this they can line up. Working by the hour puts us both in front of the same thing — the real value of the work that got done. I know not having an upfront answer to "how much will this cost in total?" is the natural cost of this model. But instead of paying a fixed fee for months to a setup that is not producing results, you only pay for the qualified time spent on your work — and you see exactly where that time went, start to finish. That is why my clients keep coming back.

5hours300€ + VAT60€ per hour[Choose this block](https://wa.me/905496546489?text=Hi%2C%20I%27d%20like%20info%20about%20the%205-hour%20work%20block.)

10hours500€ + VAT50€ per hour[Choose this block](https://wa.me/905496546489?text=Hi%2C%20I%27d%20like%20info%20about%20the%2010-hour%20work%20block.)

20hours800€ + VAT40€ per hour[Choose this block](https://wa.me/905496546489?text=Hi%2C%20I%27d%20like%20info%20about%20the%2020-hour%20work%20block.)

40hours1,400€ + VAT35€ per hour[Choose this block](https://wa.me/905496546489?text=Hi%2C%20I%27d%20like%20info%20about%20the%2040-hour%20work%20block.)
