Платежі (Payments)¶
Рух грошових коштів: отримання від клієнтів, виплати постачальникам, планові (зарплата, податки, оренда).
1. Документи¶
| Документ | Призначення |
|---|---|
IncomingPayment |
Вхідний платіж (клієнт → організація) |
OutgoingPayment |
Вихідний платіж (організація → постачальник) |
PlannedPayment |
Плановий платіж (зарплата, податки, оренда) |
2. IncomingPayment — вхідний платіж¶
Поля¶
- number / date
- organization →
Organization(хто отримує) - client →
Client(хто платить) - payment_type — enum:
bank— банк (settlement_account) ✅cash— готівка (cashbox) ✅card— картка (еквайринг) ⏳ deferred у Sprint 4 cash-bank-audit (потребує acquiring_account / 333.5)offset— залік (без грошей) ⏳ deferred у Sprint 4 cash-bank-audit (наразі черезJournalEntry)- settlement_account / cashbox — куди зараховано
- currency + amount
- purpose — призначення платежу (текст з банку)
- external_id — ID транзакції з банку / POS
Прив'язка до документів (payment_matching)¶
- invoice_allocations — розподіл суми по
Invoice:
Проводки (Posting)¶
3. OutgoingPayment — вихідний платіж¶
Поля (симетрично до вхідного)¶
- client →
Client(отримувач — постачальник, співробітник) - payment_type —
bank / cash / card - settlement_account / cashbox — звідки
- amount + currency
- purpose
- expense_item →
ExpenseItem(якщо не прив'язано до PurchaseInvoice) - is_approved — підтверджено керівником (для контролю)
Прив'язка¶
purchase_invoice_allocations— розподіл поPurchaseInvoice- Можна без прив'язки — для господарських витрат (канцтовари, ПММ з готівки)
Проводки¶
Дт 631 (розрахунки з постачальниками) — Кт 311 / 301
або
Дт 92 / 93 / 94 (витрати) — Кт 311 / 301 (прямі витрати)
4. PlannedPayment — плановий платіж¶
Бюджет руху грошей: скільки і коли треба заплатити.
- planned_date — дата планованого платежу
- organization →
Organization - contractor →
Client(або employee) - amount + currency
- payment_category — enum:
salary(зарплата)tax(податки)rent(оренда)utilities(комуналка)supplier(постачальники)loan(кредити)other- status —
planned / approved / paid / cancelled - source_document → (PurchaseInvoice, Contract) — що породило
- actual_payment →
OutgoingPayment(якщо вже сплачено)
Регістр: PlannedPaymentJournal (Payment Calendar).
5. Payment Calendar (UI-процес)¶
Компонент: PaymentCalendarPage (process)
Функції:
- Відображення планованих платежів на тиждень/місяць
- Порівняння з фактом (planned vs actual)
- Прогноз касових розривів (cash gap)
- Approval workflow для OutgoingPayment
6. Bank reconciliation — узгодження виписок ✅¶
Окремий процес — повна сторінка bank-reconciliation:
- Імпорт банківської виписки у 4 форматах: SWIFT MT940, ISO 20022 camt.053, PrivatBank CSV, Monobank CSV
- Авто-зіставлення з існуючими IncomingPayment / OutgoingPayment за сумою + IBAN/ЄДРПОУ + датою (±3 дні), confidence scoring 0.40 … 1.00
- Per-tenant BankMatchingRule для recurring платежів (orенда, абонплата) → defaults для створення draft платежів
- Kanban UI з 3 колонок (Pending / Matched / Created)
Sprint 5 з плану аудиту cash-bank shipped 2026-05-10. Деталі: bank-reconciliation.md.
🔮 Deferred / Ideas¶
Auto-matching by AI (NLP on purpose field)¶
Мотивація: з призначення платежу можна вгадати Invoice Чому відкладено: потрібне навчання на історії + UA-мова Trigger: >500 неприв'язаних платежів / місяць
Multi-stage approval for large outgoing payments¶
Мотивація: платіж >X грн вимагає approval керівника + фіндиректора Чому відкладено: workflow engine Trigger: корпоративний клієнт
Payment forecasting (30-90 day outlook)¶
Мотивація: фіндиректор планує ліквідність
Чому відкладено: потрібен прогноз оплат з Invoice.due_date
Trigger: запит CFO
Automated salary payment batches¶
Мотивація: генерація пакета платежів для зарплати за рахунок списку співробітників Чому відкладено: інтеграція з HRM модулем Trigger: клієнт >50 співробітників
Cryptocurrency payments (USDT, ETH)¶
Мотивація: B2B-експорт, IT-послуги Чому відкладено: legal + бухоблік в UAH Trigger: клієнт з IT-сектору