Стандартные роли

4 встроенные роли с фиксированным набором прав. Подойдут для большинства команд без необходимости настраивать кастомные.

Сводка

| Роль | Просмотр | Создание | Редактирование | Удаление | Команда | Биллинг | |---|---|---|---|---|---|---| | OWNER | Всё | Всё | Всё | Всё | Управление | Управление | | ADMIN | Всё | Всё | Всё | Всё | Просмотр | Ограничено | | EDITOR | Всё | Всё | Всё | Нет | Нет | Нет | | VIEWER | Всё | Нет | Нет | Нет | Нет | Нет |

OWNER

Кто это: создатель компании. Один на компанию.

Что может:

  • Всё, что есть в приложении.
  • Управление командой (приглашать, менять роли, удалять).
  • Управление подпиской и оплатой.
  • Удалить компанию.

Что не может:

  • Передать роль OWNER другому пользователю — пока не реализовано (на дорожной карте).
  • Удалить себя из компании — нужно сначала передать OWNER, что пока невозможно. Поэтому OWNER обычно остаётся навсегда.

ADMIN

Когда давать: партнёр / co-founder, который занимается всем кроме оплаты.

Что может:

  • Создавать, редактировать, удалять любые операции и сущности.
  • Видеть всю команду и аудит-лог.
  • Менять настройки компании (валюта, часовой пояс, фиксированные курсы).

Что не может:

  • Управлять биллингом (сменить тариф, оплатить).
  • Удалить компанию.
  • Менять роль OWNER.

EDITOR

Когда давать: сотрудник, который заносит операции в журнал.

Что может:

  • Создавать операции, счета, категории, контрагентов.
  • Редактировать всё что создано (своё и чужое).
  • Видеть все отчёты.

Что не может:

  • Удалять операции, счета и т. д. — это сильное ограничение, для безопасности данных.
  • Видеть и менять команду.
  • Менять настройки компании.

Если EDITOR ошибся — он может отредактировать запись (например, изменить сумму), но не удалить. Удалять придётся ADMIN или OWNER.

VIEWER

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

Что может:

  • Видеть все операции, отчёты, балансы.
  • Экспортировать данные.

Что не может:

  • Никаких изменений — UI скрывает кнопки «Доход / Расход / Перевод», действия в таблицах. API возвращает 403 на любую попытку POST / PATCH / DELETE.

Все 6 демо-аккаунтов на incash.one/demo имеют роль VIEWER — поэтому данные неизменны.

Смена роли

Команда → выбрать сотрудника → Роль. Менять:

  • Свою роль — нельзя (поле заблокировано).
  • Роль OWNER — нельзя.
  • Любого другого — да, в любую сторону.

RBAC применяется на двух уровнях

  1. APIrequireRole(уровень) в каждом POST / PATCH / DELETE. Возвращает 403 если роль ниже.
  2. UI — кнопки мутаций скрываются для VIEWER. Это для удобства — клик и так бы вернул 403, но скрытие кнопок чище.

См. RBAC и роли.

Кастомные должности

Если стандартных мало — можно создавать свои с гранулярными правами. См. Кастомные должности.