Odprta koda za nas pomeni: deliti znanje in rešitve
Ne razvijamo programske opreme samo za svoje potrebe – rešitve, ki lahko pomagajo tudi drugim uporabnikom Odoo, želimo dati na voljo skupnosti.
Zato smo svoje module za uvoz bančnih izpiskov za Odoo 19 Community objavili kot odprtokodni projekt.
Celoten projekt je brezplačno na voljo na GitHubu:
Odoo 19 Bank Statement Import na GitHubu
Naš cilj je povsem preprost:
Ustvariti delujoč in čim preprostejši način za uvoz bančnih izpiskov v Odoo 19 Community – brez potrebe po plačljivi razširitvi.
Zakaj sploh lasten projekt?
Odoo ima načeloma obsežne možnosti za računovodstvo in obdelavo bančnih transakcij. Prav pri uvozu bančnih izpiskov pa je odločilno, katere formate ponuja posamezna banka.
V praksi se med drugim srečamo s formati, kot so:
- CAMT.053
- CAMT.054
- OFX
- SWIFT MT940
Vsi ti formati niso v vsaki različici Odooja enako dobro na voljo.
Zlasti pri prehodu na Odoo 19 smo opazili vrzeli, ki so lahko za obstoječe namestitve povsem pomembne.
Zato smo se odločili, da rešitve ne bomo razvili le za lastno namestitev, temveč jo bomo javno in brezplačno ponudili vsem.
Odoo 19 Community – uvoz bančnih izpiskov
Naš repozitorij temelji na ustreznih komponentah OCA za Odoo 19 in jih dopolnjuje s funkcijami, ki so potrebne v praksi.
Projekt med drugim vsebuje osnovno infrastrukturo za bančne izpiske in uvoz datotek ter razčlenjevalnike (parserje) za različne bančne formate.
S tem je mogoče obdelati na primer naslednje formate:
| Format | Podpora |
|---|---|
| CAMT.053 | Da |
| CAMT.054 | Da |
| OFX | Da |
| OFX z dodelitvijo ACCTID | Da |
| SWIFT MT940 | Da |
S tem projekt pokriva velik del klasičnih formatov bančnih izpiskov.
Podpora za OFX za Odoo 19
Posebnost našega projekta je podpora za OFX.
OFX je bil na voljo v starejših različicah Odoo/OCA, vendar je bil odstranjen iz veje OCA 19.0. Naš projekt to funkcijo za Odoo 19 spet združuje z ostalimi uvoznimi moduli.
To je zanimivo predvsem za podjetja, katerih banka še vedno ponuja datoteke OFX za elektronski bančni izpisek.
Pri tem nismo hoteli preprosto razviti povsem nove, izolirane rešitve.
Namesto tega smo uporabili obstoječo odprtokodno osnovo in jo ustrezno sestavili za Odoo 19.
Dodatno: SWIFT MT940
Še ena funkcija našega projekta je uvoz SWIFT MT940.
MT940 je uveljavljen format za elektronske bančne izpiske in se še vedno uporablja predvsem pri bankah in starejših bančnih integracijah.
Za aktualne različice Odoo ustrezne rešitve OCA po dokumentaciji našega projekta ni.
Zato smo za to razvili lasten modul:
account_statement_import_mt940
S tem je mogoče datoteke MT940 obdelovati neposredno v Odoo 19.
Modularna zasnova
Zavestno nismo hoteli ustvariti monolitne razširitve.
Funkcije so razdeljene na posamezne module 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
Tako lahko uporabniki namestijo natanko tiste komponente, ki jih dejansko potrebujejo.
To ustreza tudi odprtokodni miselnosti: rešitev ne sme postati po nepotrebnem zapletena samo zato, ker imajo posamezni uporabniki različne zahteve.
Brezplačno za Odoo Community
Morda najpomembnejše:
Programska oprema je na voljo brezplačno.
Razširitve, ki smo jih razvili, dajemo na voljo skupnosti Odoo Community.
Za uporabo naših razširitev ni licenčnine.
Izvorna koda je javno dostopna na GitHubu, kjer si jo je mogoče ogledati, uporabljati, prilagajati in nadalje razvijati.
Projekt je objavljen pod licenco AGPL-3, skladno z uporabljeno osnovo OCA.
Zakaj to počnemo?
Odprta koda dolgoročno deluje le, če vsak ne samo jemlje, ampak tudi nekaj vrača.
Odoo Community Association (OCA) zasleduje prav to misel in kot odprto kodo ponuja številne razširitve za Odoo. Tudi na področju Bank Statement Import obstaja obsežna zbirka modulov skupnosti.
Želimo prispevati svoj delež.
Tudi sami imamo koristi od odprtokodnih projektov.
Zato tudi mi nekaj vračamo.
Pri tem odprtokodni razvoj ni nujno ogromno ogrodje ali povsem nov sistem ERP.
Včasih zadostuje že majhna razširitev, ki reši konkreten problem.
Če ta rešitev nato prihrani delo desetim, stotim ali tisočim drugim uporabnikom Odoo, se je razvoj že izplačal.
Za Odoo Community – ne samo za našo lastno namestitev
Pri razvoju nam je bilo pomembno, da modulov ne prilagodimo posebej svojemu lastnemu okolju.
Želimo, da je repozitorij zanimiv tudi za druge namestitve Odoo 19 Community.
Zato so moduli skupaj v javno dostopnem repozitoriju in jih je mogoče uporabljati neodvisno od naše lastne namestitve Odoo.
Seveda ima lahko banka glede na izvozni format različne posebnosti. Zato se veselimo tudi povratnih informacij, poročil o napakah in izboljšav iz skupnosti.
Odprta koda živi od sodelovanja
Projekt izrecno ni mišljen kot zaključen razvoj.
Če kdo najde napako, ima dodaten primer uporabe ali želi prispevati izboljšavo, lahko neposredno sodeluje pri projektu.
To je ena od velikih prednosti odprte kode:
Rešitev se ni treba ustaviti pri svojem prvotnem razvijalcu.
Uporabnik lahko postane razvijalec.
Razvijalec lahko prispeva izboljšavo.
In ta izboljšava je nato spet na voljo vsem ostalim.
Namestitev in izvorna koda
Celotna izvorna koda, struktura modulov in navodila za namestitev so na GitHubu:
GitHub – Odoo 19 Bank Statement Import
Za uvoz OFX in MT940 so dodatno potrebne ustrezne knjižnice Python. Konkretne odvisnosti so prav tako dokumentirane v repozitoriju.
Naš prispevek k Odoo Community
S tem projektom želimo dati majhen znak:
Programske opreme ni treba vedno prodajati, da bi imel njen razvoj vrednost.
Včasih je največja korist, da je rešitev prosto dostopna in jo lahko uporablja ter nadalje razvija čim več ljudi.
Programsko opremo razvijamo najprej zato, ker sami potrebujemo rešitev.
Če iz tega nastane uporabna razširitev tudi za druge uporabnike Odooja, jo z veseljem damo na voljo skupnosti.
Prav zato smo objavili modul Odoo 19 Bank Statement Import.
Brezplačno. Odprtokodno. Za skupnost Odoo Community.
Projekt na GitHubu
Na projekt GitHub: Odoo 19 Bank Statement Import
Veselimo se povratnih informacij, prijav težav (issues), predlogov za izboljšave in seveda tudi prispevkov skupnosti.
Odprta koda deluje najbolje, kadar delamo skupaj.