PJ: Project
The PJ entity represents a project with full lifecycle management including planning, governance, finance, agile delivery, and risk tracking.
PJ definition shipped with DemandFlow. Administrators can add, remove, rename, or re-type fields, change which ones are required, and alter the layout from the Definitions screen in Settings. Your tenant's current schema may differ from what is shown here. To read the current definition at any time, GET the DEFINITION object whose id matches PJ.Entity properties
| Property | Value |
|---|---|
| Entity code | PJ |
| Display name | Project |
| Plural | Projects |
| Level | 420 |
Use cases
PJ is the central work entity in DemandFlow, connecting upward to PORT (comboKey 1) and PROG (comboKey 2), and downward to milestones (PJMS), tasks, epics, backlog items, risks, issues, incidents, lessons learned, and meetings. The comboFilterAdd SUB|PORT scopes project creation to a portfolio context. The brief panel captures project charter information (overview, objectives, scope, assumptions, risks, success criteria) using parentProperty to nest fields under a brief object. General fields include RAG status, strategic pillar (DOBJ lookup), platform/version lookups (DPLAT, DPLATSW), and business driver classification. The pmTypes multiselect determines which delivery methodology panels are relevant (workflows, agile, waterfall). Finance panels include a finance tracker (ft), purchase orders (PO), budget transfers (budx), ledger (LDG), and cash flow. The dashboard panel provides at-a-glance project health with dedicated panels for health, resources, teams, milestones, budget, risks, and issues. Permissions:true enables object-level access control.
Fields
Brief
| Field | Type | Required | Notes |
|---|---|---|---|
briefOverview | text (multi-line) | Overview. | |
briefObjectives | text (multi-line) | Objectives. | |
briefInScope | text (multi-line) | Scope. | |
briefOutScope | text (multi-line) | Out of scope. | |
briefAssumptions | text (multi-line) | Assumptions. | |
briefRisks | text (multi-line) | Risks. | |
briefSuccess | text (multi-line) | Scope. | |
briefBudget | text | Overview. | |
briefTimescales | text | Timescales. |
General
| Field | Type | Required | Notes |
|---|---|---|---|
ownerId | reference → user | Created by. Read-only. | |
name | text | Yes | Name. |
category | enum | Category. Valid ids: water (Water utility), wastewater (Wastewater), telecom (Telecoms), energy (Energy), transport (Transport), it (IT & Digital), property (Property & Facilities), regulatory (Regulatory & Compliance), other (Other). | |
description | text (multi-line) | Yes | Description. |
portfolio | reference → PORT | Yes | Portfolio. |
parentEntity | comboKeyEntity | Parent Entity. | |
customer | reference → COM | Yes | Customer. |
programme | reference → PROG | Programme. | |
objective | reference → DOBJ | Strategic pillar. | |
pmTypes | enum | Management types. Valid ids: workflows (Automated workflows), agile (Agile project), agileteams (Agile teams), waterfall (Waterfall project), jira (JIRA Project). | |
agileWorkflow | reference → WORKFLOW | Agile workflow. | |
planstate | enum | In plan. Valid ids: In Plan (In Plan), Not In Plan (Not In Plan). | |
status | enum | Status. Valid ids: new (New), mtp (MTP), delivery (Delivery), closed (Closed). | |
overrideYear | number | Override year. | |
startYear | number | Project start year. | |
rag | enum | Yes | RAG status. Valid ids: Green - on track (Green - on track), Amber - at risk (Amber - at risk), Red - significant challenges (Red - significant challenges). |
percentComplete | number | Overall project progress (0-100). Updated manually or by Gantt/Agile/Workflow helpers. | |
plannedStart | date | Planned start. | |
plannedEnd | date | Planned end. | |
latestScore | number | Most recent PROJSCORE total for this project. Updated automatically when a scoring run is saved. Read-only. | |
latestScoreRank | number | Rank of this project within its portfolio, 1 = highest score. Updated when scoring runs complete. Read-only. | |
latestScoreModel | text | Score model. Read-only. | |
latestScoredDate | date | Scored. Read-only. | |
fundingDecision | enum | Portfolio funding outcome. Normally set from the Portfolio Funnel drag-and-drop board. Valid ids: fund (Fund), defer (Defer), decline (Decline). | |
odi | reference → ODI | ODI. | |
nwplat | reference → NWPLAT | Network Platform. | |
dplat | reference → DPLAT | Digital/IT platform this project touches. Used for EOL urgency scoring in MTP plans. | |
linkedInis | array of references → INI | Initiatives this project serves. Used for strategic alignment scoring in MTP plans. | |
nwplatinst | reference → NWPLATINST | Platform Instance. | |
nwplatAction | enum | Network Platform Action. Valid ids: install (Install), upgrade (Upgrade), decommission (Decommission), capacityUpgrade (Capacity upgrade). | |
upgradeFrom | reference → NWPLATSW | Upgrade From. | |
upgradeTo | reference → NWPLATSW | Upgrade To. | |
client | reference → CLIENT | Client. | |
92f6cb2d-2343-4200-a46a-65e8af1e97c9 | array of references → SITE | Affected sites. | |
b00360f0-c7c6-4711-a2a6-28013c57b380 | reference → VEN | Principal vendor. | |
driver | enum | Business driver. Valid ids: 1 (Regulatory), 2 (Security & Data Protection), 3 (Network Resilience / Reliability), 4 (Network Performance), 5 (Innovation). |
Performance (EVM)
| Field | Type | Required | Notes |
|---|---|---|---|
bac | number | Total approved project budget (Budget At Completion). Calculated as the sum of ROADLINE revised values across every year of the project. Updates automatically when budgets change. Read-only. | |
percentComplete | number | Overall project progress (0-100). Derived from milestones, backlog or actions depending on the management modes on the General panel; can also be set manually. Read-only. | |
actualCost | number | Actual Cost incurred to date (ACWP). Sum of the finance tracker (PFT) actuals across every project year up to and including the current month. Read-only. | |
plannedValue | number | Planned Value (BCWS). the budgeted cost of work scheduled to date. Pro-rated linearly from BAC between planned start and planned end. Falls back to BAC × %Complete when dates are missing. Read-only. | |
earnedValue | number | Earned Value (BCWP). the budgeted cost of work actually performed. Calculated as BAC × %Complete ÷ 100. Represents how much of the budget has been 'earned' by progress so far. Read-only. | |
evmCalculatedAt | datetime | Timestamp of the last successful Calculate EVM run. All EVM figures are a snapshot from this moment and will drift until the calculation is re-run. Read-only. | |
sv | number | Schedule Variance = EV − PV. Positive means ahead of schedule (more work earned than was planned); negative means behind schedule. Expressed in currency units. Read-only. | |
cv | number | Cost Variance = EV − AC. Positive means under budget (earned more value than spent); negative means over budget. Expressed in currency units. Read-only. | |
spi | number | Schedule Performance Index = EV ÷ PV. 1.0 = on schedule, >1.0 = ahead, <1.0 = behind. E.g. 0.85 means progress is running at 85% of the planned rate. Read-only. | |
cpi | number | Cost Performance Index = EV ÷ AC. 1.0 = on budget, >1.0 = under budget, <1.0 = over budget. E.g. 0.90 means you are earning £0.90 of value for every £1.00 spent. Read-only. | |
eac | number | Estimate At Completion = BAC ÷ CPI. Forecast of total project cost assuming current cost performance continues. Compare with BAC to see likely overspend or underspend. Read-only. | |
etc | number | Estimate To Complete = EAC − AC. Forecast of the remaining cost needed to finish the project from today onward. Read-only. | |
vac | number | Variance At Completion = BAC − EAC. Positive means the project is forecast to come in under budget; negative means overspend is expected. Read-only. | |
tcpi | number | To-Complete Performance Index = (BAC − EV) ÷ (BAC − AC). The cost efficiency required for the remaining work to finish on the original budget. A value >1.0 means the team must perform better than they have so far to hit BAC. Read-only. |
ESG & Carbon
| Field | Type | Required | Notes |
|---|---|---|---|
interventionCategory | enum | Intervention category. Valid ids: new_build (New build), refurbishment (Refurbishment), maintenance (Maintenance), decommission (Decommission), upgrade (Upgrade). | |
esgAssetType | text | Asset type. | |
scope1KgCO2e | number | Direct emissions. plant & machinery fuel. Read-only. | |
scope2KgCO2e | number | Indirect emissions. electricity, grid power. Read-only. | |
scope3KgCO2e | number | Value chain. materials, waste, commuting. Read-only. | |
totalKgCO2e | number | Total (kgCO2e). Read-only. | |
weeeObligationKg | number | Total WEEE obligation from decommissioned assets. Read-only. | |
weeeDischargedKg | number | Weight with discharge certificates. Read-only. | |
recyclabilityPct | number | Weighted average across project materials. Read-only. |
Additional panels
- Dashboard panel.
- roles panel.
- raci panel.
- waterfall panel.
- workflows panel.
- jiraboard panel.
- pjkanban panel.
- ft panel.
- budx panel.
- cashflow panel.
- carbondashboard panel.
Relationships
- Lookups:
portfoliopoints atPORTrecord;customerpoints atCOMrecord;programmepoints atPROGrecord;objectivepoints atDOBJrecord;agileWorkflowpoints atWORKFLOWrecord;odipoints atODIrecord;nwplatpoints atNWPLATrecord;dplatpoints atDPLATrecord;linkedInispoints at an array ofINIrecords;nwplatinstpoints atNWPLATINSTrecord;upgradeFrompoints atNWPLATSWrecord;upgradeTopoints atNWPLATSWrecord;clientpoints atCLIENTrecord;92f6cb2d-2343-4200-a46a-65e8af1e97c9points at an array ofSITErecords;b00360f0-c7c6-4711-a2a6-28013c57b380points atVENrecord. - Related lists:
STFvia formatSUB;MEETINGvia formatSUB|PJ;DECISIONvia formatSUB|PJ;ACTIONvia formatSUB|PJ;PJGATEvia formatSUB|PJ;PJDEPvia formatSUB|PJ;PJDEPvia formatSUB|PJ;PJMSvia formatSUB|PJ;SPRINTPvia formatSUB|PJ;BACKLOGPvia formatSUB|PJ;EPICvia formatSUB|PJ;BACKLOGvia formatSUB|PJ;POvia formatSUB;LDGvia formatSUB|PJ;RISKvia formatSUB|PJ;ISSUEvia formatSUB|PJ;INCIDENTvia formatSUB|PJ;BENEFITvia formatSUB;LLvia formatSUB|PJ;INVTXvia formatSUB|PJ;PJMATERIALvia formatSUB|PJ;PJPLANTvia formatSUB|PJ;PJWASTEvia formatSUB|PJ;PJDECOMvia formatSUB|PJ.
Creating a Project via the API
POST /v1/objects
Authorization: Bearer <your-pat>
Content-Type: application/json
{
"entity": "PJ",
"level": 420,
"comboKey": "SUB:<your-sub-id>|ENT:",
"name": "Example",
"description": "Long description text.",
"portfolio": "",
"customer": ""
}
Listing PJ records
# All projects in your tenant
GET /v1/entities/PJ/SUB