Nordlet vs Odoo for platformbyggere
En sammenligning for udviklere, der vælger mellem en indlejret regnskabs-API og en open source ERP-suite, baseret på produkternes egen dokumentation.
Odoo og Nordlet opføres ofte sammen på shortlistekoncerner af hold bag platforme, men de er ikke den samme type produkt. Odoo er en bred forretningsapplikationssuite med indbygget regnskab, som du kan selvhoste og tilpasse. Nordlet er et regnskabsbackend uden ambitioner ud over regnskab, designet til at blive kaldt fra en andens produkt.
Valget koker som regel ned til to spørgsmål: Hvor meget af din forretning vil du have i ét system, og hvem skal drifte det? Alt nedenfor om Odoo stammer fra Odoos egen dokumentation og prissider, linket hvor det er relevant.
Hvad hvert produkt er
Odoo er en open source-suite, der dækker regnskab, lager, produktion, salg, CRM, HR, websider og mere, og som fås som Odoo Online, på Odoo.sh eller som selvhostet. Dens styrker er bredde, udvidelighed og muligheden for at køre den selv. Landespecifik regnskabsadfærd kommer fra lokaliseringsmoduler, og fællesskabet omkring den er stort.
Nordlet er en cloud-regnskabs-API. Den leverer en uforanderlig (immutable) double-entry hovedbog, fakturering, købsregistreringer, bankfeeds og afstemning, lager, anlægsaktiver, løn, rapportering og EU-moms-håndtering via ét REST-interface - i øjeblikket over 400 endpoints på tværs af 29 moduler, genereret fra en enkelt OpenAPI-specifikation. Der er en applikation, og den kører på de samme endpoints, som eksterne kaldere modtager.
API-spørgsmålet, som afgør de fleste evalueringer
Det er her, produkterne divergerer kraftigst for platformbyggere.
Odoos eksterne API er på model-niveau. Du godkender dig og kalder derefter ORM-metoder på datamodeller som f.eks. account.move for kassekladder og fakturaer, res.partner for kontakter og account.account for kontoplanen over XML-RPC eller JSON-RPC. Dette er kraftfuldt: Alt, hvad systemet kan modellere, kan du nå. Det betyder også, at ansvaret for at bruge modellerne korrekt ligger hos dig, og din integration er koblet til Odoos interne datamodel i stedet for til en stabil domænekontrakt.
To fakta fra Odoos eget materiale ændrer regnestykket:
- Odoos dokumentation angiver, at ekstern API-adgang er tilgængelig på Custom-prisniveauet og ikke på One App Free- eller Standard-planerne. API-adgang er derfor en prismæssig beslutning og ikke kun en teknisk. Aktuelle planer og priser findes på Odoos prisside.
- Odoo har annonceret, at endpointsne
/xmlrpc,/xmlrpc/2og/jsonrpcer planlagt til fjernelse - i Odoo 22 og Odoo Online 21.1 - med en nyere JSON-2 API som erstatning. En integration skrevet mod de nuværende RPC-endpoints har en migration i sin fremtid.
Nordlets API er på domæne-niveau. Operationer er POST /v1/{module}/{resource}/{action} med et JSON-brødtekst, så du kalder sales/invoices/issue i stedet for at manipulere en kassekladdemodel direkte, og regnskabskonsekvenserne er API'ets ansvar. Nøgler bærer rettigheder (scopes) som f.eks. sales:write. Gentagne forsøg (retries) beskyttes af et Idempotency-Key-header: Den samme nøgle med den samme nyttelast afspiller det gemte svar, og den samme nøgle med en ændret nyttelast afvises med idempotency_key_reuse i stedet for at blive accepteret i det stille. Webhook-hændelser skrives til en transaktionel udbakke i den samme databasetransaktion som ændringen, så et dokument, der rulles tilbage, aldrig udsender en hændelse, og leveringer er signeret med en HMAC-signatur, du verificerer.
Sammenligning af funktioner
Celler markeret med "ikke offentligt bekræftet" betyder, at vi ikke kunne verificere funktionen på det niveau, en udvikler ville have brug for, før de forpligter sig. Det er ikke påstande om, at den er fraværende.
| Funktion | Nordlet | Odoo |
|---|---|---|
| Produkttype | Regnskabs-API, hostet | Fuld forretningssuite; hostet eller selvhostet |
| Primært interface | REST-API med typet TypeScript SDK | Webapplikation; ekstern API på model-niveau |
| API-protokol | JSON over HTTPS, RPC-lignende POST pr. handling | XML-RPC og JSON-RPC, hvor en JSON-2 API erstatter dem |
| API-tilgængelighed | Enhver plan, alle moduler | Custom-plan ifølge Odoos dokumentation |
| Double-entry hovedbog | Ja, balance håndhæves af en databasetrigger ved commit | Ja, inden for regnskabsmodulet |
| Låsning af regnskabsperiode | Ja; posteringer dateret inden for en låst periode afvises med 409 |
Låsedatoer understøttes i regnskabsmodulet |
| Idempotensnøgler | Ja, dokumenteret semantik inklusive afspilning og kollision | Ikke offentligt bekræftet for den eksterne API |
| Webhooks | Ja, signerede, gentagne (retries), fra en transaktionel udbakke | Automatiserede handlinger og webhooks findes; leveringsgarantier ikke offentligt bekræftet |
| Revisionslog (audit record) | Enhver mutation med aktør, handling, entitet, diff; søgbar | Chatter og lognoter; omfang varierer efter model |
| EU-moms | Satser pr. land for EU-27, VIES-validering, OSS/IOSS-beregning med rettelser | Landespecifikke lokaliseringsmoduler; dybde varierer efter land |
| E-fakturering | EN 16931 UBL for Peppol BIS 3.0; nationale formater for IT, PL, RO | Lokaliseringsmoduler dækker flere nationale formater |
| Lager, produktion | FIFO-lager, styklister, samling og adskillelse, ruter, arbejdscentre, produktionsordrer med registrering pr. handling, kvalitetskontrol, vedligeholdelse | Omfattende, en kernestyrke |
| CRM, webside, marketing | Kun partnerhenvendelser, grupper og statusser; ingen websidebygger eller marketingværktøjer | Ja, en kernestyrke |
| Selvhosting (self-hosting) | Nej; BYOC-support angivet på Custom-niveauet | Ja |
| Kildekildetilgængelighed | Propriæt | Open source-kerne med betalte udgaver |
| Multivirksomhed | Ubegrænsede virksomheder under én konto, rollebaseret adgang | Multivirksomhed understøttet |
Prismodeller
De kan ikke sammenlignes linje for linje, fordi de opkræver betaling for forskellige ting.
Odoo opkræver betaling pr. bruger pr. måned med et gratis trin begrænset til én enkelt applikation og ekstern API-adgang på Custom-niveauet. For en platform er det ubelejlige, at "brugere" er en dårlig proxy for belastning, når din software, og ikke dit personale, genererer regnskabet. Selvhosting fjerner abonnementsomkostninger og tilføjer infrastruktur- og vedligeholdelsesomkostninger.
Nordlet opkræver betaling pr. forespørgsel (request). Offentliggjorte planer er 10 € pr. måned med 3.000 forespørgsler, 50 € med 30.000 og 300 € med 200.000, hvor yderligere forespørgsler afregnes pr. forespørgsel og en brugerdefineret plan (custom tier) efter anmodning. Enhver plan inkluderer hvert modul og den fulde API; brugere, virksomheder og sandkassevirksomheder er ubegrænsede. En forespørgsel er enhver handling udført via API'et eller appen.
Den praktiske konsekvens: En markedsplads med fire medarbejdere og 50.000 månedlige regnskabshandlinger betaler for 50.000 handlinger under en forbrugsbaseret model og for fire brugere under en prissat-pr.-bruger-model – og tallet pr. bruger flytter sig ikke, når volumen fordobles, hvilket skærer begge veje. Model dine egne tal.
Hvor Odoo er det bedre valg
- Du vil have regnskab, lager, produktion, CRM og en webside i ét system med én database.
- Du har brug for at selvhoste af hensyn til datasuverænitet (data residency), omkostninger eller politik.
- Du vil ændre kildekoden, og du har den interne kapacitet til at vedligeholde disse ændringer på tværs af opgraderinger.
- Dit regnskab er intern virksomhedsadministration snarere end en funktion i det produkt, du sælger.
- Du er i et land, hvor et Odoo-lokaliseringsmodul er stærkt og aktivt vedligeholdt.
Odoos bredde er reel, og ingen regnskabs-API erstatter den.
Hvor Nordlet passer ind
- Din software, ikke dit personale, opretter regnskabshændelserne.
- Du har brug for regnskaber for mange virksomheder under én konto uden et abonnement pr. enhed.
- Du har brug for håndhævede invarianter, som din platform kan stole på: afbalancerede posteringer, hulløs nummerserie, låste perioder, uforanderlig historik, idempotente skrivninger.
- Du vil integrere mod en stabil domænekontrakt i stedet for en intern datamodel.
- Dine EU-momsforpligtelser spænder over flere lande, og du vil hellere undgå selv at vedligeholde denne logik.
Grænserne, sagt lige ud: Nordlet er i tidlig adgang (early access) og onliner designpartnere; det er hostet i stedet for selvhostet; partnerregistre bærer henvendelser, grupper og statusser i stedet for en salgspipeline, og der er ingen websidebygger eller marketingfunktionalitet; løn er kun for Litauen; og indenlandske momsangivelsespakker udgives for tre lande i dag – Litauen (FR0600), Tyskland (UStVA) og Polen (JPK_V7M) – hvor OSS og IOSS beregnes, men ikke indsendes på dine vegne.
Hvad vi ville validere før en beslutning
- Bekræft den Odoo-plan, du faktisk har brug for. Hvis ekstern API-adgang kræver Custom-niveauet, skal du prissætte det niveau efter dit antal brugere, ikke indgangsniveauet.
- Spørg ind til tidsplanen for RPC-migrationen for enhver Odoo-integration, du planlægger at beholde efter den annoncerede fjernelse af de nuværende endpoints.
- Test gentagne forsøg (retries) på begge. Send den samme forespørgsel to gange, og tæl de resulterende posteringer.
- Test låsen. Luk en periode, og prøv derefter at bogføre ind i den.
- Tjek dine specifikke lande. For Odoo: hvilket lokaliseringsmodul og hvor aktivt det vedligeholdes; for Nordlet: hvilke momsudgange der findes for de pågældende lande i dag.
- Model de samlede omkostninger over tre år, inklusive hosting- og opgraderingsindsats, hvis du selvhoster, og vækst i forespørgselsvolumen, hvis du afregner efter forbrug.
FAQ
Er Odoo gratis?
Odoo udgiver et gratis trin begrænset til en enkelt applikation, og community-udgaven er open source. For en platformsintegration er de relevante omkostninger normalt hosting, opgraderinger, vedligeholdelse af lokalisering og det betalte niveau, der kræves for ekstern API-adgang, snarere end selve licensen.
Kan Odoo bruges som en indlejret regnskabsbackend til en markedsplads?
Det kan integreres med, og nogle hold gør præcis det. Overvejelserne er, at den eksterne API fungerer på datamodel-niveau, at API-adgang er knyttet til et bestemt prisniveau, at de nuværende RPC-endpoints er planlagt til udskiftning, og at du påtager dig ansvaret for korrekt brug af regnskabsmodellerne. Valider disse mod dine egne krav i stedet for at antage det ene eller det andet.
Gør Nordlet alt det, Odoo gør?
Nej. Nordlet er regnskab og tilstødende operationer – fakturering, hovedbog, bank, lager, aktiver, produktion, løn, rapportering, EU-moms. Produktion dækker styklister, ruter, arbejdscentre, produktionsordrer med registrering pr. handling, kvalitetskontrol og vedligeholdelse af udstyr uden den efterspørgsels- og kapacitetsplanlægning, som Odoo tilbyder. Partnerregistre bærer henvendelser, grupper og statusser i stedet for en salgspipeline, og der er ingen websidebygger og intet marketingværktøj.
Hvilken er bedre til EU-moms?
Det afhænger af landet. Nordlet leverer EU-momssatser pr. land, VIES-validering, beregning af OSS- og IOSS-angivelser med rettelser for tidligere perioder, i.SAF-registre og EN 16931 UBL, med Litauen som den dybeste landepakke. Odoos dækning kommer fra lokaliseringsmoduler, hvis dybde og vedligeholdelse varierer fra land til land, så det ærlige svar for ethvert specifikt land er at tjekke det lands modul.
Kan jeg selvhoste Nordlet?
Ikke på standardplanerne. Custom-niveauet angiver bring-your-on-cloud-support, hvilket er den samtale, man skal tage, hvis selvhosting er et krav.