[POST] .../v1/docadditionalexpenses/add
Creates a new additional expense document. Use this method to create an additional expenses document, either standalone or linked to a parent purchase document. The request requires the additional expenses add permission; partner_id, stock_id, currency_id and vat_calculation_type are required, while contract_id and exchange_rate are optional. parent_doc_id is required only when parent_doc_type_id is set; standalone documents use the supplied date and reject negative dates, while documents linked to DocPurchase take the parent purchase date plus one second. When the parent is DocPurchase, the parent must exist, be locked by the current workflow, not be posted and use the same stock; unsupported parent document types are rejected. Business errors such as missing body, invalid required fields, denied access, parent document not found, parent lock failure, posted parent document, stock mismatch, closed period, unknown currency, invalid exchange rate, stock access denial, database failures or action log failures are returned as HTTP 200 ErrorResult.
Request Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| contract_id | Int64 | Optional | Optional contract ID. Values less than or equal to 0 leave the document without a contract. |
| currency_id | Int64 | Required | Required currency ID. |
| date | Int64 | Optional | Standalone document date as Unix time in seconds. For a document linked to DocPurchase, the API overrides the date from the parent purchase date plus one second; negative values are rejected for standalone documents. |
| description | String | Optional | Optional document note. Maximum length is 300 characters. |
| exchange_rate | Decimal | Optional | Optional exchange rate with up to 8 decimal places. Base currency forces 1; for non-base currency, values less than or equal to 0 use the current currency directory rate. |
| parent_doc_id | Int64 | Optional | Conditional parent document ID. Required and must be positive when parent_doc_type_id is set; ignored for standalone documents. |
| parent_doc_type_id | Int64 | Optional | Optional parent document type ID. Only DocPurchase is currently supported. |
| partner_id | Int64 | Required | Required partner ID. |
| stock_id | Int64 | Required | Required stock ID. When the document is linked to DocPurchase, it must match the parent purchase stock. |
| vat_calculation_type | String | Required | Required VAT calculation mode: No - do not accrue, Exclude - included in the amount, Include - added on top. Allowed values: No, Exclude, Include. |
Request Example
{
"parent_doc_type_id": 1,
"parent_doc_id": 42,
"partner_id": 15,
"stock_id": 3,
"currency_id": 1,
"description": "Freight costs for purchase PUR-000042",
"vat_calculation_type": "No"
}
Response Parameters
| Name | Type | Description |
|---|---|---|
| ok | Boolean | Indicates whether the request completed successfully. |
| result | Insert | Created record result. |
Response Example
{
"ok": true,
"result": {
"new_id": 56
}
}