Квитанции
Квитанции — это подтверждения платежей, связывающие платежи с документальным доказательством. Поддерживают авторасчёт сумм, корректировки на месте и двустороннее подтверждение.
Обзор
Квитанция группирует один или несколько платежей и начислений в единый подтверждаемый документ. Сумма квитанции авторассчитывается как сумма всех привязанных аллокаций. Сумму каждой аллокации можно изменить на месте, автоматически создавая записи корректировок с поставщиками.
Авторасчёт суммы
Сумма квитанции = сумма всех привязанных платежей + начислений + разовых расходов. Ручной ввод суммы не нужен — всё рассчитывается автоматически.
Коректировки на месте
Измените сумму любой аллокации прямо на странице квитанции. Система автоматически создаст корректировку с поставщиком услуг с разницей.
Разовые расходы
Добавьте разовые расходы (ремонт, услуги) прямо из квитанции. Система автоматически создаст начисление + платёж + аллокацию.
Двустороннее подтверждение
И арендодатель, и арендатор должны подтвердить квитанцию независимо для полной валидации.
Поддержка мультивалютности
Квитанции автоматически конвертируются в валюту страны объекта, если валюта квитанции отличается.
Прикрепление документа
Прикрепите скан банковского подтверждения или кассового документа в формате PDF, JPG, PNG или HEIC.
Архитектура
Квитанции связаны с платежами через аллокации. Когда сумма аллокации отличается от оригинального платежа, автоматически создаётся связь корректировки и корректировка с поставщиком.
Процесс корректировки
Когда вы изменяете сумму аллокации на странице квитанции:
Редактирование суммы
Нажмите иконку карандаша рядом с суммой платежа. Введите новую сумму в валюте объекта.
Создание связи корректировки
Система создаёт ReceiptAdjustmentLink с сохранением: оригинальная сумма, скорректированная сумма и разница. Одна связь на аллокацию.
Корректировка с поставщиком
Если платёж связан с расходом с поставщиком (Payment → ExpenseCharge → PropertyExpense → ExpenseProvider), ServiceProviderAdjustment создаётся/обновляется автоматически. Автоподтверждение от стороны создателя.
Автоочистка
Если скорректированная сумма = оригинальной (разница = 0), связь корректировки и корректировка с поставщиком автоматически удаляются.
Подтверждение и правила редактирования
Квитанции используют двустороннюю систему подтверждения, которая контролирует права на редактирование:
По умолчанию. Ни одна сторона не подтвердила. Полное редактирование доступно.
Одна сторона подтвердила. Подтвердившая сторона может отозвать. Другая сторона может редактировать.
Обе стороны подтвердили. Квитанция заблокирована — без редактирования, без привязки/отвязки платежей, без изменений документов.
Связь с платежами
На странице квитанции вы можете привязать существующие платежи или создать новые разовые расходы:
Привязать существующий платёж
Выберите из доступных платежей/начислений в списке. Сумма автоматически заполняется в валюте объекта. Вы можете изменить её для создания корректировки.
Добавить разовый расход
Введите название и сумму. Система создаст: ExpenseCharge (тип ONE_TIME) → Payment → Allocation. Обязательны оба поля.
Отвязать платёж
Удалить платёж из квитанции. Это также автоматически удаляет связанную связь корректировки и корректировку с поставщиком.
Редактирование на месте
Страница просмотра квитанции поддерживает редактирование на месте без перехода на отдельную форму:
Примечания (WYSIWYG)
Нажмите иконку карандаша для открытия редактора текста (Summernote). Поддерживает жирный, курсив, списки и ссылки. Сохраняет через AJAX без перезагрузки страницы.
Суммы платежей
Нажмите иконку карандаша рядом с суммой платежа для изменения. Сохраняет через AJAX. Автоматически создаёт/обновляет/удаляет корректировки.
Загрузка документа
Перетащите или выберите файл. Поддерживает JPG, PNG, PDF, HEIC (макс. 20 МБ). Документы автоматически синхронизируются с Google Drive.
Правила видимости
| Роль | Может видеть |
|---|---|
| LANDLORD / AGENT | Все квитанции для объектов в собственности |
| TENANT / AGENT | Квитанции, связанные с их контрактами и платежами |
REST API
Доступ к квитанциям через REST API (требуется JWT аутентификация):
GET /api/v1/receipts - Список моих квитанций
GET /api/v1/properties/{id}/receipts - Список квитанций объекта
GET /api/v1/properties/{id}/receipts/{rid} - Получить детали квитанции
Полная документация API с интерактивным тестированием доступна в Swagger UI: /api/v1/doc