Nordlet vs Odoo för plattformsbyggare
En jämförelse för utvecklare som väljer mellan ett inbäddat redovisnings-API och en affärssystemsvit med öppen källkod, baserad på respektive produkts egen dokumentation.
Odoo och Nordlet kortlistas ofta tillsammans av plattformsteam, men de är inte samma typ av produkt. Odoo är en bred affärssystemsvit med inbyggd redovisning som du kan självvärda och modifiera. Nordlet är ett redovisningsbackend utan ambitioner utanför bokföring, utformat för att anropas från någon annans produkt.
Valet brukar koka ner till två frågor: hur stor del av din verksamhet vill du ha i ett och samma system, och vem som ska drifta det. Allt nedan om Odoo kommer från Odoos egen dokumentation och prissidor, länkade där det är relevant.
Vad produkterna är
Odoo är en svit med öppen källkod som omfattar redovisning, lager, tillverkning, försäljning, CRM, HR, webbplatser med mera, tillgängligt som Odoo Online, på Odoo.sh eller självvärdat. Dess styrkor är bredden, utbyggbarheten och möjligheten att köra det själv. Landsspecifik bokföringshantering kommer från lokaliseringsmoduler, och communityn runt omkring är stor.
Nordlet är ett molnbaserat redovisnings-API. Det tillhandahåller en oföränderlig dubbelbokföringsreskontra, fakturering, inköpsbokföring, bankflöden och avstämning, lager, anläggningstillgångar, löner, rapportering och EU-skattehantering via ett enda REST-gränssnitt – för närvarande mer än 400 endpoints fördelade på 29 moduler, genererade från en enda OpenAPI-specifikation. Det finns en applikation, och den körs på samma endpoints som externa anropare får.
API-frågan, som avgör de flesta utvärderingar
Det är här produkterna skiljer sig åt mest drastiskt för plattformsbyggare.
Odoos externa API är på modellnivå. Du autentiserar dig och anropar sedan ORM-metoder på datamodeller som account.move för verifikat och fakturor, res.partner för kontakter och account.account för kontoplanen, över XML-RPC eller JSON-RPC. Detta är kraftfullt: allt som systemet kan modellera kan du nå. Det innebär också att ansvaret för att använda modellerna korrekt ligger hos dig, och din integration är kopplad till Odoos interna datamodell snarare än ett stabilt domänkontrakt.
Två fakta från Odoos eget material förändrar kalkylen:
- Odoos dokumentation anger att extern API-åtkomst är tillgänglig på prisnivån Custom och inte på One App Free- eller Standard-planerna. API-åtkomst är därmed ett prissättningsbeslut, inte bara ett tekniskt sådant. Aktuella planer och priser finns på Odoos prissida.
- Odoo har meddelat att endpoints för
/xmlrpc,/xmlrpc/2och/jsonrpcplaneras att tas bort – i Odoo 22 och Odoo Online 21.1 – med ett nyare JSON-2-API som ersättare. En integration skriven mot de nuvarande RPC-endpoints har en migrering framför sig.
Nordlets API är på domännivå. Operationer utförs som POST /v1/{module}/{resource}/{action} med en JSON-body, vilket gör att du anropar sales/invoices/issue i stället för att manipulera en verifikatsmodell direkt, och de bokföringsmässiga konsekvenserna är API:ets ansvar. Nycklar har behörighetsomfång (scopes) som till exempel sales:write. Omförsök skyddas av en header för Idempotency-Key: samma nyckel med samma payload spelar upp det lagrade svaret, och samma nyckel med en ändrad payload avvisas med idempotency_key_reuse i stället för att accepteras i tysthet. Webhook-händelser skrivs till en transaktionell utgående kö (outbox) i samma databastransaktion som ändringen, så ett återställt dokument skickar aldrig ut en händelse, och leveranser signeras med en HMAC-signatur som du verifierar.
Jämförelse av funktioner
Celler märkta med "inte publikt bekräftat" innebär att vi inte kunde verifiera funktionen på den nivå en utvecklare behöver innan ett beslut fattas. De är inte påståenden om att funktionen saknas.
| Funktion | Nordlet | Odoo |
|---|---|---|
| Produkttyp | Redovisnings-API, hostat | Komplett affärssystemssvit; hostat eller självvärdat |
| Primärt gränssnitt | REST-API med typat TypeScript-SDK | Webbapplikation; externt API på modellnivå |
| API-protokoll | JSON över HTTPS, RPC-liknande POST per åtgärd | XML-RPC och JSON-RPC, med ett JSON-2-API som ersättare |
| API-tillgänglighet | Alla planer, alla moduler | Custom-planen enligt Odoos dokumentation |
| Dubbelbokföringsreskontra | Ja, balans upprätthålls av en databastrigg vid bokföringstillfället | Ja, inom redovisningsmodulen |
| Periodlåsning | Ja; bokföringar daterade i en låst period avvisas med 409 |
Låsdatum stöds i redovisningsmodulen |
| Idempotensnycklar | Ja, dokumenterad semantik inklusive uppspelning och krockhantering | Inte publikt bekräftat för det externa API:et |
| Webhooks | Ja, signewade, med omförsök, från en transaktionell utgående kö | Automatiska åtgärder och webhooks finns; leveransgarantier inte publikt bekräftade |
| Auditlogg | Varje ändring med aktör, åtgärd, entitet, diff; sökbar | Chatter och logganteckningar; omfånget varierar beroende på modell |
| EU-moms | Länderspecifika satser för EU-27, VIES-validering, OSS/IOSS-beräkning med rättelser | Länderspecifika lokaliseringsmoduler; djupet varierar mellan länder |
| E-fakturering | EN 16931 UBL för Peppol BIS 3.0; nationella format för IT, PL, RO | Lokaliseringsmoduler täcker flera nationella format |
| Lager, tillverkning | FIFO-lager, stycklistor, montering och demontering, flöden, arbetsplatser, tillverkningsorder med registrering per operation, kvalitetskontroller, underhåll | Omfattande, en kärnstyrka |
| CRM, webbplats, marknadsföring | Endast partnerförfrågningar, grupper och statusar; ingen webbplatsbyggare eller marknadsföringsverktyg | Ja, en kärnstyrka |
| Självvärdning | Nej; stöd för egen molnmiljö (BYOC) anges på Custom-nivån | Ja |
| Källkodsresurser | Proprietär | Kärna med öppen källkod, med betalutgåvor |
| Flerbolagsstöd | Obegränsat antal bolag under ett konto, rollbaserad åtkomst | Flerbolagsstöd finns |
Prismodeller
De är inte direkt jämförbara rad för rad, eftersom de tar betalt för olika saker.
Odoo tar betalt per användare och månad, med en gratisnivå begränsad till en enda applikation och extern API-åtkomst på Custom-nivån. För en plattform är det besvärliga att "användare" är ett svagt mått på systembelastning när din programvara, snarare än din personal, genererar bokföringen. Självvärdning tar bort abonnemangskostnaden och lägger till infrastruktur- och underhållskostnad.
Nordlet tar betalt per anrop. Publicerade planer är 10 euro per månad med 3 000 anrop, 50 euro med 30 000 och 300 euro med 200 000, där ytterligare anrop faktureras per anrop samt en anpassad nivå på begäran. Varje plan inkluderar varje modul och det fullständiga API:et; användare, bolag och sandlådebolag är obegränsade. Ett anrop är vilken åtgärd som helst som utförs via API:et eller appen.
Den praktiska konsekvensen: en marknadsplats med fyra anställda och 50 000 månatliga bokföringsåtgärder betalar för 50 000 åtgärder under en volymbaserad modell och för fyra användare under en modell per användare – och siffran per användare rör sig inte när volymen fördubblas, vilket skär åt båda hållen. Gör en kalkyl baserad på era egna siffror.
Där Odoo är det bättre valet
- Du vill ha redovisning, lager, tillverkning, CRM och en webbplats i ett enda system med en enda databas.
- Du behöver självvärda av skäl som rör datalagring, kostnad eller företagspolicy.
- Du vill modifiera källkoden och har intern kapacitet att underhålla dessa modifieringar vid uppgraderingar.
- Din bokföring är intern företagsadministration snarare än en funktion i den produkt du säljer.
- Du befinner dig i ett land där en lokaliseringsmodul för Odoo är stark och aktivt underhållen.
Odoos bredd är verklig, och inget redovisnings-API ersätter den.
Där Nordlet passar in
- Din programvara, snarare än din personal, skapar bokföringshändelserna.
- Du behöver reskontra för många bolag under ett enda konto utan ett abonnemang per entitet.
- Du behöver tvingande invarianter som din plattform kan lita på: balanserade bokföringar, länkfri numerering, låsta perioder, oföränderlig historik, idempotenta skrivningar.
- Du vill integrera mot ett stabilt domänkontrakt snarare än en intern datamodell.
- Dina EU-momsskyldigheter spänner över flera länder och du vill slippa underhålla den logiken själv.
Begränsningarna, helt öppet: Nordlet är i tidig åtkomst (early access) och onboardar designpartners; det är hostat snarare än självvärdat; partnerregister hanterar förfrågningar, grupper och statusar i stället för en säljpipeline, och det finns ingen webbplatsbyggare eller marknadsföringsfunktionalitet; löner gäller enbart Litauen; och inhemska skattedeklarationer finns för tre länder i dag – Litauen (FR0600), Tyskland (UStVA) och Polen (JPK_V7M) – där OSS och IOSS beräknas men inte skickas in för din räkning.
Vad vi skulle validera innan ett beslut
- Bekräfta den Odoo-plan du faktiskt behöver. Om extern API-åtkomst kräver Custom-nivån, prissätt den nivån utifrån ditt antal användare, inte ingångsnivån.
- Fråga om tidsplanen för RPC-migrering för alla Odoo-integrationer du planerar att behålla efter den aviserade borttagningen av de nuvarande endpoints.
- Testa omförsök på båda. Skicka samma begäran två gånger och räkna de resulterande posterna.
- Testa låsningen. Stäng en period och försök sedan bokföra i den.
- Kontrollera dina specifika länder. För Odoo, vilken lokaliseringsmodul som finns och hur aktivt den underhålls; för Nordlet, vilka momsrapporter som finns tillgängliga för de länderna i dag.
- Modellera den totala kostnaden över tre år, inklusive hosting- och uppgraderingsinsatser om du självvärdar, samt tillväxten i anropsvolym om du betalar per anrop.
FAQ
Är Odoo gratis?
Odoo publicerar en gratisnivå som är begränsad till en enda applikation, och community-utgåvan har öppen källkod. För en plattformsintegration är de relevanta kostnaderna vanligtvis hosting, uppgraderingar, underhåll av lokalisering och den betalnivå som krävs för extern API-åtkomst, snarare än själva licensen.
Kan Odoo användas som ett inbäddat redovisningsbackend för en marknadsplats?
Det kan integreras, och vissa team gör precis det. Att tänka på är att det externa API:et fungerar på datamodellsnivå, att API-åtkomsten är kopplad till en specifik prisnivå, att de nuvarande RPC-endpoints planeras att bytas ut, och att du tar ansvar för att redovisningsmodellerna används på rätt sätt. Validera dessa punkter mot dina egna krav i stället för att anta någotdera.
Gör Nordlet allt som Odoo gör?
Nej. Nordlet är redovisning och tillhörande verksamhet – fakturering, reskontra, bank, lager, anläggningstillgångar, produktion, löner, rapportering, EU-skatt. Tillverkning täcker stycklistor, flöden, arbetsplatser, tillverkningsorder med registrering per operation, kvalitetskontroller och utrustningsunderhåll, utan den efterfråge- och kapacitetsplanering som Odoo erbjuder. Partnerregister hanterar förfrågningar, grupper och statusar i stället för en säljpipeline, och det finns ingen webbplatsbyggare och inga marknadsföringsverktyg.
Vilket är bäst för EU-moms?
Det beror på landet. Nordlet levererar länderspecifika EU-momssatser, VIES-validering, beräkning av OSS- och IOSS-deklarationer med periodkorrigeringar, i.SAF-register och EN 16931 UBL, där Litauen har det djupaste landspaketet. Odoos täckning kommer från lokaliseringsmoduler vars djup och underhåll varierar beroende på land, så det ärliga svaret för ett visst land är att kontrollera just det landets modul.
Kan jag självvärda Nordlet?
Inte på standardplanerna. Custom-nivån anger stöd för egen molnmiljö (bring-your-own-cloud), vilket är den diskussion man får ta om självvärdning är ett krav.