Rekonciliace plateb

Automatizace nám každý den usnadňují práci a jinak tomu není ani v Odoo. Díky automatickému přiřazení plateb k patřičným fakturám je tak možné ušetřit značné množství času, který bychom strávili manuálním vyhledáváním správných protějšků.

Nastavení takové automatizace je sice díky Odoo jednoduché, ale i tak můžeme narazit na specifika, se kterými je trochu náročné se dohodnout.

Co jsou to párovací modely?

Párovací modely, také rekonciliační modely a obdobné názvy, jsou způsob automatizace opakujících se úkonů v rámci aplikace Účetnictví. Základní informace k tomuto tématu si můžete přečíst přímo v oficiální Odoo dokumentaci.

Dokumentace párovacích modelů



Hádající se modely

Jedním takovým specifikem je fakt, že se jednotlivé modely mohou mezi sebou “hádat”. Pokud se tedy potkáte s tím, že váš model zdánlivě nefunguje, doporučujeme zkusit archivovat podobný model, a tím tedy velmi jednoduše zkusit daný problém vyřešit.

Z naší praxe se ukázalo, že na pozadí Odoo funguje forma prioritizace nad modely, která při neúspěšném průběhu jednoho modelu zabrání spuštění dalšího i přesto, že se párovací modely snažíte spouštět manuálně.


Problémy s párovacím modelem base Odoo

Další problém na který jsme při řešení tohoto tématu narazili bylo již potřeba řešit drobnou úpravou v kódu, kterou jsme zanesli do našeho modelu BaseCZ.

Kontext problému, který jsme řešili

Při importu bankovních výpisů, za použití stahování skrze online synchronizaci banky, vstupují do pole “Poznámky” detailnější informace obdržené od banky, jako na následujícím příkladu:

Importovaný bankovní výpis​​

V České republice je typické dohledávat informace skrze variabilní symbol, na výpisech z příkladu se jedná o pole 'variable_code’. Pro dohledávání jsme původně vytvořili REGEX, tedy regulérní výraz jehož účelem je rozklíčovat data a vytáhnout požadované informace z určitého řetězce, který měl vyhledat hodnotu daného variabilního symbolu z bankovního výpisu.

Náš původní regex vypadal následovně:  variable_code:\s*\d{0,10}

Bohužel při pokusech o párování faktur s příslušnými platbami jsme neuspěli. Byli jsme tedy nuceni obrátit se na podrobnější hledání jádra problému.

Jak jsme problém vyřešili

Díky našemu vývojovému týmu se tedy podařilo nalézt a rozklíčovat chování základního Odoo v tomto ohledu, které kontrolovalo pouze začátek pole ve kterém jsme informaci vyhledávali.

V rámci vývoje bylo toto chování upraveno tak, aby vyhledávání probíhalo v celém textu pole, což bylo zahrnuto do modulu BaseCZ. Zároveň s tím byl naším vývojovým týmem připraven i nový regex: (?:<b>)?variable_code:\s*(?:</b>)?\s*(\d{1,10}), který je v rámci výsledného řešení optimálnější a spolehlivější než ten původní.

Nastavení párovacího modelu​​

Upozornění

Řešení je aktuálně aplikováno pro BaseCZ v16. Na verzi pro Odoo 17 však aktivně  pracujeme a brzy se můžete těšit i na ni 🤩


Rekonciliace plateb
Origamis s.r.o., Lucie Kubáková 5. června 2024
Newsletter lokalizace

Zůstaňte v obraze!