Elektronički računi dio su suvremenog računovodstva
Digitalizacija računovodstva i dalje napreduje. Elektronički formati računa pritom su odavno više od PDF datoteke koja se šalje e-poštom.
Pravi elektronički račun sadrži strukturirane podatke koje računovodstveni i ERP sustavi mogu automatski obrađivati.
Našim novim open source projektom za Odoo 19 Community želimo se uhvatiti upravo u koštac s time.
Razvili smo nekoliko proširenja koja Odoo zajednici stavljamo na raspolaganje besplatno.
Projekt je javno dostupan na GitHubu:
Odoo 19 Invoice E-Files na GitHubu
Naš je fokus pritom ponajprije na Austriji, no dio rješenja zanimljiv je i tvrtkama izvan Austrije.
Tri modula za elektroničke račune
Projekt se trenutačno sastoji od triju glavnih komponenti:
- ebInterface 6.1 za Austriju
- ZUGFeRD za elektroničke račune
- automatska dostava na e-Rechnung.gv.at
Time u jednom open source projektu za Odoo 19 Community povezujemo različite zahtjeve vezane uz elektroničke račune.
ebInterface 6.1 – austrijski format računa
Težište našeg razvoja je ebInterface 6.1.
ebInterface je austrijski standardni format za strukturirane elektroničke račune.
Naš modul
l10n_at_ebinterface
iz izlaznog računa odnosno odobrenja u Odoo-u generira odgovarajući ebInterface 6.1 XML.
Pritom se, među ostalim, relevantni podaci iz Odoo računa prenose u XML strukturu:
- Izdavatelj računa
- Primatelj računa
- Stavke računa
- Porezi
- Podaci o plaćanju
- Bankovni podaci
- Podaci o računu
Generirana XML datoteka izravno se povezuje s računom.
Zašto smo za to razvili vlastiti modul?
Tijekom razvoja utvrdili smo da za Odoo 19 Community trenutačno ne postoji odgovarajući modul Odoo jezgre niti OCA modul za izvorni austrijski standard ebInterface.
Upravo tu smo htjeli djelovati.
Umjesto da austrijsko rješenje razvijemo samo za vlastitu instalaciju, izradili smo ga kao samostalan open source modul.
Tako i ostatak Odoo zajednice može imati koristi od njega.
ZUGFeRD automatski uz svaki račun
Drugo težište našeg projekta je ZUGFeRD.
ZUGFeRD kombinira PDF račun sa strukturiranim XML računom.
Rezultat je takozvani hibridni račun: za čovjeka račun ostaje čitljiv kao PDF, dok softver može automatski analizirati sadržane strukturirane podatke računa.
Odoo 19 načelno već donosi podršku za ZUGFeRD odnosno CII.
U praksi, međutim, postoje određena ograničenja.
Naš modul
account_invoice_zugferd_ebinterface_auto
stoga se primjenjuje upravo na tom mjestu.
ZUGFeRD više nije samo opcija
Željeli smo što automatiziraniji tijek rada.
Kod poslanog izlaznog računa stoga se ne provjerava prvo je li dotični kupac pojedinačno konfiguriran za ZUGFeRD.
Umjesto toga ZUGFeRD se automatski koristi za izlazne račune i odobrenja.
Dodatno se generirani ebInterface XML prilaže kao sastavni dio računa.
Time nastaje cjelovit proces:
Odoo račun → PDF → strukturirani e-račun → slanje
bez potrebe da korisnik uz svaki račun provodi dodatne korake.
Pritom zatvaramo i nedostatke u Odoo 19 Community
Pri implementaciji naišli smo na nekoliko posebnosti u implementaciji Odoo-a 19.
Među ostalim, u CII exporteru postoje ovisnosti koje izvan određenih nacionalnih instalacija mogu dovesti do problema.
Naš modul pritom otklanja nekoliko tih praktičnih ograničenja.
To uključuje, među ostalim:
- nedostajuća polja za razdoblja odgođenih prihoda (Deferred Revenue)
- ograničenje PDF/A-3 konverzije na pojedine zemlje
- nedostajuće odnosno nepostavljene bankovne podatke na postojećim računima
Time bi se ZUGFeRD pouzdano mogao koristiti i u tvrtkama izvan prvotno predviđenih konstelacija zemalja.
e-Rechnung.gv.at – izravna dostava austrijskoj državi
Treća komponenta posebno je zanimljiva tvrtkama koje izdaju račune javnim naručiteljima.
Pomoću
l10n_at_erechnung_gv_at
ebInterface račun može se izravno poslati austrijskom web servisu e-Rechnung.gv.at.
Tako se od puke izrade računa dobiva automatizirani proces elektroničkog izdavanja računa.
Tijek može, na primjer, izgledati ovako:
Izraditi račun u Odoo-u
↓
Generirati ebInterface XML
↓
Poslati račun
↓
Automatski dostaviti ebInterface na e-Rechnung.gv.at
Tako se inače ručni proces izravno integrira u Odoo.
Automatska dostava samo za potrebne kupce
Dostava na e-Rechnung.gv.at ne aktivira se paušalno za svakog kupca.
Umjesto toga može se aktivirati kod pojedinog austrijskog kupca.
U tu se svrhu potrebni podaci, primjerice
- Broj dobavljača
- Grupa kupaca / broj poslovnice
- Referenca narudžbe
pohranjuju kod kupca.
Modul pritom provjerava i jesu li ispunjeni uvjeti za aktivaciju.
Testni i produktivni rad
Za e-Rechnung.gv.at može se birati između testnog i produktivnog okruženja.
Pristupni podaci za USP web servis pohranjuju se u postavkama Odoo-a.
Tako se integracija može najprije pripremiti u testnom okruženju, prije nego što se uvede za produktivno slanje računa.
Automatizacija umjesto dodatnog posla
Naš cilj pri razvoju nije bio računovođi dati još više gumba.
Naprotiv.
Zamisao je:
Što manje ručnog rada.
Račun se izrađuje u Odoo-u.
Potrebni strukturirani formati generiraju se automatski.
Pri slanju se odgovarajuće datoteke automatski prilažu.
A kod ispravno konfiguriranih austrijskih kupaca račun se dodatno može automatski dostaviti na e-Rechnung.gv.at.
Upravo ta automatizacija čini razliku između običnog izvoza datoteka i doista integriranog rješenja za e-račune.
Kvaliteta podataka ne skriva se samo tako
Važna točka naše implementacije je, međutim, i sljedeća:
Elektronički račun može biti samo onoliko dobar koliko su dobri podaci iz kojih se generira.
Zato ne pokušavamo nedostajuće obvezne podatke prešutno zamijeniti nekim proizvoljnim vrijednostima.
Ako, primjerice, nedostaju obvezni podaci za ZUGFeRD ili ebInterface, Odoo bi na to trebao upozoriti korisnika.
To uključuje, primjerice:
- nedostajuću državu kod kupca
- nedostajuće porezne podatke na stavkama računa
- nedostajuće bankovne podatke
S naše je točke gledišta to bolje nego poslati formalno generiran, ali sadržajno pogrešan elektronički račun.
Open source za Odoo Community
I ovaj projekt stavljamo na raspolaganje besplatno kao open source.
Zašto?
Jer i sami imamo koristi od open source softvera.
Odoo Community nudi izvrsnu osnovu za ERP, računovodstvo i poslovne procese. Ako nam u svakodnevnom radu nedostaje neka funkcija, razvijemo je.
A ako rješenje može biti zanimljivo i drugim tvrtkama, stavljamo ga na raspolaganje zajednici.
Za nas je to življeni open source.
Austrijski fokus – ali ne samo za Austriju
Projekt ima jasno austrijsko težište.
ebInterface i e-Rechnung.gv.at zanimljivi su ponajprije austrijskim tvrtkama.
Podrška za ZUGFeRD, nasuprot tome, relevantna je i za tvrtke izvan Austrije.
Projekt tako nije isključivo austrijsko rješenje.
Upravo kombinacija strukturiranih podataka računa i automatski generiranog PDF/A-3 dokumenta može biti zanimljiva i drugim Odoo instalacijama.
Za Odoo 19 Community
Moduli su razvijeni za Odoo 19 Community.
Repozitorij trenutačno sadrži:
- l10n_at_ebinterface
- account_invoice_zugferd_ebinterface_auto
- l10n_at_erechnung_gv_at
Moduli su međusobno ovisni, tako da je ovisno o slučaju uporabe potrebno instalirati samo one komponente koje su potrebne.
Naš doprinos zajednici
Ovaj projekt ne vidimo kao gotov komercijalni softver, nego kao doprinos daljnjem razvoju Odoo zajednice.
Možda nekome treba samo ebInterface.
Možda nekoj drugoj tvrtki treba ZUGFeRD.
Možda neka tvrtka redovito mora slati račune javnim naručiteljima putem e-Rechnung.gv.at.
U sva tri slučaja naš projekt može poslužiti kao temelj.
A budući da je izvorni kôd otvoreno dostupan, svaki korisnik može rješenje provjeriti, prilagoditi i dalje razvijati.
Open source znači: zajedno postajemo bolji
Uvjereni smo da open source nudi veliku prednost upravo kod ERP sustava.
Tvrtke imaju različite zahtjeve.
Rješenje koje savršeno funkcionira za jednu tvrtku, za drugu će se možda trebati prilagoditi.
S otvorenim izvornim kôdom to je moguće.
Zato nas vesele:
- Povratne informacije
- Bug Reports
- Prijedlozi poboljšanja
- Pull Requests
- dodatni podržani slučajevi uporabe
Dobro rješenje zajednice ne nastaje nužno već s prvim commitom.
Nastaje daljnjim razvojem od strane mnogih korisnika i programera.
Besplatno koristite projekt
Cjelokupni izvorni kôd javno je dostupan na GitHubu:
GitHub – Odoo 19 Invoice E-Files
Tamo se nalaze i informacije o instalaciji te dokumentacija pojedinih modula.
Za integraciju austrijskog web servisa e-Rechnung.gv.at dodatno je potrebna Python biblioteka Zeep.
Naš doprinos otvorenom Odoo svijetu
Ovim projektom želimo pokazati da i manji vlastiti razvoji mogu stvoriti dodanu vrijednost za cijelu zajednicu.
Module smo izvorno razvili kako bismo riješili konkretne zahtjeve.
Sada ta rješenja besplatno stavljamo na raspolaganje svim korisnicima Odoo 19 Communityja.
Tako se iz pojedinačnog razvoja može stvoriti rješenje zajednice.
Odoo 19. Open source. Elektronički računi. Austrija. I besplatno za zajednicu.
Upravo zato smo objavili ovaj projekt.