Åtta månader, tolv moduler och några tusen koppar kaffe
I augusti 2025 bestämde jag mig för att byta från Zoho till Odoo. Nu, åtta månader senare, har jag byggt tolv egna moduler, importerat 18 000 produkter och automatiserat en stor del av PlastShops orderhantering. Dags att summera.
Vad som funkar bättre än förväntat
Odoos modularkitektur är genial. Jag kan bygga en modul som hanterar tekniska datablad (arc_industrial_core) och sedan utöka den med ärenden och avtal (arc_industrial_ops) utan att röra kärnan. Allt delar samma databas, samma kontakter, samma produktregister. Det eliminerar den datasynkningsproblematik som drev mig galen i Zoho.
Python som utvecklingsspråk var ett klokt val. Jag hade kunnat fastna i ett system byggt på PHP eller Java, men Python gör att jag kan prototypa snabbt och refaktorera utan att vilja kasta datorn i väggen. ORM:en är överraskande kraftfull när man lärt sig den.
Docker-baserad deployment förenklar allt. En docker-compose.yml med Odoo, PostgreSQL och nginx. Backup är en pg_dump. Restore är en pg_restore. Inga mystiska molntjänster som gömmer min egen data bakom tre lager av abstraktioner.
Vad som var svårare än jag trodde
Odoos OWL 2.0-ramverk för frontend. Dokumentationen är tunn, exemplen är få, och felmeddelanden är kryptiska. Jag spenderade tre veckor bara på att få Quick View-modalen i arc_theme_industrial att fungera korrekt med produktvarianter. Tre. Veckor.
XML-vyerna. Odoo bygger sitt UI med XML-arv, där du patchas in i befintliga vyer med xpath-uttryck. Det är kraftfullt men också den mest fruktlösa felsökningen jag upplevt. Ett felplacerat xpath kan tysta ned hela vyn utan ett enda felmeddelande.
Produktvarianter med dynamisk generering. Det finns ett val i Odoo som heter create_variant. Om du sätter det till ”always” genererar systemet alla tänkbara kombinationer direkt. Med 20 material, 10 tjocklekar och 15 bredder blir det 3000 varianter per produkt. Gånger 18 000 produkter. Servern tackade nej. Lösningen: ”dynamic” som skapar varianter vid behov.
Community Edition saknar saker. Studio-editorn finns inte. Rapportbyggaren är begränsad. API-autentisering med api_key finns bara i Enterprise. Jag byggde egna lösningar med Bearer tokens, men det tar tid som kunde lagts på annat.
AI som parprogrammerare
Det här projektet hade inte varit möjligt utan Claude som AI-parprogrammerare. Inte för att jag inte kunde skriva koden, utan för att jag behövde en som förstod Odoo 18:s specifika egenheter. Vilka fält som är computed. Vilka hooks som finns. Hur man ärver en JavaScript-komponent i OWL 2.0.
Jag använder Claude för arkitektur, bugganalys och kodgranskning. Repetitiva uppgifter som översättningar och boilerplate delegerar jag till Groq via n8n-workflows. Det ger en bra balans mellan kvalitet och kostnad.
Men AI ersätter inte domänkunskap. Jag vet hur PlastShops kunder beställer plast. Jag vet vilka fält som behövs på ett tekniskt datablad. Den kunskapen kan ingen modell ha. AI accelererar implementation men den kan inte ersätta förståelsen för vad som faktiskt ska byggas.
Siffror
Tolv egna moduler (alla med arc_-prefix). 18 000 produkter importerade. 19 aktiva n8n-workflows. En server med 32 GB RAM som knappt svettas. Total kostnad i mjukvarulicenser: noll kronor. Total investering i tid: uppskattningsvis 800 timmar.
Hade det gått snabbare med Odoo Enterprise? Förmodligen. Kanske 30% snabbare tack vare Studio, bättre rapportering och officiell support. Men jag hade förlorat friheten att modifiera kärnan, och den friheten har visat sig avgörande minst fem gånger.
Vad jag skulle göra annorlunda
Börja med en tydligare datamodell. Jag refaktorerade produktimportsflödet tre gånger innan det satt. Hade jag spenderat en vecka extra på att rita upp relationer och attribut i förväg hade det sparat minst en månad.
Testa med riktig data från dag ett. Utveckling med 50 testprodukter ger en falsk trygghet. Det är först med 18 000 produkter och 150 000 varianter som prestandaproblem dyker upp. Och de dyker upp överallt.
Inte underskatta temat. Jag trodde att webbshopens utseende var en veckas jobb. arc_theme_industrial tog tre veckor och är fortfarande den modul jag är minst nöjd med. Frontend-utveckling i Odoo är ett eget universum.
Skulle jag göra det igen?
Ja. Utan tvekan. Inte för att det var enkelt. Inte för att det var billigt i tid. Men för att jag nu äger mitt affärssystem. Varje rad kod, varje databastabell, varje automationsflöde. Ingen leverantör kan höja priset, stänga ned en funktion eller tvinga mig till en uppgradering jag inte vill ha.
Om du driver ett B2B-företag med komplexa produkter och krav som inte passar i en standardmall, titta på Odoo CE. Men gå in med öppna ögon. Det är inte en helglösning. Det är ett projekt. Ett riktigt bra sådant.
Vad tycker du?
Jag vill gärna höra dina tankar. Kommentera nedan eller nå mig på LinkedIn.

