Workflow: Project → Invoice
Modules involved: Opportunities · Projects · Tasks · Timesheets · Expenses · Invoices
Who uses it: Project manager, Consultants, Freelancers, Implementation teams, Finance
Typical duration: Days – months (over the course of the project)
Overview
The service delivery workflow: a project is opened (usually from a won opportunity), work is recorded via tasks and timesheets, expenses are attached, and at the end all of this is converted into an invoice. Ideal for service companies, consulting firms, IT, and agencies.
Flow diagram
[WON OPPORTUNITY]
│ ↓ Create Project (manually or from opportunity)
│
[PROJECT]
│ status: Not Started → In Progress → On Hold → Finished
│
├── [TASKS]
│ │ status: Not Started → In Progress → Awaiting Feedback → Complete
│ │ ↓ Team members log time on tasks
│ │
│ [TIMESHEETS / TASK TIMERS]
│ │ billable / non-billable
│ │ approved by manager
│ │
└── [EXPENSES]
│ attached to the project with receipts
│ billable / non-billable
│
↓
[INVOICE]
│ generated from project: billable hours + billable expenses
│ status: Draft → Sent → Paid
│
[PAYMENT]
│
[PROJECT FINISHED / ARCHIVED]
Step by step
1. Creating a Project
Where: /admin/projects → Add Project
How it links to the sale:
- From a won opportunity or signed contract: Create Project button — pulls the client and description
- Directly from the menu: fill in the client manually
Key fields:
| Field | Notes |
|---|---|
| Project name | Descriptive, visible to the client in the portal |
| Client | Link to the client record |
| Start date / deadline | Controls the timeline |
| Billing type | Billable hours or Total logged hours (affects how the invoice is calculated) |
| Hourly rate | Price per hour if billing by time |
| Budget | Optional — for tracking costs vs budget |
| Team members | Allocated staff; determines who can log time |
| Visible in client portal | If yes, the client sees the project, tasks, and files |
Project statuses:
| Status | Description |
|---|---|
| Not Started | Project created, work has not begun |
| In Progress | Active |
| On Hold | Temporarily suspended |
| Finished | Completed |
2. Tasks — Structuring the work
Where: Tasks tab within the project
Creating a task:
- Add Task from the project — automatically associated with the project
- Tasks can be organized under milestones (project phases)
- Each task has: assignee, deadline, priority, sales order hours
Task statuses:
| Status | Description |
|---|---|
| Not Started | Task created, not started |
| In Progress | Someone is working on it |
| Awaiting Feedback | Delivered, awaiting client feedback |
| Complete | Finished |
Attributes relevant for billing:
- Billable: whether the task is billed to the client (checkbox per task)
- Sales Order hours: helps compare planned vs actual
- Timer: team member starts/stops the timer on the task — automatically generates entries in Timesheets
3. Timesheets — Logging time
Where: Timesheets tab within the project or /admin/staff/timesheets
Two recording modes:
A. Task timer (recommended):
The ▶ Start button on a task starts a timer. When stopped, a Timesheets entry is automatically created with the exact duration, task, and project filled in.
B. Manual entry:
Fill in directly: date, start time, stop time (or duration), task, note, Billable checkbox.
Key timesheet fields:
| Field | Notes |
|---|---|
| Staff | Who worked |
| Project | Link to the project |
| Task | The specific task (optional, but recommended) |
| Date | Day of work |
| Hours | Duration (calculated automatically if a timer was used) |
| Billable | Yes/No — only billable entries are included in the invoice |
| Note | Describes what was done (appears on the invoice) |
Timesheet approval:
If the approval workflow is enabled (configurable in settings), the manager approves entries before billing. Status: Pending (0) → Approved (1).
Only timesheets with Approved status and the Billable checkbox are eligible for invoice generation.
4. Expenses — Reimbursable costs
Where: /admin/expenses or the Expenses tab within the project
Creating an expense: Add Expense button — fill in: amount, category, date, vendor, attach the receipt.
Fields relevant for billing:
| Field | Notes |
|---|---|
| Project | Associates the expense with the project |
| Client | If billable, the client who bears the cost |
| Billable | Yes/No |
| Invoiced | Marker that it has already been included in an invoice |
Expenses marked Billable appear in the selection list when generating an invoice from the project.
5. Generating the Invoice from the Project
Where: From the open project → Create Invoice button (or Create Invoice from Timesheets)
What happens:
- The system collects all Billable + Approved timesheets not previously billed
- Groups lines: per task or per day (configurable)
- Calculates:
Hours × Hourly rate = Line value - Adds unbilled billable expenses
- Creates the invoice with all lines — you can review before saving
Structure of generated invoice lines:
Line 1: [Task name] — [Staff name] 3.5h × 150 RON = 525 RON
Line 2: [Task name] — [Staff name] 2.0h × 150 RON = 300 RON
Line 3: Expenses: Travel to Bucharest 1 × 180 RON = 180 RON
──────────────────────────────────────────────────────────────────
Subtotal: 1,005 RON
VAT 19%: 190.95 RON
TOTAL: 1,195.95 RON
Billing types (set on the project):
| Type | Behavior |
|---|---|
| Billable hours | Bills only hours marked Billable |
| Total logged time | Bills the total logged hours (billable + non-billable) |
| Fixed rate | Invoice with a fixed amount — does not calculate from timesheets |
| Not billable | Internal project — does not generate an invoice |
6. Invoice Status and Payment
Identical to Workflow 1 (Lead → Cash), Invoice and Payment section.
Statuses: Draft → Sent → Partially Paid → Paid / Overdue
The invoice generated from the project remains linked to the project — you can see all project invoices from the Invoices tab of the project.
What is created automatically
| Event | Created automatically |
|---|---|
| Timer started on task | Active timesheet entry |
| Timer stopped | Timesheet with exact duration, task and project filled in |
| Invoice from project | Lines from all unbilled billable timesheets + billable expenses |
| Expense marked Billable + included in invoice | Invoiced field set automatically |
| Project marked Finished | Notification to team members (if configured) |
Points where the workflow may stall
| Problem | Likely cause | Solution |
|---|---|---|
| "Create Invoice" button does not appear | Staff lacks permission or project is Not Billable |
Check the billing type in the project settings |
| Hours do not appear when generating the invoice | Timesheets are not marked Billable or not Approved | Approve timesheets and verify the Billable checkbox |
| Expense does not appear in the invoice | Not marked Billable on the expense | Edit the expense and enable Billable |
| Timesheet already appears on another invoice | Was included previously — the Invoiced field is set |
Filter by unbilled in the timesheets list |
| Timer keeps running | Someone forgot to stop it | Go to Timesheets → stop manually |
Relevant reports
- Project Overview — tab within the project — logged hours vs sales order, expenses, task progress
- Timesheets —
/admin/staff/timesheets— hours per staff member per period - Expenses —
/admin/expenses— billable expenses per project - Resource Workload —
/admin/resource_workload— team capacity
Modules involved — detailed documentation
Mark expenses as billable to the project at creation — billable expenses become available on the client invoice automatically and are included in the project margin calculation without any additional manual steps.
Timesheets must be logged and approved before the month closes for project P&L to be accurate. A timesheet submitted after month-end affects next month's cost allocation, not the month the work was performed.