Zašto u Bosni i Hercegovini, Crnoj Gori, Hrvatskoj i Srbiji nemamo nijednu OCA "Odoo" kvalitetnu lokalizaciju


English version of this article

Problem: Dupliciranje umjesto kolaboracije

Svaki Odoo implementator u Bosni i Hercegovini, Hrvatskoj i Srbiji suočava se sa istim izazovima:

  • Dupliciranje osnovnih fiskalnih lokalizacija
  • Pojedinačno održavanje usklađenosti sa propisima
  • Trošenje vremena na commodity funkcije umjesto na inovacije za klijente
  • Konkurencija na infrastrukturi umjesto na ekspertizi

Procjenjujemo da svaka firma troši 200-400 sati godišnje na redundantni razvoj.

Zašto Španija i Rumunija imaju, a mi nemamo?

Uspjesi: Španija i Rumunija

Kritična masa kompanija: Obe zemlje imaju veliki broj preduzeća koja koriste Odoo, što stvara prirodan podsticaj za zajednički razvoj. Španija posebno ima jak sektor malih i srednjih preduzeća koji su rano usvojili Odoo.

Jako tehničko obrazovanje: Obe zemlje imaju robustne tehničke univerzitete koji proizvode developere upoznate sa Python-om i open-source principima. Rumunija je posebno postala evropski tech hub.

Rani usvajači sa vizijom: Ključne kompanije ili pojedinci su rano zagovarali open-source lokalizaciju, postavljajući ton za kolaboraciju. U Španiji su kompanije poput Tecnativa i ACSONE postale glavni OCA kontributori.

Ekonomski podsticaji: Dijeljenje troškova lokalizacije između više implementatora ima ekonomski smisao. Ove zemlje su imale dovoljno implementatora da kolaboracija bude isplativa.

Jezička prednost: Španski jezik kao glavni svjetski jezik stvara spillover benefite - španske lokalizacije se mogu adaptirati za Latinsku Ameriku, povećavajući ROI na razvoj.

Izazovi u našem regionu

Fragmentacija tržišta: Manja tržišta sa manje Odoo implementacija znače manji podsticaj za razvoj zajednice. Individualnim kompanijama može biti lakše razvijati proprietary rješenja.

Konkurentski mindset: Na manjim tržištima, implementatori mogu vidjeti lokalizaciju kao konkurentsku prednost, umjesto kao zajedničku infrastrukturu. Ovo “zero-sum” razmišljanje inhibira kolaboraciju.

Nedostatak anchor kontributora: Bez velike kompanije ili organizacije koja predvodi i kontinuirano doprinosi, napori zajednice ne dobijaju momentum.

Ograničeni resursi: Manje implementacione kompanije možda nemaju resurse da doprinose open-source razvoju dok upravljaju klijentskim projektima.

Regulatorna složenost: Složeni ili često mijenjani propisi mogu obeshrabriti open-source razvoj, jer kompanije strahuju od odgovornosti ili preferiraju proprietary rješenja.

Tehnička realnost: Šta dijelimo, šta ne dijelimo

Dijelimo (zajednička infrastruktura):

  • Osnovne fiskalne lokalizacije (porezni kodovi, fiskalne pozicije)
  • Banking integracije (import izvoda, SEPA adaptacije)
  • Regulatorni izvještaji (PDV, statistički izvještaji)
  • Payment gateway integracije

Ne dijelimo (konkurentska prednost):

  • Klijent-specifične customizacije
  • Industry vertical rješenja
  • Implementacione metodologije
  • Odnosi sa klijentima

Ekonomika zajedničkog razvoja

Trenutno stanje: Svaka kompanija troši 400 sati/godišnje × 50 EUR/sat = 20.000 EUR na osnovnu lokalizaciju

Moguće stanje: 10 kompanija × 2.000 EUR godišnji doprinos = 20.000 EUR zajednički pool

Rezultat:

  • Ista pokrivenost funkcionalnosti
  • 90% manje individualnih troškova
  • Viši kvalitet kroz peer review
  • Brže implementiranje novih propisa

Prvi praktični korak: l10n_adriatic_banking

Umjesto priče, konkretna tehnika. Evo strukture modula koji svako treba i koji je politički neutralan:

Struktura modula

l10n_adriatic_banking/
├── __manifest__.py
├── README.rst
├── data/
│   ├── res.bank.csv          # Podaci regionalnih banaka
│   └── account.journal.xml
├── models/
│   ├── res_bank.py
│   └── account_bank_statement_import.py
├── wizard/
│   └── mt940_parser_adriatic.py  # Regionalni MT940 varijanti
├── tests/
│   ├── test_mt940_import.py
│   └── fixtures/
│       ├── sample_raiffeisen.mt940
│       ├── sample_unicredit.mt940
│       └── sample_intesa.mt940

Ključni tehnički detalji

Encoding challenge: Regionalne banke koriste različite encoding-e (Windows-1250, UTF-8, Latin-2). Parser mora rukovati sve varijante:

def _decode_regional(self, data):
    """Try multiple encodings common in the region"""
    encodings = ['utf-8', 'windows-1250', 'iso-8859-2']
    for encoding in encodings:
        try:
            return data.decode(encoding)
        except UnicodeDecodeError:
            continue
    raise ValueError('Unable to decode file')

Bank-specific MT940 variants: Svaka banka ima svoje specifičnosti u MT940 formatu. Modul treba podržati sve glavne varijante.

Podaci banaka: Centralizovana baza podataka za sve regionalne banke (SWIFT, BIC, nacionalni kodovi).

Praktični akcioni plan

Faza 1: Mapiranje terena (1-3 mjeseca)

  1. Lista svih Odoo implementatora u BiH, Srbiji, Hrvatskoj
  2. Identifikacija ko već radi lokalizacije (čak i proprietary)
  3. Dokumentacija šta svi dupliciramo
  4. Pronalaženje zajedničkih potreba

Faza 2: Prvi zajednički modul (3-6 mjeseci)

  1. Izbor pravog prvog projekta (npr. banking integracija)
  2. Strukturiranje kolaboracije sa jasnim cost-sharing modelom
  3. Kreiranje infrastrukture (GitHub organizacija, komunikacioni kanali)
  4. Mjesečni video pozivi i transparentna dokumentacija

Faza 3: Izgradnja momentuma (6-12 mjeseci)

  1. Akademski pristup: Partnerstvo sa univerzitetima
  2. Enterprise pristup: Uključivanje community razvoja u proposal-e
  3. Regionalna integracija: Organizacija “Adriatic Odoo Day” događaja

Tehnički prioriteti modula

Immediate wins (potrebno svima odmah):

  • l10n_ba_hr_rs_base - Zajednički regionalni base modul
  • account_banking_sepa_adriatic - Regionalne SEPA adaptacije
  • l10n_ba_fiscal_printer - Integracije fiskalnih uređaja

Medium-term (kolaborativni potencijal):

  • hr_payroll_balkans - Base payroll pravila (customizacija po državi)
  • stock_delivery_posta - Integracije regionalnih poštanskih servisa
  • account_invoice_ubl_rs_hr_ba - e-Invoice implementacije

Prevazilaženje regionalnih izazova

Problem povjerenja

  • Rješenje: Započeti sa kodom, ne sa obećanjima
  • Doprinijeti nešto korisno unilateralno prvo
  • Dokumentovati sve transparentno
  • Koristiti OCA infrastrukturu za neutralnost

Problem konkurencije

  • “Konkurišemo na kvalitetu implementacije, ne na osnovnoj usklađenosti”
  • “Klijenti nas ne biraju zbog VAT kalkulacija, biraju nas zbog razumijevanja poslovanja”
  • “Svaki sat koji ne trošimo na osnovnu lokalizaciju je sat za value-added usluge”

Problem resursa

  • Aplicirati za EU fondove (Horizon Europe, IPA fondovi)
  • Pozicionirati kao “digitalna infrastruktura za regionalne SME-ove”
  • Partnerstvo sa dijaspora tech kompanijama

Trenutna strategija “bring.out” razvoja na open-source “Odoo” platformi:

Više o našoj trenutnoj strategiji razvoja možete pročitati u zasebnom blog postu: Trenutna strategija bring.out: “Odoo” open-source “iza zatvorenih vrata”

Poziv na akciju

Pozivamo sve Odoo implementatore iz regije:

  1. Pregledajte naš kod - https://github.com/bringout/odoo-bringout-l10n_ba
  2. Kontaktirajte nas - Hajde da razgovaramo o konkretnoj kolaboraciji
  3. Podijelite svoje potrebe - Šta vam nedostaje? Šta duplicirate?
  4. Pridružite se raspravi - Ovaj blog post je početak, ne kraj

Reference


Sadržaj kreiran uz pomoć Claude AI 🤖 prema Ernadovim uputama

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