Create a PCI Detail
    • 13 Jun 2025
    • 12 Minutes to read
    • Dark
      Light

    Create a PCI Detail

    • Dark
      Light

    Article summary

    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 FieldnameNameDescriptionTypeData LengthExampleRequired
    Company CodeCmdCompCodeCompany Code - A unique code representing the Company or business unit.

    This code helps in organizing and managing jobs across different companies within an organization.
    string8“ZZ”Y
    Job CodeCmdJobCodeJob 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.
    string10Job1Y
    Master Job CodeCmdMastJobCodeThe 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.
    string10Job-MY
    Change CodeCmdChgCodePCI Number either autogenerated by the system or manually entered by the users, depending on CM Control settingsstring11CM-12345No
    Category CodeCmdCatCodeThe PCI line-item category code.

    Categories are used in combination with cost codes (phases) to identify cost, budgeting, and billing elements on jobs.
    string16Yes
    Billing AmountCmdBillAmtShows the billing amount for this PCI detail line. This value indicates how much will be billed for the potential change.number18,25,750.75No
    Phase CodeCmdPhsCodeThe PCI line phase code. The Cost Code (Phase Code) assigned to a Jobstring16Yes
    Status CodeCmdStatusCodeStatus 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.
    string10AYes
    VUUIDCmdVUuidVUUID - A row unique identifier. System generated and not updateable by users. Used for querying specific row.string64No

    Other (Optional) Body Parameters

    CMiC UI FieldnameNameDescriptionTypeData LengthExampleRequired
    Bill Amount Change DateCmdBillAmtChangeDateStores the date on which the Bill Amount was last updated or changed.datetimeNo
    Billing Category CodeCmdBillCatCodeSpecifies the category code used for billing in the PCI detail line.string16No
    Billing CodeCmdBillCodeThe 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
    string50No
    Billing Draw

    Number
    CmdBillDrawNumThe Billing Draw Number in which the PCI Detail is includedinteger6No
    Bill NameCmdBillNameThe descriptive name or label for the billing line, often seen on reports or the PCI Detail Tab.string60No
    Billing Phase CodeCmdBillPhsCodeThe Cost Code mapped to the Billcode linestring16No
    Bill Revision NumberCmdBillRevisionNumThe revision Number of Billing Draw in which the PCI Detail line item is includedinteger32No
    Billing TypesCmdBillTypeCodeBilling 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.
    string4“COST”No
    Billing UnitsCmdBillUnitBilling units for the Bill Codenumber10,3999.123No
    Billing RateCmdBillUnitRateBilling Rate per unitnumber18,4100.1234No
    Budget AmountCmdBudgAmtBudget Amount - The current cost budgeted amount.number18,2No
    Budget Amount Change DateCmdBudgAmtChangeDateTracks the date on which the Budget Amount was last updated. Allows users to see when budget figures were revised.datetimeNo
    Budget Estimated Unit RateCmdBudgEstUnitRateThe estimated rate used in the budget calculation for this PCI detail line.number16,4No
    Budget QuantityCmdBudgQtyBudgeted Qtynumber16,8No
    Budget Quoted Unit RateCmdBudgQuotedUnitRateThe quoted budget rate.number16,4No
    Budget Revenue AmountCmdBudgRevAmtBudgeted Revnue Amountnumber18,2No
    Budget Revised Unit RateCmdBudgRevUnitRateBudgeted Revenue Unit Ratenumber16,4No
    Budget Unit RateCmdBudgUnitRateThe budgeted (final) rate.number16,480No
    Budget WM CodeCmdBudgWmCodeBudget Weight/Measure Code - This code specifies the unit of measure for budget.string2HRNo
    CLV Parameter ValueCmdClvParameterValueClassifier Parameter Valuestring50ParamValueNo
    CLV Value Code1CmdClvValueCode1Classifier Value 1. This is a user defined custom code.string16VAL1No
    CLV Value Code2CmdClvValueCode2Classifier Value 2. This is a user defined custom code.string16VAL2No
    CLV Value Code3CmdClvValueCode3Classifier Value 3. This is a user defined custom code.string16VAL3No
    CLV Value Code4CmdClvValueCode4Classifier Value 4. This is a user defined custom code.string16VAL4No
    CLV Value Code5CmdClvValueCode5Classifier Value 5. This is a user defined custom code.string16VAL5No
    CLV Value Code6CmdClvValueCode6Classifier Value 6. This is a user defined custom code.string16VAL6No
    CmdCmmastVuuidUnique Identifierstring64No
    Cycle Line NumberCmdCycleLineNumReallocation PCI only: Line number within reallocation cycle. Reserved numbers: 1 = Reverse current allocation, 2 = New allocationinteger1No
    Days ImpactCmdDaysImpactEnter 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.integer10No
    Display OrderCmdDisplayOrderThis controls the ordering of the generated markups on the change item entry screen.integer3No
    Effective End DateCmdEffectiveEndDateEffective Change Order End Date for Time Phased BudgetingdatetimeNo
    Effective Start DateCmdEffectiveStartDateEffective Change Order Start Date for Time Phased BudgetingdatetimeNo
    Estimated Bill AmountCmdEstBillAmtThe estimated (forecast) billing amount for this PCI detail, allowing for a “what-if” or preliminary figure.number18,211000No
    Estimated Budget AmountCmdEstBudgAmtThe estimated (forecast) budget amount for this PCI detail, used for planning or preliminary costing.number189500No
    Group CodeCmdGroupCodeGroup 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.
    string35No
    In Scope AmountCmdInScopeAmtIn 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.
    number18,2No
    Invoice CodeCmdInvCodeThe 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.
    string35No
    Create DateCmdIuCreateDateCreate Date - The timestamp indicating when the detail record was initially created.

    System populated.
    datetimeNo
    Update DateCmdIuUpdateDateUpdate 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.
    datetimeNo
    Markup flagCmdMarkupIndicatorFlagIndicates PCI lines that will have the Markup Rules applied to.

    System populated.
    string1No
    Negative Bill AmountCmdNegBillAmtA 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.number18,2No
    Negative Budget AmountCmdNegBudgAmtIf negative budgeting is relevant, shows the negative or reversing portion of the budget amount for this PCI detail.number18,2-300No
    Out of Scope AmountCmdOutOfScopeAmtOut 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.
    number18,2No
    Override MarkupCmdOverrideMarkupFlagIndicates whether any default markup percentages are overridden for this PCI detail line (Y/N).string1NNo
    Owner Change CodeCmdOwnerChgCodeCode referencing the owner’s Owner Change Order Numberstring20No
    Owner Reference NumberCmdOwnerRefNumberOwner Change Reference Numberstring16OREF-9876No
    PCI SelectedCmdPciSelectedFlagFlag on PCI detail to mention either PCI is to be printed or not.string1YNo
    Phase Code Segment 1CmdPhsCodeSeg1Indicates Cost Code Segmentationstring161No
    Phase UnitsCmdPhsUnitPhase Unit Quantity (Productivity)number16No
    Phase WM CodeCmdPhsWmCodePhase Weight Measure Code (Productivity)string2No
    Potential Budget AmountCmdPotentialBudgAmtRight most amount from budget amount, quoted amount and estimated amount if not nullnumber189500No
    Projected AmountCmdProjAmtProjected Final/ Cost Amount - The estimate of the total cost amount spent on the category assigned to the cost code.number18No
    Project CodeCmdProjCodeProject Codestring10No
    Project Company CodeCmdProjCompCodeProject Company Codestring8No
    Project UnitsCmdProjUnitProjected UnitsnumberNo
    Quoted Bill AmountCmdQuotedBillAmtQuoted Bill Amountnumber18No
    Quoted AmountCmdQuotedBudgAmtQuoted Budget Amount in Cost Currencynumber18No
    Reference NameCmdRefNameThis field populates the Long Description column displayed in the PCI Details screen.string4000No
    Subcontract Change CodeCmdScChgCodeA 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 orderstring12001No
    Subcontract Company CodeCmdScCompCodeCompany Code under which the Subcontract is createdstring8ZZNo
    Subcontract Contract CodeCmdScContCodeStores the subcontract code. Mandatory code either autogenerated or manually entered as per the SC Control setupstring20No
    Subcontract Request IDCmdScRequestIdThis field is used to identify the specific Tender Proposal or Subcontract entry. Input the relevant Tender Package ID associated with the job.string10No
    Subcontract change task codeCmdScTaskCodeSubcontract task code - Required when creating a SOV line in SC or SCCOstring16TASK1No
    Subcontract Vendor CodeCmdScVenCodeSubcontract Vendor Code – Required when creating a SC or SCCO. The vendor to whom the subcontract will be written and signedstring8A1SPEEDYNo
    Separate Billing Ref CodeCmdSeparateBillingRefCodeReference Code used to bill the unposted PCI on separate invoices.string60A1MECHNo
    Subcontract Reference #CmdSubcRefNumberSubcontractor Referwence Numberstring16Ref#123No
    WBS Value Code 1CmdWbsvCode1WBS 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.string60No
    WBS Value Code 2CmdWbsvCode2WBS Code 2 Valuestring60No
    WBS Value Code 3CmdWbsvCode3WBS Code 3 Valuestring60No
    WBS Value Code 4CmdWbsvCode4WBS Code 4 Valuestring60No
    Exchange Bill AmountCmdExchgBillAmtBilling Amount in Revenue Currency.

    System Only Field. Not updateable by users
    number18,21234.56No
    Exchange Budget AmountCmdExchgBudgAmtBudget Amount in Cost Currency.

    System Only Field. Not updateable by users
    number181234.56No
    Cost Currency.CmdCostCurrCodeCost Currency.

    System Only Field. Not updateable by users
    string3USDNo
    Revenue Currency.CmdRevenueCurrCodeRevenue Currency.

    System Only Field. Not updateable by users
    string3USDNo
    Posting Flag (Checkbox)CmdPostingFlagPosting Flag.

    System Defined.
    string12No
    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