ProjectFlow is a Jira / ClickUp / Asana-style project management layer built on top of
ERPNext (Frappe v15). Instead of duplicating ERPNext's Project and Task doctypes,
it extends them with the agile, resourcing, risk, financial, and reporting workflows that
modern delivery teams expect — while continuing to use Frappe's built-in assignments,
comments, tags, Kanban, Gantt, and costing features.
After installation you get three new Workspaces (ProjectFlow Team, ProjectFlow Manager, ProjectFlow Executive) that act as your starting points for everything below.
cd $PATH_TO_YOUR_BENCH
bench get-app https://github.com/Zaryab03/projectflow --branch main
bench --site your-site install-app projectflow
bench --site your-site migrateProjectFlow requires erpnext to be installed on the site (it is listed as a
required_apps).
- Open ProjectFlow Team workspace.
- Create an Epic (large body of work spanning multiple sprints) under a Project.
- Create an Agile Sprint for the project — give it a start/end date and set it to Active (only one sprint per project can be Active at a time).
- On each Task, set:
Sprint— link it to the active sprintEpic— link it to its parent epic (optional)Story Points— effort estimateBoard Status— Backlog / To Do / In Progress / In Review / Done / Blocked
- Open the ProjectFlow Task Board Kanban board (grouped by Board Status) to drag tasks through your workflow.
- Track progress with:
- Sprint Velocity report — committed vs. completed story points per sprint
- Sprint Burndown report — actual vs. ideal remaining points over the sprint (a daily scheduled job logs a burndown snapshot automatically for every active sprint)
Task Templates: Use the Task Template doctype (with checklist items) and the
create_task_from_template API to spin up a standard set of tasks/checklists for
recurring work.
- Set dependencies on a Task as usual via Task Depends On, and choose a Dependency Type: Finish to Start, Start to Start, Finish to Finish, or Start to Finish.
- Whenever a task is saved (and once daily via a scheduled job), ProjectFlow recalculates
the project's critical path using a forward/backward-pass CPM algorithm:
Slack (Days)is set on every taskCritical Path Taskis checked for any task with zero or negative slack
- Open the Task Gantt view — critical tasks are badged automatically.
- Use the Critical Path report (filter by project) to see every task's slack as a bar chart and quickly spot your bottleneck chain.
- Set
Daily Capacity (Hours)on each Employee (defaults to 8). - Go to Resource Allocation (ProjectFlow Manager workspace) and create an
allocation: pick the Employee, Project, optional Task, start/end dates, and
Allocated Hours / Day. - If an employee's combined allocated hours on any day exceed their daily capacity, you'll get a non-blocking over-allocation warning — useful for spotting overbooked staff before confirming.
- Each Resource Allocation has a status workflow:
- Planned → (Projects Manager clicks Confirm) → Confirmed
- Confirmed → (Projects User clicks Complete) → Completed
- Confirmed → (Projects Manager clicks Reopen) → back to Planned
- Review staffing with:
- Resource Utilization report — capacity vs. allocated vs. actual hours (from Timesheets) per employee, with allocation % and utilization %
- Resource Heatmap report — a calendar heatmap of total allocated hours per day
- Create a Project Risk record under a Project: give it a title, category (Schedule / Budget / Resource / Technical / Scope / External), and set Probability and Impact (Low/Medium/High).
- ProjectFlow automatically computes a
Risk Score(1–9, Probability × Impact) and rolls open risks into the project's overallRisk ScoreandHealth Score. - If a risk's score is 6 or higher and its status is Open, an automatic system notification ("Project Risk Escalation") is sent to the risk's owner and to anyone with the Projects Manager role.
- Use the Risk Register report (filter by project/status) to see all risks sorted by severity, with a chart of open risk score by category.
- Update
Statusto Mitigated / Closed / Occurred as risks are managed — this automatically recalculates the parent project's scores.
ProjectFlow extends ERPNext's existing Issue doctype rather than creating a new one.
- Create an Issue and link it to a
Project(and optionally aTask— the task must belong to the same project, this is validated automatically). - Fill in the new Bug Details section:
Severity— Low / Medium / High / CriticalSteps to ReproduceEnvironment / Version
- Triage and track bugs on the ProjectFlow Bug Board Kanban (grouped by Issue status: Open / Replied / On Hold / Resolved / Closed).
- Use the Bug Summary report (filters: project, severity, status) to see open issues by severity as a bar chart.
No new doctypes here — ProjectFlow reuses ERPNext's existing Project costing fields
(Total Costing Amount, Total Purchase Cost, Total Consumed Material Cost,
Total Billed Amount, Gross Margin, etc.) and Estimated Costing.
- Set
Estimated Costingon your Project as usual. - ProjectFlow automatically computes
Budget Utilization %= actual cost (timesheet + purchase + consumed material) ÷ estimated cost, shown on the Project under ProjectFlow Insights. - Use:
- Project Profitability report — billed vs. costing vs. gross margin % and client satisfaction per project
- Budget Variance report — estimated vs. actual cost, variance %, and an "Over Budget" flag for every project with a budget set
- Create a Project Portfolio (name, portfolio manager, status).
- On each Project, set the
Portfoliofield to group it under that portfolio. - Open the Portfolio Overview report (optionally filter by portfolio) to see, per portfolio: number of projects, average health/risk score, total estimated cost, total billed amount, and count of open risks — with a chart comparing average health vs. risk across portfolios.
| Workspace | Audience | Highlights |
|---|---|---|
| ProjectFlow Team | Delivery teams | My Tasks, Sprint/Task Kanban boards, Bug board, Agile reports |
| ProjectFlow Manager | PMs / leads | Active projects, Gantt, Resource Allocation, Risk Register, Critical Path, Delayed Tasks |
| ProjectFlow Executive | Leadership | Portfolio Overview, Project Profitability, Budget Variance, Risk Register |
| Field | Type | Meaning |
|---|---|---|
| Health Score | Percent | Blended score from overdue tasks, budget overrun, and open risk severity |
| Risk Score | Percent | Blended score from overdue ratio, budget overrun, and average open risk |
| Client Satisfaction | Rating | Manually set by the project manager |
| Forecast Completion Date | Date | Projected finish date |
| Budget Utilization | Percent | Actual cost as a % of Estimated Costing |
| Portfolio | Link | Groups the project under a Project Portfolio |
All scores recalculate automatically on task/risk changes and once daily via the scheduler — no manual refresh needed.
This app uses pre-commit for code formatting and linting. Please install pre-commit and enable it for this repository:
cd apps/projectflow
pre-commit installPre-commit is configured to use the following tools for checking and formatting your code:
- ruff
- eslint
- prettier
- pyupgrade
bench --site your-site run-tests --app projectflowmit