Docs

Projects and tasks

Projects group the work you do for a customer or for yourselves: tasks on a board, milestones, a budget and the hours logged against it. Every task across every project also lives on one company-wide task board, and clients can follow their own projects from the client portal.

Live engine or demo data

Projects, tasks and timesheets read the ERPNext engine when it is connected and fall back to demo data when it is not. Changing a task's status, adding a task and opening a task's detail page all need the live engine.

Projects list

Open Run then Projects, or go to /projects. The page is titled Projects with the subtitle "Boards, tasks, timesheets, milestones and budgets". Two buttons: Task board opens /tasks and New project opens the creation form.

The Projects list with four KPIs and a two-column grid of project cards
Projects: each card carries priority and status badges, a meta line and a progress bar.

KPI tiles

  • Active projects, with the total count beneath.
  • Open tasks across all projects.
  • Milestones tracked.
  • Budget in play: the sum of active project budgets in AED.

Project cards

Cards sit in two columns and link to the project hub. Each shows the name, a priority badge, a status badge, a meta line of type, customer (or "internal"), task count and budget, and a progress bar. In the demo, PROJ-011 "Jebel Ali warehouse fit-out" is 62% complete on a AED 240,000 budget; PROJ-009 "Q4 procurement drive" and PROJ-007 "ERP rollout" are active and PROJ-004 "Website & branding" is Completed.

PriorityBadge colour
UrgentRed
HighAmber
MediumBlue
LowGrey

Creating a project

/projects/new is titled New project: create the project, then add tasks, milestones and timesheets.

FieldDefaultNotes
Project nameEmptyRequired. Placeholder "e.g. Jebel Ali warehouse fit-out". Missing: "Project needs a name."
TypeInternalInternal or External.
PriorityMediumLow, Medium, High or Urgent.
Expected end2026-12-31Shown as the due date on the hub.
Budget (AED)EmptyFeeds the Budget and Spent KPIs.
Customer (optional)Internal projectPick a customer to make it visible in that customer's portal.

Create project saves and opens the new project hub.

Project hub

/projects/[name] is titled with the project name and its status; the subtitle shows the id, type, customer (or internal) and due date. New project sits in the header and All projects returns to the list.

A project hub with four KPIs, the completion bar, the scoped task board, milestones and timesheets
The project hub: KPIs, a completion bar, the task board scoped to this project, milestones and timesheets.
  • Progress, with the number of open tasks.
  • Budget allocated.
  • Spent, as a percentage of budget.
  • Hours logged, with the number of timesheets.

A "{n}% complete" bar follows. The Task board section is the same board as /tasks but scoped to this project, and tasks you add here attach to it. The Milestones list links each milestone to its task with a due date and status (empty: "No milestones set."). The Timesheets table shows Employee, Date, Hours and Status (empty: "No time logged yet.").

Task board

/tasks, crumb "Run · Projects · Board", shows every task across every project in four columns with counts: Open (blue), Working (yellow), Pending Review (red) and Completed (green). Cancelled tasks are hidden.

The Task board with Open, Working, Pending Review and Completed columns
Task board: TASK-4821 "Send Jebel Steel PO" is Working at High priority and due today in the demo.

Each card shows a milestone shield when the task is a milestone, the subject (linked to task detail), a priority badge, a due tag, a progress bar and a status dropdown.

Moving tasks

The subtitle mentions dragging, but cards do not drag in this build. Change the status dropdown on the card and it moves to the matching column.

How to add and move a task

  1. Click Add task in a column

    A "Task subject" input appears with Add and Cancel. Press Enter or click Add.

  2. The task takes the column's status

    A task added under Working starts as Working. New tasks get Medium priority. On a project hub the task also attaches to that project.

  3. Move it with the status dropdown

    Pick Open, Working, Pending Review or Completed on the card. The card jumps to that column and the counts update.

Task detail

/task/[name], crumb "Projects · Task" (with " · Milestone" appended for a milestone), is titled with the subject; the subtitle shows the task id and project. Open project jumps to the hub and Task board returns to the board. KPIs: Status, Priority, Progress and Due with the estimated hours.

The left column holds Description ("No description." when empty) and Comments with avatar, author, text and time ("No comments yet."). The right-hand Details card has Change status (Open, Working, Pending Review, Completed, Cancelled), the priority, a Timeline from start to end, Estimated hours, the Assignee ("Unassigned") and the milestone row. Task detail requires the live engine.

Timesheets

/timesheets is time logged against projects, for costing and billing. Header controls: an Export menu (the table as timesheets) and New timesheet. KPIs: Timesheets this month, Hours logged, Billable hours (to invoice) and Utilization, the billable ratio. The table has Timesheet, Employee (with avatar), Project (or "Internal"), Date, Hours, Billable and Status, where Submitted is green and any other status such as Draft is grey. When nothing is logged the table reads "No timesheets yet. Log the first one."

Logging time

FieldDefaultNotes
EmployeeThe first employeeRequired ("Choose an employee.").
ProjectInternal (no project)Any project from the list.
DateToday
Hours8Half-hour steps; must be greater than zero.
ActivityExecutionExecution, Planning, Meeting, Support, Travel.
BillingBillable to the customer, tickedUntick for internal time; it then counts in Hours but not in Billable.

Log time submits an ERPNext Timesheet with the live engine. In demo mode the row is kept in this workspace with a TS- id, the status Submitted and a New badge. Hours logged also appear on each employee's profile in HR and payroll.

Client portal

A user with the Client role never sees the internal app. Their sidebar shows only Client Portal, My Projects, My Invoices, My Estimates and Statement, and any other URL redirects to /portal. The demo client is Al Habtoor Group, served by Falcon Trading LLC. See Roles and permissions for how the role is assigned.

The Client Portal home with a welcome hero, four KPIs, recent invoices and recent estimates
Portal home: "Welcome, Al Habtoor Group" with open invoices, total due, active projects and estimates.

Home

/portal is titled Client Portal: your account with Falcon Trading LLC, where you only ever see your own projects, invoices and estimates. KPIs: Open invoices (awaiting payment), Total due, Active projects and Estimates (for your review). Below are Recent invoices (Invoice, Date, Amount, Outstanding, Status, with View all), Recent estimates (Estimate, Date, Total, Status) and a Need help? card with a Contact mail link to the account manager.

My projects

/portal/projects shows Active projects, Average progress and Total budget, then a table of Project, Status, Progress and Budget (empty: "No projects yet"). Only projects with this customer set appear.

My invoices

The My invoices page in the client portal with totals and the invoice table with View / Pay actions
My invoices: View / Pay opens the invoice's public payment page in a new tab.

/portal/invoices shows Total invoiced, Paid (settled) and Outstanding ("due now" or "all clear"). The table has Invoice, Date, Due, Amount, Outstanding, Status and an Action column: View / Pay for open invoices or View for paid ones, opening /pay/{invoice} in a new tab. See Payments for what the client can do there.

My estimates

/portal/estimates shows Estimates, Awaiting review (ready to sign) and Total value, then Estimate, Date, Valid till, Total, Status and a Review & sign action that opens the public quotation page. See Quotations.

Statement of account

The client statement of account with lifetime totals and the running-balance table
Statement of account: invoices and payments in date order with a running balance and a closing balance row.

/portal/statement has a Print / Export button that opens the browser print dialog. KPIs: Total invoiced (lifetime), Total paid and Balance due ("outstanding" or "settled"). The table lists Date, Reference, Type (Payment in green, Invoice in blue), Debit, Credit and Balance, ending in a Closing balance row.