Create Purchase Order Record

Prev Next
Post
/po-rest-api/jersey/v1/purchase-order

POST /v1/purchase-order — Create Purchase Order

Overview

This endpoint allows creating a Purchase Order with a header and optional detail lines in a single request.

It is designed for creating a complete Purchase Order including header information and associated line items.

Optional processing such as selection, summary population, and posting can be triggered based on input flags.


Notes

  • Authentication and authorization are required.

  • A valid header is required; detail lines are optional.

  • The header is inserted first to generate system values such as PO number, which are then used for detail lines.

  • System-generated fields (UUID, ORASEQ, PO number, release number, line number) are automatically assigned and must not be provided.

  • If pomstSelectFlag is set to Y, then pomstPostDate is required.

  • Auto-approval must be enabled for selection and posting to succeed.

  • Each detail line is validated individually.


UI Navigation

Asset Management → Purchase Orders → Purchase Order Entry


Finders

Not applicable.

This is a POST (create) endpoint and does not support finders.


Path Parameters

Not applicable.

This endpoint does not use path parameters.


Query Standards

Not applicable.

This endpoint does not support finder, limit, offset, or orderBy.


Finders with Example

Not applicable.

Finders are not supported for POST operations.


Attributes

The request body must contain a header object and an optional lines array.

The header object represents the Purchase Order master record.

Each object in the lines array represents one detail line to be created.

Only attributes marked as Mandatory = True are required during creation.

Header Attributes (PoMasterItem)

CMiC UI Fieldname Object Name Description Type Data Length Example Mandatory
PomstCompCode header pomstCompCode Company code for the Purchase Order String 8 CL02 True
PomstVenCode header pomstVenCode Vendor code associated with the Purchase Order String 8 VEN001 True
PomstDeptCode header pomstDeptCode Department code for the Purchase Order String 6 00 True
PomstTypeCode header pomstTypeCode Purchase Order type code String 4 STD True
PomstExptdDate header pomstExptdDate Expected delivery date Date N/A 2026-06-01 False
PomstOrdDate header pomstOrdDate Order date Date N/A 2026-05-10 False
PomstStatCode header pomstStatCode Status code of the Purchase Order String 4 OPEN False
PomstTermCode header pomstTermCode Payment terms code String 4 NET30 False
PomstCurrCode header pomstCurrCode Currency code String 4 CAD False
PomstFobCode header pomstFobCode FOB (Free On Board) code String 4 DEST False
PomstBuyCode header pomstBuyCode Buyer code String 8 BUY01 False
PomstAddCode header pomstAddCode Ship-to address code String 8 ADD01 False
PomstShplneCode header pomstShplneCode Shipping line code String 8 SHP01 False
PomstShpmetCode header pomstShpmetCode Shipment method code String 8 TRUCK False
PomstTxt1Code header pomstTxt1Code Text code 1 String 8 TXT1 False
PomstTxt2Code header pomstTxt2Code Text code 2 String 8 TXT2 False
PomstShpinstDesc header pomstShpinstDesc Shipping instructions description String 255 Handle with care False
PomstDesc1 header pomstDesc1 Description line 1 String 255 Office supplies order False
PomstDesc2 header pomstDesc2 Description line 2 String 255 Q2 2026 False
PomstReqCode header pomstReqCode Requisition code String 8 REQ001 False
PomstWipAccCode header pomstWipAccCode WIP account code String 20 WIP01 False
PomstWipDeptCode header pomstWipDeptCode WIP department code String 6 WIP False
PomstShipinstTxt1Code header pomstShipinstTxt1Code Shipping instruction text code 1 String 8 SI1 False
PomstShipinstTxt2Code header pomstShipinstTxt2Code Shipping instruction text code 2 String 8 SI2 False
PomstShipinstTxt3Code header pomstShipinstTxt3Code Shipping instruction text code 3 String 8 SI3 False
PomstShipinstTxt4Code header pomstShipinstTxt4Code Shipping instruction text code 4 String 8 SI4 False
PomstShipinstTxt5Code header pomstShipinstTxt5Code Shipping instruction text code 5 String 8 SI5 False
PomstBilltoAddCode header pomstBilltoAddCode Bill-to address code String 8 BILL01 False
PomstReqReason header pomstReqReason Requisition reason String 255 Project requirement False
PomstVendOrderAddCode header pomstVendOrderAddCode Vendor order address code String 8 VORD01 False
PomstComplianceFlag header pomstComplianceFlag Compliance flag (Y/N) String 1 Y False
PomstActionCode header pomstActionCode Action code String 4 APPR False
PomstPrintStatus header pomstPrintStatus Print status String 4 N False
PomstJobCompCode header pomstJobCompCode Job company code String 8 CL02 False
PomstJobCode header pomstJobCode Job code String 12 JOB001 False
PomstContactCode header pomstContactCode Contact code String 8 CON01 False
PomstHoldPaymentFlag header pomstHoldPaymentFlag Hold payment flag (Y/N) String 1 N False
PomstHoldPaymentDays header pomstHoldPaymentDays Number of days to hold payment Number 6 30 False
PomstAddCompCode header pomstAddCompCode Address company code String 8 CL02 False
PomstSuspDeptCode header pomstSuspDeptCode Suspense department code String 6 SUSP False
PomstPorgrCode header pomstPorgrCode Purchase Order group code String 8 GRP01 False
PomstDefaultRecCode header pomstDefaultRecCode Default receiving code String 8 REC01 False
PomstRoutCompCode header pomstRoutCompCode Routing company code String 8 CL02 False
PomstRoutJobCode header pomstRoutJobCode Routing job code String 12 RJOB01 False
PomstDistTypeCode header pomstDistTypeCode Distribution type code String 4 STD False
PomstUserField1 header pomstUserField1 User-defined field 1 String 30 Custom1 False
PomstUserField2 header pomstUserField2 User-defined field 2 String 30 Custom2 False
PomstUserField3 header pomstUserField3 User-defined field 3 String 30 Custom3 False
PomstAdvPayAmt header pomstAdvPayAmt Advance payment amount Number 14,2 5000.00 False
PomstAdvPayPct header pomstAdvPayPct Advance payment percentage Number 6,2 10.00 False
PomstAdvPayMultiFlag header pomstAdvPayMultiFlag Allow multiple advance payments (Y/N) String 1 N False
PomstSelectFlag header pomstSelectFlag Select record for posting flag (Y/N). Processing-only, not stored. String 1 N False
PomstPopulateSummary header pomstPopulateSummary Populate summary flag (Y/N). Processing-only, not stored. String 1 N False
PomstPostDate header pomstPostDate Post date. Required when pomstSelectFlag = Y. Processing-only, not stored. String 10 2026-05-10 Conditional
PomstNum header pomstNum Purchase Order number String 10 System generated False
PomstBchNum header pomstBchNum Batch number Number 10 System generated False
PomstReleaseNum header pomstReleaseNum Release number Number 6 System generated False
PomstObjectOraseq header pomstObjectOraseq Internal Oracle sequence number Number 18 System generated False
PomstVUuid header pomstVUuid Virtual unique identifier generated by the system String 64 System generated False
PomstIuCreateDate header pomstIuCreateDate Date and time when the record was created Timestamp N/A System generated False
PomstIuCreateUser header pomstIuCreateUser User who created the record String 30 System generated False
PomstIuUpdateDate header pomstIuUpdateDate Date and time of last update Timestamp N/A System generated False
PomstIuUpdateUser header pomstIuUpdateUser User who last updated the record String 30 System generated False

Line Attributes (PoDetailItem)

CMiC UI Fieldname Object Name Description Type Data Length Example Mandatory
PosCompCode line posCompCode Company code for the detail line String 8 CL02 False
PosPoItemType line posPoItemType PO item type String 4 ITM False
PosItmCode line posItmCode Item code String 20 ITEM001 False
PosItmName line posItmName Item name or description String 60 Office Chair False
PosWmCode line posWmCode Work method code String 8 WM01 False
PosOrdQty line posOrdQty Ordered quantity Number 14,4 10.0 False
PosExptdPriceAmt line posExptdPriceAmt Expected unit price amount Number 14,4 250.00 False
PosUserTypeCode line posUserTypeCode User type code String 4 USR1 False
PosUserField1 line posUserField1 User-defined field 1 String 30 Custom1 False
PosUserField2 line posUserField2 User-defined field 2 String 30 Custom2 False
PosUserField3 line posUserField3 User-defined field 3 String 30 Custom3 False
PosUserField4 line posUserField4 User-defined field 4 String 30 Custom4 False
PosUserField5 line posUserField5 User-defined field 5 String 30 Custom5 False
PosUserField6 line posUserField6 User-defined field 6 String 30 Custom6 False
PosUserField7 line posUserField7 User-defined field 7 String 30 Custom7 False
PosUserField8 line posUserField8 User-defined field 8 String 30 Custom8 False
PosCiitemtypCode line posCiitemtypCode Inventory item type code String 8 TYPE01 False
PosItemLocCode line posItemLocCode Item location code String 7 LOC01 False
PosTax1Code line posTax1Code Tax code 1 String 8 GST False
PosTax2Code line posTax2Code Tax code 2 String 8 PST False
PosTax3Code line posTax3Code Tax code 3 String 8 HST False
PosTax1TaxableFlag line posTax1TaxableFlag Tax 1 taxable flag (Y/N) String 1 Y False
PosTax2TaxableFlag line posTax2TaxableFlag Tax 2 taxable flag (Y/N) String 1 N False
PosTax3TaxableFlag line posTax3TaxableFlag Tax 3 taxable flag (Y/N) String 1 N False
PosRecIntoInvFlag line posRecIntoInvFlag Receive into inventory flag (Y/N) String 1 N False
PosDesc line posDesc Line description String 255 Ergonomic office chair False
PosWbsvCode1 line posWbsvCode1 WBS value code 1 String 20 WBS1 False
PosWbsvCode2 line posWbsvCode2 WBS value code 2 String 20 WBS2 False
PosWbsvCode3 line posWbsvCode3 WBS value code 3 String 20 WBS3 False
PosWbsvCode4 line posWbsvCode4 WBS value code 4 String 20 WBS4 False
PosExptdDate line posExptdDate Expected date for the line item Timestamp N/A 2026-06-01T00:00:00 False
PosPoNum line posPoNum Purchase Order number String 10 System generated False
PosReleaseNum line posReleaseNum Release number Number 6 System generated False
PosLineNum line posLineNum Line number Number 6 System generated False
PosOraseq line posOraseq Internal Oracle sequence number Number 18 System generated False
PosVUuid line posVUuid Virtual unique identifier for the detail line String 64 System generated False
PomstVUuid line pomstVUuid Parent header UUID String 64 System generated False
PosExtdAmt line posExtdAmt Extended amount (calculated) Number 14,2 System generated False
PosTaxAmt line posTaxAmt Tax amount (calculated) Number 14,2 System generated False
PosTotAmt line posTotAmt Total amount (calculated) Number 14,2 System generated False
PosIuCreateDate line posIuCreateDate Date and time when the record was created Timestamp N/A System generated False
PosIuCreateUser line posIuCreateUser User who created the record String 30 System generated False
PosIuUpdateDate line posIuUpdateDate Date and time of last update Timestamp N/A System generated False
PosIuUpdateUser line posIuUpdateUser User who last updated the record String 30 System generated False
Security
HTTP
Type basic

Basic authentication

Body parameters
object
Example{ "header": { "pomstCompCode": "ZZ", "pomstVenCode": "ZZ-ACME", "pomstTypeCode": "S", "pomstReqCode": "DA", "pomstStatCode": "R", "pomstTermCode": "TESTCO", "pomstCurrCode": "US", "pomstBuyCode": "ON", "pomstShplneCode": "DHL", "pomstComplianceFlag": "N", "pomstJobCompCode": "ZZ", "pomstDistTypeCode": "G", "pomstDefaultRecCode": "M" }, "lines": [ { "posCompCode": "ZZ", "posPoItemType": "I", "posItmCode": "DONUT", "posItmName": "donut", "posWmCode": "EA", "posOrdQty": 12, "posExptdPriceAmt": 0, "posUserTypeCode": "G", "posUserField1": "ZZ", "posUserField2": "50", "posUserField3": "1700.400", "posUserField5": "TAC1V1", "posUserField6": "1", "posUserField8": "TAV4_1", "posCiitemtypCode": "1", "posItemLocCode": "MAIN", "posTax1Code": "K1", "posTax1TaxableFlag": "Y", "posTax2TaxableFlag": "Y", "posTax3TaxableFlag": "Y", "posExtdAmt": 0, "posTaxAmt": 0, "posTotAmt": 0, "posRecIntoInvFlag": "N", "posDesc": "donut" } ] }
Responses
201

Created

Headers
Content-Type
string
Exampleapplication/json
"{\n    \"header\": {\n        \"pomstCompCode\": \"ZZ\",\n        \"pomstNum\": \"PZZ00014\",\n        \"pomstBchNum\": null,\n        \"pomstVenCode\": \"ZZ-ACME\",\n        \"pomstDeptCode\": null,\n        \"pomstExptdDate\": null,\n        \"pomstOrdDate\": \"2026-05-10 18:46:54.0\",\n        \"pomstTypeCode\": \"S\",\n        \"pomstStatCode\": \"N\",\n        \"pomstTermCode\": \"TESTCO\",\n        \"pomstCurrCode\": \"US\",\n        \"pomstFobCode\": null,\n        \"pomstBuyCode\": \"ON\",\n        \"pomstAddCode\": null,\n        \"pomstShplneCode\": \"DHL\",\n        \"pomstShpmetCode\": null,\n        \"pomstTxt1Code\": null,\n        \"pomstTxt2Code\": null,\n        \"pomstShpinstDesc\": null,\n        \"pomstDesc1\": null,\n        \"pomstDesc2\": null,\n        \"pomstReqCode\": \"DA\",\n        \"pomstWipAccCode\": null,\n        \"pomstWipDeptCode\": null,\n        \"pomstShipinstTxt1Code\": null,\n        \"pomstShipinstTxt2Code\": null,\n        \"pomstShipinstTxt3Code\": null,\n        \"pomstShipinstTxt4Code\": null,\n        \"pomstShipinstTxt5Code\": null,\n        \"pomstReleaseNum\": 1,\n        \"pomstBilltoAddCode\": null,\n        \"pomstReqReason\": null,\n        \"pomstVendOrderAddCode\": null,\n        \"pomstComplianceFlag\": \"N\",\n        \"pomstActionCode\": null,\n        \"pomstPrintStatus\": null,\n        \"pomstJobCompCode\": \"ZZ\",\n        \"pomstJobCode\": null,\n        \"pomstContactCode\": null,\n        \"pomstHoldPaymentFlag\": \"Y\",\n        \"pomstHoldPaymentDays\": null,\n        \"pomstAddCompCode\": null,\n        \"pomstSuspDeptCode\": null,\n        \"pomstIuCreateDate\": \"2026-05-10T18:46:54-04:00\",\n        \"pomstIuCreateUser\": \"YASHB\",\n        \"pomstIuUpdateDate\": \"2026-05-10T18:46:55-04:00\",\n        \"pomstIuUpdateUser\": \"YASHB\",\n        \"pomstPorgrCode\": null,\n        \"pomstDefaultRecCode\": \"M\",\n        \"pomstRoutCompCode\": null,\n        \"pomstRoutJobCode\": null,\n        \"pomstDistTypeCode\": \"G\",\n        \"pomstUserField1\": null,\n        \"pomstUserField2\": null,\n        \"pomstUserField3\": null,\n        \"pomstVUuid\": \"517F3F288584309DE0630B811DAC183E\",\n        \"pomstAdvPayAmt\": null,\n        \"pomstAdvPayPct\": null,\n        \"pomstAdvPayMultiFlag\": \"N\"\n    },\n    \"lines\": [\n        {\n            \"posCompCode\": \"ZZ\",\n            \"posPoNum\": \"PZZ00014\",\n            \"posReleaseNum\": 1,\n            \"posLineNum\": 1,\n            \"posPoItemType\": \"I\",\n            \"posItmCode\": \"DONUT\",\n            \"posItmName\": \"donut\",\n            \"posWmCode\": \"EA\",\n            \"posOrdQty\": 12,\n            \"posExptdPriceAmt\": 0,\n            \"posUserTypeCode\": \"G\",\n            \"posUserField1\": \"ZZ\",\n            \"posUserField2\": \"50\",\n            \"posUserField3\": \"1700.400\",\n            \"posUserField4\": null,\n            \"posUserField5\": \"TAC1V1\",\n            \"posUserField6\": \"1\",\n            \"posUserField7\": null,\n            \"posUserField8\": \"TAV4_1\",\n            \"posCiitemtypCode\": \"1\",\n            \"posItemLocCode\": \"MAIN\",\n            \"posTax1Code\": \"K1\",\n            \"posTax2Code\": null,\n            \"posTax3Code\": null,\n            \"posTax1TaxableFlag\": \"Y\",\n            \"posTax2TaxableFlag\": \"Y\",\n            \"posTax3TaxableFlag\": \"Y\",\n            \"posExtdAmt\": 0,\n            \"posTaxAmt\": 0,\n            \"posTotAmt\": 0,\n            \"posRecIntoInvFlag\": \"N\",\n            \"posDesc\": \"donut\",\n            \"posWbsvCode1\": null,\n            \"posWbsvCode2\": null,\n            \"posWbsvCode3\": null,\n            \"posWbsvCode4\": null,\n            \"posExptdDate\": null,\n            \"posVUuid\": \"517F3F288596309DE0630B811DAC183E\",\n            \"pomstVUuid\": \"517F3F288584309DE0630B811DAC183E\",\n            \"posIuCreateDate\": \"2026-05-10T18:46:55-04:00\",\n            \"posIuCreateUser\": \"YASHB\",\n            \"posIuUpdateDate\": null,\n            \"posIuUpdateUser\": null\n        }\n    ]\n}"
string
Copyright © 2024 CMiC All Rights Reserved