Create a PCI Detail
- 13 Jun 2025
- 12 Minutes to read
- Print
- DarkLight
Create a PCI Detail
- Updated on 13 Jun 2025
- 12 Minutes to read
- Print
- DarkLight
Article summary
Did you find this summary helpful?
Thank you for your feedback!
Post
/cm-rest-api/rest/1/cmdetail
Overview
This API provides functionality to create, retrieve, update, and delete details of Potential Change Items (PCIs). A PCI is typically documented by the General Contractor (GC) and records any alterations or potential alterations within a project that might lead to additional costs. Once approved, a PCI can be escalated to a change order associated with an existing subcontract. The recorded changes are logged into the system and subsequently undergo various phases of review before final posting.
UI Navigation
- Project Controls > Change Management > Change Orders > Enter PCI (Detail Tab)
- Budget & Cost Management > Potential Change Items
Reference Article
Commonly Used Body Parameters
CMiC UI Fieldname | Name | Description | Type | Data Length | Example | Required |
---|---|---|---|---|---|---|
Company Code | CmdCompCode | Company Code - A unique code representing the Company or business unit. This code helps in organizing and managing jobs across different companies within an organization. | string | 8 | “ZZ” | Y |
Job Code | CmdJobCode | Job Code - A code that uniquely identifies the job within a company or business unit. Each job can consist of one or many phase/cost codes and categories assigned to it. This job code appears in the details of the change order and may be a sub-job of the main job listed in the header. | string | 10 | Job1 | Y |
Master Job Code | CmdMastJobCode | The master or controlling job code for the PCI detail (if linked to a master job concept in CMiC). Click here to learn more about Master Jobs. | string | 10 | Job-M | Y |
Change Code | CmdChgCode | PCI Number either autogenerated by the system or manually entered by the users, depending on CM Control settings | string | 11 | CM-12345 | No |
Category Code | CmdCatCode | The PCI line-item category code. Categories are used in combination with cost codes (phases) to identify cost, budgeting, and billing elements on jobs. | string | 16 | Yes | |
Billing Amount | CmdBillAmt | Shows the billing amount for this PCI detail line. This value indicates how much will be billed for the potential change. | number | 18,2 | 5,750.75 | No |
Phase Code | CmdPhsCode | The PCI line phase code. The Cost Code (Phase Code) assigned to a Job | string | 16 | Yes | |
Status Code | CmdStatusCode | Status of a PCI Detail Line. The Status defaults from PCI header upon creation. Users may override the value as Pending, Pre-Pending, Rejected or Cancelled. When using PCI Detail Status for posting, only ‘Approved’ Detail lines will be posted. Click here to learn more about status codes. | string | 10 | A | Yes |
VUUID | CmdVUuid | VUUID - A row unique identifier. System generated and not updateable by users. Used for querying specific row. | string | 64 | No |
Other (Optional) Body Parameters
CMiC UI Fieldname | Name | Description | Type | Data Length | Example | Required |
---|---|---|---|---|---|---|
Bill Amount Change Date | CmdBillAmtChangeDate | Stores the date on which the Bill Amount was last updated or changed. | datetime | No | ||
Billing Category Code | CmdBillCatCode | Specifies the category code used for billing in the PCI detail line. | string | 16 | No | |
Billing Code | CmdBillCode | The billing code associated with this line item. The Billing Code is not a required field if the contract is of the direct AR billing type. When using Job Billing Method, then a Billing Contract is required to be generated and the billcodes mapped against Job/Cost Code/Category combination | string | 50 | No | |
Billing Draw Number | CmdBillDrawNum | The Billing Draw Number in which the PCI Detail is included | integer | 6 | No | |
Bill Name | CmdBillName | The descriptive name or label for the billing line, often seen on reports or the PCI Detail Tab. | string | 60 | No | |
Billing Phase Code | CmdBillPhsCode | The Cost Code mapped to the Billcode line | string | 16 | No | |
Bill Revision Number | CmdBillRevisionNum | The revision Number of Billing Draw in which the PCI Detail line item is included | integer | 3 | 2 | No |
Billing Types | CmdBillTypeCode | Billing Type Code - A code that indicates the default billing type such as cost or milestone-based billing. Click here to learn more about billing types or to see a list of available billing types. | string | 4 | “COST” | No |
Billing Units | CmdBillUnit | Billing units for the Bill Code | number | 10,3 | 999.123 | No |
Billing Rate | CmdBillUnitRate | Billing Rate per unit | number | 18,4 | 100.1234 | No |
Budget Amount | CmdBudgAmt | Budget Amount - The current cost budgeted amount. | number | 18,2 | No | |
Budget Amount Change Date | CmdBudgAmtChangeDate | Tracks the date on which the Budget Amount was last updated. Allows users to see when budget figures were revised. | datetime | No | ||
Budget Estimated Unit Rate | CmdBudgEstUnitRate | The estimated rate used in the budget calculation for this PCI detail line. | number | 16,4 | No | |
Budget Quantity | CmdBudgQty | Budgeted Qty | number | 16,8 | No | |
Budget Quoted Unit Rate | CmdBudgQuotedUnitRate | The quoted budget rate. | number | 16,4 | No | |
Budget Revenue Amount | CmdBudgRevAmt | Budgeted Revnue Amount | number | 18,2 | No | |
Budget Revised Unit Rate | CmdBudgRevUnitRate | Budgeted Revenue Unit Rate | number | 16,4 | No | |
Budget Unit Rate | CmdBudgUnitRate | The budgeted (final) rate. | number | 16,4 | 80 | No |
Budget WM Code | CmdBudgWmCode | Budget Weight/Measure Code - This code specifies the unit of measure for budget. | string | 2 | HR | No |
CLV Parameter Value | CmdClvParameterValue | Classifier Parameter Value | string | 50 | ParamValue | No |
CLV Value Code1 | CmdClvValueCode1 | Classifier Value 1. This is a user defined custom code. | string | 16 | VAL1 | No |
CLV Value Code2 | CmdClvValueCode2 | Classifier Value 2. This is a user defined custom code. | string | 16 | VAL2 | No |
CLV Value Code3 | CmdClvValueCode3 | Classifier Value 3. This is a user defined custom code. | string | 16 | VAL3 | No |
CLV Value Code4 | CmdClvValueCode4 | Classifier Value 4. This is a user defined custom code. | string | 16 | VAL4 | No |
CLV Value Code5 | CmdClvValueCode5 | Classifier Value 5. This is a user defined custom code. | string | 16 | VAL5 | No |
CLV Value Code6 | CmdClvValueCode6 | Classifier Value 6. This is a user defined custom code. | string | 16 | VAL6 | No |
CmdCmmastVuuid | Unique Identifier | string | 64 | No | ||
Cycle Line Number | CmdCycleLineNum | Reallocation PCI only: Line number within reallocation cycle. Reserved numbers: 1 = Reverse current allocation, 2 = New allocation | integer | 1 | No | |
Days Impact | CmdDaysImpact | Enter the number of days due to be impacted by the change. These will print on the change order and a new finish date will be calculated. | integer | 10 | No | |
Display Order | CmdDisplayOrder | This controls the ordering of the generated markups on the change item entry screen. | integer | 3 | No | |
Effective End Date | CmdEffectiveEndDate | Effective Change Order End Date for Time Phased Budgeting | datetime | No | ||
Effective Start Date | CmdEffectiveStartDate | Effective Change Order Start Date for Time Phased Budgeting | datetime | No | ||
Estimated Bill Amount | CmdEstBillAmt | The estimated (forecast) billing amount for this PCI detail, allowing for a “what-if” or preliminary figure. | number | 18,2 | 11000 | No |
Estimated Budget Amount | CmdEstBudgAmt | The estimated (forecast) budget amount for this PCI detail, used for planning or preliminary costing. | number | 18 | 9500 | No |
Group Code | CmdGroupCode | Group codes are a method by which billing codes can be regrouped for printing. Grouping of PCIs and the posted commitments and transactions for the purpose of billing is NOT possible. The mapping code may have a group code set as WBS code and allows grouping by WBS code for the purpose of billing. | string | 35 | No | |
In Scope Amount | CmdInScopeAmt | In Scope Amount represents the portion of the billing value which was included in this external budget. In other words, even though it is an increase to the revenue budget in CMiC, that item was included in the offline budget so there would be no change. The sum of the ‘in scope amounts’ and the ‘out of scope amounts’ fields must match the PCI Billing Amount of the PCI. Field security can be applied to these two fields if necessary. This item is purely for custom reporting purposes. The idea is that they are used to record how each PCI affects an original budget that is tracked outside of CMiC (or stored in a custom pricing column in bid items). In order to ensure that this field is used, the system requires that every PCI line with a billing value be allocated as either ‘in scope’ or ‘out of scope’. This is why the application forces in scope + out of scope = billing value. | number | 18,2 | No | |
Invoice Code | CmdInvCode | The invoice code is used to signify the grouping of the billing codes for printing purposes. This field will default with the billing code entered on this line but may be changed to suit printing requirements. System populated. | string | 35 | No | |
Create Date | CmdIuCreateDate | Create Date - The timestamp indicating when the detail record was initially created. System populated. | datetime | No | ||
Update Date | CmdIuUpdateDate | Update Date - The timestamp indicating the last time the detail record was modified. An example of an Update Date is "2024-10-23T10:49:35-04:00". System populated. | datetime | No | ||
Markup flag | CmdMarkupIndicatorFlag | Indicates PCI lines that will have the Markup Rules applied to. System populated. | string | 1 | No | |
Negative Bill Amount | CmdNegBillAmt | A negative bill amount is used to adjust the invoice to ensure it does not exceed the contract maximum. When the program generates an invoice, it first applies the bill code maximum to the individual lines, and then it applies the contract maximum to the entire bill. If the total billed exceeds this contract maximum, the program introduces negative billed amounts on the currently billed lines to effectively offset and align the total invoice amount with the contract's maximum limit. | number | 18,2 | No | |
Negative Budget Amount | CmdNegBudgAmt | If negative budgeting is relevant, shows the negative or reversing portion of the budget amount for this PCI detail. | number | 18,2 | -300 | No |
Out of Scope Amount | CmdOutOfScopeAmt | Out of Scope Amount represents the portion of the billing value which was not included in the external budget. In other words, this increase to the revenue budget in CMiC will also increase the offline budget. The sum of the ‘in scope amounts’ and the ‘out of scope amounts’ fields must match the PCI Billing Amount of the PCI. Field security can be applied to these two fields if necessary. This item is purely for custom reporting purposes. The idea is that they are used to record how each PCI affects an original budget that is tracked outside of CMiC (or stored in a custom pricing column in bid items). In order to ensure that this fields is used, the system requires that every PCI line with a billing value be allocated as either ‘in scope’ or ‘out of scope’. This is why the application forces in scope + out of scope = billing value. | number | 18,2 | No | |
Override Markup | CmdOverrideMarkupFlag | Indicates whether any default markup percentages are overridden for this PCI detail line (Y/N). | string | 1 | N | No |
Owner Change Code | CmdOwnerChgCode | Code referencing the owner’s Owner Change Order Number | string | 20 | No | |
Owner Reference Number | CmdOwnerRefNumber | Owner Change Reference Number | string | 16 | OREF-9876 | No |
PCI Selected | CmdPciSelectedFlag | Flag on PCI detail to mention either PCI is to be printed or not. | string | 1 | Y | No |
Phase Code Segment 1 | CmdPhsCodeSeg1 | Indicates Cost Code Segmentation | string | 16 | 1 | No |
Phase Units | CmdPhsUnit | Phase Unit Quantity (Productivity) | number | 16 | No | |
Phase WM Code | CmdPhsWmCode | Phase Weight Measure Code (Productivity) | string | 2 | No | |
Potential Budget Amount | CmdPotentialBudgAmt | Right most amount from budget amount, quoted amount and estimated amount if not null | number | 18 | 9500 | No |
Projected Amount | CmdProjAmt | Projected Final/ Cost Amount - The estimate of the total cost amount spent on the category assigned to the cost code. | number | 18 | No | |
Project Code | CmdProjCode | Project Code | string | 10 | No | |
Project Company Code | CmdProjCompCode | Project Company Code | string | 8 | No | |
Project Units | CmdProjUnit | Projected Units | number | No | ||
Quoted Bill Amount | CmdQuotedBillAmt | Quoted Bill Amount | number | 18 | No | |
Quoted Amount | CmdQuotedBudgAmt | Quoted Budget Amount in Cost Currency | number | 18 | No | |
Reference Name | CmdRefName | This field populates the Long Description column displayed in the PCI Details screen. | string | 4000 | No | |
Subcontract Change Code | CmdScChgCode | A code referencing a change order or request at the subcontract level. Required and base contracts are defined by the system as ‘000’ and incremented on each change order | string | 12 | 001 | No |
Subcontract Company Code | CmdScCompCode | Company Code under which the Subcontract is created | string | 8 | ZZ | No |
Subcontract Contract Code | CmdScContCode | Stores the subcontract code. Mandatory code either autogenerated or manually entered as per the SC Control setup | string | 20 | No | |
Subcontract Request ID | CmdScRequestId | This field is used to identify the specific Tender Proposal or Subcontract entry. Input the relevant Tender Package ID associated with the job. | string | 10 | No | |
Subcontract change task code | CmdScTaskCode | Subcontract task code - Required when creating a SOV line in SC or SCCO | string | 16 | TASK1 | No |
Subcontract Vendor Code | CmdScVenCode | Subcontract Vendor Code – Required when creating a SC or SCCO. The vendor to whom the subcontract will be written and signed | string | 8 | A1SPEEDY | No |
Separate Billing Ref Code | CmdSeparateBillingRefCode | Reference Code used to bill the unposted PCI on separate invoices. | string | 60 | A1MECH | No |
Subcontract Reference # | CmdSubcRefNumber | Subcontractor Referwence Number | string | 16 | Ref#123 | No |
WBS Value Code 1 | CmdWbsvCode1 | WBS Code 1 Value. Work Breakdown Structure (WBS) codes may be defined at either company level or optionally at Job level. The values entered during transaction entries are populated in this column. WBS Codes may be system defined such as PCI# or WBSV values or user defined fields and even free form field values. Each Transaction Detail line may have WBS Code values 1 to 4 may be entered by users. The transactions can be grouped for querying and reporting purposes. | string | 60 | No | |
WBS Value Code 2 | CmdWbsvCode2 | WBS Code 2 Value | string | 60 | No | |
WBS Value Code 3 | CmdWbsvCode3 | WBS Code 3 Value | string | 60 | No | |
WBS Value Code 4 | CmdWbsvCode4 | WBS Code 4 Value | string | 60 | No | |
Exchange Bill Amount | CmdExchgBillAmt | Billing Amount in Revenue Currency. System Only Field. Not updateable by users | number | 18,2 | 1234.56 | No |
Exchange Budget Amount | CmdExchgBudgAmt | Budget Amount in Cost Currency. System Only Field. Not updateable by users | number | 18 | 1234.56 | No |
Cost Currency. | CmdCostCurrCode | Cost Currency. System Only Field. Not updateable by users | string | 3 | USD | No |
Revenue Currency. | CmdRevenueCurrCode | Revenue Currency. System Only Field. Not updateable by users | string | 3 | USD | No |
Posting Flag (Checkbox) | CmdPostingFlag | Posting Flag. System Defined. | string | 12 | No |
Security
HTTP
Type basic
Basic authentication
Header parameters
Content-Type
string
Exampleapplication/vnd.oracle.adf.resourceItem+json
Body parameters
object
Example{ "CmdCompCode": "ZZ", "CmdJobCode": "18500", "CmdMastJobCode": "18500", "CmdChgCode": "ORB0001", "CmdPhsCode": "00", "CmdCatCode": "6000", "CmdBillAmt": 100, "CmdStatusCode": "APPROVED", "CmdPostingFlag": "UNPOSTED", "CmdVUuid": "" }
Responses
201
Created
Headers
Content-Type
string
Exampleapplication/vnd.oracle.adf.resourceitem+json
{
"CmdBillAmt": 100,
"CmdBillAmtChangeDate": null,
"CmdBillCatCode": "6000",
"CmdBillCode": "111.00.6000",
"CmdBillDrawNum": null,
"CmdBillName": "BIDDING - Bidding Costs",
"CmdBillPhsCode": "00",
"CmdBillRevisionNum": null,
"CmdBillTypeCode": "PCCO",
"CmdBillUnit": null,
"CmdBillUnitRate": null,
"CmdBudgAmt": null,
"CmdBudgAmtChangeDate": null,
"CmdBudgEstUnitRate": null,
"CmdBudgQty": null,
"CmdBudgQuotedUnitRate": null,
"CmdBudgRevAmt": 100,
"CmdBudgRevUnitRate": null,
"CmdBudgUnitRate": null,
"CmdBudgWmCode": "NA",
"CmdCatCode": "6000",
"CmdChgCode": "ORB0001",
"CmdClvParameterValue": "5761867",
"CmdClvValueCode1": null,
"CmdClvValueCode2": null,
"CmdClvValueCode3": null,
"CmdClvValueCode4": null,
"CmdClvValueCode5": null,
"CmdClvValueCode6": null,
"CmdCmmastVuuid": "2D901A631A257C45E06327261DAC3598",
"CmdCompCode": "ZZ",
"CmdCycleLineNum": null,
"CmdDaysImpact": null,
"CmdDisplayOrder": 1,
"CmdEffectiveEndDate": null,
"CmdEffectiveStartDate": null,
"CmdEstBillAmt": null,
"CmdEstBudgAmt": null,
"CmdGroupCode": null,
"CmdInScopeAmt": null,
"CmdInvCode": null,
"CmdIuCreateDate": "2025-02-07T15:36:53Z",
"CmdIuUpdateDate": null,
"CmdJobCode": "18500",
"CmdMarkupIndicatorFlag": "N",
"CmdMastJobCode": "18500",
"CmdNegBillAmt": null,
"CmdNegBudgAmt": null,
"CmdOutOfScopeAmt": null,
"CmdOverrideMarkupFlag": "N",
"CmdOwnerChgCode": null,
"CmdOwnerRefNumber": null,
"CmdPciSelectedFlag": "N",
"CmdPhsCode": "00",
"CmdPhsCodeSeg1": "00",
"CmdPhsUnit": null,
"CmdPhsWmCode": "NA",
"CmdPostingFlag": "UNPOSTED",
"CmdPotentialBudgAmt": 0,
"CmdProjAmt": null,
"CmdProjCode": "18500",
"CmdProjCompCode": "ZZ",
"CmdProjUnit": null,
"CmdQuotedBillAmt": null,
"CmdQuotedBudgAmt": null,
"CmdRefName": null,
"CmdScChgCode": null,
"CmdScCompCode": null,
"CmdScContCode": null,
"CmdScRequestId": null,
"CmdScTaskCode": null,
"CmdScVenCode": null,
"CmdSeparateBillingRefCode": null,
"CmdStatusCode": "APPROVED",
"CmdSubcRefNumber": null,
"CmdVUuid": "2D901C7052D68DA6E06327261DAC5093",
"CmdWbsvCode1": "ORB0001",
"CmdWbsvCode2": null,
"CmdWbsvCode3": null,
"CmdWbsvCode4": null,
"CmdExchgBillAmt": null,
"CmdExchgBudgAmt": null,
"CmdCostCurrCode": null,
"CmdRevenueCurrCode": null,
"links": [
{
"rel": "self",
"href": "https://qamob.cmicpaas.com:443/cmicqadaily/cm-rest-api/rest/1/cmdetail/2D901C7052D68DA6E06327261DAC5093",
"name": "cmdetail",
"kind": "item"
},
{
"rel": "canonical",
"href": "https://qamob.cmicpaas.com:443/cmicqadaily/cm-rest-api/rest/1/cmdetail/2D901C7052D68DA6E06327261DAC5093",
"name": "cmdetail",
"kind": "item"
}
]
}
object