Bosanska lokalizacija "Odoo" open-source platforme, Modul za automatsko zatvaranje stavki: l10n_ba_auto_reconcile
Problem: Nezatvorene stavke koje zahtijevaju ručno zatvaranje
U svakodnevnom radu sa Odoo računovodstvom, na kontima obaveza za plaće (klasa 45) nakupljaju se stavke koje zahtijevaju ručno zatvaranje (reconciliation). Iako su mnoge od ovih stavki jasni slučajevi - isti konto, isti partner, saldo jednak nuli - Odoo ih ne zatvara automatski.

Zašto Odoo ne zatvara ove stavke automatski?
Odoo-ov ugrađeni mehanizam za automatsko zatvaranje je fokusiran na bankovne izvode. Kada se obradi bankovni izvod, sistem pokušava upariti bankovnu liniju sa otvorenim fakturama. Međutim, za konta obaveza za plaće (4500, 4510, 4520…), obaveza nastaje kroz obračun plata, a plaćanje dolazi kroz bankovni izvod. Niko ne pokreće zatvaranje na strani konta obaveza.
Rješenje: Modul l10n_ba_auto_reconcile
Razvili smo modul koji implementira dva pravila za automatsko zatvaranje:
Pravilo 1: Isti konto + isti partner
Grupiše nezatvorene proknjižene stavke po kontu i partneru. Ako je zbir rezidualnih iznosa (amount_residual) jednak nuli, stavke se automatski zatvaraju.
Primjeri stavki koje ovo pravilo zatvara:
- Konto 4520 / Doprinos zdravstvo ZEDO Kanton: obračun plate (potražuje) + uplata sa banke (duguje)
- Konto 4510 / Porez na dohodak FBiH: obračun poreza + uplata
- Konto 4320 / Dobavljači: faktura + plaćanje
Korištenje amount_residual umjesto debit/credit je ključno - parcijalno zatvorene stavke imaju rezidualni iznos koji odražava samo preostali nezatvoreni dio.
Pravilo 2: Ista klasa konta + isti partner
Ovo pravilo rješava složeniji problem: kada se obaveze knjige na jedan konto (npr. 4500 - neto plaće), a plaćanja na drugi konto iste klase (npr. 4560 - ostala primanja), jer banka plaćanje evidentira zbirno.

U ovom primjeru, partner “Jasmin Beganović (plate i blagajna)” ima:
- Konto 4500: rezidualni saldo -1.322,33 KM
- Konto 4560: rezidualni saldo +1.322,33 KM
- Zbir na nivou klase 45: 0,00 KM
Modul automatski kreira preknjiženje (temeljnicu) u dnevniku “Razno”:
- Duguje 4500: 1.322,33 KM
- Potražuje 4560: 1.322,33 KM
Nakon čega zatvara sve stavke na oba konta.
Wizard za pokretanje
Modul se pokreće kroz meni Accounting > Journal Entries > Auto Reconcile. Wizard nudi opcije:
- Klase konta - dvocifreni prefiksi za Pravilo 2 (default: 45)
- Dnevnik za preknjiženja - dnevnik za kreiranje temeljnica (default: Razno)
- Samo prikaz - testni mod bez stvarnog zatvaranja
Testni mod (Samo prikaz)

Izvršavanje

Rezultati u našem slučaju:
- Pravilo 1: Zatvoreno 19 grupa (45 stavki) - konti doprinosa, poreza, dobavljača
- Pravilo 2: Zatvoreno 2 grupe (15 stavki), kreirano 1 preknjiženje za 4500/4560
Automatsko pokretanje (Cron)
Modul uključuje zakazanu akciju koja se može aktivirati u Settings > Technical > Scheduled Actions. Podrazumijevano je deaktivirana - korisnik je aktivira kada želi dnevno automatsko zatvaranje.
Napomena
Generisano od strane Claude 🤖
Ernad Husremović, hernad@bring.out.ba