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.

Lista stavki za ručno zatvaranje

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.

Primjer cross-account neusklađenosti: 4500 (-1.322,33) i 4560 (+1.322,33)

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)

Rezultat testnog moda

Izvršavanje

Rezultat izvršavanja - 19 grupa (45 stavki) po Pravilu 1, 2 grupe (15 stavki) po Pravilu 2

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