diff --git a/.gitignore b/.gitignore index 4939e10c..eb5ec90d 100644 --- a/.gitignore +++ b/.gitignore @@ -47,6 +47,9 @@ supabase/.temp/ # claude local settings .claude/settings.local.json +# dev docs (internal reference, not published) +/dev_docs + # Extension registry (auto-generated but defaults are committed) # Run `npm run setup:extensions` to regenerate after changing extensions.config.json # The empty defaults in lib/extensions/_generated/ are committed so core compiles diff --git a/app/api/transactions/[id]/describe/route.ts b/app/api/transactions/[id]/describe/route.ts index 8a67cd01..04516a90 100644 --- a/app/api/transactions/[id]/describe/route.ts +++ b/app/api/transactions/[id]/describe/route.ts @@ -5,9 +5,29 @@ import { validateBody } from '@/lib/api/validate' import { DescribeTransactionSchema } from '@/lib/api/schemas' import { extensionRegistry } from '@/lib/extensions/registry' import { findMatchingTemplates, type TemplateMatch } from '@/lib/bookkeeping/booking-templates' -import type { Transaction, EntityType } from '@/types' +import type { Transaction, EntityType, VatTreatment } from '@/types' import type { Extension } from '@/lib/extensions/types' -import type { DescriptionAnalysisInput, DescriptionAnalysisResult } from '@/extensions/general/ai-categorization/lib/description-analyzer' + +interface DescriptionAnalysisInput { + description: string + transactionAmount: number + transactionDate: string + transactionDescription: string + merchantName: string | null + currency: string + entityType: EntityType +} + +interface DescriptionAnalysisResult { + debitAccount: string + creditAccount: string + vatTreatment: VatTreatment | null + category: string + confidence: number + reasoning: string + warnings: string[] + templateId: string | null +} ensureInitialized() diff --git a/dev_docs/04-arkivplan-mall.md b/dev_docs/04-arkivplan-mall.md deleted file mode 100644 index 99581389..00000000 --- a/dev_docs/04-arkivplan-mall.md +++ /dev/null @@ -1,146 +0,0 @@ -# Arkivplan - -**Mall for användare av erp-base** -Upprättad i enlighet med BFNAR 2013:2 punkt 8.3 - ---- - -## Instruktioner - -Denna mall ska fyllas i av dig som kund och sparas som del av din systemdokumentation. Bokföringsnämndens allmänna råd (BFNAR 2013:2) kräver att varje bokföringsskyldig upprättar en arkivplan som beskriver vilken räkenskapsinformation som finns, var den förvaras, och vem som ansvarar för arkiveringen. - -Fyll i de markerade fälten. Radera denna instruktionssektion innan du arkiverar dokumentet. - ---- - -## 1. Företagsuppgifter - -| Fält | Uppgift | -|---|---| -| Företagsnamn | [FÖRETAGSNAMN] | -| Organisationsnummer | [ORG-NR] | -| Företagsform | [ ] Enskild firma [ ] Aktiebolag | -| Räkenskapsår | [STARTMÅNAD] - [SLUTMÅNAD] | -| Bokföringsmetod | [ ] Faktureringsmetoden [ ] Kontantmetoden | -| Momsredovisningsperiod | [ ] Månadsvis [ ] Kvartalsvis [ ] Årsvis | -| Ansvarig för bokföringen | [NAMN, ROLL] | - -## 2. Bokföringssystem - -| Fält | Uppgift | -|---|---| -| Programvara | erp-base ([DOMÄN]) | -| Leverantör | [BOLAGSNAMN], org.nr [ORG-NR] | -| Lagringsplats | Molnbaserad tjänst, data lagrat inom EU (Supabase/AWS) | -| Åtkomst | Via webbläsare, inloggning med magic link (e-post) | -| Kontoplan | BAS 2025/2026 (konfigurerad i erp-base) | - -## 3. Förteckning över räkenskapsinformation - -Tabellen nedan anger vilken räkenskapsinformation som finns, i vilken form den förvaras, var, och arkiveringstid. - -### 3.1 Löpande bokföring - -| Räkenskapsinformation | Form | Lagringsplats | Arkiveringstid | -|---|---|---|---| -| Grundbokföring (registreringsordning) | Elektronisk | erp-base databas | 7 år efter räkenskapsårets utgång | -| Huvudbokföring (systematisk ordning) | Elektronisk | erp-base databas | 7 år efter räkenskapsårets utgång | -| Verifikationer (journalposter) | Elektronisk | erp-base databas | 7 år efter räkenskapsårets utgång | - -### 3.2 Verifikationsunderlag - -| Räkenskapsinformation | Form | Lagringsplats | Arkiveringstid | Anmärkning | -|---|---|---|---|---| -| Kundfakturor (utgående) | Elektronisk (PDF) | erp-base dokumentarkiv | 7 år | Genereras i erp-base | -| Leverantörsfakturor (inkommande) | Elektronisk (PDF/bild) | erp-base dokumentarkiv | 7 år | Uppladdade/skannade | -| Kvitton | Elektronisk (foto/PDF) | erp-base dokumentarkiv | 7 år | Fotograferade via appen | -| Bankutdrag/kontoutdrag | Elektronisk | erp-base via PSD2-koppling | 7 år | Synkroniserade via Enable Banking | -| Avtal och övriga underlag | [Elektronisk/Papper] | [erp-base / Fysisk pärm] | 7 år | [Ange var dessa förvaras] | - -### 3.3 Årsbokslut och årsredovisning - -| Räkenskapsinformation | Form | Lagringsplats | Arkiveringstid | -|---|---|---|---| -| Resultaträkning | Elektronisk | erp-base rapportmodul | 7 år | -| Balansräkning | Elektronisk | erp-base rapportmodul | 7 år | -| Årsredovisning (AB) / Årsbokslut (EF) | [Elektronisk/Papper] | [erp-base / Bolagsverket / Fysisk pärm] | 7 år (10 år rekommenderat) | -| NE-bilaga (EF) | Elektronisk | erp-base rapportmodul | 7 år | -| SIE-filer (export) | Elektronisk | [Ange var exporterade filer sparas] | 7 år | - -### 3.4 Skattedeklarationer och momsrapporter - -| Räkenskapsinformation | Form | Lagringsplats | Arkiveringstid | -|---|---|---|---| -| Momsdeklarationer | Elektronisk | erp-base rapportmodul + Skatteverket | 7 år | -| SRU-filer | Elektronisk | erp-base rapportmodul | 7 år | -| Inkomstdeklaration | [Elektronisk/Papper] | [Skatteverket / Egen kopia] | 7 år | - -### 3.5 Systemdokumentation - -| Dokument | Form | Lagringsplats | Arkiveringstid | -|---|---|---|---| -| Systemdokumentation | Elektronisk | [erp-base / Egen lagring] | Samma som den räkenskapsinformation den avser | -| Behandlingshistorik | Elektronisk | erp-base (automatiskt genererad) | Samma som den räkenskapsinformation den avser | -| Denna arkivplan | [Elektronisk/Papper] | [Ange lagringsplats] | Samma som den räkenskapsinformation den avser | - -## 4. Pappersoriginal - -4.1. Räkenskapsinformation som tagits emot i pappersform (kvitton, fakturor) och som har överförts till elektronisk form genom skanning eller fotografering ska bevaras i sin ursprungliga pappersform i minst tre (3) år efter utgången av det kalenderår då räkenskapsåret avslutades, i enlighet med 7 kap. 6 § BFL. - -*Notering: Lagändring trädde i kraft 1 juli 2024 som möjliggör omedelbar förstöring av pappersoriginal efter överföring till elektronisk form, under förutsättning att överföringen sker på ett betryggande sätt och att inga uppgifter går förlorade. Se BFNAR 2024:1 och uppdaterad vägledning (2024-09-16) for detaljer om vilka krav som gäller vid sådan överföring.* - -4.2. Dokument som tas emot elektroniskt (e-fakturor, digitala kvitton) arkiveras i elektronisk form. Inget pappersoriginal finns. - -4.3. Förvaring av pappersoriginal: -- Plats: [ANGE PLATS, t.ex. kontor, bankfack] -- Ansvarig: [NAMN] - -## 5. Säkerhetskopiering och redundans - -5.1. erp-base sköter automatisk daglig säkerhetskopiering av databasen via Supabase-infrastrukturen. - -5.2. Kunden rekommenderas att regelbundet exportera SIE4-filer och spara dessa på en separat lagringsplats som kompletterande säkerhetskopia. - -Kundens kompletterande säkerhetskopiering: -- Frekvens: [t.ex. månadsvis, kvartalsvis] -- Lagringsplats: [t.ex. extern hårddisk, molnlagring] -- Ansvarig: [NAMN] - -## 6. Åtkomst efter avslutad prenumeration - -6.1. Vid uppsägning av erp-base-kontot har Kunden nittio (90) dagar att exportera all räkenskapsinformation i enlighet med Användarvillkoren avsnitt 8. - -6.2. Räkenskapsinformation som omfattas av sjuårig arkiveringsskyldighet bevaras i skrivskyddat läge av erp-base, alternativt tillhandahålls som fullständig dataexport. - -6.3. Det är Kundens ansvar att planera för dataportabilitet och säkerställa tillgång till räkenskapsinformation under hela arkiveringsperioden, oavsett om Tjänsten fortfarande används. - -## 7. Geografisk lagring - -7.1. All data i erp-base lagras inom EU/EES via Supabase (AWS-infrastruktur, region eu-central eller eu-west). - -7.2. Viss behandling sker hos underbiträden i USA (se Personuppgiftsbiträdesavtalet, avsnitt 6.2) med stöd av EU-U.S. Data Privacy Framework eller standardavtalsklausuler. - -7.3. I enlighet med 7 kap. 3a § BFL får räkenskapsinformation i elektronisk form förvaras i annat EU-land under förutsättning att detta har anmälts till Skatteverket. - -**Anmälan till Skatteverket:** [ ] Har gjorts [ ] Behöver göras [ ] Ej tillämpligt (data lagras i Sverige) - -## 8. Ansvar och kontakt - -| Roll | Namn | Kontakt | -|---|---|---| -| Bokföringsansvarig | [NAMN] | [E-POST / TELEFON] | -| Extern redovisningskonsult (om tillämpligt) | [NAMN / BYRÅ] | [E-POST / TELEFON] | -| Revisor (om tillämpligt) | [NAMN / BYRÅ] | [E-POST / TELEFON] | - -## 9. Uppdatering av arkivplanen - -Denna arkivplan ska granskas och vid behov uppdateras minst en gång per räkenskapsår, samt vid byte av bokföringsprogram, ändring av företagsform, eller ändring av lagringsrutiner. - -| Datum | Ändring | Utförd av | -|---|---|---| -| [DATUM] | Första version upprättad | [NAMN] | -| | | | - ---- - -*Denna arkivplan uppfyller kraven i BFNAR 2013:2 punkt 8.3 och Exempel 8.1 i vägledningen. Anpassa innehållet till ditt företags specifika förhållanden. Platshållare markerade med hakparenteser ska fyllas i.* diff --git a/dev_docs/05-systemdokumentation-mall.md b/dev_docs/05-systemdokumentation-mall.md deleted file mode 100644 index cbe0f1df..00000000 --- a/dev_docs/05-systemdokumentation-mall.md +++ /dev/null @@ -1,259 +0,0 @@ -# Systemdokumentation - -**Mall for användare av erp-base** -Upprättad i enlighet med 5 kap. 11 § BFL och BFNAR 2013:2 kapitel 9 - ---- - -## Instruktioner - -Varje bokföringsskyldig ska upprätta en systemdokumentation som beskriver bokföringssystemets organisation och uppbyggnad. Dokumentationen ska göra det möjligt att utan svårighet överblicka systemet och förstå hur bokföringen är organiserad (BFNAR 2013:2 punkt 9.1). - -Denna mall är förifylld med uppgifter som gäller för erp-base. Avsnitt markerade med hakparenteser ska anpassas till ditt företags förhållanden. Radera denna instruktionssektion innan du arkiverar dokumentet. - -Systemdokumentationen ska förvaras tillsammans med övrig räkenskapsinformation under hela arkiveringsperioden (7 år). - ---- - -## 1. Företagsuppgifter - -| Fält | Uppgift | -|---|---| -| Företagsnamn | [FÖRETAGSNAMN] | -| Organisationsnummer | [ORG-NR] | -| Företagsform | [ ] Enskild firma [ ] Aktiebolag | -| Räkenskapsår | [STARTMÅNAD] - [SLUTMÅNAD] | -| Tillämpat K-regelverk | [ ] K1 (förenklat årsbokslut, EF under 3 MSEK) [ ] K2 (årsredovisning, mindre AB) [ ] K3 (årsredovisning, huvudregelverk) | - -## 2. Bokföringsprogram - -| Fält | Uppgift | -|---|---| -| Programnamn | erp-base | -| Version | [ANGE VERSION, t.ex. 1.0] | -| Leverantör | [BOLAGSNAMN], org.nr [ORG-NR] | -| Webbplats | [DOMÄN] | -| Typ | Molnbaserad SaaS-tjänst (webbläsarbaserad) | -| Databasplattform | PostgreSQL via Supabase (AWS, EU-region) | -| Autentisering | Magic link via e-post (lösenordsfri) | - -## 3. Kontoplan (BFNAR 2013:2 punkt 9.2) - -3.1. Kontoplanen bygger på BAS-kontoplanen (BAS 2025/2026) utgiven av BAS-intressenternas Förening. - -3.2. Kontona är indelade i klasser enligt BAS-standard: - -| Klass | Beskrivning | Exempel på konton | -|---|---|---| -| 1 | Tillgångar | 1510 Kundfordringar, 1930 Företagskonto | -| 2 | Eget kapital och skulder | 2013 Egna uttag (EF), 2440 Leverantörsskulder, 2611-2631 Utgående moms, 2641 Ingående moms | -| 3 | Intäkter | 3001 Försäljning 25%, 3002 Försäljning 12%, 3003 Försäljning 6%, 3305 Exportförsäljning | -| 4-7 | Kostnader | Konfigureras efter verksamhet | -| 8 | Finansiella poster och skatt | Konfigureras efter verksamhet | - -3.3. Kontoplanen kan ses och exporteras i erp-base under Inställningar > Kontoplan. - -3.4. Företagsspecifika anpassningar av kontoplanen: -[BESKRIV EVENTUELLA TILLAGDA ELLER BORTTAGNA KONTON, t.ex. "Konto 4010 Inköp varor, 5010 Lokalhyra har lagts till. Inga standardkonton har tagits bort."] - -## 4. Samlingsplan (BFNAR 2013:2 punkt 9.3-9.5) - -Samlingsplanen beskriver hur bokföringen är organiserad i form av delsystem, grundbokföring och huvudbokföring. - -### 4.1 Översikt - -``` -Affärshändelse - | - v -Verifikation skapas (manuellt eller automatiskt) - | - v -Journalpost registreras (grundbokföring, registreringsordning) - | - v -Konteras på BAS-konton (huvudbokföring, systematisk ordning) - | - v -Status: Utkast (draft) - | - v -Bekräftas av användaren - | - v -Status: Bokförd (posted), verifikationsnummer tilldelas -``` - -### 4.2 Grundbokföring (registreringsordning) - -Samtliga affärshändelser registreras kronologiskt i erp-base journalen. Varje post innehåller: -- Verifikationsnummer (sekventiellt, tilldelat automatiskt vid bokföring) -- Registreringsdatum (datum då posten skapades i systemet) -- Bokföringsdatum (datum för affärshändelsen) -- Beskrivning -- Konteringsrader med konto, debet, kredit - -Grundbokföringen kan visas under Bokföring > Journal i erp-base. - -### 4.3 Huvudbokföring (systematisk ordning) - -Huvudbokföringen presenterar affärshändelserna sorterade per konto. Varje konto visar ingående saldo, periodens transaktioner och utgående saldo. - -Huvudbokföringen kan visas och exporteras under Rapporter > Huvudbok i erp-base. - -### 4.4 Delsystem - -Följande delsystem matar journalen: - -| Delsystem | Beskrivning | Automatisk kontering | -|---|---|---| -| Kundfakturering | Utgående fakturor med per-rad momssats | Debet 1510, kredit 30xx + 26xx | -| Kundbetalningar | Inbetalningar mot fakturor | Debet 1930, kredit 1510 | -| Leverantörsfakturor | Inkommande fakturor, registrering och betalning | Debet kostnadskonto + 2641, kredit 2440 | -| Leverantörsbetalningar | Utbetalningar mot leverantörsfakturor | Debet 2440, kredit 1930 | -| Banktransaktioner | Synkroniserade via PSD2 (Enable Banking) | Kontering via kategoriseringsregler | -| Kvittohantering | OCR-bearbetade kvitton | Kontering efter granskning | -| Kreditnotor | Kreditering av utgående fakturor | Omvänd kontering av originalfaktura | - -### 4.5 Avstämningsordning - -Bankkonto 1930 avstäms via erp-base bankavstämningsmodul (4-stegs matchning: exakt belopp+datum, referensmatchning, datumintervall, fuzzy-matchning). - -## 5. Verifikationer (BFNAR 2013:2 punkt 9.6-9.8) - -### 5.1 Verifikationsnumrering - -Verifikationsnummer tilldelas sekventiellt av systemet vid bokföring. Numreringen är unik per räkenskapsår och användare. Numren tilldelas via databas-RPC (concurrent-safe) och kan inte sättas manuellt. - -En enda verifikationsnummerserie används: [A1, A2, A3, ...]. - -[OM FÖRETAGET ANVÄNDER FLERA SERIER, BESKRIV HÄR.] - -### 5.2 Verifikationens innehåll - -Varje verifikation i erp-base innehåller: -- Verifikationsnummer -- Bokföringsdatum (affärshändelsens datum) -- Registreringsdatum (datum då posten skapades) -- Beskrivning av affärshändelsen -- Konteringsrader (konto, debet, kredit) -- Referens till underlag (bifogat dokument, fakturanummer, etc.) -- Status (utkast / bokförd / reverserad) -- Vid rättelse: referens till reverserad/reverserande verifikation - -### 5.3 Underlag - -Underlag kopplas till verifikationer som bifogade dokument (PDF, bild). Dokumenten lagras i erp-base dokumentarkiv med SHA-256 checksumma for integritetskontroll. - -Typer av underlag: -- Kundfakturor (genererade i systemet) -- Leverantörsfakturor (uppladdade) -- Kvitton (fotograferade/skannade) -- Bankbekräftelser (synkroniserade) -- Övriga avtal och dokument (uppladdade) - -## 6. Rättelser (BFNAR 2013:2 punkt 9.9) - -6.1. Bokförda verifikationer (status: posted) kan inte ändras eller raderas. Detta upprätthålls av databastriggrar i enlighet med bokföringslagens krav på oföränderlighet. - -6.2. Rättelse sker genom stornobokning: en ny verifikation skapas som reverserar den felaktiga posten (byter debet/kredit). Den nya verifikationen länkas till originalet via referens (reverses_id / reversed_by_id). - -6.3. Därefter skapas en ny korrekt verifikation vid behov. - -6.4. Rättelseverifikationen innehåller uppgift om vilken verifikation som rättats, när rättelsen gjordes, och vem som utförde rättelsen (BFNAR 2013:2 punkt 2.17). - -## 7. Periodavstängning - -7.1. Räkenskapsperioder kan stängas (låsas) i erp-base. En låst period tillåter inte nya bokföringsposter. Periodlåsning upprätthålls av databastriggrar (enforce_period_lock). - -7.2. Årsbokslut registreras som bokföringsposter i systemet. - -## 8. Momshantering - -8.1. Följande momssatser hanteras: - -| Momssats | Beskrivning | Utgående moms-konto | Ingående moms-konto | -|---|---|---|---| -| 25 % | Standardsats | 2611 | 2641 | -| 12 % | Reducerad (livsmedel, hotell m.m.) | 2621 | 2641 | -| 6 % | Reducerad (böcker, tidningar, kultur m.m.) | 2631 | 2641 | -| 0 % (export) | Varuexport utanför EU | - | 2641 | -| 0 % (omvänd skattskyldighet) | Försäljning med omvänd skattskyldighet | - | 2641/2645 | -| Momsfri | Undantagna transaktioner | - | - | - -*Notering: Livsmedel sänks till 6 % från 1 april 2026 t.o.m. 31 december 2027.* - -8.2. Fakturor stödjer blandade momssatser (per fakturarad). - -8.3. Momsrapport genereras under Rapporter > Momsdeklaration och mappas till Skatteverkets rutor. - -## 9. Behandlingshistorik (BFNAR 2013:2 punkt 9.16) - -9.1. erp-base registrerar automatiskt en behandlingshistorik som inkluderar: -- Registreringsdatum och tidpunkt for varje journalpost -- Tidpunkt för statusändring (utkast till bokförd) -- Vem som utförde bokningen (användar-ID kopplat till e-postadress) -- Stornobokningar med referens till originalverifikation -- Tidpunkt och utförare av periodlåsning - -9.2. Behandlingshistoriken genereras automatiskt av systemet och kan inte ändras av användaren. - -9.3. Behandlingshistoriken kan exporteras under Rapporter > Audit trail. - -## 10. Import och export - -| Funktion | Format | Beskrivning | -|---|---|---| -| SIE-import | SIE4 | Import av bokföringsdata från annat system | -| Bankfil-import | CSV (10 svenska bankformat) | Import av banktransaktioner | -| SIE-export | SIE4 | Export av komplett bokföring per räkenskapsår | -| Huvudbok | PDF/skärm | Export av huvudbok | -| Resultaträkning | PDF/skärm | Export av resultaträkning | -| Balansräkning | PDF/skärm | Export av balansräkning | -| Momsdeklaration | PDF/skärm | Underlag för momsdeklaration | -| SRU-export | SRU | Export for inkomstdeklaration | -| NE-bilaga | PDF/skärm | Bilaga till inkomstdeklaration (EF) | -| Verifikationsunderlag | PDF/bild | Nedladdning av bifogade dokument | - -## 11. Integrationer - -| Integration | Beskrivning | Dataflöde | -|---|---|---| -| Enable Banking (PSD2) | Bankkontosynkronisering | Bank -> erp-base (läsning av transaktioner och saldon) | -| Anthropic API | AI-kategorisering av transaktioner, OCR | erp-base -> Anthropic -> erp-base (transaktionsdata skickas, kategoriseringsförslag returneras) | -| OpenAI API | Embeddingar for likhetsmatchning | erp-base -> OpenAI -> erp-base (transaktionsbeskrivningar skickas, vektorer returneras) | -| Resend | E-postutskick | erp-base -> Resend -> mottagare (fakturor, påminnelser) | - -[ANGE YTTERLIGARE INTEGRATIONER OM TILLÄMPLIGT] - -## 12. Behörigheter och åtkomstkontroll - -12.1. Varje konto i erp-base är isolerat via Row Level Security (RLS) i databasen. En användare kan enbart se och redigera sin egen data. - -12.2. Nuvarande behörighetsstruktur: - -| Roll | Beskrivning | -|---|---| -| Kontoägare | Full åtkomst till all data och funktionalitet | - -[OM YTTERLIGARE ROLLER FINNS, BESKRIV HÄR] - -12.3. Ansvarig for att tilldela och granska behörigheter: [NAMN] - -## 13. Uppdatering av systemdokumentationen - -Systemdokumentationen ska uppdateras vid: -- Byte eller uppgradering av bokföringsprogram -- Ändringar i kontoplan -- Ändringar i momshantering -- Nya integrationer eller delsystem -- Minst en gång per räkenskapsår - -| Datum | Ändring | Utförd av | -|---|---|---| -| [DATUM] | Första version upprättad | [NAMN] | -| | | | - ---- - -*Denna systemdokumentation uppfyller kraven i 5 kap. 11 § BFL och BFNAR 2013:2 kapitel 9 (punkterna 9.1-9.16) samt Exempel 9.1-9.4 i vägledningen. Anpassa innehållet till ditt företags specifika förhållanden.* diff --git a/dev_docs/BASKONTOPLAN.md b/dev_docs/BASKONTOPLAN.md deleted file mode 100644 index 6e8fdb17..00000000 --- a/dev_docs/BASKONTOPLAN.md +++ /dev/null @@ -1,2187 +0,0 @@ -KONTOPLAN BAS 2026 -v 1.0 -Huvudkonton Underkonton -10 -IMMATERIELLA -ANLÄGGNINGSTILLGÅNGAR -1010# Utvecklingsutgifter 1011# -Balanserade utgifter för forskning och -utveckling -1012# Balanserade utgifter för programvaror -1018# -Ackumulerade nedskrivningar på -balanserade utgifter -1019# -Ackumulerade avskrivningar på -balanserade utgifter -1020 Koncessioner m.m. 1028 -Ackumulerade nedskrivningar på -koncessioner m.m. -1029 -Ackumulerade avskrivningar på -koncessioner m.m. -1030 Patent 1038 Ackumulerade nedskrivningar på patent -1039 Ackumulerade avskrivningar på patent -1040 Licenser 1048 -Ackumulerade nedskrivningar på -licenser -1049 Ackumulerade avskrivningar på licenser -1050 Varumärken 1058 -Ackumulerade nedskrivningar på -varumärken -1059 -Ackumulerade avskrivningar på -varumärken -1060 Hyresrätter och liknande 1068 -Ackumulerade nedskrivningar på -hyresrätter och liknande -1069 -Ackumulerade avskrivningar på -hyresrätter och liknande -1070 Goodwill 1078 -Ackumulerade nedskrivningar på -goodwill -1079 Ackumulerade avskrivningar på goodwill -1080 -Pågående projekt och förskott -för immateriella anläggningstillgångar 1081 -Pågående projekt för immateriella -anläggningstillgångar -1088 -Förskott för immateriella -anläggningstillgångar -För ändringar jämfört med 2025 hänvisas till webbsidan där du under Jämför kontoplaner -hittar en excelfil i vilken skillnaderna presenteras. -# = Konton som inte ska användas när K2 tillämpas. -1090 -Övriga immateriella -anläggningstillgångar 1092 Tomträtter -1098 -Ackumulerade nedskrivningar på övriga -immateriella anläggningstillgångar -1099 -Ackumulerade avskrivningar på övriga -immateriella anläggningstillgångar -11 BYGGNADER OCH MARK -1110 Byggnader 1111 Byggnader på egen mark -1112 Byggnader på annans mark -1118 -Ackumulerade nedskrivningar på -byggnader -1119 -Ackumulerade avskrivningar på -byggnader -1120 -Förbättringsutgifter på annans -fastighet 1129 -Ackumulerade avskrivningar på -förbättringsutgifter på annans fastighet -1130 Mark -1140 Tomter och obebyggda markområden -1150 Markanläggningar 1158 -Ackumulerade nedskrivningar på -markanläggningar -1159 -Ackumulerade avskrivningar på -markanläggningar -1180 -Pågående nyanläggningar och -förskott för byggnader och mark 1181 Pågående ny-, till- och ombyggnad -1188 Förskott för byggnader och mark -12 MASKINER RESPEKTIVE INVENTARIER -1210 -Maskiner och andra tekniska -anläggningar 1211 -Maskiner och andra tekniska -anläggningar i övrigt -1212 -Byggnads- och markinventarier (för -produktion) -1214 Datorer (för produktion) -1216 Arbetsfordon -1217 Finansiellt leasade maskiner -1218 -Ackumulerade nedskrivningar på -maskiner och andra tekniska -anläggningar -1219 -Ackumulerade avskrivningar på -maskiner och andra tekniska -anläggningar -1220 Inventarier, verktyg och installationer 1221 -Inventarier, verktyg och installationer i -övrigt -1222 -Byggnads- och markinventarier (ej för -produktion) -1224 Datorer (ej för produktion) -1226 -Bilar och transportmedel (ej för -produktion) -1227 Finansiellt leasade inventarier -1228 -Ackumulerade nedskrivningar på -inventarier, verktyg och installationer -1229 -Ackumulerade avskrivningar på -inventarier, verktyg och installationer -1230 -(Fritt konto för Maskiner och andra -tekniska anläggningar) -1240 -(Fritt konto för Maskiner och andra - tekniska anläggningar) -1250 -(Fritt konto för Inventarier, verktyg -och installationer) -1260 -(Fritt konto för Inventarier, verktyg -och installationer) -1280 -Pågående nyanläggningar och förskott -för maskiner respektive inventarier 1281 -Pågående nyanläggningar, maskiner -respektive inventarier -1288 -Förskott för maskiner respektive -inventarier -1290 -Övriga materiella -anläggningstillgångar 1291 Konst och liknande tillgångar -1292 -Djur som klassificeras som -anläggningstillgång -1298 -Ackumulerade nedskrivningar på övriga -materiella anläggningstillgångar -1299 -Ackumulerade avskrivningar på övriga -materiella anläggningstillgångar -13 -FINANSIELLA -ANLÄGGNINGSTILLGÅNGAR -1310 Andelar i koncernföretag 1311 -Aktier i noterade svenska -koncernföretag -1312 -Aktier i onoterade svenska -koncernföretag -1313 -Aktier i noterade utländska -koncernföretag -1314 -Aktier i onoterade utländska -koncernföretag -1316 Andra andelar i svenska koncernföretag -1317 -Andra andelar i utländska -koncernförertag -1318 -Ackumulerade nedskrivningar av -andelar i koncernföretag -1320 -Långfristiga fordringar hos -koncernföretag 1321 -Långfristiga fordringar hos -moderföretag -1322 Långfristiga fordringar hos dotterföretag -1323 -Långfristiga fordringar hos andra -koncernföretag -1328 -Ackumulerade nedskrivningar av -långfristiga fordringar hos -koncernföretag -1330 -Andelar i intresseföretag och -gemensamt styrda företag samt övriga -företag som det finns ett ägarintresse i 1331 Andelar i intresseföretag -1332 -Ackumulerade nedskrivningar av -andelar i intresseföretag -1333 Andelar i gemensamt styrda företag -1334 -Ackumulerade nedskrivningar av -andelar i gemensamt styrda företag -1336 -Andelar i övriga företag som det finns -ett ägarintresse i -1337 -Ackumulerade nedskrivningar av -andelar i övriga företag som det finns -ett ägarintresse i -1340 -Långfristiga fordringar hos -intresseföretag och gemensamt styrda -företag samt övriga företag som det -finns ett ägarintresse i 1341 -Långfristiga fordringar hos -intresseföretag -1342 -Ackumulerade nedskrivningar av -långfristiga fordringar hos -intresseföretag -1343 -Långfristiga fordringar hos gemensamt -styrda företag -1344 -Ackumulerade nedskrivningar av -långfristiga fordringar hos gemensamt -styrda företag -1346 -Långfristiga fordringar hos övriga -företag som det finns ett ägarintresse i -1347 -Ackumulerade nedskrivningar av -långfristiga fordringar hos övriga företag -som det finns ett ägarintresse i -1350 -Andra långfristiga -värdepappersinnehav 1351 Andelar i noterade företag -1352 Andra andelar -1353 Andelar i bostadsrättsföreningar -1354 Obligationer -1356 Andelar i ekonomiska föreningar -1357 Andelar i handelsbolag -1358 -Ackumulerade nedskrivningar av andra -långfristiga värdepappersinnehav -1360 -Lån till delägare eller närstående, -långfristig del 1369 -Ackumulerade nedskrivningar av lån till -delägare eller närstående, långfristig del -1370# Uppskjuten skattefordran -1380 Andra långfristiga fordringar 1381 Långfristiga reversfordringar -1382 Långfristiga fordringar hos anställda -1383 Lämnade depositioner, långfristiga -1384 Derivat -1385 Kapitalförsäkring -1387 Långfristiga kontraktsfordringar -1388 Långfristiga kundfordringar -1389 -Ackumulerade nedskrivningar av andra -långfristiga fordringar -14 -LAGER, PRODUKTER I ARBETE OCH -PÅGÅENDE ARBETEN -1410 Lager av råvaror 1419 Förändring av lager av råvaror -1420 -Lager av tillsatsmaterial och -förnödenheter 1429 -Förändring av lager av tillsatsmaterial -och förnödenheter -1440 Produkter i arbete 1449 Förändring av produkter i arbete -1450 Lager av färdiga varor 1459 Förändring av lager av färdiga varor -1460 Lager av handelsvaror 1465 Lager av varor VMB -1466 Nedskrivning av varor VMB -1467 Lager av varor VMB förenklad -1469 Förändring av lager av handelsvaror -1470 Pågående arbeten 1471 Pågående arbeten, nedlagda kostnader -1478 Pågående arbeten, fakturering -1479 Förändring av pågående arbeten -1480 Förskott för varor och tjänster 1481 Remburser -1489 Övriga förskott till leverantörer -1490 Övriga lagertillgångar 1491 Lager av värdepapper -1492 Lager av fastigheter -1493 -Djur som klassificeras som -omsättningstillgång -15 KUNDFORDRINGAR -1510 Kundfordringar 1511 Kundfordringar -1512 Belånade kundfordringar (factoring) -1513 Kundfordringar – delad faktura -1516 Tvistiga kundfordringar -1518# Ej reskontraförda kundfordringar -1519 Nedskrivning av kundfordringar -1520 Växelfordringar 1525 Osäkra växelfordringar -1529 Nedskrivning av växelfordringar -1530 Kontraktsfordringar 1531 Kontraktsfordringar -1532 Belånade kontraktsfordringar -1536 Tvistiga kontraktsfordringar -1539 Nedskrivning av kontraktsfordringar -1550 Konsignationsfordringar -1560 Kundfordringar hos koncernföretag 1561 Kundfordringar hos moderföretag -1562 Kundfordringar hos dotterföretag -1563 -Kundfordringar hos andra -koncernföretag -1568 -Ej reskontraförda kundfordringar hos -koncernföretag -1569 -Nedskrivning av kundfordringar hos -koncernföretag -1570 -Kundfordringar hos intresseföretag, -gemensamt styrda företag och övriga -företag som det finns ett ägarintresse i 1571 Kundfordringar hos intresseföretag -1572 -Kundfordringar hos gemensamt styrda -företag -1573 -Kundfordringar hos övriga företag som -det finns ett ägarintresse i -16 ÖVRIGA KORTFRISTIGA FORDRINGAR -1610 Kortfristiga fordringar hos anställda 1611 Reseförskott -1612 Kassaförskott -1613 Övriga förskott -1614 Tillfälliga lån till anställda -1619 Övriga fordringar hos anställda -1620 Upparbetad men ej fakturerad intäkt -1630 -Avräkning för skatter och avgifter -(skattekonto) -1640 Skattefordringar -1650 Momsfordran -1660 -Kortfristiga fordringar hos -koncernföretag 1661 Kortfristiga fordringar hos moderföretag -1662 Kortfristiga fordringar hos dotterföretag -1663 -Kortfristiga fordringar hos andra -koncernföretag -1670 -Kortfristiga fordringar hos -intresseföretag, gemensamt styrda -företag och övriga företag som det finns -ett ägarintresse i 1671 -Kortfristiga fordringar hos -intresseföretag -1672 -Kortfristiga fordringar hos gemensamt -styrda företag -1673 -Kortfristiga fordringar hos övriga företag -som det finns ett ägarintresse i -1680 Andra kortfristiga fordringar 1681 Utlägg för kunder -1682 Kortfristiga lånefordringar -1683 Derivat -1684 Kortfristiga fordringar hos leverantörer -1685 -Kortfristiga fordringar hos delägare eller -närstående -1686 Fordringar för kontokort och kuponger -1687 Kortfristig del av långfristiga fordringar -1688 Fordran arbetsmarknadsförsäkringar -1689 Övriga kortfristiga fordringar -1690 -Fordringar för tecknat men ej -inbetalt aktiekapital -17 -FÖRUTBETALDA KOSTNADER OCH -UPPLUPNA INTÄKTER -1710 Förutbetalda hyreskostnader -1720 Förutbetalda leasingavgifter -1730 Förutbetalda försäkringspremier -1740 Förutbetalda räntekostnader -1750 Upplupna hyresintäkter -1760 Upplupna ränteintäkter -1770 Tillgångar av kostnadsnatur -1780 Upplupna avtalsintäkter -1790 -Övriga förutbetalda kostnader -och upplupna intäkter -18 KORTFRISTIGA PLACERINGAR -1810 Andelar i börsnoterade företag -1820 Obligationer -1830 Konvertibla skuldebrev -1860 Andelar i koncernföretag, kortfristigt -1880 Andra kortfristiga placeringar 1886 Derivat -1889 Andelar i övriga företag -1890 -Nedskrivning av kortfristiga -placeringar -19 KASSA OCH BANK -1910 Kassa 1911 Huvudkassa -1912 Kassa 2 -1913 Kassa 3 -1920 PlusGiro -1930 Företagskonto -1940 Övriga bankkonton -1950 Bankcertifikat -1960 Koncernkonto moderföretag -1970 Särskilda bankkonton 1972 Upphovsmannakonto -1973 Skogskonto -1974 Spärrade bankmedel -1979 Övriga särskilda bankkonton -1980 Valutakonton -1990 Redovisningsmedel -20 EGET KAPITAL -2010 Eget kapital 2011 Egna varuuttag -2013 Övriga egna uttag -2017 Årets kapitaltillskott -2018 Övriga egna insättningar -2019 Årets resultat, delägare 1 -2020 Eget kapital 2021 Egna varuuttag -2023 Övriga egna uttag -2027 Årets kapitaltillskott -2028 Övriga egna insättningar -2029 Årets resultat, delägare 2 -2030 Eget kapital 2031 Egna varuuttag -2033 Övriga egna uttag -2037 Årets kapitaltillskott -2038 Övriga egna insättningar -2039 Årets resultat, delägare 3 -2040 Eget kapital 2041 Egna varuuttag -2043 Övriga egna uttag -2047 Årets kapitaltillskott -2048 Övriga egna insättningar -2049 Årets resultat, delägare 4 -2050 Avsättning till expansionsfond -2060 -Eget kapital i ideella föreningar, -stiftelser och registrerade trossamfund 2061 Kapital/stiftelsekapital/grundkapital -2064 Ackumulerat realisationsresultat -2065 Fond för verkligt värde -2066 Värdesäkringsfond -2067 Balanserat överskott eller underskott -2068 -Överskott eller underskott från -föregående år -2069 Årets resultat -2070 Ändamålsbestämda medel 2071 Ändamål 1 -2072 Ändamål 2 -2080 Bundet eget kapital 2081 Aktiekapital -2082 Ej registrerat aktiekapital -2083 Medlemsinsatser -2084 Förlagsinsatser -2085 Uppskrivningsfond -2086 Reservfond -2087 Bunden överkursfond -2087 Insatsemission -2088 Fond för yttre underhåll -2089 Fond för utvecklingsutgifter -2090 Fritt eget kapital 2091 Balanserad vinst eller förlust -2092# Mottagna/lämnade koncernbidrag -2093 Erhållna aktieägartillskott -2094 Egna aktier -2095 Fusionsresultat -2096# Fond för verkligt värde -2097 Fri överkursfond -2098 Vinst eller förlust från föregående år -2099 Årets resultat -21 OBESKATTADE RESERVER -2110 Periodiseringsfonder -2120 Periodiseringsfond 2020 2120 Periodiseringsfond 2020 -2121 Periodiseringsfond 2021 -2122 Periodiseringsfond 2022 -2123 Periodiseringsfond 2023 -2124 Periodiseringsfond 2024 -2125 Periodiseringsfond 2025 -2126 Periodiseringsfond 2026 -2127 Periodiseringsfond 2027 -2129 Periodiseringsfond 2019 -2130 Periodiseringsfond 2020 – nr 2 2130 Periodiseringsfond 2020 – nr 2 -2131 Periodiseringsfond 2021 – nr 2 -2132 Periodiseringsfond 2022 – nr 2 -2133 Periodiseringsfond 2023 – nr 2 -2134 Periodiseringsfond 2024 – nr 2 -2135 Periodiseringsfond 2025 - nr 2 -2136 Periodiseringsfond 2026 – nr 2 -2137 Periodiseringsfond 2027 - nr 2 -2139 Periodiseringsfond 2019 – nr 2 -2150 Ackumulerade överavskrivningar 2151 -Ackumulerade överavskrivningar på -immateriella anläggningstillgångar -2152 -Ackumulerade överavskrivningar på -byggnader och markanläggningar -2153 -Ackumulerade överavskrivningar på -maskiner respektive inventarier -2160 Ersättningsfond 2161 -Ersättningsfond maskiner och -inventarier -2162 -Ersättningsfond byggnader och -markanläggningar -2164 -Ersättningsfond för djurlager i jordbruk -och renskötsel -2190 Övriga obeskattade reserver 2196 Lagerreserv -2199 Övriga obeskattade reserver -22 AVSÄTTNINGAR -2210 -Avsättningar för pensioner enligt -tryggandelagen -2220 Avsättningar för garantier -2230 -Övriga avsättningar för pensioner och - liknande förpliktelser -2240# Avsättningar för uppskjutna skatter -2250 Övriga avsättningar för skatter 2252 Avsättningar för tvistiga skatter -2253 -Avsättningar särskild löneskatt, -deklarationspost -2290 Övriga avsättningar -23 LÅNGFRISTIGA SKULDER -2310 Obligations- och förlagslån -2320 Konvertibla lån och liknande 2321 Konvertibla lån -2322 Lån förenade med optionsrätt -2323 Vinstandelslån -2324 Kapitalandelslån -2330 Kontokredit -2340 Byggnadskreditiv -2350 -Andra långfristiga skulder till -kreditinstitut 2351 Fastighetslån, långfristig del -2355 -Långfristiga lån i utländsk valuta från -kreditinstitut -2359 Övriga långfristiga lån från kreditinstitut -2360 -Långfristiga skulder till -koncernföretag 2361 Långfristiga skulder till moderföretag -2362 Långfristiga skulder till dotterföretag -2363 -Långfristiga skulder till andra -koncernföretag -2370 -Långfristiga skulder till intresseföretag, -gemensamt styrda företag och övriga -företag som det finns ett ägarintresse i 2371 Långfristiga skulder till intresseföretag -2372 -Långfristiga skulder till gemensamt -styrda företag -2373 -Långfristiga skulder till övriga företag -som det finns ett ägarintresse i -2390 Övriga långfristiga skulder 2391 Avbetalningskontrakt, långfristig del -2392 Villkorliga långfristiga skulder -2393 -Lån från närstående personer, långfristig -del -2394 Långfristiga leverantörskrediter -2395 Andra långfristiga lån i utländsk valuta -2396 Derivat -2397 Mottagna depositioner, långfristiga -2399 Övriga långfristiga skulder -24 -KORTFRISTIGA SKULDER TILL -KREDITINSTITUT, KUNDER OCH -LEVERANTÖRER -2410 -Andra kortfristiga låneskulder till -kreditinstitut 2411 Kortfristiga lån från kreditinstitut -2412 Byggnadskreditiv, kortfristig del -2417 -Kortfristig del av långfristiga skulder till -kreditinstitut -2419 -Övriga kortfristiga skulder till -kreditinstitut -2420 Förskott från kunder 2421 Ej inlösta presentkort -2429 Övriga förskott från kunder -2430 Pågående arbeten 2431 Pågående arbeten, fakturering -2438 Pågående arbeten, nedlagda kostnader -2439 -Beräknad förändring av pågående -arbeten -2440 Leverantörsskulder 2441 Leverantörsskulder -2443 Konsignationsskulder -2445 Tvistiga leverantörsskulder -2448# Ej reskontraförda leverantörsskulder -2450 Fakturerad men ej upparbetad intäkt -2460 Leverantörsskulder till koncernföretag 2461 Leverantörsskulder till moderföretag -2462 Leverantörsskulder till dotterföretag -2463 -Leverantörsskulder till andra -koncernföretag -2470 -Leverantörsskulder till intresseföretag, - gemensamt styrda företag och övriga -företag som det finns ett ägarintresse i 2471 Leverantörsskulder till intresseföretag -2472 -Leverantörsskulder till gemensamt -styrda företag -2473 -Leverantörsskulder till övriga företag -som det finns ett ägarintresse i -2480 Kontokredit, kortfristig -2490 -Övriga kortfristiga skulder till -kreditinstitut, kunder och leverantörer 2491 Avräkning spelarrangörer -2492 Växelskulder -2499 Andra övriga kortfristiga skulder -25 SKATTESKULDER -2510 Skatteskulder 2512 Beräknad inkomstskatt -2513 -Beräknad -fastighetsskatt/fastighetsavgift -2514 -Beräknad särskild löneskatt på -pensionskostnader -2515 Beräknad avkastningsskatt -2517 Beräknad utländsk skatt -2518 Betald F-skatt -26 MOMS OCH PUNKTSKATTER -2610 Utgående moms, 25 % 2611 -Utgående moms på försäljning inom -Sverige, 25 % -2612 Utgående moms på egna uttag, 25 % -2613 Utgående moms för uthyrning, 25 % -2614 -Utgående moms omvänd -betalskyldighet, 25 % -2615 Utgående moms import av varor, 25 % -2616 Utgående moms VMB 25 % -2618 Vilande utgående moms, 25 % -2620 Utgående moms, 12 % 2621 -Utgående moms på försäljning inom -Sverige, 12 % -2622 Utgående moms på egna uttag, 12 % -2623 Utgående moms för uthyrning, 12 % -2624 -Utgående moms omvänd -betalningsskyldighet 12 % -2625 Utgående moms import av varor, 12 % -2626 Utgående moms VMB 12 % -2628 Vilande utgående moms, 12 % -2630 Utgående moms, 6 % 2631 -Utgående moms på försäljning inom -Sverige, 6 % -2632 Utgående moms på egna uttag, 6 % -2633 Utgående moms för uthyrning, 6 % -2634 -Utgående moms omvänd -betalningsskyldighet, 6 % -2635 Utgående moms import av varor, 6 % -2636 Utgående moms VMB 6 % -2638 Vilande utgående moms, 6 % -2640 Ingående moms 2641 Debiterad ingående moms -2642 -Debiterad ingående moms i anslutning -till frivillig betalningsskyldighet -2645 -Beräknad ingående moms på förvärv -från utlandet -2646 Ingående moms på uthyrning -2647 -Ingående moms omvänd -betalningsskyldighet varor och tjänster i -Sverige -2648 Vilande ingående moms -2649 Ingående moms, blandad verksamhet -2650 Redovisningskonto för moms -2660 Punktskatter -2670 -Utgående moms på försäljning inom -EU, OSS -27 -PERSONALENS SKATTER, AVGIFTER OCH -LÖNEAVDRAG -2710 Personalskatt -2730 -Lagstadgade sociala avgifter och -särskild löneskatt 2731 Avräkning lagstadgade sociala avgifter -2732 Avräkning särskild löneskatt -2740 Avtalade sociala avgifter -2750 Utmätning i lön m.m. -2760 Semestermedel 2761 Avräkning semesterlöner -2762 Semesterlönekassa -2790 Övriga löneavdrag 2791 Personalens intressekonto -2792 Lönsparande -2793 försäkringspremier -2794 Fackföreningsavgifter -2795 Mätnings- och granskningsarvoden -2799 Övriga löneavdrag -28 ÖVRIGA KORTFRISTIGA SKULDER -2810 -Avräkning för factoring och belånade -kontraktsfordringar 2811 Avräkning för factoring -2812 -Avräkning för belånade -kontraktsfordringar -2820 Kortfristiga skulder till anställda 2821 Löneskulder -2822 Reseräkningar -2823 Tantiem, gratifikationer -2829 Övriga kortfristiga skulder till anställda -2830 Avräkning för annans räkning -2840 Kortfristiga låneskulder 2841 Kortfristig del av långfristiga skulder -2849 Övriga kortfristiga låneskulder -2850 -Avräkning för skatter och avgifter -(skattekonto) 2852 -Anståndsbelopp för moms, -arbetsgivaravgifter och personalskatt -2860 Kortfristiga skulder till koncernföretag 2861 Kortfristiga skulder till moderföretag -2862 Kortfristiga skulder till dotterföretag -2863 -Kortfristiga skulder till andra -koncernföretag -2870 -Kortfristiga skulder till intresseföretag, - gemensamt styrda företag och övriga -företag som det finns ett ägarintresse i 2871 Kortfristiga skulder till intresseföretag -2872 -Kortfristiga skulder till gemensamt -styrda företag -2873 -Kortfristiga skulder till övriga företag -som det finns ett ägarintresse i -2880 Skuld erhållna bidrag -2890 Övriga kortfristiga skulder 2891 Skulder under indrivning -2892 Inre reparationsfond/underhållsfond -2893 -Skulder till närstående personer, -kortfristig del -2895 Derivat (kortfristiga skulder) -2897 Mottagna depositioner, kortfristiga -2898 Outtagen vinstutdelning -2899 Övriga kortfristiga skulder -29 -UPPLUPNA KOSTNADER OCH -FÖRUTBETALDA INTÄKTER -2910 Upplupna löner 2911 Löneskulder -2912 Ackordsöverskott -2919 Övriga upplupna löner -2920 Upplupna semesterlöner -2930 Upplupna pensionskostnader 2931 Upplupna pensionsutbetalningar -2940 -Upplupna lagstadgade sociala och -andra avgifter 2941 -Beräknade upplupna lagstadgade sociala -avgifter -2942 Beräknad upplupen särskild löneskatt -2943 -Beräknad upplupen särskild löneskatt på -pensionskostnader, deklarationspost -2944 -Beräknad upplupen avkastningsskatt på -pensionskostnader -2950 Upplupna avtalade sociala avgifter 2951 -Upplupna avtalade -arbetsmarknadsförsäkringar -2959 -Upplupna avtalade -pensionsförsäkringsavgifter, -deklarationspost -2960 Upplupna räntekostnader -2970 Förutbetalda intäkter 2971 Förutbetalda hyresintäkter -2972 Förutbetalda medlemsavgifter -2979 Övriga förutbetalda intäkter -2980 Upplupna avtalskostnader -2990 -Övriga upplupna kostnader och -förutbetalda intäkter 2991 Beräknat arvode för bokslut -2992 Beräknat arvode för revision -2993 Ospecificerad skuld till leverantörer -2995 Ej ankomna leverantörsfakturor -2998 -Övriga upplupna kostnader och -förutbetalda intäkter -2999 OBS-konto -30 HUVUDINTÄKTER -3000 Försäljning inom Sverige 3001 Försäljning inom Sverige, 25 % moms -3002 Försäljning inom Sverige, 12 % moms -3003 Försäljning inom Sverige, 6 % moms -3004 Försäljning inom Sverige, momsfri -3100 Försäljning av varor utanför Sverige 3105 Försäljning varor till land utanför EU -3106 -Försäljning varor till annat EU-land, -momspliktig -3108 -Försäljning varor till annat EU-land, -momsfri -3200 Försäljning VMB och omvänd moms 3211 Försäljning positiv VMB 25 % -3212 Försäljning negativ VMB 25 % -3231 -Försäljning inom byggsektorn, omvänd -betalningsskyldighet moms -3300 Försäljning av tjänster utanför Sverige 3305 Försäljning tjänster till land utanför EU -3308 Försäljning tjänster till annat EU-land -3400 Försäljning, egna uttag 3401 Egna uttag momspliktiga, 25 % -3402 Egna uttag momspliktiga, 12 % -3403 Egna uttag momspliktiga, 6 % -3404 Egna uttag, momsfria -35 FAKTURERADE KOSTNADER -3500 Fakturerade kostnader (gruppkonto) -3510 Fakturerat emballage 3511 Fakturerat emballage -3518 Returnerat emballage -3520 Fakturerade frakter 3521 Fakturerade frakter, EU-land -3522 Fakturerade frakter, export -3530 -Fakturerade tull- och -speditionskostnader m.m. -3540 Faktureringsavgifter 3541 Faktureringsavgifter, EU-land -3542 Faktureringsavgifter, export -3550 Fakturerade resekostnader -3560 -Fakturerade kostnader till -koncernföretag 3561 Fakturerade kostnader till moderföretag -3562 Fakturerade kostnader till dotterföretag -3563 -Fakturerade kostnader till andra -koncernföretag -3570 -Fakturerade kostnader till -intresseföretag, gemensamt styrda -företag och övriga företag som det finns -ett ägarintresse i -3590 Övriga fakturerade kostnader -36 RÖRELSENS SIDOINTÄKTER -3600 Rörelsens sidointäkter (gruppkonto) -3610 Försäljning av material 3611 Försäljning av råmaterial -3612 Försäljning av skrot -3613 Försäljning av förbrukningsmaterial -3619 Försäljning av övrigt material -3620 Tillfällig uthyrning av personal -3630 Tillfällig uthyrning av transportmedel -3670 Intäkter från värdepapper 3671 Försäljning av värdepapper -3672 Utdelning från värdepapper -3679 Övriga intäkter från värdepapper -3680 Management fees -3690 Övriga sidointäkter -37 INTÄKTSKORRIGERINGAR -3700 Intäktskorrigeringar (gruppkonto) -3710 Ofördelade intäktsreduktioner -3730 Lämnade rabatter 3731 Lämnade kassarabatter -3732 Lämnade mängdrabatter -3740 Öres- och kronutjämning -3750 Punktskatter 3751 Intäktsförda punktskatter (kreditkonto) -3752 Skuldförda punktskatter (debetkonto) -3790 Övriga intäktskorrigeringar -38 AKTIVERAT ARBETE FÖR EGEN RÄKNING -3800 -Aktiverat arbete för egen räkning -(gruppkonto) -3840 Aktiverat arbete (material) -3850 Aktiverat arbete (omkostnader) -3870 Aktiverat arbete (personal) -39 ÖVRIGA RÖRELSEINTÄKTER -3900 Övriga rörelseintäkter (gruppkonto) -3910 Hyres- och arrendeintäkter 3911 Hyresintäkter -3912 Arrendeintäkter -3913 Frivilligt momspliktiga hyresintäkter -3914 Övriga momspliktiga hyresintäkter -3920 -Provisionsintäkter, licensintäkter och -royalties 3921 Provisionsintäkter -3922 Licensintäkter och royalties -3925 Franchiseintäkter -3940# -Orealiserade negativa/positiva -värdeförändringar på -säkringsinstrument -3950 -Återvunna, tidigare avskrivna -kundfordringar -3960 -Valutakursvinster på fordringar och -skulder av rörelsekaraktär -3970 -Vinst vid avyttring av immateriella och -materiella anläggningstillgångar 3971 -Vinst vid avyttring av immateriella -anläggningstillgångar -3972 -Vinst vid avyttring av byggnader och -mark -3973 -Vinst vid avyttring av maskiner och -inventarier -3980 Erhållna offentliga bidrag 3981 Erhållna EU-bidrag -3985 Erhållna statliga bidrag -3987 Erhållna kommunala bidrag -3988 Erhållna offentliga bidrag för personal -3989 Övriga erhållna offentliga bidrag -3990 -Övriga ersättningar, bidrag och -intäkter 3991 Konfliktersättning -3992 Erhållna skadestånd -3993 Erhållna donationer och gåvor -3994 Försäkringsersättningar -3995 -Erhållet ackord på skulder av -rörelsekaraktär -3996 Erhållna reklambidrag -3997 Sjuklöneersättning -3998 -Återbäring av överskott från -försäkringsföretag -3999 Övriga rörelseintäkter -40 INKÖP AV HANDELSVAROR -4000 Inköp av handelsvaror (gruppkonto) -4010 Inköp av handelsvaror i Sverige -4060 -Inköp av handelsvaror i Sverige, -omvänd betalningsskyldighet 4065 -Inköp av handelsvaror i Sverige, omvänd -betalningsskyldighet, 25 % moms -4066 -Inköp av handelsvaror i Sverige, omvänd -betalningsskyldighet, 12 % moms -4067 -Inköp av handelsvaror i Sverige, omvänd -betalningsskyldighet, 6 % moms -4070 -Inköp av handelsvaror från annat -EU-land 4075 -Inköp av handelsvaror från annat EUland, 25 % moms -4076 -Inköp av handelsvaror från annat EUland, 12 % moms -4077 -Inköp av handelsvaror från annat EUland, 6 % moms -4078 -Inköp av handelsvaror från annat EUland, momsfri -4080 Import av handelsvaror 4085 Import av handelsvaror, 25 % moms -4086 Import av handelsvaror, 12 % moms -4087 Import av handelsvaror, 6 % moms -4090 Erhållna rabatter (Handelsvaror) 4091 Erhållna kassarabatter (Handelsvaror) -4092 -Erhållna mängdrabatter (inkl. bonus) -(Handelsvaror) -4099 -Övriga reduktioner av inköpspriser -(Handelsvaror) -42 SÅLDA HANDELSVAROR VMB -4200 Sålda handelsvaror VMB (gruppkonto) -4210 Sålda handelsvaror VMB 4211 Sålda handelsvaror positiv VMB 25 % -4212 Sålda handelsvaror negativ VMB 25 % -43 -INKÖP AV RÅVAROR OCH MATERIAL I -SVERIGE (RÅVAROR OCH -FÖRNÖDENHETER) -4300 -Inköp av råvaror och material i Sverige -(gruppkonto) -4310 Inköp av råvaror och material i Sverige -44 -INKÖP AV RÅVAROR OCH MATERIAL, -TJÄNSTER M.M. I SVERIGE, OMVÄND -BETALNINGSSKYLDIGHET (RÅVAROR -OCH FÖRNÖDENHETER) -4400 -Inköp av råvaror och material, tjänster -m.m. i Sverige, omvänd -betalningsskyldighet (gruppkonto) -4410 -Inköp av råvaror och material i -Sverige, omvänd betalningsskyldighet 4415 -Inköp av råvaror och material i Sverige, -omvänd betalningsskyldighet, 25 % -moms -4416 -Inköp av råvaror och material i Sverige, -omvänd betalningsskyldighet, 12 % -moms -4417 -Inköp av råvaror och material i Sverige, -omvänd betalningsskyldighet, 6 % moms -4420 -Inköp av tjänster i Sverige, omvänd -betalningsskyldighet 4425 -Inköp av tjänster i Sverige, omvänd -betalningsskyldighet, 25 % moms -4426 -Inköp av tjänster i Sverige, omvänd -betalningsskyldighet, 12 % moms -4427 -Inköp av tjänster i Sverige, omvänd -betalningsskyldighet, 6 % moms -45 -INKÖP AV RÅVAROR OCH MATERIAL, -TJÄNSTER M.M. FRÅN UTLANDET -(RÅVAROR OCH FÖRNÖDENHETER) -4500 -Inköp av råvaror och material, tjänster - m.m. från utlandet (gruppkonto) -4510 -Inköp av råvaror och material från -annat EU-land 4515 -Inköp av råvaror och material från annat -EU-land, 25 % -4516 -Inköp av råvaror och material från annat -EU-land, 12 % -4517 -Inköp av råvaror och material från annat -EU-land, 6 % -4518 -Inköp av råvaror och material från annat -EU-land, momsfri -4530 Inköp av tjänster m.m. från utlandet 4531 -Inköp av tjänster från ett land utanför -EU, 25 % moms -4532 -Inköp av tjänster från ett land utanför -EU, 12 % moms -4533 -Inköp av tjänster från ett land utanför -EU, 6 % moms -4535 -Inköp av tjänster från annat EU-land, 25 -% -4536 -Inköp av tjänster från annat EU-land, 12 -% -4537 -Inköp av tjänster från annat EU-land, 6 -% -4538 -Inköp av tjänster från annat EU-land, -momsfri -4540 Import av råvaror och material 4545 -Import av råvaror och material, 25 % -moms -4546 -Import av råvaror och material, 12 % -moms -4547 -Import av råvaror och material, 6 % -moms -46 -INKÖP AV TJÄNSTER, -UNDERENTREPRENADER OCH -LEGOARBETEN I SVERIGE (RÅVAROR -OCH FÖRNÖDENHETER) -4600 -Inköp av tjänster, underentreprenader - och legoarbeten i Sverige (gruppkonto) -4610 -Inköp av tjänster och -underentreprenader -4670 Inköp av legoarbeten -47 -REDUKTION AV INKÖPSPRISER -(RÅVAROR OCH FÖRNÖDENHETER) -4700 -Reduktion av inköpspriser -(gruppkonto) -4730 -Erhållna rabatter (Råvaror och -förnödenheter) 4731 -Erhållna kassarabatter (Råvaror och -förnödenheter) -4732 -Erhållna mängdrabatter (inkl. bonus) -(Råvaror och förnödenheter) -4739 -Övriga reduktioner av inköpspriser -(Råvaror och förnödenheter) -48 -ANDRA PRODUKTIONSKOSTNADER -(RÅVAROR OCH FÖRNÖDENHETER) -4800 -Andra produktionskostnader -(gruppkonto) -4810 -Kostnader för energi (Råvaror och -förnödenheter) -4820 -Kostnader för drivmedel (Råvaror och -förnödenheter) -4830 -Kostnader för resor (Råvaror och -förnödenheter) -4840 -Kostnader för hyra av utrustning -(Råvaror och förnödenheter) -4890 -Övriga produktionskostnader (Råvaror -och förnödenheter) -49 -FÖRÄNDRING AV LAGER, PRODUKTER I -ARBETE OCH PÅGÅENDE ARBETEN -4900 Förändring av lager (gruppkonto) -4910 Förändring av lager av råvaror -4920 -Förändring av lager av tillsatsmaterial -och förnödenheter -4940 Förändring av produkter i arbete 4944 -Förändring av produkter i arbete, -material och utlägg -4945 -Förändring av produkter i arbete, -omkostnader -4947 -Förändring av produkter i arbete, -personalkostnader -4950 Förändring av lager av färdiga varor -4960 Förändring av lager av handelsvaror -4970 -Förändring av pågående arbeten, -nedlagda kostnader 4974 -Förändring av pågående arbeten, -material och utlägg -4975 -Förändring av pågående arbeten, -omkostnader -4977 -Förändring av pågående arbeten, -personalkostnader -4980 -Förändring av lager av värdepapper -(Handelsvaror) 4981 -Sålda värdepappers anskaffningsvärde -(Handelsvaror) -4987 -Nedskrivning av värdepapper -(Handelsvaror) -4988 -Återföring av nedskrivning av -värdepapper (Handelsvaror) -50 LOKALKOSTNADER -5000 Lokalkostnader (gruppkonto) -5010 Lokalhyra 5011 Hyra för kontorslokaler -5012 Hyra för garage -5013 Hyra för lagerlokaler -5019 Övriga kostnader för lokalhyra -5020 El -5030 Värme -5040 Vatten och avlopp -5050 Lokaltillbehör -5060 Städning och renhållning 5061 Städning -5062 Sophämtning -5064 Snöröjning -5065 Trädgårdsskötsel -5069 -Övriga kostnader för städning och -underhåll -5070 Reparation och underhåll av lokaler -5090 Övriga lokalkostnader -51 FASTIGHETSKOSTNADER -5100 Fastighetskostnader (gruppkonto) -5110 Tomträttsavgäld/arrende -5120 El -5130 Värme 5131 Uppvärmning -5132 Sotning -5139 Övriga kostnader för värme -5140 Vatten och avlopp -5160 Städning och renhållning 5161 Städning -5162 Sophämtning -5164 Snöröjning -5165 Trädgårdsskötsel -5169 -Övriga kostnader för städning och -renhållning -5170 Reparation och underhåll av fastighet -5190 Övriga fastighetskostnader 5191 Fastighetsskatt/fastighetsavgift -5192 Fastighetsförsäkringspremier -5193 Fastighetsskötsel och förvaltning -5198 Övriga fastighetskostnader -52 HYRA AV ANLÄGGNINGSTILLGÅNGAR -5200 -Hyra av anläggningstillgångar -(gruppkonto) -5210 -Hyra av maskiner och andra tekniska -anläggningar, ej datorer och fordon -5220 -Hyra av inventarier och verktyg, ej -datorer och fordon -5250 Hyra av datorer -5290 -Hyra av övriga anläggningstillgångar, ej -datorer och fordon -53 -ENERGIKOSTNADER FÖR DRIFT (EJ -RÅVAROR OCH FÖRNÖDENHETER) -5300 -Energikostnader för drift (gruppkonto) -(ej råvaror och förnödenheter) -5310 -El för drift (ej råvaror och -förnödenheter) -5320 -Gas för drift (ej råvaror och -förnödenheter) -5330 -Eldningsolja för drift (ej råvaror och -förnödenheter) -5340 -Stenkol och koks för drift (ej råvaror och -förnödenheter) -5350 -Torv, träkol, ved, m.m. för drift (ej -råvaror och förnödenheter) -5360 -Bensin, fotogen och motorbrännolja för -drift (ej råvaror och förnödenheter) -5370 -Fjärrvärme, kyla och ånga för drift (ej -råvaror och förnödenheter) -5380 -Vatten för drift (ej råvaror och -förnödenheter) -5390 -Övriga energikostnader för drift (ej -råvaror och förnödenheter) -54 -FÖRBRUKNINGSINVENTARIER OCH -FÖRBRUKNINGSMATERIAL -5400 -Förbrukningsinventarier och -förbrukningsmaterial (gruppkonto) -5410 Förbrukningsinventarier 5411 -Förbrukningsinv med en livslängd på -mer än ett år -5412 -Förbrukningsinv med en livslängd om -högst ett år -5420 Programvaror -5430 Transportinventarier -5440 Förbrukningsemballage -5460 Förbrukningsmaterial -5480 Arbetskläder och skyddsmaterial -55 REPARATION OCH UNDERHÅLL -5500 Reparation och underhåll (gruppkonto) -5510 -Reparation och underhåll av maskiner -och andra tekniska anläggningar -5520 -Reparation och underhåll av inventarier, -verktyg och datorer m.m. -5530 -Reparation och underhåll byggnads- och -markinventarier -5550 -Reparation och underhåll av -förbrukningsinventarier -5580 Underhåll och tvätt av arbetskläder -5590 -Övriga kostnader för reparation och -underhåll -56 KOSTNADER FÖR TRANSPORTMEDEL -5600 -Kostnader för transportmedel -(gruppkonto) -5610 Personbils- och mc-kostnader, m.m. 5611 Drivmedel för personbilar, mc, m.m. -5612 -Försäkring och skatt för personbilar, mc, -m.m. -5613 -Reparation och underhåll av -personbilar, mc, m.m. -5615 Leasing av personbilar, mc, m.m. -5616 Trängselskatt personbilar -5619 -Övriga kostnader för personbilar och -mc, m.m. -5620 Lastbils- och busskostnader, m.m. 5621 Drivmedel lastbilar och bussar -5622 Försäkring och skatt lastbilar och bussar -5623 -Reparation och underhåll lastbilar och -bussar -5625 Leasing lastbilar och bussar -5626 Trängselskatt lastbilar och bussar -5629 Övriga lastbils- och busskostnader -5630 Truckkostnader 5631 Drivmedel truckar -5632 Försäkring och skatt truckar -5633 Reparation och underhåll truckar -5635 Leasing truckar -5639 Övriga kostnader för truckar -5640 Kostnader för arbetsmaskiner 5641 Drivmedel arbetsmaskiner -5642 Försäkring och skatt arbetsmaskiner -5643 -Reparation och underhåll -arbetsmaskiner -5645 Leasing arbetsmaskiner -5646 Trängselskatt arbetsmaskiner -5649 Övriga kostnader för arbetsmaskiner -5650 Traktorkostnader 5651 Drivmedel traktorer -5652 Försäkring och skatt traktorer -5653 Reparation och underhåll traktorer -5655 Leasing traktorer -5656 Trängselskatt traktorer -5659 Övriga kostnader för traktorer -5670 Kostnader för fartyg och luftfartyg 5671 Drivmedel fartyg och luftfartyg -5672 Försäkring och skatt fartyg och luftfartyg -5673 -Reparation och underhåll fartyg och -luftfartyg -5675 Leasing fartyg och luftfartyg -5679 -Övriga kostnader för fartyg och -luftfartyg -5680 Kostnader för rälsfordon 5681 Drivmedel rälsfordon -5682 Försäkring och skatt rälsfordon -5683 Reparation och underhåll rälsfordon -5685 Leasing rälsfordon -5689 Övriga kostnader för rälsfordon -5690 Kostnader för övriga transportmedel 5691 Drivmedel övriga transportmedel -5692 -Försäkring och skatt övriga -transportmedel -5693 -Reparation och underhåll övriga -transportmedel -5695 Leasing övriga transportmedel -5696 Trängselskatt övriga transportmedel -5699 -Övriga kostnader för övriga -transportmedel -57 FRAKTER OCH TRANSPORTER -5700 Frakter och transporter (gruppkonto) -5710 -Frakter och försäkringar vid -varudistribution 5711 Fraktkostnader -5712 Försäkringar vid frakter -5720 Tull- och speditionskostnader m.m. 5721 Tullkostnader -5722 Speditionskostnader -5729 -Övriga tull- och speditionskostnader -m.m. -5730 Arbetstransporter -5790 -Övriga kostnader för frakter och -transporter -58 RESEKOSTNADER -5800 Resekostnader (gruppkonto) -5810 Biljetter -5820 Hyrbilskostnader -5830 Kost och logi 5831 Kost och logi i Sverige -5832 Kost och logi i utlandet -5890 Övriga resekostnader -59 REKLAM OCH PR -5900 Reklam och PR (gruppkonto) -5910 Annonsering -5920 Utomhus- och trafikreklam -5930 Reklamtrycksaker och direktreklam -5940 Utställningar och mässor -5950 Butiksreklam och återförsäljarreklam -5960 -Varuprover, reklamgåvor, -presentreklam och tävlingar -5970 Film-, radio-, TV- och Internetreklam -5980 Sponsring 5981 Avdragsgill sponsring -5982 Ej avdragsgill sponsring -5990 Övriga kostnader för reklam och PR -60 ÖVRIGA FÖRSÄLJNINGSKOSTNADER -6000 -Övriga försäljningskostnader -(gruppkonto) -6010 Kataloger, prislistor m.m. -6020 Egna facktidskrifter -6030 Speciella orderkostnader -6040 Kontokortsavgifter -6050 Försäljningsprovisioner 6055 Franchisekostnader -6059 Övriga försäljningsprovisionskostnader -6060 Kreditförsäljningskostnader 6061 Kreditupplysning -6062 Inkasso och KFM-avgifter -6063 Kreditförsäkringspremier -6064 Factoringavgifter -6069 Övriga kreditförsäljningskostnader -6070 Representation 6071 Representation, avdragsgill -6072 Representation, ej avdragsgill -6080 Bankgarantier -6090 Övriga försäljningskostnader -61 KONTORSMATERIAL OCH TRYCKSAKER -6100 -Kontorsmateriel och trycksaker -(gruppkonto) -6110 Kontorsmateriel -6150 Trycksaker -62 TELE, DATA OCH POST -6200 Tele, data och post (gruppkonto) -6210 Telekommunikation 6211 Fast telefoni -6212 Mobiltelefon -6219 -Övriga kostnader för -telekommunikation -6230 Datakommunikation -6250 Porto -6290 Övriga tele-, data- och postkostnader -63 -FÖRETAGSFÖRSÄKRINGAR OCH ÖVRIGA -RISKKOSTNADER -6300 -Företagsförsäkringar och övriga -riskkostnader (gruppkonto) -6310 Företagsförsäkringar -6320 Självrisker vid skada -6330 Förluster i pågående arbeten -6340 Lämnade skadestånd 6341 Lämnade skadestånd, avdragsgilla -6342 Lämnade skadestånd, ej avdragsgilla -6350 Förluster på kundfordringar 6351 -Konstaterade förluster på -kundfordringar -6352 Befarade förluster på kundfordringar -6360 Garantikostnader 6361 Förändring av garantiavsättning -6362 Faktiska garantikostnader -6370 Kostnader för bevakning och larm -6380 -Förluster på övriga kortfristiga -fordringar -6390 Övriga riskkostnader 6391 Övriga riskkostnader, avdragsgilla -6392 Övriga riskkostnader, ej avdragsgilla -64 FÖRVALTNINGSKOSTNADER -6400 Förvaltningskostnader (gruppkonto) -6420 Ersättningar till revisor 6421 Revision -6422 Revisonsverksamhet utöver revision -6423 Skatterådgivning – revisor -6424 Övriga tjänster – revisor -6430 Management fees -6440 Årsredovisning och delårsrapporter -6450 -Bolagsstämma/års- eller -föreningsstämma -6490 Övriga förvaltningskostnader -65 ÖVRIGA EXTERNA TJÄNSTER -6500 Övriga externa tjänster (gruppkonto) -6510 Mätningskostnader -6520 Ritnings- och kopieringskostnader -6530 Redovisningstjänster -6540 IT-tjänster -6550 Konsultarvoden 6551 Arkitekttjänster -6552 Teknisk provning och analys -6553 Tekniska konsulttjänster -6554 -Finansiell- och övrig ekonomisk -rådgivning -6555 -Skatterådgivning inkl. insolvens- och -konkursförv. -6556 -Köpta tjänster avseende forskning och -utveckling -6559 Övriga konsultarvoden -6560 -Serviceavgifter till -branschorganisationer -6570 Bankkostnader -6580 Advokat- och rättegångskostnader -6590 Övriga externa tjänster -67 -SÄRSKILT FÖR IDEELLA FÖRENINGAR -OCH STIFTELSER -6700 -Särskilt för ideella föreningar och -stiftelser (gruppkonto) -6710 Lämnade bidrag -68 INHYRD PERSONAL -6800 Inhyrd personal (gruppkonto) -6810 Inhyrd produktionspersonal -6820 Inhyrd lagerpersonal -6830 Inhyrd transportpersonal -6840 Inhyrd kontors- och ekonomipersonal -6850 Inhyrd IT-personal -6860 -Inhyrd marknads- och -försäljningspersonal -6870 Inhyrd restaurang- och butikspersonal -6880 Inhyrda företagsledare -6890 Övrig inhyrd personal -69 ÖVRIGA EXTERNA KOSTNADER -6900 Övriga externa kostnader (gruppkonto) -6910 Licensavgifter och royalties -6920 Kostnader för egna patent -6930 Kostnader för varumärken m.m. -6940 -Kontroll-, provnings- och -stämpelavgifter -6950 Tillsynsavgifter myndigheter -6970 Tidningar, facklitteratur, m.m. -6980 Föreningsavgifter 6981 Föreningsavgifter, avdragsgilla -6982 Föreningsavgifter, ej avdragsgilla -6990 Övriga externa kostnader 6991 Övriga externa kostnader, avdragsgilla -6992 -Övriga externa kostnader, ej -avdragsgilla -6993 Lämnade bidrag och gåvor -6996 Betald utländsk inkomstskatt -6997 Obetald utländsk inkomstskatt -6998 Utländsk moms -6999 Ingående moms, blandad verksamhet -70 LÖNER TILL KOLLEKTIVANSTÄLLDA -7000 Löner till kollektivanställda (gruppkonto) -7010 Löner till kollektivanställda 7011 Löner till kollektivanställda -7012 Vinstandelar till kollektivanställda -7013 Lön växa-stöd kollektivanställda 10,21 % -7017 Avgångsvederlag till kollektivanställda -7018 Bruttolöneavdrag, kollektivanställda -7019 -Upplupna löner och vinstandelar till -kollektivanställda -7030 -Löner till kollektivanställda -(utlandsanställda) 7031 -Löner till kollektivanställda -(utlandsanställda) -7032 -Vinstandelar till kollektivanställda -(utlandsanställda) -7037 -Avgångsvederlag till kollektivanställda -(utlandsanställda) -7038 -Bruttolöneavdrag, kollektivanställda -(utlandsanställda) -7039 -Upplupna löner och vinstandelar till -kollektivanställda (utlandsanställda) -7080 -Löner till kollektivanställda för ej -arbetad tid 7081 Sjuklöner till kollektivanställda -7082 Semesterlöner till kollektivanställda -7083 Föräldraersättning till kollektivanställda -7089 -Övriga löner till kollektivanställda för ej -arbetad tid -7090 Förändring av semesterlöneskuld -72 -LÖNER TILL TJÄNSTEMÄN OCH -FÖRETAGSLEDARE -7200 -Löner till tjänstemän och företagsledare -(gruppkonto) -7210 Löner till tjänstemän 7211 Löner till tjänstemän -7212 Vinstandelar till tjänstemän -7213 Lön växa-stöd tjänstemän 10,21 % -7217 Avgångsvederlag till tjänstemän -7218 Bruttolöneavdrag, tjänstemän -7219 -Upplupna löner och vinstandelar till -tjänstemän -7220 Löner till företagsledare 7221 Löner till företagsledare -7222 Tantiem till företagsledare -7227 Avgångsvederlag till företagsledare -7228 Bruttolöneavdrag, företagsledare -7229 -Upplupna löner och tantiem till -företagsledare -7230 -Löner till tjänstemän och ftgsledare -(utlandsanställda) 7231 -Löner till tjänstemän och ftgsledare -(utlandsanställda) -7232 -Vinstandelar till tjänstemän och -ftgsledare (utlandsanställda) -7237 -Avgångsvederlag till tjänstemän och -ftgsledare (utlandsanställda) -7238 -Bruttolöneavdrag, tjänstemän och -ftgsledare (utlandsanställda) -7239 -Upplupna löner och vinstandelar till -tjänstemän och ftgsledare -(utlandsanställda) -7240 Styrelsearvoden -7280 -Löner till tjänstemän och företagsledare -för ej arbetad tid 7281 Sjuklöner till tjänstemän -7282 Sjuklöner till företagsledare -7283 Föräldraersättning till tjänstemän -7284 Föräldraersättning till företagsledare -7285 Semesterlöner till tjänstemän -7286 Semesterlöner till företagsledare -7288 -Övriga löner till tjänstemän för ej -arbetad tid -7289 -Övriga löner till företagsledare för ej -arbetad tid -7290 Förändring av semesterlöneskuld 7291 -Förändring av semesterlöneskuld till -tjänstemän -7292 -Förändring av semesterlöneskuld till -företagsledare -73 -KOSTNADSERSÄTTNINGAR OCH -FÖRMÅNER -7300 -Kostnadsersättningar och förmåner -(gruppkonto) -7310 Kontanta extraersättningar 7311 Ersättningar för sammanträden m.m. -7312 -Ersättningar för förslagsverksamhet och -uppfinningar -7313 -Ersättningar för/bidrag till -bostadskostnader -7314 -Ersättningar för/bidrag till -måltidskostnader -7315 -Ersättningar för/bidrag till resor till och -från arbetsplatsen -7316 Ersättningar för/bidrag till arbetskläder -7317 -Ersättningar för/bidrag till -arbetsmaterial och arbetsverktyg -7318 Felräkningspengar -7319 Övriga kontanta extraersättningar -7320 Traktamenten vid tjänsteresa 7321 Skattefria traktamenten, Sverige -7322 Skattepliktiga traktamenten, Sverige -7323 Skattefria traktamenten, utlandet -7324 Skattepliktiga traktamenten, utlandet -7330 Bilersättningar 7331 Skattefria bilersättningar -7332 Skattepliktiga bilersättningar -7333 Ersättning för trängselskatt, skattefri -7350 Ersättningar för föreskrivna arbetskläder -7370 Representationsersättningar -7380 Kostnader för förmåner till anställda 7381 Kostnader för fri bostad -7382 -Kostnader för fria eller subventionerade -måltider -7383 -Kostnader för fria resor till och från -arbetsplatsen -7384 -Kostnader för fria eller subventionerade -arbetskläder -7385 Kostnader för fri bil -7386 Subventionerad ränta -7387 Kostnader för lånedatorer -7388 -Anställdas ersättning för erhållna -förmåner -7389 Övriga kostnader för förmåner -7390 -Övriga kostnadsersättningar och -förmåner 7391 Kostnad för trängselskatteförmån -7392 -Kostnad för förmån av hushållsnära -tjänster -74 PENSIONSKOSTNADER -7400 Pensionskostnader (gruppkonto) -7410 Pensionsförsäkringspremier 7411 -Premier för kollektiva -pensionsförsäkringar -7412 -Premier för individuella -pensionsförsäkringar -7420 Förändring av pensionsskuld -7430 Avdrag för räntedel i pensionskostnad -7440 Förändring av pensionsstiftelsekapital 7441 -Överföring av medel till -pensionsstiftelse -7448 Gottgörelse från pensionsstiftelse -7460 Pensionsutbetalningar 7461 -Pensionsutbetalningar till f.d. -kollektivanställda -7462 -Pensionsutbetalningar till f.d. -tjänstemän -7463 -Pensionsutbetalningar till f.d. -företagsledare -7470 -Förvaltnings- och -kreditförsäkringsavgifter -7490 Övriga pensionskostnader -75 -SOCIALA OCH ANDRA AVGIFTER ENLIGT -LAG OCH AVTAL -7500 -Sociala och andra avgifter enligt lag och -avtal (gruppkonto) -7510 Arbetsgivaravgifter 31,42 % 7511 -Arbetsgivaravgifter för löner och -ersättningar -7512 Arbetsgivaravgifter för förmånsvärden -7515 -Arbetsgivaravgifter på skattepliktiga -kostnadsersättningar -7516 Arbetsgivaravgifter på arvoden -7518 -Arbetsgivaravgifter på bruttolöneavdrag -m.m. -7519 -Arbetsgivaravgifter för semester- och -löneskulder -7530 Särskild löneskatt 7531 -Särskild löneskatt för vissa -försäkringsersättningar m.m. -7532 -Särskild löneskatt pensionskostnader, -deklarationspost -7533 Särskild löneskatt för pensionskostnader -7550 Avkastningsskatt på pensionsmedel 7551 -Avkastningsskatt 15 % -försäkringsföretag m.fl. samt avsatt till -pensioner -7552 -Avkastningsskatt 15 % utländska -pensionsförsäkringar -7553 -Avkastningsskatt 30 % utländska -försäkringsföretag m.fl. -7554 -Avkastningsskatt 30 % utländska -kapitalförsäkringar -7570 Premier för arbetsmarknadsförsäkringar 7571 Arbetsmarknadsförsäkringar -7572 -Arbetsmarknadsförsäkringar -pensionsförsäkringspremier, -deklarationspost -7580 Gruppförsäkringspremier 7581 Grupplivförsäkringspremier -7582 Gruppsjukförsäkringspremier -7583 Gruppolycksfallsförsäkringspremier -7589 Övriga gruppförsäkringspremier -7590 -Övriga sociala och andra avgifter enligt -lag och avtal -76 ÖVRIGA PERSONALKOSTNADER -7600 Övriga personalkostnader (gruppkonto) -7610 Utbildning -7620 Sjuk- och hälsovård 7621 Sjuk- och hälsovård, avdragsgill -7622 Sjuk- och hälsovård, ej avdragsgill -7623 Sjukvårdsförsäkring, ej avdragsgill -7630 Personalrepresentation 7631 Personalrepresentation, avdragsgill -7632 Personalrepresentation, ej avdragsgill -7650 Sjuklöneförsäkring -7670 Förändring av personalstiftelsekapital 7671 Avsättning till personalstiftelse -7678 Gottgörelse från personalstiftelse -7690 Övriga personalkostnader 7691 Personalrekrytering -7692 Begravningshjälp -7693 Fritidsverksamhet -7699 Övriga personalkostnader -77 -NEDSKRIVNINGAR OCH ÅTERFÖRING AV -NEDSKRIVNINGAR -7710 -Nedskrivningar av immateriella -anläggningstillgångar -7720 Nedskrivningar av byggnader och mark -7730 -Nedskrivningar av maskiner respektive -inventarier 7731 -Nedskrivningar av maskiner och andra -tekniska anläggningar -7732 -Nedskrivningar av inventarier, verktyg -och installationer -7733 -Nedskrivningar av övriga materiella -anläggningstillgångar -7740 -Nedskrivningar av vissa -omsättningstillgångar -7760 -Återföring av nedskrivningar av -immateriella anläggningstillgångar -7770 -Återföring av nedskrivningar av -byggnader och mark -7780 -Återföring av nedskrivningar av -maskiner respektive inventarier 7781 -Återföring av nedskrivningar av -maskiner och andra tekniska -anläggningar -7782 -Återföring av nedskrivningar av -inventarier, verktyg och installationer -7783 -Återföring av nedskrivningar av övriga -materiella anläggningstillgångar -7790 -Återföring av nedskrivningar av vissa -omsättningstillgångar -78 AVSKRIVNINGAR ENLIGT PLAN -7810 -Avskrivningar på immateriella -anläggningstillgångar 7811 Avskrivningar på balanserade utgifter -7812 Avskrivningar på koncessioner m.m. -7813 Avskrivningar på patent -7814 Avskrivningar på licenser -7815 Avskrivningar på varumärken -7816 Avskrivningar på hyresrätter -7817 Avskrivningar på goodwill -7819 -Avskrivningar på övriga immateriella -anläggningstillgångar -7820 -Avskrivningar på byggnader och -markanläggningar 7821 Avskrivningar på byggnader -7824 Avskrivningar på markanläggningar -7829 Avskrivningar på övriga byggnader -7830 -Avskrivningar på maskiner respektive -inventarier 7831 -Avskrivningar på maskiner och andra -tekniska anläggningar -7832 -Avskrivningar på inventarier, verktyg -och installationer -7836 Avskrivningar på leasade tillgångar -7839 -Avskrivningar på övriga materiella -anläggningstillgångar -7840 -Avskrivningar på förbättringsutgifter på -annans fastighet -79 ÖVRIGA RÖRELSEKOSTNADER -7940# -Orealiserade positiva/negativa -värdeförändringar på -säkringsinstrument -7960 -Valutakursförluster på fordringar och -skulder av rörelsekaraktär -7970 -Förlust vid avyttring av immateriella och -materiella anläggningstillgångar 7971 -Förlust vid avyttring av immateriella -anläggningstillgångar -7972 -Förlust vid avyttring av byggnader och -mark -7973 -Förlust vid avyttring av maskiner och -inventarier -7990 Övriga rörelsekostnader -80 -RESULTAT FRÅN ANDELAR I -KONCERNFÖRETAG -8010 Utdelning på andelar i koncernföretag 8012 Utdelning på andelar i dotterföretag -8016 Emissionsinsats, koncernföretag -8020 -Resultat vid försäljning av andelar i -koncernföretag -8030 -Resultatandelar från handelsbolag -(dotterföretag) -8070 -Nedskrivningar av andelar i och -långfristiga fordringar hos -koncernföretag 8072 -Nedskrivningar av andelar i -dotterföretag -8076 -Nedskrivningar av långfristiga fordringar -hos moderföretag -8077 -Nedskrivningar av långfristiga fordringar -hos dotterföretag -8080 -Återföringar av nedskrivningar av -andelar i och långfristiga fordringar hos -koncernföretag 8082 -Återföringar av nedskrivningar av -andelar i dotterföretag -8086 -Återföringar av nedskrivningar av -långfristiga fordringar hos moderföretag -8087 -Återföringar av nedskrivningar av -långfristiga fordringar hos dotterföretag -81 -RESULTAT FRÅN ANDELAR I -INTRESSEFÖRETAG OCH GEMENSAMT -STYRDA FÖRETAG SAMT ÖVRIGA -FÖRETAG SOM DET FINNS ETT -ÄGARINTRESSE I -8110 -Utdelningar på andelar i intresseföretag -och gemensamt styrda företag samt -övriga företag som det finns ett -ägarintresse i 8111 Utdelningar på andelar i intresseföretag -8112 -Utdelningar på andelar i gemensamt -styrda företag -8113 -Utdelningar på andelar i övriga företag -som det finns ett ägarintresse i -8116 Emissionsinsats, intresseföretag -8117 -Emissionsinsats, gemensamt styrda -företag -8118 -Emissionsinsats, övriga företag som det -finns ett ägarintresse i -8120 -Resultat vid försäljning av andelar i -intresseföretag och gemensamt styrda -företag samt övriga företag som det -finns ett ägarintresse i 8121 -Resultat vid försäljning av andelar i -intresseföretag -8122 -Resultat vid försäljning av andelar i -gemensamt styrda företag -8123 -Resultat vid försäljning av andelar i -övriga företag som det finns ett -ägarintresse i -8130 -Resultatandelar från handelsbolag -(intresseföretag och gemensamt styrda -företag samt övriga företag som det -finns ett ägarintresse i) 8131 -Resultatandelar från handelsbolag -(intresseföretag) -8132 -Resultatandelar från handelsbolag -(gemensamt styrda företag) -8133 -Resultatandelar från handelsbolag -(övriga företag som det finns ett -ägarintresse i) -8170 -Nedskrivningar av andelar i och -långfristiga fordringar hos -intresseföretag och gemensamt styrda -företag samt övriga företag som det -finns ett ägarintresse i 8171 -Nedskrivningar av andelar i -intresseföretag -8172 -Nedskrivningar av långfristiga fordringar -hos intresseföretag -8173 -Nedskrivningar av andelar i gemensamt -styrda företag -8174 -Nedskrivningar av långfristiga fordringar -hos gemensamt styrda företag -8176 -Nedskrivningar av andelar i övriga -företag som det finns ett ägarintresse i -8177 -Nedskrivningar av långfristiga fordringar -hos övriga företag som det finns ett -ägarintresse i -8180 -Återföringar av nedskrivningar av -andelar i och långfristiga fordringar hos -intresseföretag och gemensamt styrda -företag samt övriga företag som det -finns ett ägarintresse i 8181 -Återföringar av nedskrivningar av -andelar i intresseföretag -8182 -Återföringar av nedskrivningar av -långfristiga fordringar hos -intresseföretag -8183 -Återföringar av nedskrivningar av -andelar i gemensamt styrda företag -8184 -Återföringar av nedskrivningar av -långfristiga fordringar hos gemensamt -styrda företag -8186 -Återföringar av nedskrivningar av -andelar i övriga företag som det finns -ett ägarintresse i -8187 -Återföringar av nedskrivningar av -långfristiga fordringar hos övriga företag -som det finns ett ägarintresse i -82 -RESULTAT FRÅN ÖVRIGA VÄRDEPAPPER -OCH LÅNGFRISTIGA FORDRINGAR -(ANLÄGGNINGSTILLGÅNGAR) -8210 Utdelningar på andelar i andra företag 8212 Utdelningar, andra företag -8216 Insatsemissioner, andra företag -8220 -Resultat vid försäljning av värdepapper i -och långfristiga fordringar hos andra -företag 8221 -Resultat vid försäljning av andelar i -andra företag -8222 -Resultat vid försäljning av långfristiga -fordringar hos andra företag -8223 -Resultat vid försäljning av derivat -(långfristiga värdepappersinnehav) -8230 -Valutakursdifferenser på långfristiga -fordringar 8231 -Valutakursvinster på långfristiga -fordringar -8236 -Valutakursförluster på långfristiga -fordringar -8240 -Resultatandelar från handelsbolag -(andra företag) -8250 -Ränteintäkter från långfristiga -fordringar hos och värdepapper i andra -företag 8251 -Ränteintäkter från långfristiga -fordringar -8252 Ränteintäkter från övriga värdepapper -8254 -Skattefria ränteintäkter, långfristiga -tillgångar -8255 Avkastningsskatt kapitalplacering -8260 -Ränteintäkter från långfristiga -fordringar hos koncernföretag 8261 -Ränteintäkter från långfristiga -fordringar hos moderföretag -8262 -Ränteintäkter från långfristiga -fordringar hos dotterföretag -8263 -Ränteintäkter från långfristiga -fordringar hos andra koncernföretag -8270 -Nedskrivningar av innehav av andelar i -och långfristiga fordringar hos andra -företag 8271 -Nedskrivningar av andelar i andra -företag -8272 -Nedskrivningar av långfristiga fordringar -hos andra företag -8273 -Nedskrivningar av övriga värdepapper -hos andra företag -8280 -Återföringar av nedskrivningar av -andelar i och långfristiga fordringar hos -andra företag 8281 -Återföringar av nedskrivningar av -andelar i andra företag -8282 -Återföringar av nedskrivningar av -långfristiga fordringar hos andra företag -8283 -Återföringar av nedskrivningar av övriga -värdepapper i andra företag -8290# -Värdering till verkligt värde, -anläggningstillgångar 8291# -Orealiserade värdeförändringar på -anläggningstillgångar -8295# -Orealiserade värdeförändringar på -derivatinstrument -83 -ÖVRIGA RÄNTEINTÄKTER OCH -LIKNANDE RESULTATPOSTER -8310 Ränteintäkter från omsättningstillgångar 8311 Ränteintäkter från bank -8312 -Ränteintäkter från kortfristiga -placeringar -8313 Ränteintäkter från kortfristiga fordringar -8314 Skattefria ränteintäkter -8317 -Ränteintäkter för dold -räntekompensation -8319 -Övriga ränteintäkter från -omsättningstillgångar -8320# -Värdering till verkligt värde, -omsättningstillgångar 8321# -Orealiserade värdeförändringar på -omsättningstillgångar -8325# -Orealiserade värdeförändringar på -derivatinstrument (oms.-tillg.) -8330 -Valutakursdifferenser på kortfristiga -fordringar och placeringar 8331 -Valutakursvinster på kortfristiga -fordringar och placeringar -8336 -Valutakursförluster på kortfristiga -fordringar och placeringar -8340 Utdelningar på kortfristiga placeringar -8350 -Resultat vid försäljning av kortfristiga -placeringar -8360 -Övriga ränteintäkter från -koncernföretag 8361 Övriga ränteintäkter från moderföretag -8362 Övriga ränteintäkter från dotterföretag -8363 -Övriga ränteintäkter från andra -koncernföretag -8370 -Nedskrivningar av kortfristiga -placeringar -8380 -Återföringar av nedskrivningar av -kortfristiga placeringar -8390 Övriga finansiella intäkter -84 -RÄNTEKOSTNADER OCH LIKNANDE -RESULTATPOSTER -8400 Räntekostnader (gruppkonto) -8410 Räntekostnader för långfristiga skulder 8411 -Räntekostnader för obligations-, förlagsoch konvertibla lån -8412 Räntedel i årets pensionskostnad -8413 Räntekostnader för kontokredit -8415 -Räntekostnader för andra skulder till -kreditinstitut -8417 -Räntekostnader för dold -räntekompensation m.m. -8418 Avdragspost för räntesubventioner -8419 -Övriga räntekostnader för långfristiga -skulder -8420 Räntekostnader för kortfristiga skulder 8421 Räntekostnader till kreditinstitut -8422 Dröjsmålsräntor för leverantörsskulder -8423 Räntekostnader för skatter och avgifter -8424 Räntekostnader byggnadskreditiv -8429 -Övriga räntekostnader för kortfristiga -skulder -8430 Valutakursdifferenser på skulder 8431 Valutakursvinster på skulder -8436 Valutakursförluster på skulder -8440 Erhållna räntebidrag -8450# -Orealiserade värdeförändringar på -skulder 8451# -Orealiserade värdeförändringar på -skulder -8455# -Orealiserade värdeförändringar på -säkringsinstrument -8460 Räntekostnader till koncernföretag 8461 Räntekostnader till moderföretag -8462 Räntekostnader till dotterföretag -8463 -Räntekostnader till andra -koncernföretag -8480# Aktiverade ränteutgifter -8490 Övriga skuldrelaterade poster 8491 -Erhållet ackord på skulder till -kreditinstitut m.m. -88 BOKSLUTSDISPOSITIONER -8810 Förändring av periodiseringsfond 8811 Avsättning till periodiseringsfond -8819 Återföring från periodiseringsfond -8820 Mottagna koncernbidrag -8830 Lämnade koncernbidrag -8840 Lämnade gottgörelser -8850 Förändring av överavskrivningar 8851 -Förändring av överavskrivningar, -immateriella anläggningstillgångar -8852 -Förändring av överavskrivningar, -byggnader och markanläggningar -8853 -Förändring av överavskrivningar, -maskiner respektive inventarier -8860 Förändring av ersättningsfond 8861 -Avsättning till ersättningsfond för -inventarier -8862 -Avsättning till ersättningsfond för -byggnader och markanläggningar -8864 -Avsättning till ersättningsfond för -djurlager i jordbruk och renskötsel -8865 -Ianspråktagande av ersättningsfond för -avskrivningar -8866 -Ianspråktagande av ersättningsfond för -annat än avskrivningar -8869 Återföring från ersättningsfond -8890 Övriga bokslutsdispositioner 8892 -Nedskrivningar av -konsolideringskaraktär av -anläggningstillgångar -8896 Förändring av lagerreserv -8899 Övriga bokslutsdispositioner -89 SKATTER OCH ÅRETS RESULTAT -8910 Skatt som belastar årets resultat -8920 Skatt på grund av ändrad beskattning -8930 Restituerad skatt -8940# Uppskjuten skatt -8980 Övriga skatter -8990 Resultat 8999 Årets resultat \ No newline at end of file diff --git a/dev_docs/BASKONTOPLAN_K1.md b/dev_docs/BASKONTOPLAN_K1.md deleted file mode 100644 index b15e4b17..00000000 --- a/dev_docs/BASKONTOPLAN_K1.md +++ /dev/null @@ -1,467 +0,0 @@ -1/9 -BAS Förenklat årsbokslut (K1) – Kontoplan 2018 -Inga ändring eller tillägg har gjorts -jämfört med 2017. -BAS-konton Rad Underkonton Rad -1000 Immateriella -anläggningstillgångar -B1 1009 Årets avskrivningar på -immateriella -anläggningstillgångar -B1 -BAS-konton Rad Underkonton Rad -1110 Byggnader B2 1119 Ackumulerade avskrivningar på -byggnader -B2 -1130 Mark B3 -1150 Markanläggningar B2 1159 Ackumulerade avskrivningar på -markanläggningar -B2 -1180 Pågående nyanläggningar och -förskott för byggnader och -mark -B3 -Rad Rad -1220 Maskiner och inventarier B4 1221 Årets nyanskaffning av -maskiner och inventarier -B4 -1222 Årets ersättning för maskiner -och inventarier -B4 -1229 Årets avskrivningar på maskiner -och inventarier -B4 -1230 Byggnads- och markinventarier B4 1231 Årets nyanskaffning av -byggnads- och markinventarier -B4 -1232 Årets ersättning för byggnadsoch markinventarier -B4 -1239 Årets avskrivningar på -byggnads- och markinventarier -B4 -1240 Bilar och andra transportmedel B4 1241 Årets nyanskaffning av bilar och -andra transportmedel -B4 -1242 Årets ersättning för bilar och -andra transportmedel -B4 -1249 Årets avskrivningar på bilar och -andra transportmedel -B4 -Rad Rad -1300 Andelar B5 -BAS-konton Rad Rad -1 Tillgångar -10 Immateriella anläggningstillgångar -11 Byggnader och mark -12 Maskiner och inventarier -14 Lager -BAS-konton Underkonton -Underkonton -13 Övriga anläggningstillgångar -BAS-konton Underkonton -Kontoplan_K1_2018_ver1 -2/9 -1400 Lager B6 -Rad Rad -1500 Kundfordringar B7 -Rad Rad -1600 Övriga fordringar B8 -1650 Momsfordran B8 -Rad -1700 Förskott till leverantörer B8 -Rad -1910 Kassa B9 -1920 PlusGiro B9 -1930 Företagskonto/checkkonto/affär -skonto -B9 -1940 Övriga bankkonton B9 -1970 Särskilda bankkonton B9 -Rad Rad -2010 Eget kapital, delägare 1 B10 2011 Egna varuuttag B10 -2012 Avräkning för skatter och -avgifter (skattekonto) -B10 -2013 Övriga egna uttag B10 -2014 Uttag förmåner B10 -2017 Egna insättningar B10 -2019 Årets resultat, delägare 1 B10 -2020 Eget kapital, delägare 2 B10 Se delägre 1 -2030 Eget kapital, delägare 3 B10 Se delägre 1 -2040 Eget kapital, delägare 4 B10 Se delägre 1 -2050 Avsättning till expansionsfond U2 -2060 Ersättningsfond U3 -2070 Insatsemissioner, -avbetalningsplan på skog, -skogskonto, -upphovsmannakonto -U4 -2080 Periodiseringsfonder U1 2083 Periodiseringsfond vid 2012 års -taxering -U1 -BAS-konton -16 Övriga fordringar -BAS-konton Underkonton -BAS-konton Underkonton -Underkonton -2 EGET KAPITAL OCH SKULDER -19 Kassa och bank -17 Förskott till leverantörer -15 Kundfordringar -BAS-konton -BAS-konton Underkonton -20 Eget kapital -Underkonton -Kontoplan_K1_2018_ver1 -3/9 -2084 Periodiseringsfond vid 2013 års -taxering -U1 -2085 Periodiseringsfond 2013 U1 -2086 Periodiseringsfond 2014 U1 -2087 Periodiseringsfond 2015 U1 -2088 Periodiseringsfond 2016 U1 -2089 Periodiseringsfond 2017 U1 -2090 Utjämningskonto upplysningar -1-4 -Rad Rad -2330 Checkräkningskredit B13 -2350 Skulder till kreditinstitut B13 -2390 Övriga låneskulder B13 -Rad Rad -2440 Leverantörsskulder B15 -Rad Rad -2610 Utgående moms, 25 % B14 2611 Utgående moms på försäljning -inom Sverige, 25 % -B14 -2612 Utgående moms på egna uttag, -25 % -B14 -2613 Utgående moms för uthyrning, -25 % -B14 -2614 Utgående moms omvänd -skattskyldighet, 25 % -B14 -2615 Utgående moms import av -varor, 25 % -B14 -2618 Vilande utgående moms, 25 % B14 -2620 Utgående moms, 12 % B14 2621 Utgående moms på försäljning -inom Sverige, 12 % -B14 -2622 Utgående moms på egna uttag, -12 % -B14 -2623 Utgående moms för uthyrning, -12 % -B14 -2624 Utgående moms omvänd -skattskyldighet, 12 % -B14 -2625 Utgående moms import av -varor, 12 % -B14 -2628 Vilande utgående moms, 12 % B14 -2630 Utgående moms, 6 % B14 2631 Utgående moms på försäljning -inom Sverige, 6 % -B14 -2632 Utgående moms på egna uttag, -6 % -B14 -BAS-konton Underkonton -23 Låneskulder -Underkonton -BAS-konton Underkonton -24 Skulder till leverantörer -26 Moms och särskilda punktskatter -BAS-konton -Kontoplan_K1_2018_ver1 -4/9 -2633 Utgående moms för uthyrning, -6 % -B14 -2634 Utgående moms omvänd -skattskyldighet, 6 % -B14 -2635 Utgående moms import av -varor, 6 % -B14 -2638 Vilande utgående moms, 6 % B14 -2640 Ingående moms B14 2641 Debiterad ingående moms B14 -2642 Debiterad ingående moms i -anslutning till frivillig -skattskyldighet -B14 -2645 Beräknad ingående moms på -förvärv från utlandet -B14 -2646 Ingående moms på uthyrning B14 -2648 Vilande ingående moms B14 -2649 Ingående moms, blandad -verksamhet -B14 -2650 Redovisningskonto för moms B14 B14 -2660 Särskilda punktskatter B14 B14 -Rad Rad -2710 Personalskatt B14 -2730 Lagstadgade/avtalade sociala -avgifter och särskild löneskatt -B14 -Rad Rad -2900 Övriga skulder B16 -Rad Rad -3000 Försäljning och utfört arbete -samt övriga momspliktiga -intäkter -R1 -3100 Momsfria intäkter R2 -3200 Bil- och bostadsförmån m.m. R3 -Rad Rad -3500 Fakturerade kostnader R1 -Rad Rad -3700 Lämnade rabatter, bonus etc. R1/R2 -Underkonton -35 Fakturerade kostnader -37 Intäktskorrigeringar -Underkonton -BAS-konton -Underkonton -3 RÖRELSENS INKOMSTER/INTÄKTER -30-34 Huvudintäkter -BAS-konton Underkonton -BAS-konton -29 Övriga skulder -27 Personalens skatter, avgifter och löneavdrag -BAS-konton Underkonton -BAS-konton -Kontoplan_K1_2018_ver1 -5/9 -Rad Rad -3900 Övriga rörelseintäkter R1/R2 -3970 Vinst vid avyttring av -immateriella och materiella -anläggningstillgångar -R2 -3980 Erhållna bidrag R2 -Rad Rad -4000 Varor R5 -Rad Rad -4600 Legoarbeten och -underentreprenader -R5 -Rad Rad -4700 Erhållna rabatter, bonus etc. R6 -Rad Rad -4900 Förändring av lager R5 -Rad Rad -5000 Lokalkostnader R6 -Rad Rad -5100 Fastighetskostnader R6 -Rad Rad -5200 Hyra av anläggningstillgångar R6 -Underkonton -Underkonton -BAS-konton Underkonton -39 Övriga rörelseintäkter -Underkonton -BAS-konton -4 UTGIFTER/KOSTNADER FÖR VAROR, MATERIAL OCH VISSA -KÖPTA TJÄNSTER -Underkonton -47 Reduktion av inköpspriser -49 Förändring av lager -BAS-konton Underkonton -Underkonton -BAS-konton Underkonton -46 Legoarbeten, underentreprenader -BAS-konton -BAS-konton -BAS-konton -40-45 Inköp av varor och material -BAS-konton -5-6 ÖVRIGA EXTERNA RÖRELSEUTGIFTER/KOSTNADER -50 Lokalkostnader -51 Fastighetskostnader -52 Hyra av anläggningstillgångar -54 Förbrukningsinventarier och förbrukningsmaterial -Kontoplan_K1_2018_ver1 -6/9 -Rad Rad -5400 Förbrukningsinventarier och -förbrukningsmaterial -R6 -Rad Rad -5500 Reparation och underhåll R6 -Rad Rad -5600 Kostnader för transportmedel R6 -5610 Personbilskostnader R6 5611 Drivmedel för personbilar R6 -5612 Försäkring och skatt för -personbilar -R6 -5613 Reparation och underhåll av -personbilar -R6 -5615 Leasing av personbilar R6 -5618 Schablonmässig milkostnad -privat personbil -R6 -5619 Övriga personbilskostnader R6 -5620 Lastbilskostnader R6 -Rad Rad -5700 Frakter och transporter R6 -Rad Rad -5800 Resekostnader R6 -Rad Rad -5900 Reklam och PR R6 -Rad Rad -6000 Övriga försäljningskostnader -R6 -R6 R6 -6070 Representation R6 R6 6071 Representation, avdragsgill -6072 Representation, ej avdragsgill R6 -+ -NE -sid. - 2 -BAS-konton -BAS-konton -Underkonton -55 Reparation och underhåll -56 Kostnader för transportmedel -BAS-konton Underkonton -Underkonton -Underkonton -BAS-konton Underkonton -57 Frakter och transporter -58 Resekostnader -59 Reklam och PR -60 Övriga försäljningskostnader -BAS-konton -Underkonton -BAS-konton -Underkonton -BAS-konton -Kontoplan_K1_2018_ver1 -7/9 -Rad Rad -6100 Kontorsmateriel och trycksaker R6 -Rad Rad -6200 Tele och post R6 -Rad Rad -6300 Företagsförsäkringar och -övriga riskkostnader -R6 -6310 Företagsförsäkringar R6 -Rad Rad -6500 Övriga externa tjänster R6 -Rad Rad -6800 Inhyrd personal R6 -Rad Rad -6900 Övriga kostnader R6 -6980 Föreningsavgifter R6 -Rad Rad -7000 Löner till anställda R7 -Rad Rad -7300 Kostnadsersättningar och -förmåner -R7 -Rad Rad -7400 Pensionskostnader R7 -74 Pensionskostnader -61 Kontorsmateriel och trycksaker -62 Tele och post -BAS-konton Underkonton -BAS-konton Underkonton -63 Företagsförsäkringar och övriga riskkostnader -Underkonton -70 Löner till anställda -7 UTGIFTER/KOSTNADER FÖR PERSONAL, AVSKRIVNINGAR -BAS-konton -68 Inhyrd personal -69 Övriga kostnader -BAS-konton Underkonton -BAS-konton Underkonton -BAS-konton Underkonton -65 Övriga externa tjänster -BAS-konton Underkonton -BAS-konton Underkonton -73 Kostnadsersättningar och förmåner -BAS-konton Underkonton -Kontoplan_K1_2018_ver1 -8/9 -Rad Rad -7500 Sociala och andra avgifter -enligt lag och avtal -R7 -Rad Rad -7600 Övriga personalkostnader R7 7631 Personalrepresentation, -avdragsgill -R7 -7632 Personalrepresentation, ej -avdragsgill -R7 -+ -NE -sid. - 2 -Rad Rad -7700 Nedskrivningar R9 -alt. -R10 -Rad Rad -7810 Avskrivningar på immateriella -anläggningstillgångar -R10 -7820 Avskrivningar på byggnader -och markanläggningar -R9 -7830 Avskrivningar på maskiner och -inventarier -R10 -Rad Rad -7970 Förlust vid avyttring av -immateriella och materiella -anläggningstillgångar -R6 -7980 Ersättningsfonder R9/ -10 -Rad Rad -8 FINANSIELLA OCH ANDRA INKOMSTER/INTÄKTER OCH -UTGIFTER/ KOSTNADER -Underkonton -BAS-konton Underkonton -79 Övriga rörelsekostnader -77 Nedskrivningar och återföring av nedskrivningar -76 Övriga personalkostnader -78 Avskrivningar -83 Övriga ränteintäkter och liknande resultatposter -BAS-konton Underkonton -BAS-konton Underkonton -75 Sociala och andra avgifter enligt lag och avtal -BAS-konton -BAS-konton Underkonton -BAS-konton Underkonton -Kontoplan_K1_2018_ver1 -9/9 -8310 Ränteintäkter och utdelningar R4 8314 Skattefria ränteintäkter R4 -+ -NE -sid. - 2 -8330 Valutakursdifferenser på -fordringar och placeringar -R4 -Rad Rad -8410 Räntekostnader för skulder R8 -8430 Valutakursdifferenser på -skulder R8 -Rad Rad -8990 Resultat R11 R11 8999 Årets resultat R11 -84 Räntekostnader och liknande -BAS-konton Underkonton -BAS-konton Underkonton -88 Bokslutsdispositioner -89 Årets resultat -Kontoplan_K1_2018_ver1 \ No newline at end of file diff --git a/dev_docs/ENABLE_BANKING_DOCS/API_EB.md b/dev_docs/ENABLE_BANKING_DOCS/API_EB.md deleted file mode 100644 index cdd03863..00000000 --- a/dev_docs/ENABLE_BANKING_DOCS/API_EB.md +++ /dev/null @@ -1,940 +0,0 @@ -API reference -Scroll down for example requests and responses. - -Base URLs: - -https://api.enablebanking.com - -https://api.tilisy.com (deprecated) - -Flow diagrams -Account information flow -AIS flow diagram - -Application (i.e. API client) makes GET /aspsps request to obtain a list of available ASPSPs along with necessary meta data. Alternatively, the list of ASPSP can be displayed using the ASPSP selection UI widget. - -List of available ASPSPs is returned and displayed to a PSU. - -The PSU selects desired ASPSP and an application makes POST /auth request, specifying desired ASPSP and providing information about needed access rights. - -Enable Banking starts authorisation in a desired ASPSP. - -Enable Banking responds to the client with a redirect url to a Enable Banking page, where PSU needs to be redirected. - -The PSU is redirected to the Enable Banking page. - -After the PSU is redirected, Enable Banking does interactions with an ASPSP necessary to get authorised access to the PSU's account. - -These actions are ASPSP-specific and may be different depending of the authentication method (which may be specified at step 3). - -The PSU is redirected to the callback URL provided by the application with additional parameters added in its query string. - -If the authorisation went successfully then query string from step 8 will contain code parameter, which needs to be sent in POST /sessions request. - -The Enable Banking API will respond with created session_id along with a list of accessible accounts and their details. - -Note that some of the information returned in that call is shown only once. - -After successfull response to POST /sessions request the application can start making requests to Enable Banking API to fetch information about session, account balances and transactions. - -Possible query parameters returned in the step 8 (parameters follow The OAuth 2.0 Authorization Framework (opens new window)): - -code — authorisation code. -state — same as state, provided in the step 1. -error — error code -error_description — human-readable error description -Possible error descriptions: - -Denied data sharing consent — user cancelled authentication before accepting data sharing consent (error code is access_denied) -Cancelled by user — user cancelled authorisation of access to account information (error code is access_denied). There are also arbitrary error descriptions possible, which are coming from ASPSPs. -Payment initiation flow -PIS flow diagram - -Application (i.e. API client) makes GET /aspsps request to obtain a list of available ASPSPs along with necessary meta data. Alternatively, the list of ASPSP can be displayed using the ASPSP selection UI widget. - -List of available ASPSPs is returned and displayed to a PSU. - -The PSU selects desired ASPSP and the application makes POST /payments request, specifying a desired ASPSP, providing details for the payment to be initiated and other details such as callback URL, preferred authentication method, etc. - -Enable Banking responds to the application with an ID assigned to the payment and a URL of the page, where PSU needs to be redirected. - -The PSU is redirected to the Enable Banking page, where they shall review payment details and terms of the service. - -After the PSU accepted term of service, Enable Banking does interactions with the ASPSP necessary to initiate the payment and complete its authorisation. - -These actions are ASPSP-specific and may be different depending of the authentication method (which may be specified at step 3). - -The PSU is redirected to the callback URL provided by the application with additional parameters added in its query string. - -Possible query parameters returned in the step 7: - -state — same as state, provided in the step 1. -error — error code -error_description — human-readable error description -Possible error descriptions: - -Cancelled by user — user cancelled authorisation of the payment (error code is access_denied). There are also arbitrary error descriptions possible, which are coming from ASPSPs. -Authentication -In order to get access to this API you need to: - -Generate a private RSA key and a self-signed certificate; -Upload the certificate to enablebanking.com and get application ID; -Construct JWT with the data described below and signed with your private key; -Send the JWT in the Authorization header. -Private key and certificate generation -Generating private RSA key - -openssl genrsa -out private.key 4096 -OpenSSL CLI can be used for generation of a private key and self-signed certificate. - -Make sure you keep the private key in secret (e.g. don't expose it to client, share with anyone nor embed into mobile or other apps intalled to user devices). - -Generating self-signed certificate - -openssl req -new -x509 -days 365 -key private.key -out public.crt -subj "/C=FI/ST=Uusima/L=Helsinki/O=ExampleOrganisation/CN=www.bigorg.com" -You should replace values under -subj with appropriate values. - -Alternatively you can use the private key generated in your browser when registering a new application. Just choose Generate in the browser (using SubtleCrypto) and export private key option when registering an application, and the private key will be exported after the application has been registered (the corresponding certificate will be used for the app registration). - -Certificate upload and application registration -To register a new application you need to have an account on the Enable Banking Control Panel (opens new window). You can create one by visiting https://enablebanking.com/sign-in/ (opens new window)and entering your email address (a one-time authentication link will be sent to your email address). - -In the app registration form (opens new window)you will be asked to upload the public certificate that you created for the application being registered. - -An application can be registered to either PRODUCTION (aka "live") or SANDBOX (aka "simulation") environment. Applications can not be transferred from the sandbox to the production environment and vice versa. - -Applications registered into the sandbox environment are activated automatically. Applications registered to the production environment at first appear as pending and will be activated either after contractual formalities for the use of the API are cleared or after you whitelist your own accounts. For more information please contact us at info@enablebanking.com. - -Application registration API -You can also register an application sending POST request containing JSON with the application details and public certificate to https://enablebanking.com/api/applications endpoint. - -The JSON body for the endpoint is to include the following fields: - -"certificate": Content of the certificate or public key of the application (always required) -"environment": Environment (SANDBOX or PRODUCTION) in which the application will operate (always required) -"name": Name of the application being registered (always required) -"redirect_urls": List of allowed redirect URLs for the application (always required) -"description": Description of the application being registered (required when the environment field is set to PRODUCTION) -"gdpr_email": Email address for data protection matters (required when the environment field is set to PRODUCTION) -"privacy_url": URL of the application's privacy policy (required when the environment field is set to PRODUCTION) -"terms_url": URL of the application's terms of service (required when the environment field is set to PRODUCTION) -App registration example using curl - -curl -X POST -H "Authorization: Bearer YOUR-JWT-ON-ENABLEBANKING-COM" \ - -H "Content-Type: application/json" \ - -d "{\"name\":\"My app\",\"certificate\":\"$(cat public.crt | tr '\n' '|' | sed 's/|/\\n/g')\",\"environment\":\"SANDBOX\",\"redirect_urls\":[\"https://example.org/\"]}" \ - https://enablebanking.com/api/applications -In response to the app registration request, you will receive an ID assigned to your application, which is to be used when forming JTW token. - -Example response - -{ - "app_id": "cf589be3-3755-465b-a8df-a90a16a31403" -} -JWT format and signature -JWT example - -eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJSUzI1NiIsICJraWQiOiAiY2Y1ODliZTMtMzc1NS00NjViLWE4ZGYtYTkwYTE2YTMxNDAzIn0.eyJpc3MiOiAiZW5hYmxlYmFua2luZy5jb20iLCAiYXVkIjogImFwaS50aWxpc3kuY29tIiwgImlhdCI6IDE2MDE0NTY3NjgsICJleHAiOiAxNjAxNTQzMTY4fQ.daO3ENSYIA3ud7Ay7uGQ0xxqq9r4_WLcM5SbrN_6_fqsFZXFdoGQA5nKiyP8Ot4nWdYcZvaNWxEAOIodUFndOP8pjihF9-rMXuNGEjde1cq2WjYzKwiIeodUej8okDWdB--szcgurzGMd8RRMjqr951PWqnXS-PbrRsavDHp8l2q4YBjh2m80nRruKnQCAn0dtm4A5G9rZaEowo9z-c8HJU101jKddyOpHhl9UvxVrERzHtyO4LdidiP4rP1hmaVMWybSbcIMI_h30qjqWP21kYRH9ENITTttbf0uZIa8s74jKYxNIdiiDyRaq9WjoPolrHI_ZxcMjp8mmCKX-N-1w -You can read more about JWT here: https://jwt.io/introduction/ - -JWT header must contain following fields: - -"typ": "JWT" (always the same) -"alg": "RS256" (always the same, only RS256 is supported) -"kid": "" (application id obtained after certificate upload) -JWT body must contain following fields: - -"iss": "enablebanking.com" (always the same) -"aud": "api.enablebanking.com" (always the same, formerly had to be "api.tilisy.com", which is now deprecated) -"iat": 1601456603 (timestamp when the token is being created) -"exp": 1601460262 (timestamp when the token expires) -Maximum allowed time-to-live for token is 86400 seconds (24 hours). Tokens created with longer TTL are not accepted by the API. - -Check code samples in C#, Node.js, PHP, Python and Ruby in our GitHub repository(opens new window) - -https://github.com/enablebanking/enablebanking-api-samples -Send request with JWT provided -Example request - -GET https://api.enablebanking.com/application HTTP/1.1 -Host: api.enablebanking.com -Authorization: Bearer eyJ0eXAiOiAiSldUIiwgImFsZyI6ICJSUzI1NiIsICJraWQiOiAiY2Y1ODliZTMtMzc1NS00NjViLWE4ZGYtYTkwYTE2YTMxNDAzIn0.eyJpc3MiOiAiZW5hYmxlYmFua2luZy5jb20iLCAiYXVkIjogImFwaS5lbmFibGViYW5raW5nLmNvbSIsICJpYXQiOiAxNjAxNDU2NzY4LCAiZXhwIjogMTYwMTU0MzE2OH0.daO3ENSYIA3ud7Ay7uGQ0xxqq9r4_WLcM5SbrN_6_fqsFZXFdoGQA5nKiyP8Ot4nWdYcZvaNWxEAOIodUFndOP8pjihF9-rMXuNGEjde1cq2WjYzKwiIeodUej8okDWdB--szcgurzGMd8RRMjqr951PWqnXS-PbrRsavDHp8l2q4YBjh2m80nRruKnQCAn0dtm4A5G9rZaEowo9z-c8HJU101jKddyOpHhl9UvxVrERzHtyO4LdidiP4rP1hmaVMWybSbcIMI_h30qjqWP21kYRH9ENITTttbf0uZIa8s74jKYxNIdiiDyRaq9WjoPolrHI_ZxcMjp8mmCKX-N-1w -In order to authenticate your application, you need to provide JWT in the "Authorization" header of your request. - -User sessions -The following operations can be used to initiate and complete end-user authorization for access to account information. The other operations provide possibility to retrieve session status and other details and to close (delete) a session. - -Start user authorization - -POST /auth - -Start authorization by getting a redirect link and redirecting a PSU to that link - -Parameters -Name In Type Required Description -body body StartAuthorizationRequest true none -Authentication - -To perform this operation, API requests must include Authorization header containing JWT calculated using private RSA key of the client application making the request. See jwtAuthentication. - -Example request - -POST https://api.enablebanking.com/auth HTTP/1.1 -Host: api.enablebanking.com -Content-Type: application/json -Accept: application/json -Authorization: Bearer - -Request body - -{ - "access": { - "valid_until": "2019-08-24T14:15:22Z" - }, - "aspsp": { - "name": "Nordea", - "country": "FI" - }, - "state": "3a57e2d3-2e0c-4336-af9b-7fa94f0606a3", - "redirect_url": "http://example.com", - "psu_type": "business", - "auth_method": "methodName", - "credentials": { - "userId": "MyUsername" - }, - "credentials_autosubmit": true, - "language": "fi", - "psu_id": "string" -} -Responses -Status Description Schema -200 Successful Response StartAuthorizationResponse -400 Bad Request ErrorResponse -401 Unauthorized ErrorResponse -403 Forbidden ErrorResponse -404 Not Found ErrorResponse -408 Request Timeout ErrorResponse -422 Unprocessable Entity ErrorResponse -429 Too Many Requests ErrorResponse -500 Internal Server Error ErrorResponse -Example responses - -200 Response - -{ - "url": "https://tilisy.enablebanking.com/welcome?sessionid=73100c65-c54d-46a1-87d1-aa3effde435a", - "authorization_id": "73100c65-c54d-46a1-87d1-aa3effde435a", - "psu_id_hash": "string" -} -Authorize user session - -POST /sessions - -Authorize user session by provided authorization code - -Parameters -Name In Type Required Description -body body AuthorizeSessionRequest true none -Authentication - -To perform this operation, API requests must include Authorization header containing JWT calculated using private RSA key of the client application making the request. See jwtAuthentication. - -Example request - -POST https://api.enablebanking.com/sessions HTTP/1.1 -Host: api.enablebanking.com -Content-Type: application/json -Accept: application/json -Authorization: Bearer - -Request body - -{ - "code": "string" -} -Responses -Status Description Schema -200 Successful Response AuthorizeSessionResponse -400 Bad Request ErrorResponse -401 Unauthorized ErrorResponse -403 Forbidden ErrorResponse -404 Not Found ErrorResponse -408 Request Timeout ErrorResponse -422 Unprocessable Entity ErrorResponse -429 Too Many Requests ErrorResponse -500 Internal Server Error ErrorResponse -Example responses - -200 Response - -{ - "session_id": "string", - "accounts": [ - { - "account_id": { - "iban": "FI0455231152453547" - }, - "all_account_ids": [ - { - "identification": "123456", - "scheme_name": "BBAN" - } - ], - "account_servicer": { - "bic_fi": "string", - "clearing_system_member_id": { - "clearing_system_id": "NZNCC", - "member_id": 20368 - }, - "name": "string" - }, - "name": "string", - "details": "string", - "usage": "PRIV", - "cash_account_type": "CACC", - "product": "string", - "currency": "string", - "psu_status": "string", - "credit_limit": { - "currency": "EUR", - "amount": "1.23" - }, - "legal_age": true, - "postal_address": { - "address_type": "Business", - "department": "Department of resources", - "sub_department": "Sub Department of resources", - "street_name": "Vasavagen", - "building_number": "4", - "post_code": "00123", - "town_name": "Helsinki", - "country_sub_division": "Uusimaa", - "country": "FI", - "address_line": [ - "Mr Asko Teirila PO Box 511", - "39140 AKDENMAA FINLAND" - ] - }, - "uid": "07cc67f4-45d6-494b-adac-09b5cbc7e2b5", - "identification_hash": "WwpbCiJhY2NvdW50IiwKImFjY291bnRfaWQiLAoiaWJhbiIKXQpd.E8GzhnnsFC7K+4e3YMYYKpyM83Zx6toXrjgcvPP/Lqc=", - "identification_hashes": [ - "WwpbCiJhY2NvdW50IiwKImFjY291bnRfaWQiLAoiaWJhbiIKXQpd.E8GzhnnsFC7K+4e3YMYYKpyM83Zx6toXrjgcvPP/Lqc=", - "WwpbCiJhc3BzcF9uYW1lIgpdLApbCiJhc3BzcF9jb3VudHJ5IgpdLApbCiJhY2NvdW50IiwKImFjY291bnRfaWQiLAoib3RoZXIiLAoic2NoZW1lX25hbWUiCl0sClsKImFjY291bnQiLAoiYWNjb3VudF9pZCIsCiJvdGhlciIsCiJpZGVudGlmaWNhdGlvbiIKXQpd.AOm/TULGPD4a4GdcWhR9xh0GPlPUZuB2O1S9SYFWEz0=" - ] - } - ], - "aspsp": { - "name": "Nordea", - "country": "FI" - }, - "psu_type": "business", - "access": { - "valid_until": "2019-08-24T14:15:22Z" - } -} -Get session data - -GET /sessions/{session_id} - -Get session data by session ID - -Parameters -Name In Type Required Description -session_id path string(uuid) true Previously authorized session ID -Authentication - -To perform this operation, API requests must include Authorization header containing JWT calculated using private RSA key of the client application making the request. See jwtAuthentication. - -Example request - -GET https://api.enablebanking.com/sessions/{session_id} HTTP/1.1 -Host: api.enablebanking.com -Accept: application/json -Authorization: Bearer - -Responses -Status Description Schema -200 Successful Response GetSessionResponse -400 Bad Request ErrorResponse -401 Unauthorized ErrorResponse -403 Forbidden ErrorResponse -404 Not Found ErrorResponse -408 Request Timeout ErrorResponse -422 Unprocessable Entity ErrorResponse -429 Too Many Requests ErrorResponse -500 Internal Server Error ErrorResponse -Example responses - -200 Response - -{ - "access": { - "valid_until": "2020-12-01T12:00:00.000000+00:00" - }, - "accounts": [ - "497f6eca-6276-4993-bfeb-53cbbbba6f08" - ], - "accounts_data": [ - { - "identification_hash": "WwpbCiJhY2NvdW50IiwKImFjY291bnRfaWQiLAoiaWJhbiIKXQpd.E8GzhnnsFC7K+4e3YMYYKpyM83Zx6toXrjgcvPP/Lqc=", - "uid": "497f6eca-6276-4993-bfeb-53cbbbba6f08" - } - ], - "aspsp": { - "country": "FI", - "name": "Nordea" - }, - "authorized": "2020-12-01T12:00:00.000000+00:00", - "created": "2020-12-01T12:00:00.000000+00:00", - "psu_type": "business", - "status": "AUTHORIZED" -} -Delete session - -DELETE /sessions/{session_id} - -Delete session by session ID. PSU's bank consent will be closed automatically if possible - -Parameters -Name In Type Required Description -session_id path string(uuid) true Previously authorized session ID -Psu-Ip-Address header string false PSU IP address -Psu-User-Agent header string false PSU browser User Agent -Psu-Referer header string false PSU Referer -Psu-Accept header string false PSU accept header -Psu-Accept-Charset header string false PSU charset -Psu-Accept-Encoding header string false PSU accept encoding -Psu-Accept-language header string false PSU accept language -Psu-Geo-Location header string false Comma separated latitude and longitude coordinates without spaces -Authentication - -To perform this operation, API requests must include Authorization header containing JWT calculated using private RSA key of the client application making the request. See jwtAuthentication. - -Example request - -DELETE https://api.enablebanking.com/sessions/{session_id} HTTP/1.1 -Host: api.enablebanking.com -Accept: application/json -Psu-Ip-Address: string -Psu-User-Agent: string -Psu-Referer: string -Psu-Accept: string -Psu-Accept-Charset: string -Psu-Accept-Encoding: string -Psu-Accept-language: string -Psu-Geo-Location: -1.2345,6.789 -Authorization: Bearer - -Responses -Status Description Schema -200 Successful Response SuccessResponse -400 Bad Request ErrorResponse -401 Unauthorized ErrorResponse -403 Forbidden ErrorResponse -404 Not Found ErrorResponse -408 Request Timeout ErrorResponse -422 Unprocessable Entity ErrorResponse -429 Too Many Requests ErrorResponse -500 Internal Server Error ErrorResponse -Example responses - -200 Response - -{ - "message": "OK" -} -Accounts data -Get account details - -GET /accounts/{account_id}/details - -Fetching account details from ASPSP for an account by its ID - -Parameters -Name In Type Required Description -account_id path string(uuid) true Account ID -Psu-Ip-Address header string false PSU IP address -Psu-User-Agent header string false PSU browser User Agent -Psu-Referer header string false PSU Referer -Psu-Accept header string false PSU accept header -Psu-Accept-Charset header string false PSU charset -Psu-Accept-Encoding header string false PSU accept encoding -Psu-Accept-language header string false PSU accept language -Psu-Geo-Location header string false Comma separated latitude and longitude coordinates without spaces -Authentication - -To perform this operation, API requests must include Authorization header containing JWT calculated using private RSA key of the client application making the request. See jwtAuthentication. - -Example request - -GET https://api.enablebanking.com/accounts/{account_id}/details HTTP/1.1 -Host: api.enablebanking.com -Accept: application/json -Psu-Ip-Address: string -Psu-User-Agent: string -Psu-Referer: string -Psu-Accept: string -Psu-Accept-Charset: string -Psu-Accept-Encoding: string -Psu-Accept-language: string -Psu-Geo-Location: -1.2345,6.789 -Authorization: Bearer - -Responses -Status Description Schema -200 Successful Response AccountResource -400 Bad Request ErrorResponse -401 Unauthorized ErrorResponse -403 Forbidden ErrorResponse -404 Not Found ErrorResponse -408 Request Timeout ErrorResponse -422 Unprocessable Entity ErrorResponse -429 Too Many Requests ErrorResponse -500 Internal Server Error ErrorResponse -Example responses - -200 Response - -{ - "account_id": { - "iban": "FI0455231152453547" - }, - "all_account_ids": [ - { - "identification": "123456", - "scheme_name": "BBAN" - } - ], - "account_servicer": { - "bic_fi": "string", - "clearing_system_member_id": { - "clearing_system_id": "NZNCC", - "member_id": 20368 - }, - "name": "string" - }, - "name": "string", - "details": "string", - "usage": "PRIV", - "cash_account_type": "CACC", - "product": "string", - "currency": "string", - "psu_status": "string", - "credit_limit": { - "currency": "EUR", - "amount": "1.23" - }, - "legal_age": true, - "postal_address": { - "address_type": "Business", - "department": "Department of resources", - "sub_department": "Sub Department of resources", - "street_name": "Vasavagen", - "building_number": "4", - "post_code": "00123", - "town_name": "Helsinki", - "country_sub_division": "Uusimaa", - "country": "FI", - "address_line": [ - "Mr Asko Teirila PO Box 511", - "39140 AKDENMAA FINLAND" - ] - }, - "uid": "07cc67f4-45d6-494b-adac-09b5cbc7e2b5", - "identification_hash": "WwpbCiJhY2NvdW50IiwKImFjY291bnRfaWQiLAoiaWJhbiIKXQpd.E8GzhnnsFC7K+4e3YMYYKpyM83Zx6toXrjgcvPP/Lqc=", - "identification_hashes": [ - "WwpbCiJhY2NvdW50IiwKImFjY291bnRfaWQiLAoiaWJhbiIKXQpd.E8GzhnnsFC7K+4e3YMYYKpyM83Zx6toXrjgcvPP/Lqc=", - "WwpbCiJhc3BzcF9uYW1lIgpdLApbCiJhc3BzcF9jb3VudHJ5IgpdLApbCiJhY2NvdW50IiwKImFjY291bnRfaWQiLAoib3RoZXIiLAoic2NoZW1lX25hbWUiCl0sClsKImFjY291bnQiLAoiYWNjb3VudF9pZCIsCiJvdGhlciIsCiJpZGVudGlmaWNhdGlvbiIKXQpd.AOm/TULGPD4a4GdcWhR9xh0GPlPUZuB2O1S9SYFWEz0=" - ] -} -Get account balances - -GET /accounts/{account_id}/balances - -Fetching account balances from ASPSP for an account by its ID - -Parameters -Name In Type Required Description -account_id path string(uuid) true PSU account ID accessible in the provided session -Psu-Ip-Address header string false PSU IP address -Psu-User-Agent header string false PSU browser User Agent -Psu-Referer header string false PSU Referer -Psu-Accept header string false PSU accept header -Psu-Accept-Charset header string false PSU charset -Psu-Accept-Encoding header string false PSU accept encoding -Psu-Accept-language header string false PSU accept language -Psu-Geo-Location header string false Comma separated latitude and longitude coordinates without spaces -Authentication - -To perform this operation, API requests must include Authorization header containing JWT calculated using private RSA key of the client application making the request. See jwtAuthentication. - -Example request - -GET https://api.enablebanking.com/accounts/{account_id}/balances HTTP/1.1 -Host: api.enablebanking.com -Accept: application/json -Psu-Ip-Address: string -Psu-User-Agent: string -Psu-Referer: string -Psu-Accept: string -Psu-Accept-Charset: string -Psu-Accept-Encoding: string -Psu-Accept-language: string -Psu-Geo-Location: -1.2345,6.789 -Authorization: Bearer - -Responses -Status Description Schema -200 Successful Response HalBalances -400 Bad Request ErrorResponse -401 Unauthorized ErrorResponse -403 Forbidden ErrorResponse -404 Not Found ErrorResponse -408 Request Timeout ErrorResponse -422 Unprocessable Entity ErrorResponse -429 Too Many Requests ErrorResponse -500 Internal Server Error ErrorResponse -Example responses - -200 Response - -{ - "balances": [ - { - "name": "Booked balance", - "balance_amount": { - "currency": "EUR", - "amount": "1.23" - }, - "balance_type": "CLAV", - "last_change_date_time": "2019-08-24T14:15:22Z", - "reference_date": "2019-08-24", - "last_committed_transaction": "4604aa90f8a8418092d80c3270846f0a" - } - ] -} -Get account transactions - -GET /accounts/{account_id}/transactions - -Fetching account transactions from ASPSP for an account by its ID - -Parameters -Name In Type Required Description -account_id path string(uuid) true PSU account ID accessible in the provided session -date_from query string(date) false Date to fetch transactions from (including the date, UTC timezone is assumed) -date_to query string(date) false Date to fetch transactions to (including the date, UTC timezone is assumed) -continuation_key query string false Key, allowing iterate over multiple API pages of transactions -transaction_status query TransactionStatus false Filter transactions by provided status -strategy query TransactionsFetchStrategy false Strategy how transaction are fetched -Psu-Ip-Address header string false PSU IP address -Psu-User-Agent header string false PSU browser User Agent -Psu-Referer header string false PSU Referer -Psu-Accept header string false PSU accept header -Psu-Accept-Charset header string false PSU charset -Psu-Accept-Encoding header string false PSU accept encoding -Psu-Accept-language header string false PSU accept language -Psu-Geo-Location header string false Comma separated latitude and longitude coordinates without spaces -Authentication - -To perform this operation, API requests must include Authorization header containing JWT calculated using private RSA key of the client application making the request. See jwtAuthentication. - -Example request - -GET https://api.enablebanking.com/accounts/{account_id}/transactions HTTP/1.1 -Host: api.enablebanking.com -Accept: application/json -Psu-Ip-Address: string -Psu-User-Agent: string -Psu-Referer: string -Psu-Accept: string -Psu-Accept-Charset: string -Psu-Accept-Encoding: string -Psu-Accept-language: string -Psu-Geo-Location: -1.2345,6.789 -Authorization: Bearer - -Responses -Status Description Schema -200 Successful Response HalTransactions -400 Bad Request ErrorResponse -401 Unauthorized ErrorResponse -403 Forbidden ErrorResponse -404 Not Found ErrorResponse -408 Request Timeout ErrorResponse -422 Unprocessable Entity ErrorResponse -429 Too Many Requests ErrorResponse -500 Internal Server Error ErrorResponse -Example responses - -200 Response - -{ - "transactions": [ - { - "entry_reference": "5561990681", - "merchant_category_code": "5511", - "transaction_amount": { - "currency": "EUR", - "amount": "1.23" - }, - "creditor": { - "name": "MyPreferredAisp", - "postal_address": { - "address_line": [ - "Mr Asko Teirila PO Box 511", - "39140 AKDENMAA FINLAND" - ], - "address_type": "Business", - "building_number": "4", - "country": "FI", - "country_sub_division": "Uusimaa", - "department": "Department of resources", - "post_code": "00123", - "street_name": "Vasavagen", - "sub_department": "Sub Department of resources", - "town_name": "Helsinki" - } - }, - "creditor_account": { - "iban": "FI0455231152453547" - }, - "creditor_agent": { - "bic_fi": "string", - "clearing_system_member_id": { - "clearing_system_id": "NZNCC", - "member_id": 20368 - }, - "name": "string" - }, - "debtor": { - "name": "MyPreferredAisp", - "postal_address": { - "address_line": [ - "Mr Asko Teirila PO Box 511", - "39140 AKDENMAA FINLAND" - ], - "address_type": "Business", - "building_number": "4", - "country": "FI", - "country_sub_division": "Uusimaa", - "department": "Department of resources", - "post_code": "00123", - "street_name": "Vasavagen", - "sub_department": "Sub Department of resources", - "town_name": "Helsinki" - } - }, - "debtor_account": { - "iban": "FI0455231152453547" - }, - "debtor_agent": { - "bic_fi": "string", - "clearing_system_member_id": { - "clearing_system_id": "NZNCC", - "member_id": 20368 - }, - "name": "string" - }, - "bank_transaction_code": { - "description": "Utlandsbetalning", - "code": "12", - "sub_code": "32" - }, - "credit_debit_indicator": "CRDT", - "status": "BOOK", - "booking_date": "2020-01-03", - "value_date": "2020-01-02", - "transaction_date": "2020-01-01", - "balance_after_transaction": { - "currency": "EUR", - "amount": "1.23" - }, - "reference_number": "RF07850352502356628678117", - "reference_number_schema": "SEBG", - "remittance_information": [ - "RF07850352502356628678117", - "Gift for Alex" - ], - "debtor_account_additional_identification": { - "identification": "12345678", - "scheme_name": "CPAN" - }, - "creditor_account_additional_identification": { - "identification": "12345678", - "scheme_name": "BBAN" - }, - "exchange_rate": { - "unit_currency": "EUR", - "exchange_rate": "string", - "rate_type": "SPOT", - "contract_identification": "string", - "instructed_amount": { - "currency": "EUR", - "amount": "1.23" - } - }, - "note": "string", - "transaction_id": "string" - } - ], - "continuation_key": "string" -} -Get transaction details - -GET /accounts/{account_id}/transactions/{transaction_id} - -Fetching transaction details from ASPSP for an account transaction by its ID - -Parameters -Name In Type Required Description -account_id path string(uuid) true Account ID -transaction_id path string true Transaction ID -Psu-Ip-Address header string false PSU IP address -Psu-User-Agent header string false PSU browser User Agent -Psu-Referer header string false PSU Referer -Psu-Accept header string false PSU accept header -Psu-Accept-Charset header string false PSU charset -Psu-Accept-Encoding header string false PSU accept encoding -Psu-Accept-language header string false PSU accept language -Psu-Geo-Location header string false Comma separated latitude and longitude coordinates without spaces -Authentication - -To perform this operation, API requests must include Authorization header containing JWT calculated using private RSA key of the client application making the request. See jwtAuthentication. - -Example request - -GET https://api.enablebanking.com/accounts/{account_id}/transactions/{transaction_id} HTTP/1.1 -Host: api.enablebanking.com -Accept: application/json -Psu-Ip-Address: string -Psu-User-Agent: string -Psu-Referer: string -Psu-Accept: string -Psu-Accept-Charset: string -Psu-Accept-Encoding: string -Psu-Accept-language: string -Psu-Geo-Location: -1.2345,6.789 -Authorization: Bearer - -Responses -Status Description Schema -200 Successful Response Transaction -400 Bad Request ErrorResponse -401 Unauthorized ErrorResponse -403 Forbidden ErrorResponse -404 Not Found ErrorResponse -408 Request Timeout ErrorResponse -422 Unprocessable Entity ErrorResponse -429 Too Many Requests ErrorResponse -500 Internal Server Error ErrorResponse -Example responses - -200 Response - -{ - "entry_reference": "5561990681", - "merchant_category_code": "5511", - "transaction_amount": { - "currency": "EUR", - "amount": "1.23" - }, - "creditor": { - "name": "MyPreferredAisp", - "postal_address": { - "address_line": [ - "Mr Asko Teirila PO Box 511", - "39140 AKDENMAA FINLAND" - ], - "address_type": "Business", - "building_number": "4", - "country": "FI", - "country_sub_division": "Uusimaa", - "department": "Department of resources", - "post_code": "00123", - "street_name": "Vasavagen", - "sub_department": "Sub Department of resources", - "town_name": "Helsinki" - } - }, - "creditor_account": { - "iban": "FI0455231152453547" - }, - "creditor_agent": { - "bic_fi": "string", - "clearing_system_member_id": { - "clearing_system_id": "NZNCC", - "member_id": 20368 - }, - "name": "string" - }, - "debtor": { - "name": "MyPreferredAisp", - "postal_address": { - "address_line": [ - "Mr Asko Teirila PO Box 511", - "39140 AKDENMAA FINLAND" - ], - "address_type": "Business", - "building_number": "4", - "country": "FI", - "country_sub_division": "Uusimaa", - "department": "Department of resources", - "post_code": "00123", - "street_name": "Vasavagen", - "sub_department": "Sub Department of resources", - "town_name": "Helsinki" - } - }, - "debtor_account": { - "iban": "FI0455231152453547" - }, - "debtor_agent": { - "bic_fi": "string", - "clearing_system_member_id": { - "clearing_system_id": "NZNCC", - "member_id": 20368 - }, - "name": "string" - }, - "bank_transaction_code": { - "description": "Utlandsbetalning", - "code": "12", - "sub_code": "32" - }, - "credit_debit_indicator": "CRDT", - "status": "BOOK", - "booking_date": "2020-01-03", - "value_date": "2020-01-02", - "transaction_date": "2020-01-01", - "balance_after_transaction": { - "currency": "EUR", - "amount": "1.23" - }, - "reference_number": "RF07850352502356628678117", - "reference_number_schema": "SEBG", - "remittance_information": [ - "RF07850352502356628678117", - "Gift for Alex" - ], - "debtor_account_additional_identification": { - "identification": "12345678", - "scheme_name": "CPAN" - }, - "creditor_account_additional_identification": { - "identification": "12345678", - "scheme_name": "BBAN" - }, - "exchange_rate": { - "unit_currency": "EUR", - "exchange_rate": "string", - "rate_type": "SPOT", - "contract_identification": "string", - "instructed_amount": { - "currency": "EUR", - "amount": "1.23" - } - }, - "note": "string", - "transaction_id": "string" -} \ No newline at end of file diff --git a/dev_docs/ENABLE_BANKING_DOCS/BUSINESS_BANKING_SETUP.md b/dev_docs/ENABLE_BANKING_DOCS/BUSINESS_BANKING_SETUP.md deleted file mode 100644 index 49e6369a..00000000 --- a/dev_docs/ENABLE_BANKING_DOCS/BUSINESS_BANKING_SETUP.md +++ /dev/null @@ -1,224 +0,0 @@ -# Business Banking Sandbox Setup Guide - -## Overview - -This guide explains how to configure Enable Banking to use business banking test data instead of personal banking data. - -## Changes Made - -### 1. Transaction Fetching Added -- ✅ Callback route now fetches transactions for each account -- ✅ Transactions are stored in `landing.transactions` table -- ✅ Error handling per account (continues if one account fails) - -### 2. PSU Type Configuration -- ✅ Added `ENABLE_BANKING_PSU_TYPE` environment variable -- ✅ Code now uses this variable throughout the flow -- ✅ Defaults to `business` if not set - -### 3. Sample Business Data Created -- ✅ Swedish business banking sample data in `SAMPLE_BUSINESS_BANKING_DATA.json` -- ✅ Realistic business transactions (invoices, rent, VAT, payroll, etc.) -- ✅ Swedish IBANs and business-specific patterns - -## Environment Configuration - -Your `.env.local` now includes: - -```bash -ENABLE_BANKING_PSU_TYPE=business # or 'personal' -``` - -### Switching Between Personal and Business - -**For Business Banking:** -```bash -ENABLE_BANKING_PSU_TYPE=business -``` - -**For Personal Banking:** -```bash -ENABLE_BANKING_PSU_TYPE=personal -``` - -## Sample Business Banking Data - -The file `dev_docs/SAMPLE_BUSINESS_BANKING_DATA.json` contains: - -### Account Details -- **Account Name**: Arcim AB Företagskonto -- **IBAN**: SE4550000000058398257466 -- **Currency**: SEK -- **Balance**: 847,250.50 SEK -- **Type**: Business checking account (CACC) - -### Sample Transactions (10 total) - -1. **Customer Payment** - 125,000 SEK (credit) - - Faktura 2025-1045 Konsulttjänster Oktober - -2. **Rent Payment** - 45,000 SEK (debit) - - Hyra Lokaler Q4 2025 - -3. **Supplier Payment** - 28,500 SEK (debit) - - Faktura KP-2025-0892 Konsulttjänster - -4. **Customer Payment** - 89,000 SEK (credit) - - Betalning Faktura 2025-3421 Projektleverans - -5. **VAT Payment** - 156,700 SEK (debit) - - Moms Q3 2025 - Organisationsnummer 556789-1234 - -6. **AWS Cloud** - 12,500 SEK (debit) - - AWS Cloud Services October 2025 - -7. **Payroll** - 245,000 SEK (debit) - - Löner Oktober 2025 - 5 anställda - -8. **Customer Payment** - 175,000 SEK (credit) - - Faktura 2025-2189 Utveckling SaaS Plattform - -9. **Telecom** - 8,500 SEK (debit) - - Företagsabonnemang Telefoni & Internet Oktober - -10. **Insurance** - 32,000 SEK (debit) - - Företagsförsäkring Q4 2025 - -## Testing the Integration - -### Current Status - -✅ **Working:** -- Authentication with Enable Banking -- Bank connection storage -- Account storage -- Transaction fetching and storage - -### Test Flow - -1. **Clear existing data** (if needed): - ```sql - DELETE FROM landing.transactions WHERE tenant_id = 'your_tenant_id'; - DELETE FROM landing.bank_accounts WHERE tenant_id = 'your_tenant_id'; - DELETE FROM landing.bank_connections WHERE tenant_id = 'your_tenant_id'; - ``` - -2. **Start dev server**: - ```bash - npm run dev - ``` - -3. **Connect to bank**: - - Go to `/banking/connect` - - Select a bank - - Click "Create Account" on mock ASPSP page - - Set up sample data (use the business sample structure) - - Grant consent - -4. **Verify data in Snowflake**: - ```sql - -- Check connections - SELECT * FROM landing.bank_connections - WHERE tenant_id = 'your_tenant_id' - ORDER BY created_at DESC; - - -- Check accounts - SELECT * FROM landing.bank_accounts - WHERE tenant_id = 'your_tenant_id' - ORDER BY created_at DESC; - - -- Check transactions - SELECT * FROM landing.transactions - WHERE tenant_id = 'your_tenant_id' - ORDER BY booking_date DESC; - ``` - -5. **Check logs**: - Look for these in your terminal: - ``` - Fetching transactions for account acc-business-001 - Found 10 transactions for account acc-business-001 - ``` - -## Troubleshooting - -### No Transactions Stored - -**Symptoms:** Accounts are created but no transactions - -**Possible Causes:** -1. The mock ASPSP didn't create transaction data -2. The account UID is wrong -3. Transaction API returned error - -**Debug:** -- Check terminal logs for "Fetching transactions" messages -- Check for error messages like "Failed to fetch transactions" -- Verify the account `uid` field is correct - -### Wrong Data Type (Personal vs Business) - -**Symptoms:** Getting personal accounts when expecting business - -**Solution:** -1. Check `.env.local` has `ENABLE_BANKING_PSU_TYPE=business` -2. Restart dev server (environment variables only load on startup) -3. Create a new test account on mock ASPSP page -4. Try selecting a different bank from the list - -### Transaction Format Issues - -**Symptoms:** Transactions stored but with missing/wrong data - -**Check:** -- Transaction amounts are parsed correctly (converts string to number) -- Remittance info is joined properly (array to string) -- Credit/debit indicator is mapped correctly - -## Using the Sample Data Structure - -The `SAMPLE_BUSINESS_BANKING_DATA.json` file shows the expected structure for business banking data. While you can't directly upload this to Enable Banking's mock ASPSP, you can: - -1. **Use it as reference** when creating test data on the mock ASPSP page -2. **Manually insert** test data into your Snowflake tables for testing: - -```sql --- Example: Insert test transactions directly -INSERT INTO landing.transactions ( - transaction_id, account_id, tenant_id, external_transaction_id, - booking_date, value_date, amount, currency, description, - counterparty_name, counterparty_account, transaction_type -) VALUES - ('txn_test_001', 'your_account_id', 'your_tenant_id', '2025102101', - '2025-10-18', '2025-10-18', 125000.00, 'SEK', - 'Faktura 2025-1045 Konsulttjänster Oktober', - 'KUND AB', 'SE9950000000054740013810', 'credit'); -``` - -3. **Request Enable Banking** to pre-populate business test data for your sandbox application - -## Next Steps - -### For Production - -When moving to production: - -1. Keep `ENABLE_BANKING_PSU_TYPE=business` -2. Register production application at Enable Banking -3. Update environment variables with production credentials -4. Real bank data will automatically populate - -### For Enhanced Testing - -Consider: -- Creating multiple test companies with different transaction patterns -- Testing edge cases (failed transactions, pending transactions) -- Testing different currencies (if expanding beyond Sweden) -- Testing large transaction volumes - -## Support - -If you encounter issues: -- Check Enable Banking documentation: https://enablebanking.com/docs -- Contact Enable Banking support: info@enablebanking.com -- Review logs in your terminal and Snowflake diff --git a/dev_docs/ENABLE_BANKING_DOCS/EB_UI_WIDGETS.md b/dev_docs/ENABLE_BANKING_DOCS/EB_UI_WIDGETS.md deleted file mode 100644 index 94dbe5b1..00000000 --- a/dev_docs/ENABLE_BANKING_DOCS/EB_UI_WIDGETS.md +++ /dev/null @@ -1,148 +0,0 @@ -UI Widgets -Terms consent -This widget provides the possibility to display to an end user terms of the service and acquire their consent before redirecting them to tilisy.enablebanking.com for authorisation of the requested access in an ASPSP. - -NB - -The widget shall be used only when your application relies on Enable Banking accessing ASPSPs as a regulated entity. If your company is a licensed TPP and Enable Banking acts solely as a technical service provider, the terms of service step is always skipped during the authorisation flow. - -In order to use the widget, the following is needed. - -Load the widgets library https://tilisy.enablebanking.com/lib/widgets.umd.min.js on the page where it is going to be used. - -Put the custom element enablebanking-consent registered by the widgets library into the place on the page where the widget needs to be shown. - -The element enablebanking-consent has the following attributes: - -authorization (required), should contain authorisation ID received from POST /auth API call; -locale (optional), language in which the widget content should be presented. Supported languages: DA, EN, ET, FI, FR, LT, LV, NL, NO, PL, RU, SV; -can-cancel (optional), when present the “Cancel” button will be displayed, which will emit cancel event when pressed; -sandbox (optional), to be used when authorisation was initiated with an application registered to sandbox environment; -origin (optional), to be provided in case a custom/dedicated environment is used, the default value is https://tilisy.enablebanking.com; -no-redirect (optional), to be used if the end user should not be automatically redirected to tilisy.enablebanking.com for authorisation of the access in an ASPSP; in this case redirect is to be performed when confirmed event is triggered. -Using event listener function - - -The element produces the following events: - -error, if an error occurs, -ready, when the widget is fully loaded, -confirmed, after a user has confirmed the consent, -cancelled, if the “Cancel” button was pressed. -The events can be listened similarly to standard Javascript events using addEventListener method called for the enablebanking-consent element. - -The widget does not include any CSS, it will use the styles present on the page where included. - -NB - -The widget can be used only on the websites with origins whitelisted for the application used to initiate end user authorisation. - -Whitelisting of the origins can be done through the control panel: - -Go to https://enablebanking.com/cp/applications (opens new window); -Choose Edit from the context menu for your application ("⋮" next to the application name); -Enter necessary origins into the "Allowed widget origins" edit box; -Press the "Save" button. -ASPSP selection -This widget provides a method to present on a web page the list of available ASPSPs (i.e. banks and similar financial institutions) and let an end-user to select the one, which they want to proceed with. - -The following code is needed in the html file. - -Load the widgets library https://tilisy.enablebanking.com/lib/widgets.umd.min.js and the default CSS https://tilisy.enablebanking.com/lib/widgets.css on the page where it is going to be used. - - -Put the custom element enablebanking-aspsp-list registered by the widgets library into the place on the page where the widget needs to be shown. - -Add an event listener, which would trigger authorisation of access to account information or payment initiation. - -When an end-user clicks one of the ASPSP cards, the event selected will be triggered and the detail field value is like this: - -{ - "beta": false, - "country": "SE", - "name": "Ekeby Sparbank", - "psuType": "personal", - "sandbox": true, - "service": "AIS" -} -The element enablebanking-aspsp-list has the following attributes: - -country (required), two-letter country code determining which ASPSPs will be displayed; -psu-type (required), either personal or business determining the type of user, which will grant authorisation; -service (required), either AIS or PIS determining whether account information or payment initiation service will be used; -sandbox (optional), to be provided in case sandbox authorisation will take place in the sandbox environment; -no-beta (optional), can be used to filter out ASPSPs whose integrations are still in the beta-testing phase; -origin (optional), to be provided in case a custom/dedicated environment is used, the default value is https://tilisy.enablebanking.com; -search-term (optional), can be used to filter ASPSPs by name; -logo-transform (optional), can be used change dimentions of the logo image (for example, -/resize/320x/-/crop/440x340/center/, for full list of possible transformations, please refer to https://uploadcare.com/docs/transformations/image/resize-crop/). -The element produces the following events: - -error, if an error occurs; -ready, when the widget is fully loaded or them the list of ASPSP is updated; -selected, after a user has selected an ASPSP. -Auth flow -This widget provides the possibility to perform interactions with an end user necessary for authorisation of access to account information and payment initiation from a web page hosted by the application accessing Enable Banking API and, if necessary, redirect directly ASPSPs bypassing redirect to tilisy.enablebanking.com (or a custom domain, in case the dedicated single-tenant environment is used). - -In order to use the widget, the following is needed. - -Load the widgets library https://tilisy.enablebanking.com/lib/widgets.umd.min.js on the page where it is going to be used. - -Put the custom element enablebanking-auth-flow registered by the widgets library into the place on the page where the widget needs to be shown. - -The element enablebanking-auth-flow has the following attributes: - -authorization (conditional), should contain authorisation ID received from POST /auth API call; -payment (conditional), should contain payment ID received from POST /payment API call; -locale (optional), language in which the widget content should be presented. Supported languages: DA, EN, ET, FI, FR, LT, LV, NL, NO, PL, RU, SV; -sandbox (optional), to be used when authorisation was initiated with an application registered to sandbox environment; -origin (optional), to be provided in case a custom/dedicated environment is used, the default value is https://tilisy.enablebanking.com. -Using event listener function - - -The element produces the following events: - -error, if an error occurs, -ready, when the widget is fully loaded, -ais-loaded, after authorisation session for AIS service is established, -pis-loaded, after authorisation session for PIS service is established. -The events can be listened similarly to standard Javascript events using addEventListener method called for the enablebanking-auth-flow element. - -The widget includes default CSS, which can be overriden. - -NB - -The widget can be used only on the websites with origins whitelisted for the application used to initiate end user authorisation. - -Whitelisting of the origins can be done through the control panel: - -Go to https://enablebanking.com/cp/applications (opens new window); -Choose Edit from the context menu for your application ("⋮" next to the application name); -Enter necessary origins into the "Allowed widget origins" edit box; -Press the "Save" button. \ No newline at end of file diff --git a/dev_docs/ENABLE_BANKING_DOCS/QUICKSTART_EB.md b/dev_docs/ENABLE_BANKING_DOCS/QUICKSTART_EB.md deleted file mode 100644 index 3594125c..00000000 --- a/dev_docs/ENABLE_BANKING_DOCS/QUICKSTART_EB.md +++ /dev/null @@ -1,198 +0,0 @@ -Quick Start with Enable Banking API -Welcome to the Quick Start guide for the Enable Banking API! This guide will help you quickly get up and running with the API so you can start building innovative financial applications. - -Signing up for an account -Before you can begin using the Enable Banking API, you'll need to sign up for an account to Enable Banking Control Panel. Follow these steps: - -Visit the authentication page https://enablebanking.com/sign-in/ (opens new window). -Enter your email, new accounts are automatically created on the first sign in. -Follow the one-time authentication link sent to your email. After authentication you will be redirected your profile in the Control. -Registering an application -Once you have an account, you can register your application to obtain API access: - -Go to the API applications (opens new window)page using the top menu of the Control Panel. -Fill out "Add a new application" form: -Keep the Sandbox environment and the default option for creation of the application's private key; -Fill in the name of your application (this name will be shown to end users when they will be requested to authorise sharing of their account information with your application or to confirm a payment initiated by your application); -Enter URLs whitelisted for redirecting of end users after they complete authorisation of access to account information or confirm a payment. -Submit the form by pressing "Register" button. Your web browser will generate a private key for the application and it will be saved into your downloads folder. The file name will be the ID that was assigned to the newly registered application (e.g., aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee.pem). -Creating JWT for API authorisation -To authenticate with the API, your application will need to use JSON Web Tokens generated using the private key saved during the registration process described above. Here is a sample implementation: - -Import a library allowing to generate JSON Web Tokens using RS256 algorithm: - -PythonJavaScript -import jwt as pyjwt -Most modern languages will have a number of libraries for JWT generation in their ecosystems. - -An extensive list of libraries for JWT generation can be found at https://jwt.io/libraries (opens new window). - -Import other necessary libraries and write the necessary helper functions: - -PythonJavaScript -import os -from datetime import datetime -This part significantly varies depending on the programming language you choose and the library you use for JWT generation. - -Read application's private key from a file: - -PythonJavaScript -private_key = open("aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee.pem", "rb").read() -Note that some libraries do not require you to load the private key from a file but rather allow you to pass the path to the file as a parameter. - -Prepare the JWT payload (also known as the body): - -PythonJavaScript -iat = int(datetime.now().timestamp()) -jwt_body = { - "iss": "enablebanking.com", # always the same value - "aud": "api.enablebanking.com", # always the same value - "iat": iat, # time when the JSON Web Token is created - "exp": iat + 3600, # time when the token is set to expire -} -Create the JWT with its header and signature: - -PythonJavaScript -jwt = pyjwt.encode( - jwt_body, - private_key, - algorithm="RS256", - headers={ - "kid": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", # your application's ID - } -) -Prepare the authorisation header for sending with every API request: - -PythonJavaScript -base_headers = { - "Authorization": f"Bearer {jwt}", -} -Your application needs to send the above created authorisation header with every request it makes to Enable Banking API. - -The full specification of the JWT format expected by Enable Banking API can be found in the API reference. - -Accessing account information -With authentication in place, you can start accessing account information from ASPSPs (banks and similar financial institutions): - -To obtain the list of available ASPSPs in a country, send a GET request to the ASPSPs endpoint specifying the desired country in the country query parameter in the format of Two-letter ISO 3166 code: - -PythonJavaScript -import requests -from pprint import pprint - -r = requests.get("https://api.enablebanking.com/aspsps?country=FI", headers=base_headers) -# If you want you can override BANK_NAME and BANK_COUNTRY with any bank from this list -print("Available ASPSPs:") -pprint(r.json()["aspsps"]) -The first step in obtaining account information is to start the authorisation process. To do this, send a POST request to the authorisation endpoint, specifying a bank name and a country from the list returned from ASPSPs endpoint. - -PythonJavaScript -body = { - "access": { - "valid_until": (datetime.now(timezone.utc) + timedelta(days=10)).isoformat() # 10 days ahead - }, - "aspsp": { - "name": "Nordea", # BANK_NAME - "country": "FI" # BANK_COUNTRY - }, - "state": "123e4567-e89b-12d3-a456-426614174000" - "redirect_url": "https://example.com/redirect", # application's redirect URL - "psu_type": "personal", -} -r = requests.post("https://api.enablebanking.com/auth", json=body, headers=base_headers) -auth_url = r.json()["url"] -The response will contain a redirect URL to which you should redirect the end user to complete the authorisation process. After the end user completes the authorisation process, they will be redirected to the URL you specified during the application registration. The URL will contain a query parameter named code which will be used to authorize the user session - -PythonJavaScript - print(f"To authenticate open URL {auth_url}") # open this URL in a web browser -To authorize the user session send a POST request to the sessions endpoint, specifying the code received in the authorisation endpoint. In the response you will receive a session ID, with the list of authorized accounts. - -PythonJavaScript -r = requests.post(f"https://api.enablebanking.com/sessions", json={"code": code}, headers=base_headers) -session = r.json() -print("New user session has been created:") -pprint(session) -To obtain the list of balances for the authorized accounts, send a GET request to the balances endpoint, specifying the account ID in the URL. - -PythonJavaScript - # Using the first available account for the following API calls - account_uid = session["accounts"][0]["uid"] - - # Retrieving account balances - r = requests.get(f"https://api.enablebanking.com/accounts/{account_uid}/balances", headers=base_headers) - print("Balances:") - pprint(r.json()) -To obtain the list of transactions for the authorized accounts, send a GET request to the transactions endpoint, specifying the account ID in the URL. - -PythonJavaScript -r = requests.get(f"https://api.enablebanking.com/accounts/{account_uid}/transactions",headers=base_headers) -resp_data = r.json() -print("Transactions:") -pprint(resp_data["transactions"]) -you can refer to the API reference for more details on the API endpoints. - -Full source code in our GitHub: - -PythonJavaScript -https://github.com/enablebanking/enablebanking-api-samples/blob/master/python_example/account_information.py(opens new window) - -Initiating payments -If your application requires payment initiation functionality, you can use the Enable Banking API for this purpose: - -To initiate a payment, send a POST request to the Create Payment endpoint, specifying the payment details in the request body. - -PythonJavaScript - body = { - "payment_type": "SEPA", - "payment_request": { - "credit_transfer_transaction": [ - { - "beneficiary": { - "creditor_account": { - "scheme_name": "IBAN", - "identification": "FI7473834510057469", - }, - "creditor": { - "name": "Test", - }, - }, - "instructed_amount": {"amount": "2.00", "currency": "EUR"}, - "reference_number": "123", - } - ], - }, - "aspsp": {"name": "Nordea", "country": "FI"}, - "state": "123e4567-e89b-12d3-a456-426614174000", - "redirect_url": "https://example.com/redirect", # application's redirect URL - "psu_type": "personal", - } - r = requests.post(f"https://api.enablebanking.com/payments", json=body, headers=base_headers) - payment = r.json() -The response will contain a redirect URL to which you should redirect the end user to complete the payment initiation process. Use following credentials to authenticate: customera / 12345678 - -PythonJavaScript -print("To authenticate open URL:") -print(payment["url"]) -To get the status of the initiated payment, send a GET request to the Get Payment endpoint, specifying the payment ID in the URL. - -PythonJavaScript -# This request can be called multiple times to check the status of the payment -payment_id = payment["payment_id"] -r = requests.get(f"https://api.enablebanking.com/payments/{payment_id}", headers=base_headers) -print("Payment status:") -pprint(r.json()) -Full source code in our GitHub: - -PythonJavaScript -https://github.com/enablebanking/enablebanking-api-samples/blob/master/python_example/payment_initiation.py(opens new window) - -Next steps -Congratulations! You've completed the essential steps to get started with the Enable Banking API. Here are some suggested next steps: - -Explore the API reference to learn more about the API endpoints and their parameters. -Check out code samples and a Postman collections in our GitHub repository (opens new window). -Discover the Control Panel where you can manage apps, configure settings, and monitor activity. -Learn how to test your API integrations in the Sandbox. -If you have any questions or run into issues, don't hesitate to reach out for assistance. - -Happy coding! \ No newline at end of file diff --git a/dev_docs/ENABLE_BANKING_DOCS/QUICKSTART_EB_GK.md b/dev_docs/ENABLE_BANKING_DOCS/QUICKSTART_EB_GK.md deleted file mode 100644 index 04600f9c..00000000 --- a/dev_docs/ENABLE_BANKING_DOCS/QUICKSTART_EB_GK.md +++ /dev/null @@ -1,210 +0,0 @@ -Kickstart Open Banking and Enrichment in less than two hours -Get started quickly with connecting Open Banking, accessing raw account data, and creating financial insights. - -Explore our docs -1 -Enable Banking -Get started with accessing raw account data. - -This documentation might not be fully up to date. You can view the latest information on Enable Bankings documentation page: https://enablebanking.com/docs/api/quick-start - -1. Signing up for an account -Before you can begin using the Enable Banking API, you'll need to sign up for an account to Enable Banking Control Panel. Follow these steps. - -1.1 Visit the authentication page here -1.2 Enter your email, new accounts are automatically created on the first sign in -1.3 Follow the one-time authentication link sent to your email. After authentication you will be redirected your profile in the Control -2. Registering an application -Once you have an account, you can register your application to obtain API access. - -2.1 Go to the API applications page using the top menu of the Control Panel here -2.2 Fill out "Add a new application" form -2.2.1 Keep the Sandbox environment and the default option for creation of the application's private key -2.2.2 Fill in the name of your application (this name will be shown to end users when they will be requested to authorise sharing of their account information with your application or to confirm a payment initiated by your application) -2.2.3 Enter URLs whitelisted for redirecting of end users after they complete authorisation of access to account information or confirm a payment -2.3 Submit the form by pressing "Register" button. Your web browser will generate a private key for the application and it will be saved into your downloads folder. The file name will be the ID that was assigned to the newly registered application (e.g., aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee.pem) -3. Creating JWT for API authorisation -To authenticate with the API, your application will need to use JSON Web Tokens generated using the private key saved during the registration process described above. The full specification of the JWT format expected by Enable Banking API can be found in the API reference. Here is a sample implementation - -3.1 Import a library allowing to generate JSON Web Tokens using RS256 algorithm -const jwa = require("jwa") -Most modern languages will have a number of libraries for JWT generation in their ecosystems. An extensive list of libraries for JWT generation can be found at https://jwt.io/libraries (opens new window). - -3.2 Import other necessary libraries and write the necessary helper functions -const fs = require("fs") -const jsonBase64 = (data) => { - return Buffer.from(JSON.stringify(data)).toString("base64").replace("=", "") -} -This part significantly varies depending on the programming language you choose and the library you use for JWT generation. - -3.3 Read application's private key from a file -const privateKey = fs.readFileSync("aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee.pem", "utf8") -Note that some libraries do not require you to load the private key from a file but rather allow you to pass the path to the file as a parameter. - -3.4 Prepare the JWT payload (also known as the body) -const iat = Math.floor((new Date()).getTime() / 1000) -const jwtBody = { - iss: "enablebanking.com", // always the same value - aud: "api.enablebanking.com", // always the same value - iat: iat, // time when the token is created - exp: iat + 3600 // time when the token is set to expire -} -3.5 Create the JWT with its header and signature -const jwt = ((exp = 3600) => { - const header = jsonBase64({ - typ: "JWT", - alg: "RS256", - kid: "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" // your application's ID - }) - const body = jsonBase64(jwtBody) - const signature = jwa("RS256").sign((header + '.' + body), privateKey) - return (header + '.' + body + '.' + signature) -})() -3.6 Prepare the authorisation header for sending with every API request -const baseHeaders = { - Authorization: "Bearer " + jwt -} -Your application needs to send the above created authorisation header with every request it makes to Enable Banking API. - -4. Accessing account information -With authentication in place, you can start accessing account information from ASPSPs (banks and similar financial institutions). - -4.1 To obtain the list of available ASPSPs in a country, send a GET request to the ASPSPs endpoint specifying the desired country in the country query parameter in the format of Two-letter ISO 3166 code -const fetch = require('node-fetch'); - -const aspspsResponse = await fetch('https://api.enablebanking.com/aspsps?country=FI', { - headers: baseHeaders -}) -// If you want you can override BANK_NAME and BANK_COUNTRY with any bank from this list -console.log('Available ASPSPs: ' + await aspspsResponse.text()) -4.2 The first step in obtaining account information is to start the authorisation process. To do this, send a POST request to the authorisation endpoint, specifying a bank name and a country from the list returned from ASPSPs endpoint -// 10 days ahead -const validUntil = new Date(new Date().getTime() + 10 * 24 * 60 * 60 * 1000); -const startAuthorizationBody = { - access: { - valid_until: validUntil.toISOString() - }, - aspsp: { - name: "Nordea", // BANK_NAME - country: "FI" // BANK_COUNTRY - }, - state: "123e4567-e89b-12d3-a456-426614174000", - redirect_url: "https://example.com/redirect", // application's redirect URL - psu_type: "personal" -} -const startAuthorizationResponse = await fetch('https://api.enablebanking.com/auth', { - method: "POST", - headers: baseHeaders, - body: JSON.stringify(startAuthorizationBody) -}) -const startAuthorizationData = await startAuthorizationResponse.text(); -console.log('Start authorization data: ' + startAuthorizationData) -4.3 The response will contain a redirect URL to which you should redirect the end user to complete the authorisation process. After the end user completes the authorisation process, they will be redirected to the URL you specified during the application registration. The URL will contain a query parameter named code which will be used to authorize the user session -console.log('To authenticate open URL ' + startAuthorizationData) -4.4 To authorize the user session send a POST request to the sessions endpoint, specifying the code received in the authorisation endpoint. In the response you will receive a session ID, with the list of authorized accounts -const createSessionBody = { - code: code -} -const createSessionResponse = await fetch('https://api.enablebanking.com/sessions', { - method: "POST", - headers: baseHeaders, - body: JSON.stringify(createSessionBody) -}) -const session = await createSessionResponse.text() -console.log('New user session has been created: ' + session) -4.5 To obtain the list of balances for the authorized accounts, send a GET request to the balances endpoint, specifying the account ID in the URL -// Using the first available account for the following API calls -const accountId = JSON.parse(session).accounts[0] -const accountBalancesResponse = await fetch('https://api.enablebanking.com/accounts/' + accountId + '/balances', { - headers: baseHeaders -}) -console.log('Account balances data: ' + accountBalancesResponse.text()) -4.6 To obtain the list of balances for the authorized accounts, send a GET request to the balances endpoint, specifying the account ID in the URL -const accountTransactionsResponse = await fetch('https://api.enablebanking.com/accounts/' + accountId + '/transactions', { - headers: baseHeaders -}) -console.log('Account transactions data: ' + accountTransactionsResponse.text()') -2 -Gokind -Create insights from the raw account data - -1. Fetch an API key pair -Get your first API key pair. - -1.1 Visit the portal here -1.2 Request a key pair and await verification -1.3 Once your key pair has been verified download it and store it safely -2. Get an access token -JWT valid for two hours. - -const axios = require('axios'); - -const { token } = await axios.post('https://api.gokind.co/auth', { - publicKey: "{YOUR_PUBLIC_KEY}", - privateKey: "{YOUR_PRIVATE_KEY}" -})M -console.log('JWT token valid for two hours: ' + token); -3. Format the Enable Banking data -Make it compatible with the Gokind API. - -const formattedBundles = transactionFromEnableBanking.map(transaction => { - const { - remittance_information, - creditor, - debtor, - bank_transaction_code, - transaction_amount, - value_date, - booking_date, - transaction_date, - } = transaction; - - const {description, sub_code, code} = bank_transaction_code; - const {amount, currency} = transaction_amount; - - return { - label: remittance_information.join(' '), - creditor: creditor.name, - debtor: debtor.name, - type: description || code, - subType: sub_code, - amount: amount, - currency: currency, - date: value_date || booking_date || transaction_date - } -}); -console.log('Formatted bundles: ' + JSON.stringify(formattedBundles)); -4. Get the enriched response -Enrich the formatted bundles. - -const axios = require('axios'); - -const headers = { - 'Authorization': 'Bearer ' + token -}; - -const body = { - identifiers:{ - account:{ - type: "business", - }, - bundles: formattedBundles - }, - include:{ - logo: true, - industries: true, - payment: true, - checks: true, - flags: true, - event: true, - }, - config:{ - region: "SE", - return: { - unidentified: true - } - } -}; - -const response = await axios.post('https://api.gokind.co/identify', body, { headers }); -console.log(response); \ No newline at end of file diff --git a/lib/init.ts b/lib/init.ts index c2227513..c0d8ca6d 100644 --- a/lib/init.ts +++ b/lib/init.ts @@ -30,12 +30,11 @@ const OPTIONAL_VARS = [ ] as const function validateEnvironment(): void { - // During Docker builds, NEXT_PUBLIC_* vars are placeholder sentinels - // replaced at runtime by docker-entrypoint.sh. Server-only vars like - // SUPABASE_SERVICE_ROLE_KEY are not available at build time at all. - // Skip validation so Next.js page collection doesn't fail. - const isBuildPlaceholder = process.env.NEXT_PUBLIC_SUPABASE_URL?.startsWith('__') - if (isBuildPlaceholder) return + // During builds (CI, Docker, Vercel), env vars may be absent or set to + // placeholder sentinels. Skip validation so Next.js page collection + // doesn't fail — real validation happens at runtime. + const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL + if (!supabaseUrl || supabaseUrl.startsWith('__')) return const missing: string[] = [] diff --git a/lib/supabase/client.ts b/lib/supabase/client.ts index 80bfbf49..d1693c1a 100644 --- a/lib/supabase/client.ts +++ b/lib/supabase/client.ts @@ -4,9 +4,9 @@ import { createBrowserClient } from '@supabase/ssr' // (e.g. __NEXT_PUBLIC_SUPABASE_URL__) that get replaced at runtime by // docker-entrypoint.sh. Provide a dummy URL so the client constructor // doesn't throw during Next.js static page generation. -const url = process.env.NEXT_PUBLIC_SUPABASE_URL! -const key = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY! -const isBuildPlaceholder = url.startsWith('__') +const url = process.env.NEXT_PUBLIC_SUPABASE_URL ?? '' +const key = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY ?? '' +const isBuildPlaceholder = !url || url.startsWith('__') export function createClient() { return createBrowserClient(