Rollups & Financial Tracking

Aggregate numeric and currency fields across linked entities with 5 operations (sum, average, min, max, count) - and use 6 currency role tags (Budget, Estimate, Expense, Revenue, Payment, Value) to power 8 derived financial metrics (Budget Health, Estimate Accuracy, Pipeline, Profit, ROI, Budget Utilisation, Burn Rate, Budget Runway) across 14 currencies including BTC.

Rollups turn relationship fields into calculation engines. Add a rollup config to a relationship field and PrimeTask aggregates a numeric, currency, rating, progress, or checkbox field across all linked entities - sum, average, min, max, or count. Combined with currency role tags, rollups power PrimeTask's complete financial tracking system: Budget Health, Variance, Estimate Accuracy, ROI, Burn Rate, Runway, and Pipeline - automatically derived from the values you enter.

For the broader system, see Custom Fields Overview. For the project-side financial UI, see Project Financial Tracking.

Requires Pro

Rollups and financial tracking are part of the Pro tier. Manage your license from License Settings.

What you can do

Aggregate values from linked entities

with 5 operations (sum, avg, min, max, count)

Configure rollups on relationship fields

pick a target field and aggregation

Tag currency fields with 6 roles

(Budget, Estimate, Expense, Revenue, Payment, Value)

See 8 derived financial metrics

automatically (Budget Health, Estimate Accuracy, Pipeline, Profit, ROI, Budget Utilisation, Burn Rate, Budget Runway)

Use 14 currencies

(USD, EUR, GBP, JPY, CNY, CAD, AUD, CHF, INR, KRW, PLN, BRL, MXN, BTC)

Use per-entity currency codes

different entities can use different currencies for the same field

Rollups - the 5 operations

A rollup is configured on a relationship field. It points to a target field on the linked entities and applies an aggregation operation:

OperationWhat it doesField types it works with
sumAdd up valuesnumber, currency, rating, progress
avgAverage valuesnumber, currency, rating, progress
minSmallest valuenumber, currency, rating, progress
maxLargest valuenumber, currency, rating, progress
CountCount non-null values (counts true for checkbox)number, currency, rating, progress, checkbox

Rollups compute on read - they're not stored values. Edit a linked entity's field and the rollup updates immediately.

Rollups need relationship fields

A rollup starts from a relationship field, then calculates from values on the linked entities.

Example: total contractor cost

A project has a relationship field "Linked Contractors" (multi-link, target type: contact). You want the total Hourly Rate × Hours summary.

  • On the contact entity, you have a number field "Hourly Rate"
  • Configure a rollup on "Linked Contractors": target field = Hourly Rate, operation = sum
  • The project's relationship field now shows the sum of all linked contractors' Hourly Rate

Example: average customer rating

A company has a "Linked Reviews" relationship to review entities (set up as tasks). Each review has a "Rating" field (rating type, 1–5).

  • Configure a rollup: target field = Rating, operation = avg
  • The company shows the average customer rating across all linked reviews

Example: count of completed sub-deliverables

A task has a "Sub-deliverables" relationship to other tasks. Each sub-deliverable has a checkbox "Approved".

  • Configure a rollup: target field = Approved, operation = Count
  • The parent task shows how many sub-deliverables have been Approved

Where rollups appear

Rollups are computed and shown in two places:

On the relationship field itself

The relationship field's value display includes the aggregated number (with appropriate formatting - currency symbol, percent sign, etc.).

In the Project Fields tab Rollup column

The Project Fields tab's database view has a dedicated Rollup column that shows the aggregated value for relationship fields with rollups. You can sort and filter by the rollup column.

For the project Fields tab, see Project Fields Tab.

Currency roles - 6 tags

Currency fields can be tagged with one of 6 roles. Roles drive the financial metrics shown in the Project Fields tab's Cost Summary and elsewhere.

Assign currency roles for financial summaries

A plain currency field tracks money, but role tags tell PrimeTask how to calculate project financial metrics.

RoleGroupMeaning
BudgetPlanningAllocated / planned funds
EstimatePlanningProjected / forecasted cost
ExpenseTrackingMoney spent / actual costs
RevenueTrackingMoney earned / income
PaymentTrackingPayments made or received
ValueValuationDeal / contract / asset value

Roles are optional - a currency field without a role works fine for raw value tracking but won't activate the financial metric calculations.

You can have multiple fields with the same role. For example, two Budget-tagged fields (Marketing Budget + Engineering Budget) sum together to give a total Budget figure.

The 8 derived financial metrics

When you tag currency fields with roles, PrimeTask automatically calculates 8 derived metrics that appear in the Project Fields tab's Cost Summary and across financial views. Each metric only appears when its required input data exists.

The Cost Summary organises these into three section types - Budget Health (when Budget + spending exists), Estimate Accuracy (when Estimate + Expense exist without Budget), Pipeline (when Value + Revenue exist) - plus a Financial Summary containing the broader derived metrics.

Throughout the calculations, Spent means Expense + Payment - both spending roles are summed together.

1. Budget Health

Total Spent = Expense + Payment
Remaining   = Budget − Total Spent
Percent Spent = (Total Spent / Budget) × 100

The percentage of your budget consumed plus the remaining amount. Shown as a progress bar with colour coding (teal under 70%, amber 70–89%, red 90%+).

2. Estimate Accuracy

Shown when Estimate + Expense exist but no Budget role.

Variance = Estimate − Expense

The difference between your forecast and actual. Labelled "under budget" when positive, "over budget" when negative.

3. Pipeline

Shown when Value + Revenue exist.

Outstanding = Value − Revenue

The portion of pipeline value not yet earned as revenue.

4. Profit

Shown when the project has spending (Expense or Payment) and Revenue.

Profit = Revenue − Total Spent

Coloured teal when positive, red when negative.

5. ROI (Return on Investment)

Shown when there's spending and Revenue (and Total Spent > 0).

ROI = ((Revenue − Total Spent) / Total Spent) × 100

Coloured teal when ≥ 0%, red when negative.

6. Budget Utilisation

Shown when Budget exists with spending and Budget > 0.

Budget Utilisation = (Total Spent / Budget) × 100

The same percentage as Budget Health's "Percent Spent" but called out as a standalone derived metric for scanning at a glance. Same colour thresholds (red ≥ 90%, amber 70–89%, normal under 70%).

7. Burn Rate

Shown when there's spending AND the project has a start date.

Elapsed Days = max(1, days since project start_date)
Burn Rate    = Total Spent / Elapsed Days

Displayed as currency per day (e.g., €120/day).

8. Budget Runway

Shown when Burn Rate > 0 and Remaining > 0.

Budget Runway = Remaining / Burn Rate

Displayed in days, with smart formatting:

  • ≥ 365 days - formatted as years (e.g., "1.5 yrs")
  • 60–364 days - formatted as months (e.g., "4 months")
  • < 60 days - formatted as days (e.g., "23 days")

Coloured red when ≤ 7 days remaining, amber when ≤ 30 days, teal when > 30 days.

For the financial tracking UI on projects, see Project Financial Tracking.

14 supported currencies

CodeSymbolName
USD$US Dollar
EUREuro
GBP£British Pound
JPY¥Japanese Yen
CNY¥Chinese Yuan
CADC$Canadian Dollar
AUDA$Australian Dollar
CHFCHFSwiss Franc
INRIndian Rupee
KRWSouth Korean Won
PLNPolish Zloty
BRLR$Brazilian Real
MXNMX$Mexican Peso
BTCBitcoin

Per-entity currency codes

Currency fields store an amount + currency code pair pair on each entity. This means different entities can use different currencies for the same field. A multinational project portfolio can have Project A's Budget in USD and Project B's Budget in EUR, with each project showing the right symbol.

When summing across mixed currencies, PrimeTask treats each as its own total - there's no automatic FX conversion. The Cost Summary respects each currency separately.

Currencies are not converted automatically

Keep mixed-currency totals separate unless you have converted the amounts yourself.

Setting up a rollup

1

Create a **relationship field** (or open an existing one)

2

Step 2

In the field configuration, find the Rollup config section

3

Step 3

Set: - Target field ID - pick a field on the target entity type to aggregate (must be number, currency, rating, progress, or checkbox) - Operation - sum, avg, min, max, or Count

4

Step 4

Save

The rollup activates immediately. The relationship field's display now shows the aggregated value alongside the linked entities.

Check linked values first

If a rollup looks empty, confirm the relationship has linked entities and those entities have values in the target field.

Setting up financial tracking

The fastest way is the Field Setup Wizard's Financial Setup flow (see Field Setup Wizard) which walks you through:

Use the wizard for financial setup

The Field Setup Wizard can create the required currency roles and relationship fields faster than manual setup.

1

Pick a financial preset

Budgeting / Freelance / Sales / Estimate vs Actual / Full Financial / Custom

2

Step 2

Choose a default currency code

3

Step 3

Configure entity scope and relationship target

4

Step 4

Smart reuse handles existing fields

5

Step 5

Optional Quick Start to set initial values

For manual setup:

1

Step 1

Create currency fields for each role you need (Budget, Expense, Revenue, etc.)

2

Step 2

For each currency field, set its Currency Role in the Field Editor

3

Step 3

Set the Currency Code (defaults to USD)

4

Step 4

Apply to projects (and optionally tasks/contacts/companies)

5

Enter values on entities

financial metrics activate automatically

Things worth knowing

Rollups compute on read

Rollups aren't stored values - they're computed every time the field is rendered. Edit a linked entity's value and the rollup updates immediately on next render. This means rollups never go stale but can be slower with very large numbers of linked entities.

Rollups only work on relationship fields

You can't put a rollup directly on a number field - rollups always aggregate across linked entities via a relationship field. To get cross-entity aggregations, you need to set up the relationship first.

Rollup target field can be on any entity type

The target field doesn't have to match the relationship's source entity. A relationship from Project to Contact (target type: contact) can roll up the contact's Hourly Rate. The target field just needs to exist on the linked entity type.

Currency roles can be reassigned later

If you set up a Budget field and later want to also add Expense tracking, you can edit the existing Budget field to keep its role and create a new Expense field alongside. You can also change a field's role at any time.

Multiple fields with the same role sum together

If you have two fields tagged Budget (e.g., Marketing Budget + Engineering Budget), both contribute to the Budget total used by Budget Health and other metrics. This lets you organise budgets by category while still tracking a project total.

Currency without a role still works for raw tracking

You don't have to assign a role to use currency fields. Without roles, currency fields just store and display amounts - Cost Summary and derived metrics won't activate but values are tracked normally.

Different currencies don't auto-convert

PrimeTask doesn't do FX conversion. If your project has fields in USD and EUR, the Cost Summary shows totals per currency - not a single combined number. To unify currencies, manually enter values in your preferred base currency.

Burn Rate needs a project start date

Burn Rate divides Expense by Days Elapsed since the project's start. Without a project start date, Days Elapsed is 0 and Burn Rate (and Runway) can't compute. Set the project start date in the project header to activate these metrics.

Project dates improve financial metrics

Metrics such as Burn Rate and Runway are clearer when project timing is filled in.

Pipeline aggregates across linked deals

Pipeline sums Value-role fields across linked entities (typically deals or opportunities) - not directly on the project itself. Set up a relationship from the project to deal entities and tag the deal value with the Value role.

Checkbox count rollups count true values

The Count operation on a relationship field with a checkbox target counts the number of true values across linked entities. Useful for "how many tasks are flagged as Approved?" or "how many sub-deliverables are Done?"

Common questions

"Why doesn't my Budget Health metric show up?"

Three things to check:

"How do I roll up a number from linked tasks to a project?"

Create a relationship field on the project (target type: task), then add a rollup config with the target field being the number you want to aggregate (e.g., "Estimated Hours") and operation sum. The project now shows the total estimated hours across linked tasks.

"Can I roll up a Date field?"

No - only number-style fields (number, currency, rating, progress) and checkbox support rollups. Dates can't be aggregated meaningfully.

"What happens to the Cost Summary when I switch a project's CRM mode?"

Currency role tags travel with the field definition (which is Space-wide), so they apply regardless of CRM mode. The Cost Summary still works in shared, isolated, or no-CRM projects. See Project Fields Tab.

"How are rollups affected by deleted linked entities?"

Deleted entities drop out of the rollup automatically - the calculation excludes them on next render. There's no stale rollup data.

"Can I see how a rollup was calculated?"

The rollup shows the aggregate value. To see individual contributing entities, expand the relationship field's Linked entities section to see each linked entity and its target field value.

"Is there a Pro restriction on currency support?"

Custom Fields are Pro-only, so all currency tracking and the 14 currencies are Pro features. The currencies themselves don't have any individual restriction - once you have Pro, all 14 are available.

"Can I add my own currency code?"

PrimeTask supports the 14 ISO codes built in. Adding custom currency codes isn't supported. For uncommon currencies, use a number field and format it manually.

"What if I want to see a single combined currency total across mixed currencies?"

PrimeTask doesn't do FX conversion. To unify, enter all values in your preferred base currency manually. Or maintain separate fields per currency (e.g., Budget USD + Budget EUR) and read them independently.

Where to go next

If you want to…Read this
Set up relationship fields (rollups need them)Relationship Fields & Connections
Use the wizard to set up financial fields fastField Setup Wizard
Browse all 14 field typesField Types
See the project Fields tab with Cost SummaryProject Fields Tab
Track project budgets in detailProject Financial Tracking
Use custom fields on tasksTask Custom Fields
Manage fields from SettingsCategory Management Settings
Return to the Custom Fields hubCustom Fields Overview

Related Articles