Создает списание материалов и продуктов со склада.
v1/writeoffs/add.php
Параметры
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
| materials | array | materials или products | Списываемые материалы: id или sku и amount |
| products | array | materials или products | Списываемые продукты: id или sku и amount |
| num | string | Нет | Номер. По умолчанию следующий по порядку |
| date | string | Нет | Дата списания, YYYY-MM-DD. По умолчанию сегодня |
| materials_storage_id | int | Нет | Склад, с которого списываются материалы |
| products_storage_id | int | Нет | Склад, с которого списываются продукты |
| production_id | int | Нет | ID производства, к себестоимости которого добавляется стоимость списания |
| notes | string | Нет | Заметки |
Строка materials и products:
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
| id | int | id или sku | ID материала или продукта |
| sku | string | id или sku | Артикул |
| amount | float | Да | Количество, больше 0 |
Нужна хотя бы одна строка. Как указывать позицию по id или артикулу, описано в статье Общие правила.
Как работает
- Статус берется из настройки Статус нового списания по умолчанию. В статусе Списано остатки уменьшаются сразу, в статусе План списание только планируется.
- Склады. Если склад не передан или равен 0, берется Склад по умолчанию для списания материалов при производстве (для продуктов Склад по умолчанию для списания продуктов при производстве). Если там выбрано Автоматически, берется склад по умолчанию для поставок.
- Себестоимость считается по FIFO. Если остатка не хватает, списание все равно проводится, остаток уходит в минус.
- Привязка к производству сразу увеличивает себестоимость производства на стоимость списания (см. Списания).
Пример запроса
{
"date": "2026-10-06",
"materials": [
{
"id": 2051,
"amount": 0.15
}
],
"products": [
{
"sku": "P-TABLE-01",
"amount": 1
}
],
"materials_storage_id": 3998,
"products_storage_id": 4001,
"notes": "Брак при распиле"
}
Пример ответа
{
"success": true,
"writeoff_id": 19291,
"num": "48",
"status": 1
}
В ответе приходят ID, номер и код статуса нового списания.
Ошибки
| Ошибка | Причина |
|---|---|
| No products or materials in input | Не передано ни одной строки |
| Materials is not an array | materials не массив (так же для products) |
| Line 0 of materials must be an object | Строка не объект (вместо 0 будет номер строки) |
| SKU or id not set for material 0 | В строке нет ни id, ни sku |
| Material with id 2051 not found | Материал не найден или удален (для продукта: Product with SKU "P-TABLE-01" not found) |
| Amount must be greater than 0 for material with id 2051 | Количество не число или не больше 0 после округления |
| Storage ID not found | Склад не найден или удален |
| Production not found or access denied | Производство из production_id не найдено |
| Date is not a valid date in format YYYY-MM-DD | Неверный формат даты |