Creates a production run. Controlata calculates the consumption of materials, used products and resources from the product components; you do not pass it.
v1/production/add.php
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| products | array | Yes | Products to make, see below |
| date | string | No | Production date, YYYY-MM-DD. Default today |
| name | string | No | Name |
| notes | string | No | Notes |
| produce_subproducts | int | No | 1: produce subassemblies together with the products, 0: deduct them from stock ready-made. Default per company setting |
| materials_storage_id | int | No | Storage location materials are deducted from. 0: choose automatically |
| subproducts_storage_id | int | No | Storage location used products are deducted from. 0: choose automatically |
| products_storage_id | int | No | Storage location the produced products are added to |
products line:
| Field | Type | Required | Description |
|---|---|---|---|
| id | int | id or sku | Product ID |
| sku | string | id or sku | Product SKU |
| amount | float | Yes | Quantity, greater than 0 |
A product is specified by id or sku (it is also matched by alternative SKUs). The same product can be listed in several lines.
A new production run is created with the status from the Default status for new production setting.
Example request
{
"date": "2026-10-06",
"name": "Batch of tables",
"products": [
{
"id": 512,
"amount": 10
},
{
"sku": "P-CHAIR-01",
"amount": 40
}
],
"materials_storage_id": 3998,
"products_storage_id": 4001,
"produce_subproducts": 1
}
Example response
{
"success": true,
"production_id": 39978,
"num": 152,
"status": 0
}
The response returns the ID, number and status code of the new production run.
Errors
| Error | Reason |
|---|---|
| No products in input | products is missing or an empty array |
| Products is not an array | products is not an array |
| Line 0 of products must be an object | A products line is not an object (instead of 0, the line number) |
| SKU or id not set for product 0 | The line has neither id nor sku |
| Product with id 512 not found | Product not found or deleted (for a SKU: Product with SKU "P-CHAIR-01" not found) |
| Amount must be greater than 0 for product with id 512 | Quantity is not a number or not above 0 after rounding |
| Storage ID is not set | products_storage_id equal to 0 was passed |
| Storage ID not found | Storage location not found or deleted |
| Date is not a valid date in format YYYY-MM-DD | Invalid date format |