Přeskočit na hlavní obsah

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í​

  1. Přímé Přiřazení: Pokud je transakce již propojena (např. ručně nebo specifickým API payloadem), logika se přeskočí.
  2. Párování Symbolů: Systém hledá dokumenty odpovídající:
    • Specifický symbol
    • Variabilní symbol (Obvykle číslo faktury)
    • Konstantní symbol
  3. 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.
  4. Výsledek:
    • Shoda Nalezena: Transakce je propojena s Fakturou. invoiceNotFound se nastaví na false. Automaticky se vytvoří záznam Payment (Platba).
    • Žádná Shoda: invoiceNotFound se nastaví na true. Transakce se objeví ve frontě "Nepárované".

Aktualizace Plateb a Stavů​

Třída: Espo\Modules\Banking\Hooks\BankTransaction\UpdateInvoicePaymentStatus Spouštěč: afterSave

Jakmile je transakce uložena a propojena s fakturou:

  1. Výpočet Zbývající Částky: Systém zkontroluje pole remainingToPay na faktuře.
  2. Aktualizace Stavu:
    • Zbývá < 0: Stav -> Overpaid (Přeplaceno)
    • Zbývá == 0: Stav -> Paid (Zaplaceno) (Nastaví datePaid na datum transakce)
    • Zbývá > 0: Stav -> Partially Paid (Částečně zaplaceno)

Konektory​

Fio Banka

  • Nástroj: Espo\Modules\Banking\Tools\Fio\Service
  • Funkce: stahuje transakce přes Fio API.