Visma API: vilket av dem är det du faktiskt behöver?
Det finns inget enda Visma-API. Det finns flera, med olika bas-URL:er, olika inloggning och olika godkännanden — och det vanligaste misstaget är att läsa dokumentationen för fel produkt i en vecka innan någon upptäcker det.
Visma är inte en produkt utan en koncern med flera ekonomisystem, och vart och ett har sitt eget API. Innan du skriver en rad kod behöver du veta vilket system kunden kör, eftersom valet avgör bas-URL, autentisering, scopes och vilken godkännandeprocess du hamnar i.
Vilket Visma API menar du?
Söker du på "Visma API" får du träffar för minst fyra olika gränssnitt som inte har något gemensamt utöver namnet. Det här är den uppdelning som avgör vilket spår du hamnar i.
| API | Används för | Autentisering |
|---|---|---|
| Spiris / eAccounting | Bokföring och fakturering för mindre bolag. Tidigare Visma eEkonomi. | Authorization code via identity.vismaonline.com |
| Visma.net ERP | Affärssystem: kunder, order, lager och redovisning. | Visma Connect, client credentials med tenant_id |
| Visma Sign | Digitala signaturer och avtal. | Eget REST-API |
| Visma Compact | Äldre installerat affärssystem, två API-versioner. | Separat, per version |
För svenska mindre bolag som bokför och fakturerar är svaret nästan alltid Spiris. För bolag som kör ett fullt affärssystem är det Visma.net ERP. De två delar inte OAuth-flöde, bas-URL, scopes eller tenant-modell, så en integration mot det ena ger dig ingenting mot det andra.
Visma eEkonomi heter numera Spiris
Den enskilt vanligaste källan till förvirring just nu är namnbytet. Visma eEkonomi ingår numera i produktfamiljen Spiris, men bytet har inte gått hela vägen genom tekniken. Dokumentationen och värdnamnen använder fortfarande eAccounting-namnet, medan det kundvända varumärket är Spiris.
I praktiken innebär det att du behöver kunna båda namnen för att hitta rätt. API:ets bas-URL är https://eaccountingapi.vismaonline.com/v2, medan kunden loggar in på eaccounting.vismaonline.com och pratar om Spiris. Söker du bara på det ena namnet missar du halva dokumentationen.
API-ytan är stor. Vid vår genomgång av den publika OpenAPI-specifikationen innehöll 274 sökvägar och 228 operationer i OpenAPI 3.0.4-format, vilket är i samma storleksordning som Fortnox och betyder att du inte kommer att täcka allt i en första version.
Autentisering och tokenlivslängd
Spiris/eAccounting använder authorization code med refresh token. Auktorisering sker mot identity.vismaonline.com/connect/authorize och tokens hämtas från identity.vismaonline.com/connect/token. Access-token gäller i 3 600 sekunder.
Refresh-token beskrivs som giltig i två år, men med ett förbehåll som är lätt att förbise: den slutar gälla när användaren byter lösenord. Bygger du för byråer eller andra miljöer med lösenordspolicyer kommer det att hända, och din integration behöver hantera det som ett normalt tillstånd som kräver ny inloggning — inte som ett fel.
Visma.net ERP går en helt annan väg. Autentiseringen sker genom Visma Connect, Vismas gemensamma identitetslager, där en service-integration använder client credentials mot connect.visma.com/connect/token tillsammans med ett tenant_id som pekar ut vilket bolag anropet gäller. Applikationen behöver godkännas av en tenant-administratör innan den får användas, vilket är ett steg som tar kalendertid och bör läggas in i planeringen tidigt.
Din integration
Authorization code
Användaren godkänner åtkomsten
Inloggning
identity.vismaonline.com
connect/authorize och connect/token
Spiris / eAccounting
API-anrop
Access-token gäller i 3 600 sekunder
Refresh-token
Giltig i två år, men upphör när användaren byter lösenord. Hantera det som ett normalt tillstånd som kräver ny inloggning.
Hastighetsgränser och felkoder
Den dokumenterade gränsen för eAccounting är 600 anrop per minut, räknat per klient och per endpoint. Att gränsen är per endpoint och inte bara per klient är värt att notera: den är mer generös än den först låter för en integration som sprider anropen över olika resurser, och snålare än den låter för en som hamrar på en enda.
Överskrids gränsen svarar API:et med HTTP 429 och eAccounting-felkoden 4010. Felsvaren innehåller tre fält som är värda att spara: ErrorCode, DeveloperErrorMessage och ErrorId. Spara särskilt ErrorId i era loggar — det är den referens Vismas support behöver för att kunna spåra ett enskilt anrop, och utan den blir supportärendet en gissningslek.
Övriga felklasser att vänta sig är valideringsfel, saknade resurser, saknade scopes, otillräckliga behörigheter, inaktiva bolag och fel som beror på vilken produktvariant eller modul kunden har. Den sista kategorin är särskilt lömsk eftersom samma kod fungerar hos en kund och inte hos nästa.
Spiris / eAccounting
Hastighetsgräns och felsvar
| Värde | |
|---|---|
| Gräns | Värde600 anrop per minut, per klient och per endpoint |
| Vid överskridande | VärdeHTTP 429 och eAccounting-felkod 4010 |
| Fält i felsvaret | VärdeErrorCode, DeveloperErrorMessage, ErrorId |
Sandbox, produktion och godkännande
Åtkomst börjar med registrering i Spiris partnerprogram, som ger klientuppgifter och ett sandbox-bolag att bygga mot. Riktningen mellan miljöerna är asymmetrisk och värd att förstå innan du planerar: en produktionsklient kan nå sandbox, men en sandbox-klient kan inte nå produktion.
Produktionsåtkomst kräver att du kontaktar Vismas API-support efter att applikationen är byggd. Distribution till kunder är ytterligare en separat process — kunden aktiverar tillägget Integration inne i Bokföring & Fakturering innan din integration kan väljas. API-åtkomst och marknadsplatsåtkomst är alltså två olika grindar, och båda tar tid.
Nordsynks lokala utvecklingsmiljö har redan sandboxregistrering och klientuppgifter för Spiris. De värdena är privata och är inte ett bevis på produktionsbehörighet. Redirect URI måste fortfarande godkännas och konfigureras för rätt miljö, och produktionsåtkomst samt publicering i Spiris integrationskatalog är externa godkännandesteg.
- 01
Registrera i Spiris partnerprogram
Ger klientuppgifter och ett sandbox-bolag att bygga mot.
- 02
Bygg mot sandbox
En produktionsklient kan nå sandbox, men en sandbox-klient kan inte nå produktion.
- 03
Kontakta Vismas API-support
Krävs för produktionsåtkomst, efter att applikationen är byggd.
- 04
Kunden aktiverar tillägget Integration
I Bokföring & Fakturering, innan din integration kan väljas.
Visma, AI och MCP
En del av dem som söker efter Vismas API vill egentligen inte bygga en integration. De vill nå sin bokföring från ChatGPT eller Claude och letar efter en MCP-server — Model Context Protocol, standarden som låter en AI-klient anropa ett system själv.
Spiris har en egen beta-MCP-server — se Spiris officiella MCP-dokumentation. Nordsynk är ett separat lager: vår MCP-server binder varje användare till uttryckligt valda bolag och leverantörer och lägger till skrivgodkännanden, revisionsspår, support och återställning. Nordsynk ska därför inte beskrivas som den enda vägen till Spiris data eller som en ersättning för Spiris egen MCP-server.
Om du bygger själv är erfarenheten från vår Fortnox-implementation att arbetsflöden är svårare än endpoints. Att exponera 228 operationer för en språkmodell gör den inte kompetent — den behöver namngivna arbetsflöden för det som API:et modellerar dåligt, och den behöver hindras från att skriva utan att en människa först ser exakt vad som kommer att ändras.
Vanliga frågor
Vilket Visma API ska jag använda?
Det beror på vilken Visma-produkt kunden kör. Bokföring och fakturering för mindre bolag ligger i Spiris, tidigare Visma eEkonomi. Affärssystemsdata ligger i Visma.net ERP. De två har olika bas-URL:er, olika OAuth-flöden, olika scopes och olika godkännandeprocesser — det finns inget gemensamt Visma-API som täcker båda.
Har Visma eEkonomi bytt namn?
Ja. Visma eEkonomi ingår numera i produktfamiljen Spiris. API:et heter fortfarande eAccounting i tekniska sammanhang: värdnamnet är eaccountingapi.vismaonline.com och dokumentationen använder eAccounting-namnet, medan det kundvända svenska varumärket är Spiris.
Vilka hastighetsgränser har Visma eAccounting API?
Den dokumenterade gränsen är 600 anrop per minut, räknat per klient och per endpoint. Överskrids den svarar API:et med HTTP 429 och eAccounting-felkoden 4010.
Hur autentiserar jag mot Visma API?
Spiris/eAccounting använder authorization code med refresh token mot identity.vismaonline.com. Access-token gäller i 3 600 sekunder och refresh-token beskrivs som giltig i två år, men slutar gälla när användaren byter lösenord. Visma.net ERP autentiserar i stället genom Visma Connect, där en service-integration använder client credentials tillsammans med ett tenant_id.
Kan jag använda mitt sandbox-konto mot produktion?
Nej. En klient-id för sandbox kan inte nå produktion. Däremot kan en produktionsklient nå sandbox. Produktionsåtkomst kräver att du kontaktar Vismas API-support efter att applikationen är byggd.
Finns det en Visma MCP-server för ChatGPT eller Claude?
Ja. Spiris har en egen beta-MCP-server för sin produkt. Nordsynk är en separat MCP-anslutning som fokuserar på styrd åtkomst till flera bolag och leverantörer, webbläsarbaserade skrivgodkännanden, revisionsspår samt support och återställning. De två tjänsterna ska inte blandas ihop.
Kör kunden Fortnox i stället?
Nordsynk kopplar Fortnox till ChatGPT, Claude och andra AI-klienter — med skrivgodkännanden, behörigheter per bolag och full spårbarhet. Behöver du samma sak för Spiris eller Visma.net, hör av dig så vet vi att efterfrågan finns.