Availability
Overview
User can create a quote directly from a template project via its context menu. The system auto-generates quote line items from the template's billable tasks and expenses. The user can then adjust the quote before saving.
Birdview uses a special algorithm for selecting and grouping activities depending on billing type. Flat fee tasks are never grouped, each task constituting a separate line item regardless of its level on the project tree. The same goes for planned billable expenses. For details, see below.
In this article
Permissions
To perform the operation, you'll need the following global permissions:
Manage quotes;
Access billing information;
Any other permission required to access a template you wish to convert to a quote, e.g. Access all projects (not in portfolio).
Workflow
To convert a template project to a quote:
- Hover over a project and click
(a context dropdown menu).
- Click Create quote.
Note
Context menu option "Create Quote" is visible if the project is a template (regardless of whether a customer is assigned).
On this click, Birdview will create a new quote and immediately populate it with line items generated from billable values associated with the template. See Line item building rules below.
Important
If the template has a customer, it will go to fill the Customer field in the quote (See Quotes - Manage). If not, the user can save the quote only after selecting a customer manually.
Line item building rules
When a quote is created from a template, Birdview checks time-based billable activities, flat fee activities, and planned billable expenses. It then generates quote line items from the billable values found in the template hierarchy.
Before line items are created, Birdview resolves the billing type for every task in the full task hierarchy. Tasks with the Not Billable billing type, including their subtrees, are excluded.
Billing type categories
| Category | Resolved billing types |
|---|---|
| Resource-Role-Based | Resource Rate, Rate Card by job role, Rate Card by named resource, Job Role Rate for unnamed resources |
| Non-Resource-Rate | Activity Rate, Project Rate inherited from project, Customer Rate inherited from project |
| Flat Fee | Flat Fee |
| Excluded | Not Billable |
Group-level tasks
A group-level task is the topmost billable task in a branch that drives line item generation. Birdview walks the task tree from top to bottom to identify group-level tasks.
| Task's resolved billing type | Has Resource-Role-Based ancestor? | Result |
|---|---|---|
| Resource-Role-Based | No | Resource-Role-Based group-level task |
| Resource-Role-Based | Yes | Collected under ancestor group |
| Non-Resource-Rate | No | Non-Resource-Rate group-level task |
| Non-Resource-Rate | Yes | Contributes to ancestor's remainder line item |
| Flat Fee | — | Independent Flat Fee line item |
| Not Billable | — | Excluded entirely |
For each group-level task, Birdview collects descendant tasks and excludes descendants where the billing type is Not Billable or Flat Fee. Each flat fee task is processed as its own line item.
Generated line items
Resource-role-based group-level tasks can produce one or more quote line items, depending on job roles and effective rates used by assignments in the group.
Birdview groups resource-role-based assignments as follows:
- Same group-level task, same job role, and same numeric rate create one consolidated line item.
- Same group-level task and same job role with different rates create separate line items.
- Same group-level task with different job roles creates separate line items, even when the rate is the same.
| Field | Value |
|---|---|
| Name | {GroupLevelTaskName}: {Job Role} |
| Unit | Hours |
| Unit Price | Effective Rate |
| Quantity | Sum of Hours Left across all assignments in this group |
Non-resource-rate line items
After creating resource-role-based line items, Birdview checks whether the same group contains non-resource-rate tasks, such as Activity Rate, Project Rate, or Customer Rate tasks. For each rate value in that remaining group, Birdview calculates:
Remainder = Rate x Sum of Hours Left for all tasks with this rate
If the remainder is greater than 0, Birdview creates an additional line item for that rate.
| Field | Value |
|---|---|
| Name | {GroupLevelTaskName} |
| Unit | Hours |
| Unit Price | Remainder |
| Quantity | 1 |
Example:
| Description | Unit | Unit Price or rate | Quantity | Amount |
|---|---|---|---|---|
| Task 3 | Hours | 100 | 42 (30 + 12) | 4200 |
| Task 3 | Hours | 120 | 8 | 960 |
Flat fee line items
Every flat fee task creates exactly one line item, regardless of where it is located in the hierarchy. Flat fee tasks are not grouped with child tasks or other flat fee tasks.
| Field | Value |
|---|---|
| Name | {TaskName} |
| Unit | Pcs |
| Unit Price | The task's own Flat Fee value |
| Quantity | 1 |
Expenses
Planned billable expenses from the template are added to the quote using the existing expense processing logic.