MCP App Store
by KeenEthics

Overview

DigitalK2 is a Swedish service for annual reports (årsredovisning) for small limited companies (aktiebolag) under the K2 rules. With this connector, Claude works in the same guided flow as the web app: it uploads the SIE file, reviews the figures, reads the tax calculation and INK2, fills in the management report and notes, and moves through the steps with the same checks as the user. The user keeps the draft open on digitalk2.se in AI mode and sees every change as it happens. Payment, personal identity numbers, signing and digital filing with Bolagsverket are always done by the user on the web – never by the AI. Claude only sees the signed-in user's own drafts.

Tools

answer_prompt

ChatGPT
Svarar på en dialog som guiden visar, genom att trycka på samma knapp som användaren skulle. Använd bara för de frågor som get_state och next_step returnerar i prompts, till exempel förifyllning från förra året, bekräftelse av en liten avvikelse eller en påminnelse. Frågor i själva formuläret besvaras inte här: steg 1 med set_first_annual_report, steg 3 till 6 med update_fields. Förklara alltid frågan för användaren och få ett uttryckligt svar innan du svarar åt hen. Returnerar clicked (knappens text), och snapshot efter svaret.

apply_tax_adjustment

ChatGPT
Justerar resultat- och balansräkningen i steg 2 med skatten från steg 3. Gör samma sak som knappen för automatisk justering: bokar det som read_tax visar i to_book (aktuell skatt, periodiseringsfond, särskild löneskatt m.m.) och ändrar beloppen i steg 2. Gör inget om allt redan är justerat (applied = false). Kräver steg 3 och att skatteberäkningen visas (ink2Help eller aktuellSkattHelp är true). Fråga användaren först. Returnerar applied och snapshot efteråt.

book_result_in_balance_sheet

ChatGPT
Bokar årets resultat från resultaträkningen på raden Årets resultat i balansräkningen (steg 2). Gör samma sak som när användaren svarar Ja på guidens förslag, som visas när årets resultat saknas i balansräkningen. Ersätter radens nuvarande belopp. Fråga användaren först. Returnerar snapshot efteråt.

create_draft

ChatGPT
Skapar ett nytt, tomt årsredovisningsutkast och returnerar länken att öppna det i AI-läge. Använd när användaren vill göra en ny årsredovisning. Be sedan användaren öppna länken (inloggad) och ladda upp SIE-filen med upload_sie, eller låt användaren ladda upp den själv. Finns redan ett utkast för bolaget och året, använd det i stället (list_drafts). Returnerar draft_id och url.

create_sie_upload

ChatGPT
Skapar en tillfällig uppladdningslänk för en SIE-fil, för filer som är för stora att skicka i ett verktygsanrop. Använd när du har tillgång till filen lokalt (t.ex. i Claude Code eller Cursor): skicka filen till upload_url med kommandot i curl_example, och läs sedan in den med upload_sie(draft_id, upload_id). Länken gäller i 15 minuter, en gång, och bara för det här utkastet. Max 10 MB. Filen skickas som den är (byte för byte), så teckenkodningen bevaras. Om din miljö inte når upload_url (t.ex. nätverksspärren i Claude.ai:s kodmiljö): be användaren dra in filen i uppladdningsrutan i fönstret i stället, och kontrollera sedan med read_draft(overview) att sie_file_name är satt. Returnerar upload_url, upload_id, expires_in_seconds och curl_example.

fetch_company_details

ChatGPT
Hämtar företagsuppgifterna från Bolagsverket i steg 1 och fyller i dem i utkastet. Fyller i namn, registrerat räkenskapsår, företrädare och förslag på säte och verksamhet, som knappen "Hämta företagsuppgifter" i guiden. Ersätter befintliga företagsuppgifter, och undertecknarna i steg 6 om de inte har ändrats för hand. Organisationsnumret kommer från SIE-filen eller skrivs i sökfältet med fill_input först. Krävs innan steg 1 kan lämnas. Returnerar snapshot efteråt.

fill_input

ChatGPT
Skriver i ett formulärfält i steg 1, som när användaren skriver. Använd i steg 1 när bolaget fylls i utan SIE-fil (manuell inmatning): sök bolag på namn eller organisationsnummer, och ange räkenskapsårets datum. Vilka fält som finns står i snapshot.inputs (get_state). För steg 2 till 6, använd update_fields. Hämta sedan företagsuppgifterna med fetch_company_details. Returnerar filled, value och snapshot efteråt.

get_state

ChatGPT
Visar var ett utkast befinner sig i webbguiden: aktuellt steg, om Nästa går att trycka, öppna frågor och dialoger som väntar på svar, och felmeddelanden som stoppar. Använd innan du gör något i ett utkast och efter varje åtgärd när du är osäker på läget. Läget läses från sidan /skapa-mcp som användaren har öppen, så det är exakt det användaren ser. Är sidan inte öppen returneras senast kända läge (fältet live = false) och en länk som användaren ska öppna. Returnerar live (bool), url, och ett snapshot med step (1 till 7), step_name, next_enabled, prompts (frågor och dialoger med svarsalternativ som besvaras med answer_prompt) och messages (felmeddelanden som visas i guiden).

go_to_step

ChatGPT
Går tillbaka till ett tidigare steg i webbguiden, som när användaren klickar i tidslinjen. Använd för att ändra något i ett steg som redan är klart. Framåt går man bara med next_step, så att alla kontroller körs igen på vägen. Returnerar step och snapshot.

list_drafts

ChatGPT
Listar användarens sparade årsredovisningsutkast, senast ändrade först. Använd för att hitta rätt utkast att arbeta vidare med, eller för att se om en årsredovisning redan är betald eller inlämnad. Samma utkast som syns under Mina sidor på digitalk2.se. Returnerar per utkast: draft_id, företagsnamn, organisationsnummer, räkenskapsår, status (draft = pågående, submitted = inlämnad, registered = registrerad hos Bolagsverket, rejected/action_required = kräver åtgärd), aktuellt steg (1 till 7) med namn, om det är betalt, senast ändrad (UTC) och en länk som öppnar utkastet på webben.

next_step

ChatGPT
Går från steg from_step till steg from_step + 1 i webbguiden, som knappen Nästa. Stegen: 1 Ladda upp och företagsuppgifter, 2 Granska resultat- och balansräkning, 3 Skatteberäkning och INK2, 4 Förvaltningsberättelse, 5 Noter, 6 Underskrifter, 7 Slutför. Kör samma kontroller som för användaren, sparar utkastet med det innehåll det redan har och byter steg; inga värden ändras. Om något saknas eller en dialog är öppen stannar guiden kvar, och svaret innehåller prompts (besvaras med answer_prompt) och messages (vad som behöver rättas). Från steg 6 öppnar verktyget steg 7, där användaren själv betalar, signerar och lämnar in; verktyget gör inget av det. Tillbaka till ett tidigare steg går man med go_to_step. Returnerar moved (bool), from_step, to_step och snapshot efter försöket.

preview_report

ChatGPT
Förhandsgranskar årsredovisningen som text, genererad med samma kod som förhandsgranskningen i steg 7. Använd för att läsa igenom hela dokumentet (förvaltningsberättelse, resultat- och balansräkning, noter, underskrifter) innan användaren går till steg 7, och för att kontrollera att ändringar hamnat rätt. Kräver att utkastet är öppet i AI-läge. Inget skickas in och inget betalas. Returnerar text (dokumentets innehåll rad för rad, tabellceller separerade med |) och characters.

read_draft

ChatGPT
Läser innehållet i ett utkast, en del i taget, precis som det ser ut i webbguiden. Använd för att granska siffror och texter innan du föreslår ändringar eller trycker på Nästa. Är utkastet öppet i AI-läge läses det aktuella läget direkt från sidan (även osparade ändringar); annars läses det senast sparade utkastet, och det kräver ingen öppen flik. Med öppen flik visas steg 2-belopp som i guiden (intäkter, skulder och eget kapital positiva); utan flik som de lagras (SIE-tecken), se sign_convention. För skatteberäkningens resultat (skatt, INK2-rader), använd read_tax. Beräknade värden (t.ex. soliditet i flerårsöversikten) räknas om när dokumentet genereras; preview_report visar det slutliga. Fältnamnen är de som update_fields tar emot. Returnerar source (live eller sparat), step och data för vald del.

read_tax

ChatGPT
Läser skatteberäkningen och INK2 exakt som steg 3 i webbguiden visar dem. Kräver att utkastet är öppet i AI-läge och står på steg 3 (gå dit med next_step eller go_to_step). Siffrorna räknas av plattformen; räkna inte om dem själv. Returnerar result (INK2S-rader med SRU-kod och belopp, skattemässigt resultat, beskattningsbar inkomst, skatt, särskild löneskatt, periodiseringsfond, bokföringsinstruktioner, INK2R-rader), to_book (det som återstår att justera in i steg 2; justeras med apply_tax_adjustment), ink2r_balanced och sru_ready (om INK2-filen kan laddas ner).

set_first_annual_report

ChatGPT
Svarar på frågan i steg 1 om det är bolagets första årsredovisning. true visar inga jämförelsetal och sätter föregående års belopp i resultat- och balansräkningen till 0 (de kommer inte tillbaka med false). false visar föregående år; då behövs föregående räkenskapsårs datum. Fråga användaren innan du svarar. Returnerar snapshot efteråt.

show_statement_tab

ChatGPT
Visar resultaträkningen eller balansräkningen i steg 2 i användarens fönster. Byter bara flik och ändrar inga uppgifter. Guiden frågar om balansräkningen har granskats om den inte har visats innan steg 2 lämnas. Siffrorna läses med read_draft. Returnerar snapshot efteråt.

start_manual_entry

ChatGPT
Väljer manuell inmatning i steg 1 när det inte finns någon SIE-fil. Skapar tomma resultat- och balansräkningar som fylls i med update_fields i steg 2. Går bara att välja innan någon SIE-fil eller några företagsuppgifter finns i utkastet. Bolaget och räkenskapsåret anges sedan med fill_input och fetch_company_details. Returnerar snapshot efteråt.

update_fields

ChatGPT
Ersätter värden i fält i steg 2 till 6, som när användaren skriver i formuläret. Verktyget ersätter befintliga värden i det aktuella steget: angivna fält skrivs över och listor (t.ex. undertecknare eller periodiseringsfonder) ersätts helt. Ändringen görs i den öppna sidan med samma uppdatering som formuläret använder, så guidens egna kontroller och beräkningar körs som vanligt. Bara fält som finns i read_draft och med samma typ accepteras; ett felaktigt fält gör att inget ändras. Ja/Nej-frågor i steg 3 till 6 (t.ex. ink2Help, activeNotes) sätts här. Fälten i steg 1 fylls i med fill_input. Fråga användaren om uppgifter du inte vet; hitta inte på texter, datum eller namn. Returnerar applied (ändrade fält) och snapshot efteråt (med messages om något inte stämmer).

upload_sie

ChatGPT
Läser in en SIE-fil (SIE4) i steg 1, som när användaren väljer filen i guiden. Ersätter utkastets bolagsuppgifter, räkenskapsår, resultat- och balansräkning, noter och periodiseringsfonder med filens innehåll. Filen skickas oförändrad: antingen som upload_id från create_sie_upload (för större filer) eller som content_base64 av filens exakta byte (högst 5 MB). Filen kontrolleras som SIE innan något ändras. Kräver att utkastet är öppet i AI-läge och står på steg 1. Returnerar loaded och snapshot efter inläsningen.

whoami

ChatGPT
Visar vilket DigitalK2-konto och vilka behörigheter den här anslutningen har. Använd i början av ett samtal för att bekräfta att rätt konto är anslutet, eller när ett verktyg nekas på grund av behörighet. För att se användarens årsredovisningar, använd list_drafts i stället. Returnerar e-post, anslutningens namn, beviljade behörigheter (view = läsa, write = förbereda utkast) och länkar till Mina sidor och dokumentationen.

answer_prompt

Claude

create_draft

Claude

create_sie_upload

Claude

fill_input

Claude

get_state

Claude

go_to_step

Claude

list_drafts

Claude

next_step

Claude

press_button

Claude

preview_report

Claude

read_draft

Claude

read_tax

Claude

update_fields

Claude

upload_sie

Claude

whoami

Claude

Similar Apps