Инвентаризации: сверка фактических остатков на складе с остатками в Controlata. Вы передаете фактическое количество, а Controlata сравнивает его с ожидаемым остатком и корректирует остаток на разницу. Через API инвентаризации можно создавать, редактировать и удалять, менять их статус, получать список и данные инвентаризации.
Пути методов указаны относительно базового адреса API, а общие для всех методов правила (авторизация, формат запросов, частичное редактирование, строки операций, постраничная выдача) описаны в статьях Обзор API и Общие правила.
Методы
| Метод | Что делает |
|---|---|
| v1/audits/add | Создает инвентаризацию |
| v1/audits/edit | Изменяет строки инвентаризации |
| v1/audits/delete | Удаляет инвентаризацию |
| v1/audits/update_status | Меняет статус инвентаризации |
| v1/audits/get_list | Возвращает список инвентаризаций |
| v1/audits/get_entry | Возвращает инвентаризацию со строками |
Поля инвентаризации
| Поле | Тип | Описание |
|---|---|---|
| id | int | ID инвентаризации |
| num | int | Номер. Присваивается автоматически: следующий по порядку |
| date | string | Дата инвентаризации, YYYY-MM-DD |
| status | int | Статус: 0 План, 1 Проведена |
| storage_id | int | Склад, на котором проводится инвентаризация |
| storage_name | string | Название склада |
| lines | int | Количество строк |
| surplus_cost | float | Излишки по себестоимости |
| shortage_cost | float | Недостачи по себестоимости, отрицательное число |
| total_cost | float | Итог по себестоимости: surplus_cost + shortage_cost |
| surplus_price | float | Излишки по цене продажи. Считается только для продуктов, у материалов 0 |
| shortage_price | float | Недостачи по цене продажи, отрицательное число. Только для продуктов |
| total_price | float | Итог по цене продажи: surplus_price + shortage_price |
Материалы или продукты
Одна инвентаризация считает либо материалы, либо продукты на одном складе. Строки передаются только в одном из массивов: materials или products. Тип определяется при создании и потом не меняется.
Ожидаемый и фактический остаток
- Фактический остаток (actual) передаете вы: сколько позиций насчитали на складе.
- Ожидаемый остаток (expected) рассчитывает Controlata: сумма всех проведенных движений позиции на этом складе по дату инвентаризации включительно. Запланированные операции не учитываются. Передавать ожидаемый остаток не нужно.
Ожидаемый остаток фиксируется в строке при ее добавлении. Если потом появится операция с более ранней датой, ожидаемый остаток уже добавленной строки не пересчитается.
Разница между фактом и ожиданием становится корректировкой остатка:
- излишек (факт больше) добавляется на склад. Материалы оцениваются по цене из карточки материала. Продукты по себестоимости последнего прихода на этот склад до даты инвентаризации, а если приходов не было, по себестоимости из карточки продукта;
- недостача (факт меньше) списывается со склада по FIFO.
Статусы
| Код | Статус | Остатки |
|---|---|---|
| 0 | План | Корректировки только запланированы: остаток не меняется, разница учитывается в поле planned остатков |
| 1 | Проведена | Остатки скорректированы на разницу |
Новая инвентаризация создается в статусе из настройки Статус новой инвентаризации по умолчанию. Сменить статус можно методом v1/audits/update_status.
Что можно изменить
После создания у инвентаризации меняются только строки: их фактические остатки, заметки и состав. Дату, склад и тип изменить нельзя. Чтобы провести инвентаризацию на другую дату или на другом складе, удалите ее и создайте новую.