Overview
The Purchase Order Details API provides programmatic access to the CMiC Purchase Order module's line item details functionality. This API allows users to define, retrieve, and manage specific details and allocations for purchase orders, such as materials required, quantities, pricing, and distribution types.
Notes
When using the Purchase Order Details API, details must be entered and saved in the PO header (e.g., Header Detail and Distribution Detail sections) before line-item details can be entered in the Purchase Order Detail section.
UI Navigation
Purchase Order > Process > Enter Purchase Order – General tab
Reference Articles
Enter Purchase Order – Purchase Order Detail
Commonly Used Body Parameters
| CMiC UI Fieldname | Name | Description | Type | Data Length | Example | Required |
|---|---|---|---|---|---|---|
| Called From Application Code | PosCalledFromAppCode | Source application that created the PO. | string | 4 | "PO" | No |
| Item Type | PosPoItemType | F(ree-Form), I(nventory), or N(on-Stock). Controls which fields (item type code, inventory location) are required/disabled. More info | string | 1 | "I" | YES |
| PO Company Code | PosCompCode | Company/job the PO costs are charged against; defaults with Job Code for 'J' distribution lines. More info | string | 8 | "ZZ" | YES |
| Release Number | PosReleaseNum | Distinguishes orders entered against blanket POs. More info | integer | 11 | 1 | YES |
| PO Number | PosPoNum | Unique PO identifier; auto- or manually-assigned. | string | 11 | "25000046" | YES |
| User Type Code | PosUserTypeCode | Distribution Type for the Summary table. | string | 3 | "J" | YES |
| User Field 1 | PosUserField1 | Custom field 1 — stores Company Code. | string | 60 | "ZZ" | No |
| User Field 2 | PosUserField2 | Custom field 2 — Job, Department, or first user-defined distribution field. | string | 60 | "PCCTRLJOB" | No |
| User Field 3 | PosUserField3 | Custom field 3 — Cost Code, account, or first user-defined distribution field. | string | 60 | " 01-100" | No |
| User Field 4 | PosUserField4 | Custom field 4 — Category or first user-defined distribution field. | string | 60 | "2000" | No |
| Item Code | PosItmCode | Unique item identifier; required on all detail lines. | string | 16 | "2704" | YES |
| Item Name | PosItmName | Name of the item being purchased. | string | 4000 | " 3/4" CABC" | No |
| Inventory type, Inventory (Location) | PosItemLocCode | Inventory location code; required for inventory items only. More info | string | 7 | "MAIN-03" | YES |
| Item Type Code | PosCiitemtypCode | Item type classification; required for inventory items (PosPoItemType), disabled for non-stock/free-form. More info | string | 2 | "01" | YES |
| WM (Weight Measurement) | PosWmCode | Weight measurement code; defaults from the PO Defaults tab for lump-sum lines. More info | string | 2 | "$" | NO |
| Description | PosDesc | Item description; auto-populated for inventory/non-stock items, manual for free-form. More info | string | 4000 | “3/4" CABC Prod-NonDepl” | No |
| Expected Price | PosExptdPriceAmt | Default item price (inventory market/last cost, or non-stock file); editable per vendor agreement. More info | number | “90” | YES | |
| Extended (Price) | PosExtdAmt | (Quantity × Expected Price); auto-calculated, or enter directly to back-calculate price. More info | number | “5220” | No | |
| Quantity | PosOrdQty | Quantity of the item to be purchased. | number | 16 | “58” | YES |
| Rec Inv - Checkbox | PosRecIntoInvFlag | For J/E/I distribution lines, flags whether items are received into inventory before going to the job/equipment; defaults on for 'I'. More info | string | 1 | "Y" / “N” | No |
| TAC Setup Flag | PosTacSetupFlag | Indicates if TAC (Tax, Assessment, Compliance) is set up for this PO. | string | 4000 | “Y” / "N" | No |
| WBS Setup Flag | PosWbsSetupFlag | Indicates if Work Breakdown Structure is set up for this PO. | string | 4000 | "J" | No |
Other (Optional) Body Parameters
| CMiC UI Fieldname | Name | Description | Type | Data Length | Example |
|---|---|---|---|---|---|
| Classification Code | PosClassCode | Classifies the PO for reporting and analysis. | string | 4 | "STEEL" |
| Expected Date | PosExptdDate | Date the merchandise is expected to be received. | Date | "2025-04-15" | |
| Line Number | PosLineNum | System-generated sequential line number. | integer | 6 | 1 |
| On-order Quantity | PosOnOrderQty | Quantity on order but not yet received. | number | 16 | 0 |
| Tax 1 Code | PosTax1Code | Code for the first tax applied to this PO. | string | 11 | "GST" |
| Tax 1 Taxable Flag | PosTax1TaxableFlag | Indicates if the PO is subject to the first tax. | string | 1 | "Y" / “N” |
| Tax 2 Code | PosTax2Code | Code for the second tax applied to this PO. | string | 11 | "PST" |
| Tax 2 Taxable Flag | PosTax2TaxableFlag | Indicates if the PO is subject to the second tax. | string | 1 | "Y" / “N” |
| Tax 3 Code | PosTax3Code | Code for the third tax applied to this PO. | string | 11 | "" |
| Tax 3 Taxable Flag | PosTax3TaxableFlag | Indicates if the PO is subject to the third tax. | string | 1 | "Y" / “N” |
| User Field 5 | PosUserField5 | Custom field 5. | string | 60 | "Special Handling" |
| User Field 6 | PosUserField6 | Custom field 6. | string | 60 | "Expedited Shipping" |
| User Field 7 | PosUserField7 | Custom field 7. | string | 60 | "Inspection Required" |
| User Field 8 | PosUserField8 | Custom field 8. | string | 60 | "Quality Check" |
| Master Version UUID | PosPomstVUuid | UUID of the purchase order's master version. | string | 64 | "550e8400-e29b-41d4-a716-446655440000" |
| Version UUID | PosVUuid | UUID of this purchase order version. | string | 64 | "550e8400-e29b-41d4-a716-446655440001" |
| WBS Code 1 | PosWbsvCode1 | Work Breakdown Structure code 1. | string | 60 | |
| WBS Code 10 | PosWbsvCode10 | Work Breakdown Structure code 10. | string | 60 | |
| WBS Code 11 | PosWbsvCode11 | Work Breakdown Structure code 11. | string | 60 | |
| WBS Code 12 | PosWbsvCode12 | Work Breakdown Structure code 12. | string | 60 | |
| WBS Code 2 | PosWbsvCode2 | Work Breakdown Structure code 2. | string | 60 | |
| WBS Code 3 | PosWbsvCode3 | Work Breakdown Structure code 3. | string | 60 | |
| WBS Code 4 | PosWbsvCode4 | Work Breakdown Structure code 4. | string | 60 | |
| WBS Code 5 | PosWbsvCode5 | Work Breakdown Structure code 5. | string | 60 | |
| WBS Code 6 | PosWbsvCode6 | Work Breakdown Structure code 6. | string | 60 | |
| WBS Code 7 | PosWbsvCode7 | Work Breakdown Structure code 7. | string | 60 | |
| WBS Code 8 | PosWbsvCode8 | Work Breakdown Structure code 8. | string | 60 | |
| WBS Code 9 | PosWbsvCode9 | Work Breakdown Structure code 9. | string | 60 | |
| Lump Sum PO Flag | PosLumpSumPoFlag | Flags a lump-sum PO; requires at least one lump-sum line and defaults Item Type to Free-Form. More info | string | 1 | "Y" / “N” |
Basic authentication
Created
{
"PosCalledFromAppCode": "PO",
"PosCatName": null,
"PosCiitemtypCode": "N",
"PosClassCode": null,
"PosCompCode": "001",
"PosDesc": "test",
"PosExptdDate": null,
"PosExptdPriceAmt": 1,
"PosExtdAmt": 10,
"PosItemLocCode": "null",
"PosItmCode": "MATERIALS",
"PosItmName": "Structural Concrete",
"PosJobName": null,
"PosLineNum": 2,
"PosMaxOnhandQty": null,
"PosMaxOrderQty": null,
"PosMinOnhandQty": null,
"PosMinOrderQty": null,
"PosOnHandQty": null,
"PosOnOrderQty": null,
"PosOrdQty": 10,
"PosPhsName": null,
"PosPoItemType": "F",
"PosPoNum": "23.000001",
"PosRecIntoInvFlag": "N",
"PosReleaseNum": 1,
"PosStdOrderQty": null,
"PosTacSetupFlag": "N",
"PosTax1Code": null,
"PosTax1OnTaxFlag": null,
"PosTax1Perc": null,
"PosTax1TaxableFlag": null,
"PosTax2Code": null,
"PosTax2OnTaxFlag": null,
"PosTax2Perc": null,
"PosTax2TaxableFlag": null,
"PosTax3Code": null,
"PosTax3OnTaxFlag": null,
"PosTax3Perc": null,
"PosTax3TaxableFlag": null,
"PosTaxAmt": null,
"PosTotAmt": null,
"PosUserField1": "001",
"PosUserField2": "01JOB",
"PosUserField3": "00010",
"PosUserField4": "L",
"PosUserField5": null,
"PosUserField6": null,
"PosUserField7": null,
"PosUserField8": null,
"PosUserFieldEdtFlag5": null,
"PosUserFieldEdtFlag6": null,
"PosUserFieldEdtFlag7": null,
"PosUserFieldEdtFlag8": null,
"PosUserFieldName5": null,
"PosUserFieldName6": null,
"PosUserFieldName7": null,
"PosUserFieldName8": null,
"PosUserTypeCode": "J",
"PosPomstVUuid": null,
"PosVUuid": "F7FB90F5C3F214DDE05316821FAC502E",
"PosWbsSetupFlag": "N",
"PosWbsvCode1": null,
"PosWbsvCode10": null,
"PosWbsvCode11": null,
"PosWbsvCode12": null,
"PosWbsvCode2": null,
"PosWbsvCode3": null,
"PosWbsvCode4": null,
"PosWbsvCode5": null,
"PosWbsvCode6": null,
"PosWbsvCode7": null,
"PosWbsvCode8": null,
"PosWbsvCode9": null,
"PosWmCode": "NA",
"PosIuCreateDate": null,
"PosIuUpdateDate": null,
"PosLumpSumPoFlag": null,
"links": [
{
"rel": "self",
"href": "http://mobtest.cmiccloudr12.com:80/cmictestrti/po-rest-api/rest/1/podetail/F7FB90F5C3F214DDE05316821FAC502E",
"name": "podetail",
"kind": "item"
},
{
"rel": "canonical",
"href": "http://mobtest.cmiccloudr12.com:80/cmictestrti/po-rest-api/rest/1/podetail/F7FB90F5C3F214DDE05316821FAC502E",
"name": "podetail",
"kind": "item"
}
]
}