A build-to-order Frappe app that adds a visual drag-and-drop roster calendar, rotating shift patterns, shift-swap and open-shift requests, and coverage alerts on top of ERPNext HR. ECOSIRE scopes, builds, installs and supports it for your bench — it is not an instant marketplace download. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $249.00 USD; request a quote for a scoped proposal.
Illustrative previewA build-to-order Frappe app that adds a visual drag-and-drop roster calendar,
rotating shift patterns, shift-swap and open-shift requests, and coverage alerts on top of ERPNext HR.
ECOSIRE scopes, builds, installs and supports it for your bench — it is not an instant marketplace download.
No DIY setup — a working app, built, installed and supported by ECOSIRE.
Start with a one-time build price. We scope it with you at kickoff.
ECOSIRE builds, configures and installs it on your ERPNext.
You go live in about 2–4 weeks, with a post-launch support window.
ERPNext HR ships a Shift Type, Shift Assignment and Shift Request DocType and will resolve an employee's shift when it processes attendance — but it has no visual roster. Scheduling a hospital ward, a hotel front desk or a three-line manufacturing plant means creating Shift Assignment records one form at a time, with no calendar to see who is on, no way to spot that Saturday night is short two nurses until it is too late, and no self-service path for staff to swap or pick up open shifts. Rotating patterns (four-on-four-off, early/late/night cycles) get rebuilt by hand every cycle. Teams end up back in spreadsheets and WhatsApp, and the attendance ERPNext eventually computes no longer matches what actually happened on the floor.
ECOSIRE builds the Advanced Shift & Roster Planner as a proper Frappe app (its own module, installed via bench get-app / bench install-app) that sits directly on the native HR DocTypes rather than replacing them. The centrepiece is a drag-and-drop roster calendar — a custom Frappe Page backed by whitelisted server methods — where a scheduler drags an employee onto a day and cell to create a real Shift Assignment, drags to move or resize it, and sees the whole week or month per department, branch or location. A Roster Pattern DocType lets you define rotating cycles once (sequence of shift types, on/off days, cycle length) and generate assignments forward for any date range and employee group in a single background job. Publishing a roster flags it, snapshots it, and notifies affected employees.
Technically it is honest ERPNext engineering, not a black box. Shift-swap and open-shift pickups are their own submittable DocTypes with a workflow and role-based approvals wired through hooks.py doc events (validate, on_submit) so an approved swap writes back to the underlying Shift Assignment and stays in sync. Coverage rules compare required headcount per shift/skill against what is actually rostered; a scheduler_events cron evaluates upcoming days and raises understaffing alerts (in-app notification plus optional email) before the gap becomes a no-show. An auto-assign routine reconciles the published roster against Employee Checkin records so the shift that best matches a check-in is assigned, keeping attendance processing accurate. Everything is reachable over the standard Frappe REST API and whitelisted methods, so a kiosk, mobile view or the Frappe HR app can read and post to it. Permissions use ERPNext role profiles — schedulers manage their own department, employees only raise requests, managers approve.
Because this is build-to-order, nothing is a generic download you install and hope fits. We start with a short scoping call, confirm your shift model, rotation rules, coverage thresholds, approval chain and locales, then build against your ERPNext version (v15 or v16). Typical delivery is 2 to 4 weeks from confirmed scope. You get the app validated on a staging copy of your site through UAT, deployed to production with a rollback plan, and a post-go-live support window — plus the full git repository so your team (or ours) can maintain and extend it.
Rosters nurses and clinical staff across wards and 24/7 rotations where a coverage gap is a patient-safety issue. Needs skill-aware coverage rules, rotating night cycles, and understaffing alerts that fire before the shift, not after the no-show.
Runs front desk, housekeeping and F&B across variable demand. Wants a drag-drop calendar to reshape the week fast, an open-shift board so staff pick up extra cover, and self-service swaps that don't clog the manager's inbox.
Schedules production lines on fixed rotating patterns (early/late/night) and must reconcile the roster with what the time clock actually recorded. Needs template-driven pattern generation and auto-assign against `Employee Checkin` to keep attendance clean.
Owns the ERPNext instance and must keep any add-on maintainable and upgrade-safe. Wants a proper Frappe app on native HR DocTypes, clean `hooks.py` events, REST access, and the git repo handed over — not a fragile customization.
| Criterion | ECOSIRE | Custom Build | Competitor | ERPNext Native |
|---|---|---|---|---|
| Visual drag-drop roster | Purpose-built calendar Page on native HR DocTypes | Possible but you design and build it from scratch | Sometimes; often a rigid grid or read-only view | None — assignments created one form at a time |
| Rotating shift patterns | `Roster Pattern` DocType generates cycles forward in one job | Buildable, but pattern logic is yours to write and test | Basic templates, limited cycle flexibility | Manual — rebuild each cycle by hand |
| Shift-swap & open-shift requests | Submittable DocTypes + Workflow, write back to assignments | Full workflow design and approval wiring on you | Varies; may not sync back to core records | `Shift Request` only, no swap/open-shift flow |
| Coverage & understaffing alerts | Rule-based, cron-driven alerts before the shift | You build the rules engine and scheduler | Rarely included | None |
| Auto-assign vs. check-ins | Reconciles roster against `Employee Checkin` records | Custom matching logic to design and maintain | Uncommon in off-the-shelf apps | Resolves shift at attendance time, no roster reconciliation |
| Fit to your process | Scoped to your rotations, rules and approval chain | Fully bespoke — and fully your cost/risk | Fixed feature set, adapt your process to it | Whatever core provides, no more |
| Version fit & upgrade path | Pinned and tested on your v15/v16, adapted on upgrade | Depends entirely on your team's discipline | Depends on vendor's release cadence | Moves with core, but lacks the features |
| Source & ownership | Full git repo handed over, support window included | You own it, and you own all the maintenance | Usually licensed, source often closed | Part of ERPNext core |
This is a build-to-order product, not an instant marketplace download. After a short scoping call to confirm your shift model, rotation rules, coverage thresholds and approval chain, typical delivery is 2 to 4 weeks from confirmed scope. Larger or heavily customized rosters may run longer — we give you a firm timeline in the proposal before any build starts.
Every build includes a post-go-live support window for defect fixes and scoped adjustments. We hand over the full git repository, so your team can maintain the app or we can continue under a support/retainer arrangement. When you upgrade ERPNext, we can validate and adapt the app on a staging copy first — the app is pinned to your version (v15 or v16) and re-tested against the target before you go live.
No — it builds on them. The planner sits on the native `Shift Type`, `Shift Assignment` and `Shift Request` DocTypes and writes real records, so ERPNext's attendance processing, payroll and reports keep working. It adds the visual roster, rotation patterns, swap/open-shift requests and coverage alerts that core ERPNext doesn't provide, without forking your HR module.
We build for Frappe/ERPNext v15 and v16. We pin the app to your exact version and branch, install it via `bench get-app` / `bench install-app`, and test on a staging copy of your site before touching production. If you run an older version, we'll advise on the upgrade path during scoping.
Yes. Shift-swaps and open-shift pickups are submittable DocTypes with a Frappe Workflow and role-based approvals. Employees raise requests from the desk or over the REST API (kiosk or the Frappe HR mobile app); on approval, a `hooks.py` doc event writes the change back to the underlying `Shift Assignment` so the roster stays the single source of truth. A validation guard prevents double-booking and honors leave and holiday lists.
A scheduled routine compares published shifts against `Employee Checkin` records and matches each check-in to its best-fit rostered shift, so the shift ERPNext uses for attendance reflects what actually happened on the floor. It's optional and rule-driven — you set the matching tolerances during scoping — and it never silently overwrites an approved assignment without flagging the conflict.
Yes. You define coverage rules (required headcount per shift type, optionally by skill or designation). A `scheduler_events` cron evaluates upcoming days and raises understaffing alerts as in-app notifications and optional emails before the shift, so schedulers can fill the gap in advance rather than discover it as a no-show.
Yes. You receive the full installable Frappe app source and the git repository at handover. There's no lock-in — your team can read, maintain, branch and extend it, or keep us on for support. It's your app, built for your ERPNext instance.

A build-to-order 2Checkout (Verifone) payment integration for ERPNext, giving global digital-goods sellers card acceptance, 45+ local payment methods, multi-currency checkout, and reconciled invoices. ECOSIRE scopes, builds, installs, and supports it on your ERPNext v15/v16 instance.

A build-to-order ERPNext application for anonymous 360-degree reviews — configurable peer, manager, report and self rater groups, weighted competency scoring, and aggregated gap-analysis and heatmap reports. ECOSIRE scopes, builds, installs and supports it on your Frappe/ERPNext v15/v16 instance.

A build-to-order ERPNext app that detects abandoned webshop and POS carts, then runs multi-channel WhatsApp, email, and SMS recovery and win-back sequences with dynamic cart content and coupon injection. ECOSIRE scopes, builds, installs, and supports it for your v15/v16 instance.

A build-to-order ERPNext app for running B2B account-based campaigns: define target-account lists, sequence outreach calls, auto-distribute them to agents, and score account engagement across every contact. ECOSIRE designs, builds, installs and supports it after you confirm scope.
A build-to-order Frappe app that adds a visual drag-and-drop roster calendar, rotating shift patterns, shift-swap and open-shift requests, and coverage alerts on top of ERPNext HR. ECOSIRE scopes, builds, installs and supports it for your bench — it is not an instant marketplace download.