Skip to main content
Distributor & Dealer Portal with Secondary Sales — A self-service ERPNext portal where distributors and dealers place orders, — 1/1Illustrative preview

A self-service ERPNext portal where distributors and dealers place orders,

report secondary sales, claim schemes and see their own credit and ledger — built, installed and supported by

ECOSIRE as a proper Frappe app on your ERPNext v15/v16 instance.

What is Distributor & Dealer Portal with Secondary Sales?

A self-service ERPNext portal where distributors and dealers place orders, report secondary sales, claim schemes and see their own credit and ledger — built, installed and supported by ECOSIRE as a proper Frappe app on your ERPNext v15/v16 instance. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

`Distributor Order` DocType with the dealer's contract price list resolved server-side in a `validate` hook, so orders can never be placed off-tariff
Per-dealer catalog and price list rendered on the Frappe portal — each distributor sees only their assigned items, MOQs and negotiated rates
`Secondary Sales Entry` DocType capturing distributor-to-retailer sell-out down to retailer, SKU, batch and quantity, with return handling
`Trade Scheme` master plus `Scheme Claim` DocType with a Draft to Submitted to Approved to Settled workflow and approval hierarchy
Scheme eligibility and accrual computed in server scripts, so claim amounts are system-derived rather than dealer-entered
Live credit-limit and outstanding-balance display read from the customer's GL, with an `on_submit` credit block that stops orders over limit
Role Profiles and User Permissions scoping every distributor login to only their own orders, ledger, claims and secondary sales
Whitelisted methods (`@frappe.whitelist()`) exposing portal actions and a clean Frappe REST API surface for a field mobile app
Client scripts giving real-time price, discount and scheme feedback as a dealer builds an order in the portal
`hooks.py` doc events (`validate`, `on_submit`, `on_cancel`) enforcing credit, scheme and primary-versus-secondary reconciliation rules
Approved distributor orders mapped to standard ERPNext Sales Orders so accounting, inventory and dispatch flows stay native and untouched
Scheduler events for nightly claim ageing, scheme-accrual recomputation and credit-breach flagging
Primary-versus-secondary coverage, scheme-cost and dealer-performance dashboards built on Frappe query and script reports
Ledger and statement view per distributor, pulling live from ERPNext GL Entries with downloadable statements

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your ERPNext.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

ERPNext Compatibility
—
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
MariaDB 10.6+

About this Product

If your brand sells through a distributor and dealer network, ERPNext core gives you Customers, Sales Orders and a Customer Portal — but nothing that models the primary-to-secondary sales flow your field teams actually run. Distributors email or WhatsApp their orders, secondary sales (distributor-to-retailer sell-out) live in spreadsheets that arrive weeks late, trade schemes are reconciled by hand, and every dealer call to your back office is another "what's my credit limit and outstanding?" query. ERPNext's stock Customer Portal exposes invoices and a generic order form, but it has no concept of dealer-specific price lists, scheme eligibility, secondary-sales returns or a claim-approval workflow. That gap is where margin leaks and where field visibility dies.

ECOSIRE builds a dedicated Distributor & Dealer Portal as a proper Frappe app installed on your own ERPNext v15/v16 site — not a bolt-on spreadsheet and not a hosted third-party tool. The portal is driven by real DocTypes: a Distributor Order (with the dealer's contract price list resolved server-side so nobody can order off-tariff), a Secondary Sales Entry for sell-out capture down to retailer and SKU, a Trade Scheme master with eligibility rules, and a Scheme Claim with a controlled Draft to Submitted to Approved to Settled workflow. Web pages built on Frappe's portal framework (www/ pages plus web-form DocTypes) give each distributor a login scoped by Role Profile and User Permissions, so a dealer only ever sees their own orders, ledger and claims. The dealer-facing catalog and price list are rendered per-account, and credit-limit plus outstanding balance are read live from the customer's GL — no stale numbers.

Under the hood the business logic lives where ERPNext expects it. hooks.py doc events (validate, on_submit, on_cancel) enforce credit blocks, scheme eligibility and secondary-sales-versus-primary reconciliation; server scripts and whitelisted methods (@frappe.whitelist()) back the portal's AJAX calls and the mobile field-app endpoints via the Frappe REST API; client scripts drive live price and scheme feedback as the dealer builds an order. Scheduler events run nightly to age claims, recompute scheme accruals and flag distributors breaching credit terms. Approved Distributor Order documents map cleanly onto standard ERPNext Sales Orders so your existing accounting, inventory and dispatch flows are untouched — the portal sits on top of ERPNext, it does not fork it. Dashboards and report views turn the captured secondary sales into primary-versus-secondary coverage, scheme cost and dealer-performance reporting you could never get from email.

Because this is build-to-order, we tailor the DocTypes, price-list logic, scheme formulas and approval hierarchy to how your channel actually operates before we write a line of production code. A scoping call and a short requirements pass produce a fixed scope; we then build on a staging copy of your ERPNext, run UAT with your channel and finance teams, and deploy with a rollback plan. Typical delivery is one working week from confirmed scope depending on the number of scheme types and integrations. You receive the full source app and git repository, so the portal is yours to keep, extend and self-host — with an agreed post-go-live support window from ECOSIRE.

What you get

  • Installable source code of your build as a versioned Frappe app, compatible with ERPNext v15/v16
  • Installation and configuration on your ERPNext instance (site setup, Role Profiles, price lists, scheme masters, permissions)
  • Technical documentation: DocType schema, hooks and server-script logic, whitelisted API endpoints and scheduler events
  • End-user guide plus a live training session for your channel-ops, sales and finance teams
  • UAT on a staging copy of your ERPNext with a signed-off test plan and a documented rollback plan
  • Post-go-live support window (agreed in scoping) covering fixes and configuration questions
  • Git repository handover so the portal source is fully yours to keep, self-host and extend
  • Data-migration or seed assistance for existing distributors, price lists and opening balances where required

Who this is for

Head of Channel Sales / National Sales Manager

Runs a distributor and dealer network and needs primary-versus-secondary visibility, scheme control and faster order turnaround without adding back-office headcount. Buys the portal to see sell-out data in near real time instead of month-old spreadsheets.

Trade Marketing / Scheme Manager

Designs and reconciles trade schemes and promotions. Needs system-derived claim amounts, an auditable Draft-to-Settled approval trail and scheme-cost reporting so promo spend stops leaking through manual claim errors.

ERPNext / IT Lead

Owns the ERPNext v15/v16 instance and wants channel logic delivered as a clean, documented Frappe app — proper DocTypes, hooks and whitelisted APIs, git repo in hand — rather than a fragile external tool or unmaintainable customizations.

Finance / Credit Controller

Manages distributor credit limits and collections. Needs live credit and ledger visibility exposed to dealers, automatic credit blocks on over-limit orders, and per-distributor statements that reconcile to the ERPNext GL.

How Distributor & Dealer Portal with Secondary Sales Compares

CriterionECOSIRECustom BuildCompetitorERPNext Native
Distributor self-service orderingDedicated portal with per-dealer price list enforced server-sideBuildable but you own all design decisions and effortGeneric order form, rarely dealer-price awareBasic Customer Portal, no dealer-specific pricing
Secondary-sales capture`Secondary Sales Entry` DocType to retailer/SKU/batch levelFully custom DocType and logic, long buildUsually absent or a flat CSV importNot modeled at all in core
Scheme & claim management`Trade Scheme` + `Scheme Claim` with Draft-to-Settled workflowBespoke build; approval logic from scratchLimited or manual, rarely auditableNo scheme or claim concept
Credit-limit & ledger visibilityLive GL read plus `on_submit` credit block for dealersMust wire GL reads and blocks yourselfOften static or missingCredit limit exists internally, not exposed to dealers
ERPNext integrationNative DocTypes, `hooks.py` events, orders map to Sales OrdersDepends entirely on developer disciplineOften an external tool synced looselyIs the core, but lacks channel features
Source code & ownershipFull Frappe app source + git repo handed overYou own it, but you also built and must maintain itClosed source, licensed, vendor lock-inOpen source core, no channel functionality
Delivery modelBuild-to-order, one working week from confirmed scope, UAT + rollbackMonths of in-house spec, build and QAInstant install but generic and inflexibleAlready installed, but the feature simply does not exist
Support after go-liveAgreed support window + optional retainer from ECOSIREYour team only, unless you hire outTiered vendor support, extra costCommunity forums only

Frequently Asked Questions about Distributor & Dealer Portal with Secondary Sales

How long does delivery take?

This is a build-to-order product, so we build it around your channel model rather than shipping a fixed download. Typical delivery is one working week from confirmed scope — the exact timeline depends on how many scheme types, price-list rules and integrations (for example a field mobile app) are in scope. We lock the timeline in writing after the scoping call and requirements pass.

Is this an existing app I can download and install today?

No. It is not a ready-made Frappe Cloud Marketplace download. ECOSIRE builds it as a dedicated Frappe app tailored to your distributor network, then installs and configures it on your ERPNext instance. You receive the full source and git repository at handover so you own and can self-host it afterward.

How do updates and support work after go-live?

Every engagement includes a post-go-live support window (agreed during scoping) covering bug fixes and configuration questions. Because you receive the source app and git repo, your own team can also maintain and extend it. We offer ongoing support and enhancement retainers, and we test compatibility as you upgrade across ERPNext v15/v16 releases.

Will it interfere with our existing ERPNext accounting and inventory?

No. The portal sits on top of ERPNext, it does not fork it. Approved distributor orders are mapped to standard ERPNext Sales Orders, and credit and ledger figures are read live from your existing GL, so your accounting, stock and dispatch flows stay native and unchanged. Channel logic lives in dedicated DocTypes and `hooks.py` doc events.

Which ERPNext versions are supported?

We build and test against ERPNext and Frappe v15 and v16. During scoping we confirm your exact version, apps and hosting (Frappe Cloud, self-hosted or on-prem) and target the build to match, so the app installs cleanly via bench on your site.

Can distributors capture secondary sales from the field?

Yes. Secondary sales are captured through a `Secondary Sales Entry` DocType, either directly in the portal or via whitelisted REST API endpoints that a field mobile app can call. We can scope a lightweight mobile capture flow, including retailer, SKU and batch-level sell-out and returns, as part of the build.

How is each distributor prevented from seeing other dealers' data?

Access is enforced with ERPNext Role Profiles and User Permissions, so every distributor login is scoped to only its own orders, ledger, claims and secondary sales. Price lists and catalogs are resolved per-account server-side, and portal pages honor the same permission rules — a dealer can never query another dealer's records through the UI or the API.

Request a quote

Distributor & Dealer Portal with Secondary Sales

A self-service ERPNext portal where distributors and dealers place orders, report secondary sales, claim schemes and see their own credit and ledger — built, installed and supported by ECOSIRE as a proper Frappe app on your ERPNext v15/v16 instance.

  • `Distributor Order` DocType with the dealer's contract price list resolved server-side in a `validate` hook, so orders can never be placed off-tariff
  • Per-dealer catalog and price list rendered on the Frappe portal — each distributor sees only their assigned items, MOQs and negotiated rates
  • `Secondary Sales Entry` DocType capturing distributor-to-retailer sell-out down to retailer, SKU, batch and quantity, with return handling
  • `Trade Scheme` master plus `Scheme Claim` DocType with a Draft to Submitted to Approved to Settled workflow and approval hierarchy

Request a Quotation

Tell us about your Distributor & Dealer Portal with Secondary Sales requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.