Пошаговая инструкция
Категория транзакции отвечает не за способ оплаты, а за смысл движения денег. Например, оплата картой может быть методом оплаты, а категория расхода будет «Закупка ингредиентов». Так отчеты и будущие AI-агенты понимают, почему деньги пришли или ушли.
Сначала пройдите walkthrough. Точки показывают, куда нажимать; видео показывают Add, ввод названий, раскрытие переводов, переключатели Income / Expenses и Save.
Что заполнить на этом экране
Список категорий
Как заполнять: Откройте Transaction Categories и проверьте существующие строки перед добавлением новой категории.
Зачем: Дубли категорий ломают финансовую аналитику: одинаковые расходы начинают попадать в разные группы.
Add
Как заполнять: Нажмите Add справа вверху, чтобы открыть форму категории транзакций.
Зачем: Кнопка создает новый ID категории и открывает поля названия и доступности.
Название на активном языке
Как заполнять: Введите короткое понятное название категории на языке текущего интерфейса.
Зачем: Это название видят сотрудники при выборе категории в доходной или расходной транзакции.
Переводы
Как заполнять: Раскройте три точки в поле названия и заполните English, Spanish, Russian и Ukrainian.
Зачем: POS, отчеты, импорт, поддержка и будущие AI-агенты должны видеть одну и ту же категорию на разных языках.
Income
Как заполнять: Оставьте включенным только для категорий, которые можно выбирать в приходных транзакциях.
Зачем: Если включить Income у расходной категории, она будет появляться там, где бизнес записывает приход денег.
Expenses
Как заполнять: Оставьте включенным для категорий, которые можно выбирать при списании денег со счета или кассы.
Зачем: Расходные категории нужны для закупок, аренды, зарплат, комиссий и других исходящих платежей.
Save
Как заполнять: Сохраняйте только после проверки названий и переключателей Income / Expenses.
Зачем: Только сохраненная категория становится доступной в финансовых транзакциях и отчетах.
Проверка строки
Как заполнять: Вернитесь в список и проверьте название, Income и Expense.
Зачем: Так видно, что строка записана в базу и загрузилась обратно в интерфейс.
Частые ошибки
- Создавать похожие категории вместо проверки существующего списка.
- Заполнять только один язык в компании, где включено несколько языков интерфейса.
- Оставлять Income включенным у категории, которая должна быть только расходной.
- Отключать Expenses у категории, которую кассиры или менеджеры должны выбирать при оплате поставщикам.
- Называть категорию слишком общо, например Other, вместо конкретного назначения.
- Использовать категорию транзакций как метод оплаты: метод оплаты отвечает за способ оплаты, категория объясняет причину движения денег.
- Править category_transactions напрямую в Supabase и не обновлять company.loadcategorytransactions.
Техническая таблица для AI-агентов
Этот блок ниже основной инструкции. Он нужен поддержке, автоматизациям и будущим AI-агентам, которые будут объяснять финансовые транзакции и связывать интерфейс с реальными полями базы.
| Поле | Хранится как | Назначение | Почему важно |
|---|---|---|---|
| ID категории | category_transactions.id / CategoryTransactionStruct.ID | Уникальный ID категории транзакций. | Финансовые транзакции, отчеты, импорт, поддержка и AI-агенты должны ссылаться на стабильный ID, а не только на текст. |
| Компания | category_transactions.company_id | Компания, которой принадлежит категория. | Не дает категориям одной компании появляться в другой рабочей области. |
| Название | category_transactions.name / CategoryTransactionStruct.Name[] | Список названий по языкам: Language и Text. | Многоязычный интерфейс, отчеты и AI-объяснения используют правильное название на текущем языке. |
| Income | category_transactions.income / CategoryTransactionStruct.Income | Флаг доступности категории для доходных транзакций. | Если true, категория появляется при внесении приходов и пополнений. |
| Expenses | category_transactions.expense / CategoryTransactionStruct.Expense | Флаг доступности категории для расходных транзакций. | Если true, категория появляется при оплатах поставщикам, расходах и списании денег. |
| Comment | CategoryTransactionStruct.Comment | Дополнительное пояснение, если оно используется в логике или импорте. | Может помочь поддержке и агентам объяснить назначение категории, но в текущей форме основная работа идет через название и флаги. |
| List number | CategoryTransactionStruct.number | Порядковый номер категории, если он используется в списках. | Позволяет сохранять управляемый порядок категорий в интерфейсе или импортах. |
| Кэш приложения | FFAppState().CategoryTransaction | Клиентский список категорий транзакций. | После прямых backend-правок приложение должно перезагрузить категории, иначе список покажет старые данные. |
| Маркер обновления | company.loadcategorytransactions | Timestamp, по которому приложение понимает, что категории транзакций обновились. | Native/backend-изменения должны обновлять этот маркер, чтобы SABSUS подтянул актуальные строки. |
| Использование в транзакции | transactions.Category / TransactionStruct.Category | Выбранная категория на конкретной финансовой транзакции. | Отчеты и AI-агенты группируют доходы и расходы по этой категории. |