# Раздельная отчётность по точкам — свой ключ каждой точке

> Как разделить счета, когда точек, филиалов или магазинов несколько: отдельный API-ключ и вебхук на точку, привязка ключа к кассиру, что разделяется, а что остаётся общим, и когда пора заводить отдельную организацию.

## Коротко

Если точек несколько, делить организацию не нужно. Выдайте **каждой точке свой API-ключ** — тогда видно, каким ключом создан каждый счёт, а вебхуки можно развести по точкам отдельно.

Разделяется: ключи, адреса вебхуков, кассиры и разрез отчётности. **Не разделяется: деньги, тариф и лимиты** — они остаются общими для организации.

Если нужны отдельная бухгалтерия, отдельный счёт в Kaspi или отдельный тариф — это уже случай для отдельной организации.

## Свой ключ на каждую точку

Несколько API-ключей в одной организации — нормальная практика. Называйте ключи по точкам, тогда не запутаетесь ни в кабинете, ни в отчёте:

| Название ключа | Где стоит |
|---|---|
| `Абая — касса` | Программа на кассе первого магазина |
| `Сейфуллина — касса` | Второй магазин |
| `Интернет-магазин` | Сервер сайта |
| `Telegram-бот` | Сервер, где крутится бот |

Что это даёт:

- Если ключ одной точки утёк, вы **удаляете только его** и выпускаете новый — остальные точки продолжают работать
- Права каждого ключа ограничиваются отдельно: кассе достаточно `invoices:write`, а `refunds:write` ей не нужен. [Права доступа (scopes)](/kb/ru/scopes)
- В кабинете видно время последнего использования каждого ключа — так находится точка, которая перестала работать

Создавать и удалять ключи может разработчик или владелец: [Роли и права](/kb/ru/roles-and-permissions).

## Привязка ключа к конкретному кассиру

Если в организации несколько кассиров (например, на каждой точке свой номер кассира), ключ можно **привязать к конкретному кассиру**.

Привязанный ключ:

- создаёт боевые счета только через этого кассира;
- **не видит счетов другого кассира** — на них возвращается 404;
- счета песочницы остаются видны всем ключам: это общие тестовые данные.

Это единственный способ разделить точки по-настоящему: система одной точки не сможет прочитать счета другой. Подробно: [Привязка API-ключа к кассиру](/kb/ru/api-key-connection).

О нескольких кассирах в одной организации: [Несколько кассиров](/kb/ru/two-cashiers).

## Отдельный вебхук на точку

Адреса вебхуков тоже можно развести. Встречаются две схемы:

| Схема | Когда удобно |
|---|---|
| Один общий вебхук, разбор внутри | Всё на одном сервере, маршрутизация по пометке в счёте |
| Свой адрес вебхука на каждую точку | Системы точек разные, каждая получает только своё |

Во втором случае у каждого адреса **свой секрет**, поэтому утечка секрета одной точки не заставляет менять остальные. Правила проверки подписи одинаковы в обоих случаях: [Безопасность вебхуков](/kb/ru/webhook-security).

## Как помечать счета

Помимо ключа и кассира, полезно помечать точку в самом счёте — с этим отчёт собирается заметно легче:

- кладите код точки в `metadata`: `{ "branch": "abay" }`;
- используйте префикс точки в `externalOrderId`: `ABAY-1024`, `SEIF-1024`;
- **не добавляйте** точку в описание счёта — его видит покупатель, и ему это ни к чему.

Эти пометки возвращаются в теле вебхука, так что вы направите заказ в нужный филиал у себя. Подробнее: [Metadata и номер заказа](/kb/ru/metadata-and-orders).

## Как собирается отчёт

- В разделе **Счета** отфильтруйте нужное и выгрузите период: [Экспорт CSV и отчётность](/kb/ru/csv-export)
- Разрез по точкам получается из пометок в `metadata` и `externalOrderId`
- Когда система точки запрашивает данные своим ключом, привязанным к кассиру, она видит только свои счета
- Сводка за месяц всё равно общая по организации, так что отчёт «по всему бизнесу» тоже берётся в одном месте

## Что не разделяется

Об этом лучше знать заранее:

| Что | Как есть |
|---|---|
| Деньги | Приходят на счёт организации в Kaspi. Отдельного счёта по кассиру не бывает |
| Тариф и его стоимость | Тариф один на организацию. Число точек на цену не влияет |
| Месячный лимит счетов | Общий. Все точки расходуют один лимит |
| Суточная защита | Общая |
| Сотрудники и роли | На уровне организации. Ролей «по точке» нет |
| Видимость в кабинете | Сотрудник организации видит счета всех точек |

То есть разделение точек работает **на уровне отчётности и безопасности**, а не на уровне финансов.

Лимиты считайте по сумме всех точек: [Тарифы и лимиты](/kb/ru/tariff-limits).

## Когда пора заводить отдельную организацию

Отдельная организация нужна, если:

- у точек **разные счета в Kaspi** — каждое ИП или ТОО получает свои деньги;
- **бухгалтерия раздельная**, документы оформляются отдельно;
- точками владеют разные люди и они не должны видеть счета друг друга;
- объёмы сильно разные, и каждой нужен свой тариф.

Учтите: **тарифы не суммируются** — каждая организация оплачивает свой отдельно. Подробнее: [Несколько организаций](/kb/ru/multiple-organizations).

А если это несколько точек одного юридического лица — достаточно одной организации и нескольких ключей.

## Вопросы и ответы

**Если кассир одной точки отвалится, остальные продолжат работать?** Да, если их ключи привязаны к другим кассирам. Обрыв затрагивает только ключи, привязанные к этому кассиру.

**Если удалить ключ точки, её старые счета пропадут?** Нет. Счета остаются, просто новые этим ключом больше не создаются.

**Сколько ключей можно завести?** На практике хватает одного на точку и одного на интеграцию. Неиспользуемые удаляйте: [API-ключи](/kb/ru/api-keys).

**Видит ли ключи сотрудник с ролью менеджера?** Нет, ключи ему недоступны вообще.

**Что правильнее для франшизы?** Если деньги каждого партнёра должны идти на его собственный счёт — каждому отдельная организация. Этот сценарий автоматизируется через [Partner API](/kb/ru/partner-api).
