---
title: "Завести или изменить товарную единицу ввода"
method: PUT
path: "/api/v1/stock/product-uoms"
tags: ["Stock product units"]
---

# Завести или изменить товарную единицу ввода

`PUT /api/v1/stock/product-uoms`

## Request

- Base URL: `https://erp.akeda.ru`
- URL: `https://erp.akeda.ru/api/v1/stock/product-uoms`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-Api-Key`
  - OAuth 2 (authorization code, authorization URL `https://erp.akeda.ru/oauth2/authorize`, token URL `https://erp.akeda.ru/oauth2/token`, scopes: `akeda:delegate`)
  - HTTP bearer

Пересчёт в базовую единицу хранится у товара, потому что одна и та же по названию упаковка вмещает разное содержимое для разных товаров.

## Headers

- `X-Tenant` string, required

## Request body

- StockProductUOMInput
  - `id` string, uuid
  - `product_id` string, uuid, required
  - `code` string, required
  - `name` string, required
  - `input_unit_id` string, uuid, required
  - `usage` 'purchase' | 'receipt' | 'packaging' | 'consumption' | 'sale': Где единицу предлагают первой: purchase — закупка, receipt — поступление, consumption — комплектация и списание, sale — отгрузка, packaging — тара без своего места. Выбор в документах не ограничивает
  - `factor_to_base` string, required: Положительное число; десятичный разделитель — точка или запятая, хранится запись с точкой
  - `creates_handling_units` boolean: Требует единицы измерения с целой точностью
  - `variable_measure` boolean: Переменная мера: приход складывает количество из фактических мер конкретных единиц, цена за базовую единицу; расход в такой единице невозможен. Требует creates_handling_units
  - `qty_step` string: Положительное число (точка или запятая) или пусто: количество строки в этой единице обязано быть кратно шагу
  - `remnant_threshold` string: Положительное число (точка или запятая) или пусто. Требует creates_handling_units
  - `is_default_receipt` boolean
  - `is_active` boolean, nullable: По умолчанию единица активна

## Response `200`

Сохранённая товарная единица

- StockProductUOM
  - `id` string, uuid, required
  - `product_id` string, uuid, required
  - `code` string, required
  - `name` string, required
  - `input_unit_id` string, uuid, required
  - `unit_code` string, required
  - `unit_label` string, required
  - `usage` 'purchase' | 'receipt' | 'packaging' | 'consumption' | 'sale', required: Где единицу предлагают первой: purchase — закупка, receipt — поступление, consumption — комплектация и списание, sale — отгрузка, packaging — тара без своего места. Выбор в документах не ограничивает
  - `factor_to_base` string, required: Положительный decimal — сколько базовых единиц товара содержит одна единица ввода
  - `precision` integer, required
  - `creates_handling_units` boolean, required
  - `variable_measure` boolean: Коэффициент — номинал: фактическая мера у каждой конкретной единицы своя (рулон ~50 м)
  - `qty_step` string: Шаг количества в этой единице: «режем по 10 см». Пусто — без ограничения
  - `remnant_threshold` string: Порог обрезка: остаток конкретной единицы меньше порога считается обрезком. Только для единиц с учётом конкретных единиц
  - `is_default_receipt` boolean, required
  - `is_active` boolean, required
  - `updated_at` string, date-time, required

## Other responses

- `400`: Некорректный запрос или нарушение бизнес-правила
- `401`: Сессия, ключ или кабинет не подтверждены
- `403`: Текущая роль не имеет требуемого права
- `409`: Конфликт версии, идемпотентности или бизнес-состояния

---

[API](https://skmtc.dev/akeda/apis/akeda-erp-client-api.md) · [All operations](https://skmtc.dev/akeda/apis/akeda-erp-client-api/llms.txt) · [OpenAPI document](https://skmtc.dev/akeda/apis/akeda-erp-client-api/revisions/a99574d597cc?raw)
