---
title: "Частично изменить складскую политику юрлица"
method: PATCH
path: "/api/v1/stock/company-policies/{companyId}"
tags: ["Stock settings"]
---

# Частично изменить складскую политику юрлица

`PATCH /api/v1/stock/company-policies/{companyId}`

## Request

- Base URL: `https://erp.akeda.ru`
- URL: `https://erp.akeda.ru/api/v1/stock/company-policies/{companyId}`
- 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

Меняются только переданные поля. Метод себестоимости не переключается, пока у юрлица есть товарный остаток, — приходит 409 с текущим количеством. Склад по умолчанию должен быть доступен этому юрлицу. Дату закрытия здесь не задают: склад закрывается вместе с книгой бизнеса (coreCloseAccountingPeriod), а переданное closed_through отвечает 400 stock.settings.closed_through_moved.

## Path parameters

- `companyId` string, uuid, required

## Headers

- `X-Tenant` string, required

## Request body

- StockCompanyPolicyPatch
  - `costing_method` 'fifo' | 'moving_average': Не меняется, пока у юрлица есть товарный остаток
  - `default_warehouse_id` string, uuid
  - `closed_through` string, date, nullable: Не принимается: склад закрывается вместе с книгой бизнеса (coreCloseAccountingPeriod); передача отвечает 400 stock.settings.closed_through_moved
  - `manual_batch_choice` boolean: Включить ручной выбор партии в строке расхода. При средней себестоимости включить нельзя (400 batch_choice_average); переход на moving_average выключает выбор сам

## Response `200`

Обновлённая политика складского учёта

- StockCompanyPolicy
  - `id` string, uuid, required
  - `company_id` string, uuid, required
  - `company_name` string, required
  - `costing_method` 'fifo' | 'moving_average', required
  - `default_warehouse_id` string, uuid, required
  - `closed_through` string, date-time, nullable, required: Учёт бизнеса юрлица закрыт по эту дату включительно — дата закрытия книги, одна на бизнес и для склада; null — период не закрыт
  - `manual_batch_choice` boolean: Ручной выбор партии в строке расхода (ERP-1788). По умолчанию false — «Авто»: партию выбирает метод учёта (срок годности, затем дата прихода). Действует только при costing_method fifo
  - `updated_at` string, date-time, required

## Other responses

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

---

[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)
