PJMS: Project Milestone
The PJMS entity represents a project milestone tracking key deliverables, payments, approvals, and schedule targets within a project.
PJMS 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 PJMS.Entity properties
| Property | Value |
|---|---|
| Entity code | PJMS |
| Display name | Project Milestone |
| Plural | Project Milestones |
| Level | 50000 |
Use cases
PJMS represents significant checkpoints within a project (PJ), linked via comboKey SUB|PJ. It is more detailed than the generic MILESTONE entity, with extensive financial tracking (payment amounts, invoice details, penalties, bonuses) suited to contractual project milestones. The milestoneType field (Deliverable, Payment, Approval, Phase Gate, etc.) classifies the nature of each milestone. RAG status with colorMap provides visual schedule health. Date tracking includes planned, actual, and variance fields. The financial panel supports payment milestones with currency, terms, and invoice tracking, plus penalty/bonus structures for contractual obligations. Risk assessment and issue tracking are embedded directly in the milestone rather than as separate related entities, keeping milestone-specific concerns self-contained. Notes and file attachments support evidence gathering for milestone sign-off.
Fields
General
| Field | Type | Required | Notes |
|---|---|---|---|
_df_sortOrder | number | Sort Order. | |
_df_predecessor | text | Predecessor. | |
name | text | Yes | Milestone Name. |
description | text (multi-line) | Description. | |
milestoneType | singleselect | Milestone Type. | |
status | singleselect | Yes | Status. |
ragStatus | singleselect | Yes | RAG Status. |
priority | enum | Priority. Valid ids: Critical (Critical), High (High), Medium (Medium), Low (Low). | |
percentComplete | number | Percent Complete. | |
plannedEndDate | date | Yes | Planned Date. |
actualEndDate | date | Actual Date. | |
daysVariance | number | Automatically calculated variance between planned and forecast/actual dates. Read-only. | |
dependencies | text (multi-line) | Dependencies. | |
owner | reference → user | Milestone Owner. | |
approver | reference → user | Approver. | |
stakeholders | text (multi-line) | Key Stakeholders. |
Deliverables & Criteria
| Field | Type | Required | Notes |
|---|---|---|---|
deliverables | text (multi-line) | Key Deliverables. | |
linkedSdels | array of references → SDEL | Link this milestone to one or more deliverables from sales orders (SCON). Completing the milestone can then signal fulfilment of those deliverables. | |
acceptanceCriteria | text (multi-line) | Acceptance Criteria. | |
qualityMetrics | text (multi-line) | Quality Metrics. | |
testingRequired | boolean | Testing Required. | |
testingStatus | singleselect | Testing Status. | |
requiredDocuments | text (multi-line) | Required Documents. | |
regulatoryRequirements | text (multi-line) | Regulatory Requirements. | |
approvalRequired | boolean | Approval Required. | |
approvalStatus | singleselect | Approval Status. | |
approvalDate | date | Approval Date. | |
approvalComments | text (multi-line) | Approval Comments. |
Financial
| Field | Type | Required | Notes |
|---|---|---|---|
hasPayment | boolean | Payment Milestone. | |
paymentAmount | number | Payment Amount. | |
paymentCurrency | reference → CURRENCY | Currency. | |
paymentTerms | singleselect | Payment Terms. | |
invoiceNumber | text | Invoice Number. | |
invoiceDate | date | Invoice Date. | |
paymentStatus | singleselect | Payment Status. | |
paymentReceivedDate | date | Payment Received Date. | |
hasPenalty | boolean | Subject to Penalties. | |
penaltyType | singleselect | Penalty Type. | |
penaltyAmount | number | Penalty Amount/Rate. | |
penaltyGracePeriod | number | Grace Period (days). | |
penaltyMaximum | number | Maximum Penalty. | |
hasBonus | boolean | Eligible for Bonus. | |
bonusAmount | number | Bonus Amount. | |
bonusConditions | text (multi-line) | Bonus Conditions. |
Risk & Issues
| Field | Type | Required | Notes |
|---|---|---|---|
riskLevel | singleselect | Risk Level. | |
riskDescription | text (multi-line) | Risk Description. | |
mitigationPlan | text (multi-line) | Mitigation Plan. | |
contingencyPlan | text (multi-line) | Contingency Plan. | |
hasIssues | boolean | Has Active Issues. | |
issueDescription | text (multi-line) | Current Issues. | |
issueResolutionPlan | text (multi-line) | Resolution Plan. | |
escalationRequired | boolean | Escalation Required. | |
escalationLevel | singleselect | Escalation Level. |
Additional panels
- Activity timeline panel attached.
- Documents. Field
attachments.
Relationships
- Lookups:
linkedSdelspoints at an array ofSDELrecords;paymentCurrencypoints atCURRENCYrecord.
Creating a Project Milestone via the API
POST /v1/objects
Authorization: Bearer <your-pat>
Content-Type: application/json
{
"entity": "PJMS",
"level": 50000,
"comboKey": "SUB:<your-sub-id>|ENT:",
"name": "Example",
"status": "",
"ragStatus": "",
"plannedEndDate": "2026-01-01"
}
Listing PJMS records
# All project milestones in your tenant
GET /v1/entities/PJMS/SUB