Open source pro nás znamená sdílet znalosti a řešení
Nevyvíjíme software jen pro vlastní potřeby – chceme komunitě nabídnout řešení, která mohou pomoci i ostatním uživatelům Odoo.
Proto jsme naše moduly pro import bankovních výpisů do Odoo 19 Community zveřejnili jako open source projekt.
Celý projekt je zdarma k dispozici na GitHubu:
Odoo 19 Bank Statement Import na GitHubu
Náš cíl je přitom jednoduchý:
Nabídnout funkční a co nejjednodušší způsob, jak importovat bankovní výpisy do Odoo 19 Community – bez nutnosti pořizovat placené rozšíření.
Proč vlastně vlastní projekt?
Odoo nabízí rozsáhlé možnosti pro vedení účetnictví a zpracování bankovních transakcí. Právě při importu bankovních výpisů je však zásadní, jaké formáty daná banka poskytuje.
V praxi se setkáváme mimo jiné s těmito formáty:
- CAMT.053
- CAMT.054
- OFX
- SWIFT MT940
Ne všechny tyto formáty jsou ve všech verzích Odoo podporovány ve stejné míře.
Zejména při přechodu na Odoo 19 jsme narazili na chybějící funkce, které mohou být pro stávající instalace důležité.
Místo abychom tyto problémy řešili jen pro vlastní instalaci, rozhodli jsme se proto řešení zpřístupnit veřejně a zdarma.
Odoo 19 Community – import bankovních výpisů
Náš repozitář vychází z příslušných komponent OCA pro Odoo 19 a doplňuje je o funkce potřebné pro praktické použití.
Projekt obsahuje mimo jiné základní infrastrukturu pro bankovní výpisy a import souborů i parsery pro různé bankovní formáty.
Lze tak zpracovávat například následující formáty:
| Formát | Podpora |
|---|---|
| CAMT.053 | Ano |
| CAMT.054 | Ano |
| OFX | Ano |
| OFX s přiřazením podle ACCTID | Ano |
| SWIFT MT940 | Ano |
Projekt tak pokrývá velkou část běžných formátů bankovních výpisů.
Podpora OFX pro Odoo 19
Jednou z důležitých funkcí našeho projektu je podpora OFX.
Podpora OFX byla ve starších verzích Odoo/OCA dostupná, z větve OCA 19.0 však byla odstraněna. Náš projekt tuto funkci pro Odoo 19 znovu zpřístupňuje společně s ostatními moduly pro import.
To ocení zejména firmy, jejichž banka i nadále nabízí elektronické výpisy z účtu ve formátu OFX.
Nechtěli jsme přitom vyvíjet úplně nové, izolované řešení.
Místo toho jsme využili stávající open source základ a sestavili z něj řešení pro Odoo 19.
Navíc: SWIFT MT940
Další funkcí našeho projektu je import formátu SWIFT MT940.
MT940 je zavedený formát pro elektronické bankovní výpisy, který se stále používá zejména v bankách a ve starších bankovních integracích.
Podle naší projektové dokumentace není pro aktuální verze Odoo k dispozici odpovídající řešení od OCA.
Proto jsme pro tento účel vyvinuli vlastní modul:
account_statement_import_mt940
Díky němu lze i soubory MT940 zpracovávat přímo v Odoo 19.
Modulární struktura
Záměrně jsme nechtěli vytvářet monolitické rozšíření.
Funkce jsou rozděleny do samostatných modulů Odoo:
- account_statement_base
- account_statement_import_base
- account_statement_import_file
- account_statement_import_camt
- account_statement_import_camt54
- account_statement_import_ofx
- account_statement_import_ofx_by_acctid
- account_statement_import_mt940
Uživatelé si tak mohou nainstalovat přesně ty komponenty, které skutečně potřebují.
To odpovídá i myšlence open source: řešení by nemělo být zbytečně složité jen proto, že jednotliví uživatelé mají různé požadavky.
Zdarma pro komunitu Odoo
A možná to nejdůležitější:
Software je k dispozici zdarma.
Rozšíření, která jsme vyvinuli, poskytujeme komunitě Odoo.
Za používání našich rozšíření se neplatí žádné licenční poplatky.
Zdrojový kód je veřejně dostupný na GitHubu, kde si jej lze prohlédnout, používat, upravovat a dále rozvíjet.
Projekt je dostupný pod licencí AGPL-3, stejně jako použitý základ od OCA.
Proč to děláme?
Open source může dlouhodobě fungovat jen tehdy, když každý nejen bere, ale také něco vrací.
Právě touto myšlenkou se řídí Odoo Community Association (OCA), která poskytuje řadu rozšíření pro Odoo jako open source. Také pro import bankovních výpisů existuje rozsáhlá sbírka komunitních modulů.
Chceme k tomu přispět i my.
Sami využíváme výhod open-source projektů.
Proto také něco vracíme zpět.
Výsledkem open-source vývoje přitom nemusí být vždy rozsáhlý framework nebo zcela nový ERP systém.
Někdy stačí i malé rozšíření, které řeší konkrétní problém.
Pokud pak toto řešení ušetří práci deseti, stovce nebo tisícovce dalších uživatelů Odoo, vývoj už měl smysl.
Pro Odoo Community – nejen pro naši vlastní instalaci
Při vývoji pro nás bylo důležité nevytvářet moduly na míru pouze našemu vlastnímu prostředí.
Chceme, aby byl repozitář užitečný i pro další instalace Odoo 19 Community.
Proto jsou moduly společně umístěny ve veřejně přístupném repozitáři a lze je používat nezávisle na naší vlastní instalaci Odoo.
Každá banka může mít samozřejmě v závislosti na formátu exportu svá specifika. Proto uvítáme i zpětnou vazbu, hlášení chyb a vylepšení od komunity.
Open source žije díky zapojení komunity
Projekt rozhodně nepovažujeme za uzavřený a dokončený.
Pokud někdo najde chybu, má další případ použití nebo chce přispět vylepšením, může se do projektu přímo zapojit.
To je jedna z velkých výhod open source:
Vývoj řešení nemusí zůstat jen v rukou jeho původního autora.
Z uživatele se může stát vývojář.
Vývojář může přispět vylepšením.
A toto vylepšení je pak opět k dispozici všem ostatním.
Instalace a zdrojový kód
Kompletní zdrojový kód, strukturu modulů i pokyny k instalaci najdete na GitHubu:
GitHub – Odoo 19 Bank Statement Import
Pro import formátů OFX a MT940 jsou navíc potřeba příslušné knihovny Pythonu. Konkrétní závislosti jsou rovněž zdokumentovány v repozitáři.
Náš příspěvek komunitě Odoo
Tímto projektem chceme alespoň trochu ukázat, že:
Software se nemusí vždy prodávat, aby jeho vývoj měl hodnotu.
Někdy má největší přínos to, že je řešení volně dostupné a může ho používat a dále rozvíjet co nejvíce lidí.
Software vyvíjíme především proto, že sami potřebujeme řešení.
Pokud z toho následně vznikne užitečné rozšíření i pro ostatní uživatele Odoo, rádi ho poskytneme komunitě.
Právě proto jsme zveřejnili Odoo 19 Bank Statement Import Module.
Zdarma. S otevřeným zdrojovým kódem. Pro komunitu Odoo.
Projekt na GitHubu
Přejít na projekt na GitHubu: Odoo 19 Bank Statement Import
Uvítáme zpětnou vazbu, hlášení chyb, návrhy na vylepšení a samozřejmě i příspěvky od komunity.
Open source funguje nejlépe, když na něm pracujeme společně.