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.