Appearance
Счета и платежи
Финансовые документы: выставление счетов заказчикам, учёт входящих счетов от поставщиков, регистрация платежей.
Как открыть
Боковое меню → Финансы → Счета
Зачем нужны счета
Счёт (Invoice) — связующее звено между производственным заказом и деньгами:
- Заказ клиента — счёт выставляется заказчику после выполнения.
- Закупка материалов — счёт от поставщика за сырьё.
- Межпредприятие — счёт между предприятиями на бирже AntRoute.
Платёж (Payment) — регистрация факта оплаты. Один счёт может иметь несколько частичных платежей.
Жизненный цикл счёта
┌─────────┐ отправка ┌────────┐ открыт ┌─────────┐ оплата ┌──────────┐
│ draft │ ───────────→ │ sent │ ─────────→ │ viewed │ ────────→ │ paid │
│ Черновик │ │Отправ. │ │Просмотр.│ │ Оплачен │
└─────────┘ └────────┘ └─────────┘ └──────────┘
│ │ │
└→ cancelled │ ├→ partial ──→ paid
│ │ Частично
└→ overdue ────────────┘
Просрочен → partial → paid / cancelled| Статус | Код | Описание |
|---|---|---|
| Черновик | draft | Счёт создан, можно редактировать и удалить |
| Отправлен | sent | Счёт отправлен получателю |
| Просмотрен | viewed | Получатель открыл счёт |
| Частично оплачен | partial | Получена часть суммы |
| Оплачен | paid | Вся сумма получена (терминальный) |
| Просрочен | overdue | Срок оплаты истёк (автоматически при due_date < сегодня) |
| Отменён | cancelled | Счёт аннулирован (терминальный) |
Удаление счёта
Удалить можно только счёт в статусе draft. После отправки удаление невозможно — только отмена (cancelled).
Типы счетов
| Тип | Код | Описание | Пример |
|---|---|---|---|
| Заказ клиента | customer_order | Счёт заказчику за выполненный заказ | INV-2026-001 — Шкаф-купе x2 |
| Межпредприятие | inter_enterprise | Счёт другому предприятию за услуги | INV-2026-015 — Раскрой 200 деталей |
| Закупка материалов | material_purchase | Входящий счёт от поставщика | INV-2026-030 — ЛДСП 50 листов |
Что на экране
Таблица счетов
| Столбец | Описание | Пример |
|---|---|---|
| Номер | Уникальный номер счёта | INV-2026-001 |
| Тип | Заказ / Межпредприятие / Закупка | Заказ клиента |
| Отправитель | Организация, выставившая счёт | ООО МебельПлюс |
| Получатель | Организация-получатель | ИП Иванов |
| Сумма | Итого с НДС | 120 000 руб. |
| Валюта | RUB / USD / EUR | RUB |
| Статус | Текущий статус | Частично оплачен |
| Дата выставления | Когда выставлен | 01.03.2026 |
| Срок оплаты | Дедлайн | 15.03.2026 |
Фильтры
| Фильтр | Варианты |
|---|---|
| Тип | Все / Заказ клиента / Межпредприятие / Закупка |
| Статус | Все / Черновик / Отправлен / Просмотрен / Частично / Оплачен / Просрочен / Отменён |
| Период | Диапазон дат |
Создание счёта
Обязательные поля
| Поле | Описание |
|---|---|
| Номер * | Уникальный: INV-{Год}-{Номер} (неизменяем после создания) |
| Тип * | customer_order / inter_enterprise / material_purchase (неизменяем) |
| Отправитель * | UUID организации-отправителя |
| Получатель * | UUID организации-получателя |
| Сумма без НДС * | subtotal (>= 0) |
| Ставка НДС * | tax_rate (по умолчанию 20%) |
| Сумма НДС * | tax_amount = subtotal * tax_rate / 100 |
| Итого * | total_amount = subtotal + tax_amount |
| Дата выставления * | issue_date (<= due_date) |
| Срок оплаты * | due_date |
Дополнительные поля
| Поле | Описание |
|---|---|
| Заказ | UUID производственного заказа (ProductionOrder) |
| Услуга | UUID межпредприятийной услуги (InterEnterpriseService) |
| Валюта | RUB (по умолчанию), USD, EUR |
| Позиции | JSON: [{описание, количество, цена за единицу, итого}] |
| Условия оплаты | Текст: «Оплата в течение 14 дней» |
| Примечания | Свободный текст |
Позиции счёта (line_items)
Каждый счёт содержит детализацию в line_items:
json
[
{"description": "Изготовление шкафа-купе", "quantity": 2, "unitPrice": 15000, "total": 30000},
{"description": "Доставка", "quantity": 1, "unitPrice": 2000, "total": 2000}
]Платежи (Payment)
Один счёт может иметь несколько платежей (частичная оплата):
| Поле | Описание |
|---|---|
| Номер | PAY-{Год}-{Номер} (уникален) |
| Счёт | FK на Invoice |
| Сумма | Сумма платежа (<= остаток по счёту) |
| Валюта | RUB / USD / EUR |
| Метод | Банковский перевод / Наличные / Карта / Финансирование |
| Статус | Ожидает / Обрабатывается / Завершена / Ошибка / Возвращена |
| Дата | Дата получения |
| Транзакция | Номер банковской транзакции |
Методы оплаты
| Метод | Код | Примечание |
|---|---|---|
| Банковский перевод | bank_transfer | Стандартный метод |
| Наличные | cash | Для мелких расчётов |
| Карта | card | Корпоративная карта |
| Финансирование | financing | Автокредит от банка-партнёра (требует financial_account_id) |
Автоматическое обновление статуса счёта
| Событие | Результат |
|---|---|
| Получен платёж, но остаток > 0 | Invoice.status = partial |
| Получен платёж, остаток = 0 | Invoice.status = paid, paid_at заполняется |
due_date < сегодня и статус не paid/cancelled | Invoice.status = overdue (nightly cron) |
Правила валидации
Счёт
| Правило | Описание |
|---|---|
| BR-1000 | invoice_number уникален и неизменяем |
| BR-1001 | invoice_type неизменяем после создания |
| BR-1003 | total_amount = subtotal + tax_amount |
| BR-1004 | Удалить можно только счёт в статусе draft |
| BR-1006 | issue_date <= due_date |
Платёж
| Правило | Описание |
|---|---|
| BR-1010 | payment_number уникален |
| BR-1012 | amount > 0 и не превышает остаток по счёту |
| BR-1013 | Нельзя платить за cancelled или paid счёт |
| BR-1018 | financial_account_id только при методе financing (и обязателен для него) |
Для кого
| Роль | Что делает |
|---|---|
| Финансист | Создаёт счета, регистрирует платежи, контролирует дебиторку |
| Бухгалтер | Сверяет платежи, формирует отчёты |
| Руководитель | Видит сводку: просроченные счета, оборот, дебиторка |
| Менеджер | Видит счета своей организации (только свои) |