Bosanska lokalizacija Odoo platforme (l10n_ba_pdv): Hronika jednog BUG-a u 7 slika


Slika 1: Detekcija anomalije

Sve je počelo jednostavnom primjedbom u Nextcloud Talk kanalu našeg računovodstva: “Amazon Web Services partner ima tip dokumenta 05 (ino nabavke), ali u CSV izvozi se kao 01.”

Odgovor je bio jasan: “To je neki bug ako nije 05”.

Početak razgovora - detekcija buga

Slika 2: Analiza izvora podataka

Pregled Excel (XLSX) izvoza pokazuje da su podaci ispravni - tip “05” je pravilno prikazan za ino nabavke (redovi 2, 4, 11, 12, 13). Međutim, CSV fajl pokazuje drugačiju sliku…

Excel tabela sa tipovima dokumenata

Slika 3: Claude Code na sceni - pronađen uzrok!

Claude Code (Opus 4.5) ulazi u igru. Nakon analize l10n_ba_pdv modula, pronađen je korijen problema u report_csv_eisporuke.py:

def _eisporuke_get_tip(self, isporuka):
    return "01"  # <- BUG: Hardkodirano!

Metoda uvijek vraća “01” bez obzira na stvarnu vrijednost tip polja u zapisu!

Poređenje:

  • XLSX (report_xlsx.py:324): Koristi isporuka.tip direktno - ISPRAVNO
  • CSV (report_csv_eisporuke.py:114): Koristi _eisporuke_get_tip(isporuka) - BUG
Claude Code pronalazi root cause buga

Slika 4: Ažuriranje verzije

Nova verzija modula: 16.0.3.9.4 → 16.0.3.9.5

Ažuriranje verzije modula

Slika 5: Commit i deploy na produkciju

Ispravka je jednostavna ali kritična:

  • Prije: self._eisporuke_get_tip(isporuka)
  • Poslije: isporuka.tip

Uklonjena je nekorištena metoda _eisporuke_get_tip() koja je uvijek vraćala hardkodirano “01”.

Summary of changes:
- Version: 16.0.3.9.4 → 16.0.3.9.5
- Fix: Changed self._eisporuke_get_tip(isporuka) to isporuka.tip
- Removed: Unused _eisporuke_get_tip() method
Commit i push na produkciju

Slika 6: Verifikacija - CSV sada prikazuje ispravne tipove

Nakon deploy-a, CSV izvoz sada pravilno prikazuje tip “05” za ino nabavke. Redovi 2, 4, 11, 12, 13 sada imaju ispravnu vrijednost.

Ispravljeni CSV sa ispravnim tipovima

Slika 7: Happy End

“Bug ispravljen. Sada ispravno generiše CSV.”

Od prijave do rješenja: manje od 40 minuta.

Završetak razgovora - bug riješen

Zaključak

Ovaj slučaj ilustruje nekoliko važnih principa:

  1. Korisnici su najbolji testeri - Računovodstvo je primijetilo nekonzistentnost koju automatski testovi nisu uhvatili

  2. Hardkodirane vrijednosti su opasne - Jedna linija return "01" je bila dovoljna da uzrokuje ozbiljan problem u izvještavanju

  3. AI alati ubrzavaju debugging - Claude Code je za nekoliko sekundi pronašao korijen problema analizirajući codebase

  4. Konzistentnost je ključna - XLSX i CSV izvoz moraju koristiti istu logiku za iste podatke

  5. Brza reakcija je bitna - Od prijave do produkcijskog fix-a prošlo je manje od sat vremena


Modul l10n_ba_pdv je dio bring.out bosanske lokalizacije Odoo platforme. Verzija 16.0.3.9.5 sadrži ovu ispravku.


Napomena

🤖 Sadržaj ovog članka generisao je Claude AI 100%. Bravo majstore!