Hooky a Obchodní Logika
Modul Bankovnictví automatizuje párování bankovních transakcí s fakturami pomocí robustního párovacího algoritmu.
Algoritmus Automatického Párování
Třída: Espo\Modules\Banking\Hooks\BankTransaction\RelateWithInvoice
Spouštěč: beforeSave (Pouze nové transakce)
Když je importována nová BankTransaction (přes API nebo CSV), systém se ji pokusí propojit se známým dokumentem (Faktura, Zálohová faktura, Přijatá faktura).
Logika Párování
- Přímé Přiřazení: Pokud je transakce již propojena (např. ručně nebo specifickým API payloadem), logika se přeskočí.
- Párování Symbolů: Systém hledá dokumenty odpovídající:
- Specifický symbol
- Variabilní symbol (Obvykle číslo faktury)
- Konstantní symbol
- Kontrola Duplicit:
- Pokud Variabilní symbol odpovídá více dokumentům za posledních 15 dní, systém zastaví párování a vyžaduje ruční zásah, aby se předešlo chybám.
- Výsledek:
- Shoda Nalezena: Transakce je propojena s Fakturou.
invoiceNotFoundse nastaví nafalse. Automaticky se vytvoří záznamPayment(Platba). - Žádná Shoda:
invoiceNotFoundse nastaví natrue. Transakce se objeví ve frontě "Nepárované".
- Shoda Nalezena: Transakce je propojena s Fakturou.
Aktualizace Plateb a Stavů
Třída: Espo\Modules\Banking\Hooks\BankTransaction\UpdateInvoicePaymentStatus
Spouštěč: afterSave
Jakmile je transakce uložena a propojena s fakturou:
- Výpočet Zbývající Částky: Systém zkontroluje pole
remainingToPayna faktuře. - Aktualizace Stavu:
- Zbývá < 0: Stav ->
Overpaid(Přeplaceno) - Zbývá == 0: Stav ->
Paid(Zaplaceno) (NastavídatePaidna datum transakce) - Zbývá > 0: Stav ->
Partially Paid(Částečně zaplaceno)
- Zbývá < 0: Stav ->
Konektory
Fio Banka
- Nástroj:
Espo\Modules\Banking\Tools\Fio\Service - Funkce: stahuje transakce přes Fio API.