Create a PCI Detail

Prev Next
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": "001", "CmdJobCode": "01JOB", "CmdMastJobCode": "01JOB", "CmdChgCode": "EXT0001", "CmdPhsCode": "01", "CmdCatCode": "L", "CmdBillAmt": 10000, "CmdStatusCode": "PENDING", "CmdPostingFlag": "UNPOSTED", "CmdVUuid": "" }
Responses
201

Created

Headers
Content-Type
string
Exampleapplication/vnd.oracle.adf.resourceitem+json
{
  "CmdBillAmt": 10000,
  "CmdBillAmtChangeDate": null,
  "CmdBillCatCode": null,
  "CmdBillCode": null,
  "CmdBillDrawNum": null,
  "CmdBillName": null,
  "CmdBillPhsCode": null,
  "CmdBillRevisionNum": null,
  "CmdBillTypeCode": null,
  "CmdBillUnit": null,
  "CmdBillUnitRate": null,
  "CmdBudgAmt": null,
  "CmdBudgAmtChangeDate": null,
  "CmdBudgEstUnitRate": null,
  "CmdBudgQty": null,
  "CmdBudgQuotedUnitRate": null,
  "CmdBudgRevAmt": null,
  "CmdBudgRevUnitRate": null,
  "CmdBudgUnitRate": null,
  "CmdBudgWmCode": null,
  "CmdCatCode": "L",
  "CmdChgCode": "EXT0001",
  "CmdClvParameterValue": null,
  "CmdClvValueCode1": null,
  "CmdClvValueCode2": null,
  "CmdClvValueCode3": null,
  "CmdClvValueCode4": null,
  "CmdClvValueCode5": null,
  "CmdClvValueCode6": null,
  "CmdCmmastVuuid": null,
  "CmdCompCode": "001",
  "CmdCycleLineNum": null,
  "CmdDaysImpact": null,
  "CmdDisplayOrder": null,
  "CmdEffectiveEndDate": null,
  "CmdEffectiveStartDate": null,
  "CmdEstBillAmt": null,
  "CmdEstBudgAmt": null,
  "CmdGroupCode": null,
  "CmdInScopeAmt": null,
  "CmdInvCode": null,
  "CmdIuCreateDate": null,
  "CmdIuUpdateDate": null,
  "CmdJobCode": "01JOB",
  "CmdMarkupIndicatorFlag": null,
  "CmdMastJobCode": "01JOB",
  "CmdNegBillAmt": null,
  "CmdNegBudgAmt": null,
  "CmdOutOfScopeAmt": null,
  "CmdOverrideMarkupFlag": null,
  "CmdOwnerChgCode": null,
  "CmdOwnerRefNumber": null,
  "CmdPciSelectedFlag": null,
  "CmdPhsCode": "01",
  "CmdPhsCodeSeg1": null,
  "CmdPhsUnit": null,
  "CmdPhsWmCode": null,
  "CmdPostingFlag": "UNPOSTED",
  "CmdPotentialBudgAmt": null,
  "CmdProjAmt": null,
  "CmdProjCode": null,
  "CmdProjCompCode": null,
  "CmdProjUnit": null,
  "CmdQuotedBillAmt": null,
  "CmdQuotedBudgAmt": null,
  "CmdRefName": null,
  "CmdScChgCode": null,
  "CmdScCompCode": null,
  "CmdScContCode": null,
  "CmdScRequestId": null,
  "CmdScTaskCode": null,
  "CmdScVenCode": null,
  "CmdSeparateBillingRefCode": null,
  "CmdStatusCode": "PENDING",
  "CmdSubcRefNumber": null,
  "CmdVUuid": "F39427D664DA285DE05316821FAC1261",
  "CmdWbsvCode1": null,
  "CmdWbsvCode2": null,
  "CmdWbsvCode3": null,
  "CmdWbsvCode4": null,
  "links": [
    {
      "rel": "self",
      "href": "http://mobtest.cmiccloudr12.com:80/cmictestrti/cm-rest-api/rest/1/cmdetail/F39427D664DA285DE05316821FAC1261",
      "name": "cmdetail",
      "kind": "item"
    },
    {
      "rel": "canonical",
      "href": "http://mobtest.cmiccloudr12.com:80/cmictestrti/cm-rest-api/rest/1/cmdetail/F39427D664DA285DE05316821FAC1261",
      "name": "cmdetail",
      "kind": "item"
    }
  ]
}
object
Copyright © 2024 CMiC All Rights Reserved