"Odoo" import izvoda BBI banke - "Claude" opet spašava dan
Uvod
Odoo ima generički modul za importovanje bankovnih izvoda. Modul funkcioniše na taj način da se za svaku banku mogu mapirati značenja polja iz CSV ili Excel fajla.
BBI banka nema Excel ili CSV import, samo exporte u TXT i XML formatu koji nisu kompatibilni sa generičkim Odoo modulom.
Zaobilazno rješenje ovog problema je bilo “copy-paste” transakcija iz pregleda transakcija BBI web aplikacije.
Međutim, prije nekoliko dana, to rješenje više nije bilo iskoristivo, jer je BBI izmjenila format tog HTML pregleda.1
Claude, upomoć!
Animirani prikaz rješenja
Automatski proces transformacije BBI izvoda - od copy-paste teksta do Excel fajla spremnog za Odoo import
Rješenje: Python skripta u četiri iteracije
Claude-u sam zadao zadatak da mi pomogne u pripremi ovog fajla za import. U nekoliko iteracija došao sam do željenog rješenja.
Kompletan izvještaj sesije: GitHub Gist
Iteracija 1-2: Osnovna transformacija
Skripta je trebala obaviti nekoliko transformacija:
- Spajanje linija: Kombinovanje linija datuma sa odgovarajućim detaljima
- Uklanjanje naziva banke: Čuvanje samo broja računa
- Izuzeci: Dodavanje placeholder “0000000000000” za transakcije bez broja računa u liniji datuma
- Čuvanje TAB separatora: Održavanje TAB formata kroz cijelu obradu
Primjer transformacije:
Ulaz (3 linije):
31.10.25
BBI DD Sarajevo 1249253040684204000001 Naplata mjesečne naknade
Izlaz (1 linija):
31.10.25 0000000000000 1249253040684204000001 Naplata mjesečne...
Iteracija 3: CSV export
Dodavanje automatskog exporta u CSV format sa TAB separatorom.
Iteracija 4: Kompletan workflow - do Excel-a
Finalna verzija skripte automatizuje kompletan proces:
- Obrađuje TXT fajl
- Kreira CSV sa TAB separatorom
- Automatski konvertuje u XLSX (headless mode)
- Otvara rezultat u LibreOffice Calc
Tehnička implementacija konverzije
Skripta koristi dva pristupa za kreiranje Excel fajla:
1. openpyxl biblioteka (primarno):
from openpyxl import Workbook
from openpyxl.styles import numbers
wb = Workbook()
ws = wb.active
# Formatiranje kolona
for row in csv_reader:
# Kolona A: Datumi (DD.MM.YY format)
cell = ws.cell(row=row_num, column=1, value=date_value)
cell.number_format = 'DD.MM.YY'
# Kolona B: Brojevi računa (text format - čuva vodeće nule)
cell = ws.cell(row=row_num, column=2, value=account_value)
cell.number_format = '@' # Text format
Prednosti:
- Precizna kontrola formatiranja
- Datumi se formatiraju kao DD.MM.YY
- Brojevi računa kao tekst (čuva vodeće nule)
2. LibreOffice headless (fallback):
libreoffice --headless --convert-to xlsx \
--infilter="CSV:9,34,UTF8" input.csv
Parametri:
9= TAB separator34= Text delimiter (”)UTF8= Encoding
Način korištenja
Jednostavna komanda:
python bbi_create_xlsx_for_odoo_import.py bbi_0710.txt
Jedna komanda automatski proizvodi formatirani XLSX fajl spreman za Odoo import!
Alati koje koristimo
- Claude Code - AI asistent za razvoj (Sonnet 4.5)
- Python 3 - Programski jezik
- openpyxl - Excel manipulacija
- LibreOffice - Headless konverzija (fallback)
- Odoo 16 - ERP platforma za koju pripremamo import
Zaključak
Ono što je moglo biti veliki problem brzo je riješeno uz pomoć Claude-a. Korisnička procedura je pojednostavljena:2
- Copy-paste iz BBI web aplikacije u TXT fajl
- Pokreni Python skriptu
- Import XLSX u Odoo
Status: ✅ Funkcionalnost implementirana i testirana.
Širi kontekst: AI alati i bring.out
Ovaj blog post je dio veće priče o tome kako su AI alati transformisali naš način razvoja softvera.
👉 Pročitajte cijelu priču: Kako smo postali najveći proizvođači software-a na Odoo open-source platformi u Bosni i Hercegovini
U tom postu možete saznati:
- Kako smo otkrili AI alate preko slučajnog razgovora
- Zašto je terminal pravo mjesto za AI kolaboraciju
- Priča o “Džemi” - našem prvom AI agentu
- Kako smo završili projekat 15 dana prije roka
- Šta AI alati znače za našu poziciju na Odoo tržištu u BiH
Napomene
Ovaj sadržaj je napisao claude.ai 🤖 prema Ernadovim uputama.