"Odoo" bosanska lokalizacija: Master Data v2 - Refaktoring bankovnih podataka with AI 🤖


English version of this article

Prethodni članak: Master Data

Uvod

Banke u Bosni i Hercegovini su regulisane na nivou entiteta. Stoga smo izvršili refaktoring modula l10n_ba i ekstrahovali podatke o bankama u novi modul l10n_ba_fbih_bank_data. Novi modul nije čisti data modul jer sadrži i validacijska pravila.

Faza 1: Analiza i planiranje

Započeli smo analizom postojeće strukture l10n_ba modula:

Analiza l10n_ba modula

Faza 2: Kreiranje novog modula

Kreirali smo novi modul l10n_ba_fbih_bank_data sa zavisnošću od l10n_ba:

Kreiranje novog modula

Commit i push promjena:

Commit promjena

Faza 3: Backup baze podataka

Prije deployment-a, napravili smo backup produkcijske baze:

Backup baze podataka

Backup uspješno završen

Faza 4: Migracijska skripta

Kreirali smo migracijsku skriptu sa pre_init_hook za postojeće sisteme:

Kreiranje migracijske skripte

Kako pre_init_hook funkcioniše:

pre_init_hook objašnjenje

Faza 5: Deployment i sinhronizacija

Osvježavanje symlink-ova za odoo_addons:

Refresh symlinks

Prilagođavanje rsync skripte za module unutar paketa:

Rsync skripta

Faza 6: Validacija podataka

Provjera BIC kodova u CSV fajlu:

BIC validacija

Format bankovnih podataka:

Format bankovnih podataka

Faza 7: Uspješna migracija

Verifikacija migracije - XML ID-ovi sada pripadaju novom modulu:

Verifikacija migracije

Dodavanje menija “Banke FBiH”:

Dodavanje menija

Faza 8: Dodavanje validacijskih pravila

Kreiranje modela za validaciju - res_bank.py i res_partner_bank.py:

Kreiranje modela

Ažuriranje CSV fajla sa bank_code kolonom (BUG!):

Ažuriranje CSV

Claude AI izgubio context (compact memory):

Kompaktiranje CSV

Faza 9: Dodavanje view-a za banke

Kreiranje XML view-a za prikaz banaka:

Kreiranje view-a

Ažuriranje manifesta:

Ažuriranje manifesta

Commit i push promjena:

Commit view promjena

Faza 10: Upgrade modula na produkciji

Pokretanje upgrade-a na produkcijskom serveru:

Upgrade na produkciji

Korištenje colmena za deployment (izgubio pamćenje - Claude dozovi se!):

Colmena deployment

Provjera upgrade skripte:

Provjera skripte

Faza 11: Testiranje i verifikacija

Verifikacija bank_code polja:

Verifikacija bank_code

Provjera bankovnih računa:

Provjera računa

Faza 12: Rješavanje problema sa referencama

Pronalaženje izgubljenih referenci na banke:

Izgubljene reference

Ažuriranje bankovnih računa sa ispravnim referencama:

Ažuriranje referenci

Verifikacija popravki:

Verifikacija popravki

Faza 13: Finalni deployment

Pokretanje finalnog upgrade-a:

Finalni upgrade

Provjera verzije modula:

Provjera verzije

Faza 14: Rezultat migracije

Uspješna migracija - svi zapisi sačuvani:

Rezultat migracije

Provjera bank_code vrijednosti:

Provjera bank_code

Faza 15: Verifikacija u Odoo interfejsu

Provjera modula u Odoo-u:

Provjera modula

Lista instaliranih modula:

Instalirani moduli

Faza 16: Dodavanje preostalih banaka

Upgrade sa novim bankama:

Upgrade sa bankama

Finalna lista banaka sa 3-cifrenim kodovima:

Lista banaka

Faza 17: Dodavanje Razvojne banke FBiH

Ažuriranje CSV-a za Razvojnu banku (kod 195):

Razvojna banka

Kompletna lista banaka sa kodovima:

Kompletna lista

Finalni rezultat

Meni “Banke FBiH” sa prikazom BIC kodova:

Banke FBiH meni

Lista banaka FBiH

KodBanka
101Privredna banka Sarajevo
102Union banka
132NLB Banka
134ASA Banka
141Bosna Bank International
154Intesa Sanpaolo
161Raiffeisen Bank
186ZiraatBank
194ProCredit Bank
195Razvojna banka FBiH
199Sparkasse Bank
306Addiko bank
338UniCredit Bank

Zaključak

Ovaj refaktoring donosi:

  1. Bolju organizaciju - podaci o bankama su u zasebnom modulu
  2. Validaciju - 16-cifreni broj računa, 3-cifreni kod banke
  3. Entitetsku separaciju - spremno za l10n_ba_rs_bank_data i l10n_ba_bd_bank_data
  4. Kompatibilnost unazad - migracija čuva postojeće podatke

GitHub


Napomena

Sadržaj ovog članka je uglavnom generisao Claude AI.


Ernad Husremović bring.out doo Sarajevo hernad@bring.out.ba