We are an engineer to order environment with an external, non-Acumatica product configurator. The output of the configuration tool is a JSON collection of operations, phantom sub assemblies, and materials. We are looking for an API based solution to create Production Orders linked to a Sales Order Line with a custom BOM.
We're able to create the Production Order, but are running into difficulties identifying the correct method of providing the Operation collection along with their associated Materials [Stock Items]. We’ve tried using ProductionOrder, ProductionOrderDetail, and the CreateProductionOrder/CreateProductionOrderProcess[All] Action and have not had any success getting the Operations collection to populate.
For example, in ProductionOrderDetail, we’ve supplied the Operations like below:
{
"AllowPreassigningLotSerialNumbers": {
"value": true
},
"Branch": {
"value": "PRODWHOLE"
},
"CostingMethod": {
"value": "Actual"
},
"Hold": {
"value": false
},
"InventoryID": {
"value": "WDTK274218"
},
"Location": {
"value": "R1S1"
},
"OrderDate": {
"value": "2025-08-29T00:00:00+00:00"
},
"OrderDescription": {
"value": "Configurable Wood Desk"
},
"OrderType": {
"value": "RO"
},
"RequireParentLotSerialNumber": {
"value": "Never"
},
"Operations": [
{
"OperationDescription": {
"value": "Assembly"
},
"OperationID": {
"value": "0010"
},
"WorkCenterID": {
"value": "FA-400"
}
}
],
"UOM": {
"value": "EA"
},
"Warehouse": {
"value": "WHOLESALE"
},
"WIPAccount": {
"value": "12450"
},
"WIPSubaccount": {
"value": "000000"
},
"WIPVarianceAccount": {
"value": "51500"
},
"WIPVarianceSubaccount": {
"value": "000000"
}
}
But this returns an error like:
"error": "Inserting 'Production Item' record raised at least one error. Please review the errors.; UOM: 'UOM' cannot be empty.; LocationID: 'Location' cannot be empty.; WIPAcctID: 'WIP Account' cannot be empty.; WIPSubID: 'WIP Subaccount' cannot be empty.; WIPVarianceAcctID: 'WIP Variance Account' cannot be empty.; WIPVarianceSubID: 'WIP Variance Subaccount' cannot be empty.; PreassignLotSerial: 'Allow Preassigning Lot/Serial Numbers' cannot be empty.; ParentLotSerialRequired: 'Require Parent Lot/Serial Number' cannot be empty."
Removing the Operation section allows the ProductionOrder to be created. We’ve trimmed the Operations down to just what we think are the required fields and all the way up to the full set of data we need to provide and nothing seems to work. We’ve tried modifying the Operation field names since there is ambiguity around what the field name acutaly is, i.e. WorkCenter is shown in various API GET calls as WorkCenter, others show WorkCenterID, and the database schema is WcID [all of which we’ve tried].
We’re looking for any documentation that can describe how to accomplish this.
Thanks!