A build-to-order ERPNext solution that unifies online and in-store appointment booking, stylist and therapist scheduling, and combined service-plus-retail POS billing with commission and tip tracking. Scoped, built, installed and supported by ECOSIRE for salons, spas and wellness studios. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $499.00 USD; request a quote for a scoped proposal.

A build-to-order ERPNext solution that unifies online and in-store appointment booking, stylist and therapist scheduling, and combined service-plus-retail POS billing with commission and tip tracking. Scoped, built, installed and supported by ECOSIRE for salons, spas and wellness studios.
今すぐのお支払いはありません。これはチームへの見積もり依頼を送信します。価格と次のステップをメールでご案内します。
Salons and spas run on the calendar, but ERPNext out of the box has no concept of a bookable stylist, a chair that can only take one client at a time, or a checkout that mixes a 45-minute haircut with a bottle of retail shampoo and a stylist's commission on both. Teams end up juggling a third-party booking app for appointments and ERPNext only for invoicing, so no-shows, walk-ins, package redemptions and staff payouts never reconcile. ERPNext's native POS Profile and Sales Invoice are built for retail and restaurant flows, not for time-and-resource-based services, and this is exactly where a generic install runs out of road.
First-class `Appointment` DocType linking Customer, Service Item, Staff Resource and branch, with status lifecycle (booked, confirmed, checked-in, completed, no-show)
Resource-aware calendar that enforces stylist/therapist working hours and prevents double-booking via `validate` doc events in `hooks.py`
Guest-facing online booking through whitelisted REST endpoints (`@frappe.whitelist(allow_guest=True)`) with server-side slot-availability checks
Combined POS cart that bills timed services and retail products on a single ERPNext Sales Invoice
`Service Package` and `Membership` DocTypes with redemption tracking and balance decrement on checkout
Per-line staff commission ledger written on Sales Invoice `on_submit`, driven by configurable `Commission Rule` (percentage, flat, or tiered)
ECOSIRE builds a purpose-designed Frappe application that installs cleanly onto your ERPNext v15 or v16 bench. It introduces first-class DocTypes for the salon domain — an Appointment linked to Customer, Service (Item), and a Staff Resource (stylist/therapist), plus Service Package, Membership, and Commission Rule — instead of bending Project/Task or Healthcare into a shape they were never meant for. A resource-aware calendar view enforces double-booking rules and staff working hours through validate hooks in hooks.py doc events, so a therapist can never be booked in two rooms at once. Online booking is exposed through whitelisted REST endpoints (@frappe.whitelist(allow_guest=True)) that your website or a WhatsApp/Instagram funnel can call, with rate limiting and slot-availability checks server-side.
At the counter, the POS screen (a Frappe page backed by client scripts) lets front desk staff pull an existing appointment, add retail products to the same cart, apply a membership or package redemption, and split the resulting Sales Invoice into per-line commission entries. Commission and tip logic lives in server scripts and scheduled jobs: a hooks.py on_submit event on Sales Invoice writes commission ledger rows against each staff member per service line, and a nightly scheduler event (scheduler_events) aggregates them into a payout report that ties back to ERPNext Payroll or a Journal Entry. Role profiles and permission rules keep receptionists, stylists and owners scoped to what they should see — a stylist sees only their own calendar and commissions, the owner sees the whole floor.
Because this is build-to-order, we start from your actual services, staff structure, package rules and branch layout rather than shipping a one-size-fits-all download. After a short scoping call we confirm the exact DocTypes, fields, commission formulas and booking rules in writing, build the app in a Git repository, and validate it on a staging bench with your data before go-live. Typical delivery is 2 to 4 weeks from confirmed scope. There is no instant download — you receive tested source code, a documented install, and a supported handover, all built specifically for your salon or spa.
Runs one or two locations and wants appointments, walk-in billing, retail sales and stylist commissions in one ERPNext system instead of a booking app plus spreadsheets. Needs accurate payouts and a clear view of chair utilization.
Manages several branches with shared and branch-specific therapists. Needs branch-scoped calendars, POS Profiles and role-based access so each location sees only its own schedule while head office sees consolidated revenue and commissions.
Books, reschedules and checks in clients all day and needs a fast POS that pulls an appointment, adds retail, redeems packages and captures tips without leaving the counter screen or reopening ERPNext modules.
Already runs ERPNext and wants a clean, documented Frappe app with proper DocTypes and hooks rather than fragile customizations, plus a Git repo and technical docs they can maintain after handover.
ecosire.com でライセンスを購入し、アカウント ダッシュボードから Salon & Spa POS / Appointments for ERPNext アプリの ZIP をダウンロードします。
ZIP をベンチのアプリ フォルダーに抽出するか、抽出されたアプリへのパスを指定して「bench get-app」を実行します。
`bench --site SITE_NAME install-app APP_NAME` を実行し、続いて `bench maigrate` を実行して、Salon & Spa POS / Appointments for ERPNext をインストールし、そのスキーマを適用します。
サイトの ECOSIRE ライセンス設定を開き、ライセンス キーをアクティブ化します。無料の ecosire_connect アプリと ecosire_license_client アプリが必要です。
| 基準 | エコシエール | カスタムビルド | 競合他社 | オドゥー ネイティブ |
|---|---|---|---|---|
| Appointment & resource booking | Native `Appointment` and `Staff Resource` DocTypes with double-booking prevention | Possible but you design and maintain the model yourself | Generic scheduler, rarely aware of chairs/therapist hours | |
| Service + retail billing | Single Sales Invoice mixing timed services and products at POS | Buildable with significant developer effort | Usually retail-only or service-only, not both | |
| Commissions & tips | Per-line commission ledger via `on_submit` hook + nightly payout job | Bespoke logic you must design and test | Limited or fixed commission handling | |
| Packages & memberships | Package/Membership DocTypes with redemption balances | Custom-built and maintained by you | Varies; often basic or add-on priced | |
| Fit to your business | Scoped to your services, staff and branch layout | Fully bespoke but you own all decisions and risk | One-size-fits-all, configure around its assumptions | |
| Version support | Built and tested for Frappe/ERPNext v15 and v16 | Depends on your team's testing discipline | May lag current ERPNext releases | |
| Delivery & handover | 2-4 weeks, staging UAT, Git repo, docs and training | Timeline and quality vary by team | Instant install but no tailoring or handover docs | |
| Support after launch | Post-go-live support window plus optional ongoing agreement | Whatever your internal team provides | Vendor support tiers, not salon-specific |
No. This is a build-to-order engagement. ECOSIRE scopes, builds, installs and supports a Frappe app tailored to your services, staff structure and commission rules. You receive tested source code and a Git repo, not a generic one-click marketplace download.
Typical delivery is 2 to 4 weeks from confirmed scope. After the scoping call we agree the exact DocTypes, booking rules and commission formulas in writing; the timeline depends on the number of services, branches and integrations you need. We build in a Git repo and validate on staging before go-live.
We build and test against Frappe/ERPNext v15 and v16. During scoping we confirm your exact bench version so the app is packaged and tested against your target release.
A `Commission Rule` DocType defines percentage, flat or tiered payouts per service or staff member. On Sales Invoice submit, a server-side hook writes per-line commission ledger rows, and a nightly scheduler job aggregates them into a payout report you can reconcile with ERPNext Payroll or a Journal Entry. Tips are captured at POS and allocated separately from commissionable revenue.
Yes. Booking is exposed through whitelisted, guest-accessible REST endpoints with server-side slot-availability and rate-limiting checks. Your existing website, a landing page, or a WhatsApp/Instagram funnel can call these endpoints. We scope the exact integration surface with you before building.
The engagement includes a post-go-live support window for defect fixes and configuration questions. Because you own the Git repository and source code, you or your partner can maintain it afterward. Ongoing support, feature additions or version upgrades (for example to a future ERPNext release) can be arranged as a separate agreement.
We ship a self-contained Frappe app with its own DocTypes and hooks rather than editing core, which keeps it upgrade-friendly and isolated from your other customizations. We validate against your real configuration on a staging bench, with a documented rollback plan, before touching production.
A build-to-order ERPNext solution that unifies online and in-store appointment booking, stylist and therapist scheduling, and combined service-plus-retail POS billing with commission and tip tracking. Scoped, built, installed and supported by ECOSIRE for salons, spas and wellness studios.