Максим

Максим

Обновлено Oct 6, 2026

Создает списание материалов и продуктов со склада.

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 Неверный формат даты