Skip to main content
Multi-Outlet / Franchise POS Console for ERPNext — A build-to-order Frappe app that gives franchise and multi-outlet chains a — 1/1Illustrative preview

A build-to-order Frappe app that gives franchise and multi-outlet chains a single control tower over ERPNext POS

locations — central menu and price pushes, per-outlet overrides, consolidated sales, and automated royalty billing.

ECOSIRE scopes, builds, installs, and supports it for you.

What is Multi-Outlet / Franchise POS Console for ERPNext?

A build-to-order Frappe app that gives franchise and multi-outlet chains a single control tower over ERPNext POS locations — central menu and price pushes, per-outlet overrides, consolidated sales, and automated royalty billing. ECOSIRE scopes, builds, installs, and supports it for you. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

New `Outlet` DocType linking each store to its ERPNext Company, Cost Center, Warehouse, and `POS Profile`, so the whole network is modeled as first-class data
Central `Menu Version` / `Price Book` DocType with a whitelisted `publish_menu` method that fans item and price changes out to every subscribed outlet in one controlled transaction
Per-outlet price and tax overrides that survive central pushes — an outlet keeps its local `Sales Taxes and Charges Template` or item-level price delta instead of being overwritten
Promotion Plan DocType with start/end effective dates that schedules `Pricing Rule` records into targeted outlets and auto-expires them via a scheduler event
`Franchise Royalty Agreement` DocType supporting percentage-of-net-sales, tiered, and fixed-fee models per franchisee
Nightly `scheduler_events` job that computes royalties from actual `POS Invoice` / `Sales Invoice` net sales and drafts Journal Entries or Sales Invoices for review
Consolidated multi-store sales dashboard built as ERPNext Query/Script Reports plus Number Cards — sliceable by outlet, franchisee, item group, and period
Role Profiles and `User Permission` records keyed on `Outlet` so franchisees see only their own locations on the shared ERPNext site
`hooks.py` `doc_events` (validate / on_submit) that enforce override rules and write an immutable audit log of every central push
Audit trail DocType recording who published which menu/price version to which outlets and when, for franchise compliance disputes
All console actions exposed over the Frappe REST API and whitelisted methods for mobile apps, kiosks, or external integrations
Client scripts and a custom workspace/page giving head office a one-screen console for publish, override review, and dashboard drill-down
Bulk onboarding of a new outlet — clones the standard `POS Profile`, subscribes it to the right menu and price book, and provisions the manager role in one action
Built for Frappe/ERPNext v15 and v16, packaged as an installable app that upgrades cleanly with `bench migrate`

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

Once a restaurant or retail brand grows past a handful of ERPNext POS locations, the native model starts fighting you. A stock POS Profile and its Item Price lists are managed per company and per profile, so a menu change or a promotion has to be repeated by hand at every store; there is no first-class notion of a franchisee who should see their own outlet but nothing else; and royalty or management fees end up reconstructed in a spreadsheet at month-end from raw POS Invoice and Sales Invoice data. ERPNext gives you a solid single-store POS — it does not give you a head-office console that treats "all my outlets" as one governed system.

The Multi-Outlet / Franchise POS Console is a proper Frappe app (its own module, DocTypes, and hooks.py) installed onto your existing ERPNext v15/v16 site. At its core is a set of new DocTypes — typically Outlet (linked to Company, Cost Center, and Warehouse), Menu Version / Price Book, Promotion Plan, and Franchise Royalty Agreement — plus a child-table mapping that records which outlets are subscribed to which menu and price set. A whitelisted publish_menu method fans a Menu Version out to every subscribed outlet, writing the correct Item Price and POS Profile rows in a single controlled transaction, with an audit record of what was pushed, when, and by whom. Outlet-level exceptions are honored: an outlet can carry a pricing or tax override (a different Sales Taxes and Charges Template or a delta on specific items) that the central push respects instead of stamping over.

On top of that we build the head-office reporting and money flows. A consolidated sales dashboard aggregates POS Invoice / Sales Invoice data across all outlets — by day, outlet, item group, and franchisee — using ERPNext Query/Script Reports and Number Cards rather than a bolted-on BI tool, so it stays inside your permission model. A nightly scheduler event (registered in scheduler_events) reads each Franchise Royalty Agreement and computes royalties and fixed fees from actual net sales, producing draft Journal Entries or Sales Invoices against the franchisee for review. Access is governed with Frappe Role Profiles and User Permissions keyed on Outlet, so a franchise manager logging into the same ERPNext site sees only their locations, while head office sees the whole network. hooks.py doc_events validate overrides and keep the audit trail current, client scripts drive the console UI, and everything is reachable over the standard Frappe REST API and whitelisted methods for any external app or mobile client you run.

Because this is build-to-order, nothing ships as an instant download. We start with a short scoping call to confirm your outlet structure, menu/price governance rules, tax handling, and royalty formulas, then ECOSIRE builds the app against your ERPNext version, tests it on a staging copy of your site, and installs it into production with your team. Typical delivery is one working week from confirmed scope depending on how many override and royalty rules you need. You receive the full source, documentation, a training session, and a post-go-live support window — and the git repository is handed to you so you are never locked in.

What you get

  • Installable source code for your version of the Frappe app (module, DocTypes, `hooks.py`, server/client scripts, reports)
  • Installation and configuration on your ERPNext v15/v16 site, including scheduler-event registration and Role Profile setup
  • Technical documentation — DocType reference, whitelisted API endpoints, override and royalty logic, and upgrade notes
  • User guide plus a live training session for head-office and franchise-manager roles
  • UAT on a staging copy of your site with sign-off criteria, and a documented rollback plan before production install
  • A defined post-go-live support window for bug fixes and adjustments after launch
  • Handover of the git repository so you own the code and can self-host or extend it
  • Seed data and worked examples — sample outlets, a menu version, a promotion, and a royalty agreement — for onboarding your team

Who this is for

Franchise Head-Office Operations Lead

Runs a multi-brand or multi-region franchise network on ERPNext and needs to push menu, price, and promotion changes to dozens of outlets without touching each store, while keeping an auditable record of what changed.

Multi-Outlet Restaurant / QSR Owner

Operates several company-owned and franchised locations and wants one dashboard for consolidated daily sales plus automated, defensible royalty and management-fee billing instead of month-end spreadsheets.

Franchise Finance & Compliance Manager

Owns royalty accuracy and inter-company money flows; needs royalties computed from real POS net sales, drafted as reviewable Journal Entries, with per-outlet permissions so franchisees only see their own numbers.

ERPNext Systems Administrator

Maintains the Frappe site and needs a clean, upgrade-safe app (proper DocTypes, hooks, `bench migrate` compatible on v15/v16) rather than brittle customizations scattered across POS Profiles.

How Multi-Outlet / Franchise POS Console for ERPNext Compares

CriterionECOSIRECustom BuildCompetitorERPNext Native
Central menu/price push to all outletsOne `publish_menu` action fans changes to every subscribed outlet with audit logPossible, but you design and build the fan-out and audit yourselfOften single-store focused; bulk push rarely first-classItem Price / POS Profile edited manually per store
Per-outlet price & tax overridesOverrides modeled as data and respected on every central pushDepends entirely on your build effort and testingLimited or all-or-nothing override supportSeparate templates per profile, managed by hand
Consolidated multi-store dashboardQuery/Script Reports + Number Cards across all outlets and franchiseesBuild reports and cards from scratchUsually per-store views onlyNo cross-outlet consolidated POS view out of the box
Franchise royalty & fee automationScheduler job drafts royalties from real net sales for reviewYou write the formula engine and scheduler yourselfRarely franchise-aware; no royalty engineNone — reconstructed manually in spreadsheets
Per-outlet permissionsRole Profiles + User Permissions keyed on Outlet, franchisee-scopedConfigurable but you own the designGeneric roles, not outlet-scoped by defaultManual User Permission setup, no outlet concept
ERPNext v15/v16 upgrade safetyProper Frappe app, `bench migrate` compatible, version-targetedQuality varies with the developerCompatibility depends on maintainer's release cadenceCore — always supported but no franchise features
Ownership & lock-inFull source + git repo handover, no lock-inYou own it, but carry all build riskLicensed; source often closedYou own your data; no franchise app to own
Time to valueone working week from confirmed scope, built and installed for youMonths of in-house design, build, and QAFast to install but may not fit your modelImmediate, but the franchise gaps remain

Frequently Asked Questions about Multi-Outlet / Franchise POS Console

Is this an app I can download and install today?

No. It is build-to-order. ECOSIRE scopes your outlet structure, pricing rules, and royalty formulas, then builds the Frappe app against your ERPNext version and installs it with your team. There is no instant-download version because the override and royalty logic is tailored to how your network actually operates.

How long does delivery take?

Typical delivery is one working week from confirmed scope. Simple networks with straightforward percentage royalties land at the shorter end; more outlets, complex tax overrides, or tiered/multi-formula royalty agreements push toward the longer end. We give you a firm timeline after the scoping call, before any build starts.

Which ERPNext versions are supported?

Frappe/ERPNext v15 and v16. The app is packaged as a standard Frappe app that installs with `bench get-app` / `bench install-app` and upgrades cleanly through `bench migrate`, so it stays compatible when you patch your site.

How do central pushes handle outlets that need different prices or taxes?

Each outlet can carry its own price deltas and tax template as an override. When head office publishes a Menu Version or Price Book, the `publish_menu` method applies the central set everywhere but respects any outlet-level override, so a store keeps its local pricing or `Sales Taxes and Charges Template` instead of being overwritten.

How are franchise royalties calculated?

A `Franchise Royalty Agreement` DocType holds each franchisee's terms — percentage of net sales, tiered rates, or fixed fees. A nightly scheduler event reads actual submitted POS/Sales Invoice net sales per outlet and drafts Journal Entries or Sales Invoices for your finance team to review and post. Nothing is auto-posted without review.

Will franchisees see each other's data?

No. Access is enforced with Frappe Role Profiles and `User Permission` records keyed on `Outlet`. A franchise manager logging into the same ERPNext site sees only their own outlets and reports, while head office sees the whole network. It is governed by ERPNext's own permission model, not a separate layer.

What about support and updates after go-live?

Every engagement includes a post-go-live support window for bug fixes and adjustments. Because you receive the full source and the git repository, your own team can also maintain and extend the app. We offer ongoing support and enhancement retainers separately if you would rather ECOSIRE keep evolving it.

Request a quote

Multi-Outlet / Franchise POS Console

A build-to-order Frappe app that gives franchise and multi-outlet chains a single control tower over ERPNext POS locations — central menu and price pushes, per-outlet overrides, consolidated sales, and automated royalty billing. ECOSIRE scopes, builds, installs, and supports it for you.

  • New `Outlet` DocType linking each store to its ERPNext Company, Cost Center, Warehouse, and `POS Profile`, so the whole network is modeled as first-class data
  • Central `Menu Version` / `Price Book` DocType with a whitelisted `publish_menu` method that fans item and price changes out to every subscribed outlet in one controlled transaction
  • Per-outlet price and tax overrides that survive central pushes — an outlet keeps its local `Sales Taxes and Charges Template` or item-level price delta instead of being overwritten
  • Promotion Plan DocType with start/end effective dates that schedules `Pricing Rule` records into targeted outlets and auto-expires them via a scheduler event

Request a Quotation

Tell us about your Multi-Outlet / Franchise POS Console 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.