A project operations workspace for ERPNext implementation teams, built on the Frappe Framework.
Implementor is a custom Frappe Desk page designed for ERPNext implementation partners and internal delivery teams.
It brings together projects, tasks, to-dos, progress tracking, delivery status, and collaboration in one workspace — replacing spreadsheets, scattered chat threads, and disconnected project boards.
The app is built around the core delivery flow:
Projects → Tasks → To-dos
with a live dashboard and a detail drawer for working directly inside the ERPNext ecosystem.
ERPNext implementation work is not just project management. Teams need to track:
- multi-module rollouts,
- client-specific delivery stages,
- integration work,
- training and handover,
- support after go-live,
- and accountability across project managers, consultants, and delivery leads.
Implementor is built for that reality.
- Three-pane board for navigating projects, tasks, and to-dos.
- Fast filtering from project to task to to-do.
- Designed for implementation teams managing multiple client rollouts.
- Metric cards for workload and delivery visibility.
- Breakdown charts for status, urgency, stage, and division.
- Upcoming deadlines and emergency items.
- Combined view across Task and To-do records.
- Detail drawer for Project, Task, and To-do records.
- Description, activity log, work notes, and file attachments.
- Inline context without leaving the board.
- Update status, project manager, division, and urgency directly from the board.
- Toggle to-do completion and recompute progress.
- Track reactions such as bookmark, star, love, angry, and emergency.
- Search by name, urgency, assignee, and completion range.
- Sort and filter by "My Work".
- One-click clear for fast reset.
- Native Frappe Quick Entry support for creating records.
- Matches Frappe and ERPNext light/dark themes.
- Scoped styling with no frontend framework dependency.
- Built for speed and low maintenance.
bench get-app implementor <your-repo-url>
bench --site <your-site> install-app implementor
bench --site <your-site> migrate
bench build --app implementor
bench --site <your-site> clear-cacheOpen:
/app/implementor_board
Implementor extends the standard Frappe Project, Task, and ToDo doctypes with custom imp_ fields.
Required fields include:
imp_statusimp_percentimp_stageimp_divisionimp_division_leadimp_urgencyimp_escalatedimp_doneimp_deadline
Make sure these fields exist under Setup → Customize Form before using the app.
All endpoints are available under implementor.api and are intended to be called through frappe.xcall.
| Method | Description |
|---|---|
get_projects() |
List active projects. |
get_tasks(project=None) |
List tasks, optionally scoped to a project. |
get_todos(task=None, project=None) |
List to-dos for a task, project, or all records. |
set_status(doctype, name, status) |
Update the status of a Project or Task. |
set_project_manager(doctype, name, pm) |
Update a Project manager. |
set_division(doctype, name, division) |
Update a Task division. |
set_urgency(doctype, name, urgency) |
Update Task or To-do urgency. |
toggle_todo_done(todo) |
Toggle a to-do’s done state and recompute progress. |
assign_todo(todo, user) |
Assign a to-do to a user. |
toggle_reaction(doctype, name, reaction_type) |
Add or remove a reaction for the current user. |
add_work_note(doctype, name, text) |
Add a new note or comment. |
update_description(doctype, name, text) |
Update the description or notes field. |
add_attachment(doctype, name) |
Upload files to a record. |
dashboard_summary(group_by=None) |
Return dashboard metrics and breakdowns. |
get_users(role) |
List users for a given role. |
- Vanilla JavaScript frontend with no framework dependency.
- Single shared state object and delegated event handling.
- File upload handled with
fetch()andFormData. - Styling scoped under
.impl-board-root. - Built to stay close to standard Frappe conventions.
MIT