style: remove em/en dashes repo-wide, add CLAUDE.md rule against them (#890)
Em dashes (—) and en dashes (–) had spread across comments, docs, tests, and a few UI strings, reading as AI-generated boilerplate rather than house style. Replaced each with punctuation matching its context: colon for explanatory clauses, comma for asides, plain hyphen for numeric/legal ranges (e.g. "21-23§"), "to"/"till" for date ranges, parentheses for paired-dash asides. messages/en.json and messages/sv.json were fixed by hand together to keep sv/en in sync. Left untouched where the dash is the functional subject rather than decorative punctuation: date-range-parser.ts's separator regex, charset-repair.ts's CP1252 byte-mapping table (and its test), the SIE encoding mojibake docs, generic-csv.ts's minus-sign normalizer, the agent system-prompt files that already instruct against em dashes, and a golden iXBRL test fixture compared byte-for-byte. Also fixes two bugs surfaced along the way: an off-by-one in ApiKeysPanel's scope-label split (a leftover from an earlier partial pass), and a charset-repair test that had lost the literal en-dash it exists to verify. Regenerated the agent atom seed migration (skills:generate) since 27 SKILL.md files changed. Added a CLAUDE.md rule against em/en dashes, with an explicit carve-out for the functional-dash cases above. Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+13
-13
@@ -1,21 +1,21 @@
|
||||
# Agentic Loops — Playbook
|
||||
# Agentic Loops: Playbook
|
||||
|
||||
Proactive loops that scan the codebase and our external systems (GitHub, Vercel), then
|
||||
**propose** fixes and file well-formed tickets. This file is the shared contract every loop obeys.
|
||||
Skills under `.claude/skills/loop-*` implement the loops; cloud routines and local `/loop` invocations
|
||||
run them on a schedule.
|
||||
|
||||
> These are **proactive loops** — triggered by a schedule, no human in real time, each item exits when
|
||||
> These are **proactive loops**: triggered by a schedule, no human in real time, each item exits when
|
||||
> its goal is met. Quality comes from the *system around the loop* (verification skills, clean
|
||||
> conventions, second-agent review), not from a clever prompt.
|
||||
|
||||
> **This file lives at `.claude/loops.md` (committed).** `dev_docs/*` is gitignored ("internal
|
||||
> reference, not published"), so the playbook cannot live there — the cloud routines clone `main` and
|
||||
> reference, not published"), so the playbook cannot live there: the cloud routines clone `main` and
|
||||
> need this file present.
|
||||
|
||||
---
|
||||
|
||||
## Autonomy policy — "Propose, don't merge"
|
||||
## Autonomy policy: "Propose, don't merge"
|
||||
|
||||
This is a Swedish accounting/compliance codebase. Loops never touch `main` or production.
|
||||
|
||||
@@ -39,13 +39,13 @@ the PR is opened.** No exceptions.
|
||||
**Labels:** `loop:auto` (always, on anything a loop creates), `loop:vercel`, `loop:triage`,
|
||||
`loop:design`, `loop:needs-human` (a loop tried and could not safely proceed).
|
||||
|
||||
**Idempotency / anti-spam — MANDATORY.** Before filing anything:
|
||||
1. Compute a stable **fingerprint** (error signature, file:line, rule id — never a timestamp).
|
||||
**Idempotency / anti-spam: MANDATORY.** Before filing anything:
|
||||
1. Compute a stable **fingerprint** (error signature, file:line, rule id, never a timestamp).
|
||||
2. `gh issue list --search "<fingerprint> in:body state:all"` (include closed). Match → comment instead
|
||||
of filing a duplicate; closed + recurring → reopen with a note.
|
||||
3. Embed `<!-- loop-fingerprint: <hash> -->` in the body so future runs find it.
|
||||
|
||||
**Branch naming:** `loop/<loop>-<ref>` — e.g. `loop/ci-pr848`, `loop/issue-843`, `loop/vercel-<hash>`.
|
||||
**Branch naming:** `loop/<loop>-<ref>`, e.g. `loop/ci-pr848`, `loop/issue-843`, `loop/vercel-<hash>`.
|
||||
|
||||
**Anti-thrash:** if the same fix (same fingerprint) already failed, **stop**, label `loop:needs-human`,
|
||||
comment what was tried. Never retry the same failing action in a cycle.
|
||||
@@ -63,9 +63,9 @@ comment what was tried. Never retry the same failing action in a cycle.
|
||||
| 3 | Issue triage + easy-fix | `loop-issue-triage` | **Cloud** `trig_017hB94ieGVwreJqHpGRDVoM` | `0 7,15 * * *` UTC | triage all; ≤2 PRs |
|
||||
| 4 | UI/UX + design scan | `loop-design-scan` | **Local** (`/loop`) | on-demand | ≤1 area, ≤6 findings |
|
||||
|
||||
Loops 1 & 3 are cloud routines (only need `gh`). Loop 2 (Vercel errors) is **local** — the Vercel MCP is
|
||||
Loops 1 & 3 are cloud routines (only need `gh`). Loop 2 (Vercel errors) is **local**: the Vercel MCP is
|
||||
only available locally, and there's no error-aggregation service (Sentry is not used). Loop 4 is
|
||||
**local** — it needs `npm run dev` + Chrome to render/screenshot the UI.
|
||||
**local**: it needs `npm run dev` + Chrome to render/screenshot the UI.
|
||||
|
||||
---
|
||||
|
||||
@@ -77,7 +77,7 @@ grep → build if config/types changed. Plus: never violate an
|
||||
|
||||
---
|
||||
|
||||
## Cloud-environment requirements (verify these — they are the usual failure points)
|
||||
## Cloud-environment requirements (verify these: they are the usual failure points)
|
||||
|
||||
Cloud routines run in a **fresh session** in the anthropic_cloud env (`env_01R1K99XTZCEptnQ7k955qfN`),
|
||||
cloning `main`. For them to work:
|
||||
@@ -86,11 +86,11 @@ cloning `main`. For them to work:
|
||||
*"environment not provisioned"* if not. Verify via the completion notification of the first fire.
|
||||
2. **Cloud routines cannot reach interactively-authenticated MCPs** (Vercel/Supabase plugins are not in
|
||||
the routine tool allowlist). Loops rely on `gh` (via Bash) + HTTP APIs.
|
||||
3. **The Vercel-errors loop runs locally** (Vercel MCP). Sentry is **not** used in this codebase — the
|
||||
3. **The Vercel-errors loop runs locally** (Vercel MCP). Sentry is **not** used in this codebase: the
|
||||
`SENTRY_*` names in `.env.local`/CLAUDE.md are leftovers. To run this loop in the cloud instead, set a
|
||||
`VERCEL_TOKEN` secret on the env and accept that Vercel runtime-log retention is short (recent window
|
||||
only). `GH_TOKEN` is the one secret loops 1 & 3 actually require (private-repo access;
|
||||
OAuth-only integration does not work for private repos — anthropics/claude-code#64130).
|
||||
OAuth-only integration does not work for private repos, anthropics/claude-code#64130).
|
||||
|
||||
---
|
||||
|
||||
@@ -103,4 +103,4 @@ cloning `main`. For them to work:
|
||||
|
||||
## Extending
|
||||
When a loop produces a bad result, encode the lesson back into the skill / a CLAUDE.md rule / a verifier
|
||||
so every future run improves — don't just fix the one output.
|
||||
so every future run improves: don't just fix the one output.
|
||||
|
||||
+16
-16
@@ -7,7 +7,7 @@ paths:
|
||||
|
||||
Use the `/erp-api-route` skill when scaffolding new endpoints.
|
||||
|
||||
**Default: wrap every cookie-session route in `withRouteContext`** (`lib/api/with-route-context.ts`). It is the only path that enforces MFA (AAL2) on hosted — it calls `requireAuth()`, resolves the active `companyId`, optionally gates non-viewer role (`requireWrite: true`), and converts thrown errors into the canonical envelope. **Never hand-roll `supabase.auth.getUser()` in a route** — that skips MFA. CI enforces this via the ratchet guard (`npm run check:guards`); a new route calling `getUser()` directly fails the build.
|
||||
**Default: wrap every cookie-session route in `withRouteContext`** (`lib/api/with-route-context.ts`). It is the only path that enforces MFA (AAL2) on hosted: it calls `requireAuth()`, resolves the active `companyId`, optionally gates non-viewer role (`requireWrite: true`), and converts thrown errors into the canonical envelope. **Never hand-roll `supabase.auth.getUser()` in a route**: that skips MFA. CI enforces this via the ratchet guard (`npm run check:guards`); a new route calling `getUser()` directly fails the build.
|
||||
|
||||
```typescript
|
||||
import { NextResponse } from 'next/server'
|
||||
@@ -16,7 +16,7 @@ import { withRouteContext } from '@/lib/api/with-route-context'
|
||||
import { validateBody } from '@/lib/api/validate'
|
||||
import { MySchema } from '@/lib/api/schemas'
|
||||
|
||||
ensureInitialized() // Module-level — loads extensions for event emission
|
||||
ensureInitialized() // Module-level: loads extensions for event emission
|
||||
|
||||
// Dynamic route: pass the params type as the generic.
|
||||
export const POST = withRouteContext<{ params: Promise<{ id: string }> }>(
|
||||
@@ -27,7 +27,7 @@ export const POST = withRouteContext<{ params: Promise<{ id: string }> }>(
|
||||
if (!validation.success) return validation.response
|
||||
|
||||
// Business logic... always filter by company_id (defense in depth alongside RLS).
|
||||
// Throw typed domain errors (e.g. lib/bookkeeping/errors) — the wrapper maps
|
||||
// Throw typed domain errors (e.g. lib/bookkeeping/errors): the wrapper maps
|
||||
// them to the right status + canonical { error: { code, message, message_en } }.
|
||||
return NextResponse.json({ data: result })
|
||||
},
|
||||
@@ -35,26 +35,26 @@ export const POST = withRouteContext<{ params: Promise<{ id: string }> }>(
|
||||
)
|
||||
```
|
||||
|
||||
- Dynamic route params: `{ params }: { params: Promise<{ id: string }> }` (Next.js 16 — params are async). With `withRouteContext`, pass that shape as the generic and destructure `params` from the 3rd handler arg.
|
||||
- Dynamic route params: `{ params }: { params: Promise<{ id: string }> }` (Next.js 16, params are async). With `withRouteContext`, pass that shape as the generic and destructure `params` from the 3rd handler arg.
|
||||
- Response shapes: `{ data }` for success; failures are the canonical `{ error: { code, message, message_en?, requestId? } }` envelope (thrown errors → `errorResponse`). Don't hand-build `{ error: 'string' }`.
|
||||
- Zod schemas in `lib/api/schemas.ts` — 100+ schemas with shared primitives (uuid, isoDate, accountNumber, nonNegativeAmount).
|
||||
- Zod schemas in `lib/api/schemas.ts`: 100+ schemas with shared primitives (uuid, isoDate, accountNumber, nonNegativeAmount).
|
||||
- Routes that emit events must call `ensureInitialized()` at module level.
|
||||
- Opt out of `withRouteContext` only when the route genuinely can't guarantee a company context (e.g. onboarding) — then call `requireAuth()` directly so MFA is still enforced.
|
||||
- Opt out of `withRouteContext` only when the route genuinely can't guarantee a company context (e.g. onboarding): then call `requireAuth()` directly so MFA is still enforced.
|
||||
- API-key auth (`/api/v1/*`) uses `createServiceClientNoCookies()` + `v1ErrorResponse`; every query still filters by `company_id`.
|
||||
|
||||
## Endpoint map (`app/api/`)
|
||||
|
||||
- `/api/bookkeeping/*` — accounts, fiscal periods, journal entries (CRUD/reverse/correct), mapping rules, voucher gaps
|
||||
- `/api/invoices/*`, `/api/supplier-invoices/*` — CRUD + state transitions
|
||||
- `/api/transactions/*` — categorize, describe, book, match-{invoice,supplier-invoice}, batch, AI suggestions
|
||||
- `/api/customers/*`, `/api/suppliers/*` — CRUD
|
||||
- `/api/documents/*` — CRUD, versions, link, match-sweep, verify cron
|
||||
- `/api/reports/*` — report endpoints (GL, TB, BS, IS, AR/supplier ledger, VAT, SIE, INK2, NE-bilaga, KPI, audit, continuity, monthly, full-archive, salary, vacation, avgifter)
|
||||
- `/api/salary/*` — employees, payroll-config, tax-tables, KU, runs
|
||||
- `/api/import/*` — bank-file, SIE (parse/execute/mappings)
|
||||
- `/api/bookkeeping/*`: accounts, fiscal periods, journal entries (CRUD/reverse/correct), mapping rules, voucher gaps
|
||||
- `/api/invoices/*`, `/api/supplier-invoices/*`: CRUD + state transitions
|
||||
- `/api/transactions/*`: categorize, describe, book, match-{invoice,supplier-invoice}, batch, AI suggestions
|
||||
- `/api/customers/*`, `/api/suppliers/*`: CRUD
|
||||
- `/api/documents/*`: CRUD, versions, link, match-sweep, verify cron
|
||||
- `/api/reports/*`: report endpoints (GL, TB, BS, IS, AR/supplier ledger, VAT, SIE, INK2, NE-bilaga, KPI, audit, continuity, monthly, full-archive, salary, vacation, avgifter)
|
||||
- `/api/salary/*`: employees, payroll-config, tax-tables, KU, runs
|
||||
- `/api/import/*`: bank-file, SIE (parse/execute/mappings)
|
||||
- `/api/reconciliation/bank/*`, `/api/settings/*`, `/api/company/*`, `/api/team/*`
|
||||
- `/api/deadlines/*`, `/api/tax-deadlines/*` — CRUD + crons
|
||||
- `/api/deadlines/*`, `/api/tax-deadlines/*`: CRUD + crons
|
||||
- `/api/pending-operations/*`, `/api/events/*`, `/api/audit-trail/*`
|
||||
- `/api/calendar/feed/[token]`, `/api/mcp-oauth/*`, `/api/support/contact`, `/api/account/delete`
|
||||
- `/api/log`, `/api/health`, `/api/vat/validate`, `/api/currency/rate`, `/api/sandbox/*`
|
||||
- `/api/extensions/ext/[...path]` — dynamic extension routes (catch-all → `/api/extensions/ext/{extensionId}/{routePath}`, path params as `_paramName` query)
|
||||
- `/api/extensions/ext/[...path]`: dynamic extension routes (catch-all → `/api/extensions/ext/{extensionId}/{routePath}`, path params as `_paramName` query)
|
||||
|
||||
@@ -14,18 +14,18 @@ For Swedish accounting-law questions, use the domain skills (`swedish-vat`, `swe
|
||||
|
||||
## Core Services (`lib/core/`)
|
||||
|
||||
- `bookkeeping/period-service.ts` — Fiscal period lifecycle management (open, close, lock)
|
||||
- `bookkeeping/year-end-service.ts` — Year-end closing procedures
|
||||
- `bookkeeping/storno-service.ts` — Reversal/correction entry generation
|
||||
- `tax/tax-code-service.ts` — Tax code definitions and rates
|
||||
- `audit/audit-service.ts` — Audit trail and compliance logging
|
||||
- `documents/document-service.ts` — Document attachment lifecycle (WORM storage with version chains)
|
||||
- `bookkeeping/period-service.ts`: Fiscal period lifecycle management (open, close, lock)
|
||||
- `bookkeeping/year-end-service.ts`: Year-end closing procedures
|
||||
- `bookkeeping/storno-service.ts`: Reversal/correction entry generation
|
||||
- `tax/tax-code-service.ts`: Tax code definitions and rates
|
||||
- `audit/audit-service.ts`: Audit trail and compliance logging
|
||||
- `documents/document-service.ts`: Document attachment lifecycle (WORM storage with version chains)
|
||||
|
||||
## Key BAS Accounts
|
||||
|
||||
`1510` Accounts receivable | `1930` Business bank account | `2013` Private withdrawals (EF) | `2440` Accounts payable | `2611`/`2621`/`2631` Output VAT 25%/12%/6% | `2641` Input VAT | `2645` Calculated input VAT (EU) | `2893` Shareholder loan (AB) | `3001`/`3002`/`3003` Revenue 25%/12%/6% | `3305`/`3308` Export/EU service revenue
|
||||
|
||||
BAS data (`lib/bookkeeping/bas-data/`): full BAS 2026 chart by class (1–8) + SRU mapping. Account numbers are **strings** (`'1930'`, never `1930`).
|
||||
BAS data (`lib/bookkeeping/bas-data/`): full BAS 2026 chart by class (1-8) + SRU mapping. Account numbers are **strings** (`'1930'`, never `1930`).
|
||||
|
||||
## VAT Treatments
|
||||
|
||||
|
||||
+24
-24
@@ -8,7 +8,7 @@ paths:
|
||||
|
||||
Use the `/supabase-migration` skill for new migrations.
|
||||
|
||||
**Location**: `supabase/migrations/` — 330+ files. Early migrations use sequential numbering (`20240101000001`–`20240101000038`), later ones use real timestamps.
|
||||
**Location**: `supabase/migrations/`: 330+ files. Early migrations use sequential numbering (`20240101000001`-`20240101000038`), later ones use real timestamps.
|
||||
|
||||
## Migration Rules
|
||||
|
||||
@@ -16,8 +16,8 @@ Use the `/supabase-migration` skill for new migrations.
|
||||
2. Add `updated_at` trigger via `update_updated_at_column()`
|
||||
3. UUID PKs: `DEFAULT uuid_generate_v4()`
|
||||
4. Company ownership: `company_id UUID REFERENCES companies NOT NULL` + `user_id UUID REFERENCES auth.users ON DELETE CASCADE NOT NULL`
|
||||
5. Never modify existing migrations — create new ones
|
||||
6. Never modify enforcement triggers (migration 017) — legally required
|
||||
5. Never modify existing migrations: create new ones
|
||||
6. Never modify enforcement triggers (migration 017), legally required
|
||||
7. Apply via Supabase MCP `apply_migration`
|
||||
8. Always end with `NOTIFY pgrst, 'reload schema'` when altering table structure
|
||||
|
||||
@@ -39,34 +39,34 @@ Use the `/supabase-migration` skill for new migrations.
|
||||
- **Inbox**: `invoice_inbox_items`, `company_inboxes`, `email_connections`
|
||||
- **Salary**: `employees`, `salary_runs`, `salary_run_employees`, `salary_line_items`, `salary_payroll_config`, `agi_declarations`
|
||||
- **Providers**: `provider_consents`, `provider_consent_tokens`, `provider_otc`
|
||||
- **Agent**: `agent_atom_registry` (inlined skill bodies — see below)
|
||||
- **Agent**: `agent_atom_registry` (inlined skill bodies, see below)
|
||||
- **Other**: `sandbox_users`
|
||||
|
||||
## Key RPC Functions
|
||||
|
||||
- `create_company_with_owner()` — Atomic company + owner creation
|
||||
- `commit_journal_entry()` — Atomic draft→posted with voucher number
|
||||
- `next_voucher_number()` — Concurrent-safe voucher generation
|
||||
- `detect_voucher_gaps()` — BFNAR 2013:2 gap detection
|
||||
- `generate_invoice_number()`, `get_next_arrival_number()`, `generate_delivery_note_number()` — Sequence generators
|
||||
- `seed_chart_of_accounts()` — BAS chart seeding per entity type
|
||||
- `validate_and_increment_api_key()` — Atomic rate limiting
|
||||
- `user_company_ids()` — RLS helper returning user's company IDs
|
||||
- `get_unlinked_1930_lines()` — Bank reconciliation helper
|
||||
- `cleanup_sandbox_user()`, `cleanup_expired_sandbox_users()` — Sandbox lifecycle
|
||||
- `create_company_with_owner()`: Atomic company + owner creation
|
||||
- `commit_journal_entry()`: Atomic draft→posted with voucher number
|
||||
- `next_voucher_number()`: Concurrent-safe voucher generation
|
||||
- `detect_voucher_gaps()`: BFNAR 2013:2 gap detection
|
||||
- `generate_invoice_number()`, `get_next_arrival_number()`, `generate_delivery_note_number()`: Sequence generators
|
||||
- `seed_chart_of_accounts()`: BAS chart seeding per entity type
|
||||
- `validate_and_increment_api_key()`: Atomic rate limiting
|
||||
- `user_company_ids()`: RLS helper returning user's company IDs
|
||||
- `get_unlinked_1930_lines()`: Bank reconciliation helper
|
||||
- `cleanup_sandbox_user()`, `cleanup_expired_sandbox_users()`: Sandbox lifecycle
|
||||
|
||||
## Key Triggers
|
||||
|
||||
- `check_journal_entry_balance()` — Debit must equal credit
|
||||
- `enforce_journal_entry_immutability()` — Posted entries cannot be modified
|
||||
- `enforce_period_lock()` — No entries in closed/locked periods
|
||||
- `enforce_company_lock_date()` — Company-wide bookkeeping lock date
|
||||
- `block_document_deletion()` — WORM compliance
|
||||
- `enforce_retention_journal_entries()` — 7-year retention
|
||||
- `audit_log_immutable()` — Audit log cannot be modified
|
||||
- `write_audit_log()` — Auto-audit on DML operations
|
||||
- `sync_team_member_to_companies()` — Auto-sync team→company membership
|
||||
- `check_journal_entry_balance()`: Debit must equal credit
|
||||
- `enforce_journal_entry_immutability()`: Posted entries cannot be modified
|
||||
- `enforce_period_lock()`: No entries in closed/locked periods
|
||||
- `enforce_company_lock_date()`: Company-wide bookkeeping lock date
|
||||
- `block_document_deletion()`: WORM compliance
|
||||
- `enforce_retention_journal_entries()`: 7-year retention
|
||||
- `audit_log_immutable()`: Audit log cannot be modified
|
||||
- `write_audit_log()`: Auto-audit on DML operations
|
||||
- `sync_team_member_to_companies()`: Auto-sync team→company membership
|
||||
|
||||
## Agent skill bodies (`agent_atom_registry`)
|
||||
|
||||
Skill content is authored in `.claude/skills/**/SKILL.md` and inlined into the DB `body` column at runtime (not read from disk — that doesn't bundle on Vercel/Docker). After editing any atom SKILL.md, run `npm run skills:generate` to emit a new `*_seed_agent_atom_bodies.sql` migration and commit it; `npm run skills:check` (wired into CI) fails the build if you forget. Only the curated tiers become atoms — `swedish-*` (horizontal), `industry/<slug>` (vertical), `modifier/<slug>` (modifier); other Claude Code skills never become atoms. The MCP server exposes only atoms with `mcp_exposed = true`.
|
||||
Skill content is authored in `.claude/skills/**/SKILL.md` and inlined into the DB `body` column at runtime (not read from disk: that doesn't bundle on Vercel/Docker). After editing any atom SKILL.md, run `npm run skills:generate` to emit a new `*_seed_agent_atom_bodies.sql` migration and commit it; `npm run skills:check` (wired into CI) fails the build if you forget. Only the curated tiers become atoms: `swedish-*` (horizontal), `industry/<slug>` (vertical), `modifier/<slug>` (modifier); other Claude Code skills never become atoms. The MCP server exposes only atoms with `mcp_exposed = true`.
|
||||
|
||||
+21
-21
@@ -6,30 +6,30 @@ paths:
|
||||
|
||||
# Design Context & Design System
|
||||
|
||||
Always use the `/frontend-design` skill for new UI. The conventions below are locked — deviating from them on existing pages is a regression.
|
||||
Always use the `/frontend-design` skill for new UI. The conventions below are locked: deviating from them on existing pages is a regression.
|
||||
|
||||
## Users
|
||||
|
||||
Swedish sole traders (enskild firma) and small business owners (aktiebolag) who manage their own bookkeeping. They are not accountants — they are professionals (consultants, freelancers, shop owners) who want to stay compliant without hiring one. They use Accounted in short, focused sessions: sending an invoice, categorizing bank transactions, filing a VAT declaration. Speed and clarity matter.
|
||||
Swedish sole traders (enskild firma) and small business owners (aktiebolag) who manage their own bookkeeping. They are not accountants; they are professionals (consultants, freelancers, shop owners) who want to stay compliant without hiring one. They use Accounted in short, focused sessions: sending an invoice, categorizing bank transactions, filing a VAT declaration. Speed and clarity matter.
|
||||
|
||||
## Brand & Aesthetic
|
||||
|
||||
**Editorial monochrome.** Paper-white surfaces, hairline borders, serif headlines. The interface should feel like a well-made instrument — considered, quiet, confident. Anti-references: enterprise software (SAP/Oracle density), neon SaaS coldness.
|
||||
**Editorial monochrome.** Paper-white surfaces, hairline borders, serif headlines. The interface should feel like a well-made instrument, considered, quiet, confident. Anti-references: enterprise software (SAP/Oracle density), neon SaaS coldness.
|
||||
|
||||
- **Palette**: Achromatic foundation. Pure white background, warm beige (`40 11% 89%`) for chips / active sidebar / hover / secondary buttons. Achromatic primary (no cool tint). Semantic colors (`--success` sage, `--warning` ochre, `--destructive` terracotta) exist but are **data-only** — they appear in charts and financial numbers (positive/negative deltas), never as chrome backgrounds. In chrome, only `--destructive` survives.
|
||||
- **Typography**: Hedvig Letters Serif for display headings, Geist (sans) for body, forms, and tables. Hedvig is single-weight (400) — do not apply `font-medium` to display text; its natural high-contrast strokes carry the weight. Tabular numbers everywhere financial data appears.
|
||||
- **Surfaces**: Cards sit flat on the page — no shadow, full-opacity hairline border (`border-border`), `rounded-lg` (8px). Card background matches page background; the border carries hierarchy. Dark mode drops the warm tint from secondary for a pure-gray mood shift; light mode keeps the beige.
|
||||
- **Palette**: Achromatic foundation. Pure white background, warm beige (`40 11% 89%`) for chips / active sidebar / hover / secondary buttons. Achromatic primary (no cool tint). Semantic colors (`--success` sage, `--warning` ochre, `--destructive` terracotta) exist but are **data-only**: they appear in charts and financial numbers (positive/negative deltas), never as chrome backgrounds. In chrome, only `--destructive` survives.
|
||||
- **Typography**: Hedvig Letters Serif for display headings, Geist (sans) for body, forms, and tables. Hedvig is single-weight (400): do not apply `font-medium` to display text; its natural high-contrast strokes carry the weight. Tabular numbers everywhere financial data appears.
|
||||
- **Surfaces**: Cards sit flat on the page: no shadow, full-opacity hairline border (`border-border`), `rounded-lg` (8px). Card background matches page background; the border carries hierarchy. Dark mode drops the warm tint from secondary for a pure-gray mood shift; light mode keeps the beige.
|
||||
- **Spacing**: Generous whitespace. Dense data (tables, ledgers) uses tighter spacing but never feels cramped.
|
||||
- **Motion**: Functional, not decorative. No press-scale, no hover-lift, no spring overshoot. Hover state is a flat background shift (`bg-secondary/60`). `transition-colors duration-150` is the default. Stagger animations on list entry are fine. Respect `prefers-reduced-motion` (already wired).
|
||||
- **Icons**: Lucide — 15px in navigation, slightly larger in empty states.
|
||||
- **Icons**: Lucide: 15px in navigation, slightly larger in empty states.
|
||||
|
||||
## Design Principles
|
||||
|
||||
1. Clarity over cleverness — Swedish labels, obvious hierarchy.
|
||||
2. Earned minimalism — remove what doesn't serve the task, keep compliance context.
|
||||
3. Numbers are first-class — tabular-nums, alignment, positive/negative clarity.
|
||||
1. Clarity over cleverness: Swedish labels, obvious hierarchy.
|
||||
2. Earned minimalism: remove what doesn't serve the task, keep compliance context.
|
||||
3. Numbers are first-class: tabular-nums, alignment, positive/negative clarity.
|
||||
4. Trust through consistency.
|
||||
5. Speed is a feature — optimize for the 90-second session.
|
||||
5. Speed is a feature: optimize for the 90-second session.
|
||||
|
||||
## Accessibility
|
||||
|
||||
@@ -57,7 +57,7 @@ Compact metric cards (e.g. dashboard tiles, salary KPI row) use `p-4`. Detail ca
|
||||
- Main container: `max-w-5xl mx-auto px-5 py-8 md:px-8 md:py-10` (via `components/dashboard/MainContainer.tsx`).
|
||||
- Page root: `<div className="space-y-8">`.
|
||||
|
||||
**Primitives — always use these, don't hand-roll.**
|
||||
**Primitives: always use these, don't hand-roll.**
|
||||
|
||||
| Need | Component | Notes |
|
||||
|---|---|---|
|
||||
@@ -76,29 +76,29 @@ Compact metric cards (e.g. dashboard tiles, salary KPI row) use `p-4`. Detail ca
|
||||
- For group bands inside tables (Resultatrapport-style): `<tr className="bg-muted/30"><td colSpan={n} className="px-4 py-2 text-[12px] font-semibold text-muted-foreground">{label}</td></tr>`.
|
||||
|
||||
**Date formatting.** Two helpers in `lib/utils.ts`:
|
||||
- `formatDate(x)` → `2026-05-11` (ISO `yyyy-MM-dd`). Use for accounting data — transaction dates, invoice dates, payment dates, voucher dates. Aligns in tables, matches SIE/BFL convention.
|
||||
- `formatDateLong(x)` → `11 maj 2026` (Swedish long form). Use for metadata — when something was created, linked, verified, expires. Settings panels and audit displays.
|
||||
- `formatDate(x)` → `2026-05-11` (ISO `yyyy-MM-dd`). Use for accounting data: transaction dates, invoice dates, payment dates, voucher dates. Aligns in tables, matches SIE/BFL convention.
|
||||
- `formatDateLong(x)` → `11 maj 2026` (Swedish long form). Use for metadata: when something was created, linked, verified, expires. Settings panels and audit displays.
|
||||
|
||||
Never render raw `{x.invoice_date}` directly — always route through `formatDate()` for code consistency.
|
||||
Never render raw `{x.invoice_date}` directly: always route through `formatDate()` for code consistency.
|
||||
|
||||
**Currency.** `formatCurrency(n, currency?)` from `lib/utils.ts`. Default SEK.
|
||||
|
||||
**Typography.**
|
||||
- Page title: use `PageHeader` (renders `font-display text-3xl md:text-4xl tracking-tight`). Do not hand-roll an `<h1>`.
|
||||
- Card title: `<CardTitle className="text-base">` for sections, default for primary cards. The primitive already drops `font-medium` — do not add it back.
|
||||
- Card title: `<CardTitle className="text-base">` for sections, default for primary cards. The primitive already drops `font-medium`: do not add it back.
|
||||
- Section divider header inside a page: `<h2 className="text-sm font-medium uppercase tracking-wider text-muted-foreground">`.
|
||||
- Headline number: `font-display text-xl tabular-nums`. No `font-medium` — Hedvig's natural weight carries the gravitas.
|
||||
- Display font (`font-display`, Hedvig Letters Serif) reserved for h1/h2/h3 and primary financial numbers. If a specific `font-display` numeral reads weak inside a compact metric card, override that call site with `font-sans tabular-nums` (Geist) — better legibility on small numerals.
|
||||
- Headline number: `font-display text-xl tabular-nums`. No `font-medium`: Hedvig's natural weight carries the gravitas.
|
||||
- Display font (`font-display`, Hedvig Letters Serif) reserved for h1/h2/h3 and primary financial numbers. If a specific `font-display` numeral reads weak inside a compact metric card, override that call site with `font-sans tabular-nums` (Geist), better legibility on small numerals.
|
||||
|
||||
**Forbidden / dead patterns.**
|
||||
- Page descriptions that paraphrase the page title (e.g. `<PageHeader title="Fakturor" description="Hantera dina fakturor">`) → drop the description.
|
||||
- Two different status indicators on the same element (e.g. colored card border *and* Badge for status) → pick one (prefer Badge).
|
||||
- Mobile-specific `<select>` duplicating desktop tabs in code — use a single Tabs primitive or a single grouped `Select`.
|
||||
- Mobile-specific `<select>` duplicating desktop tabs in code: use a single Tabs primitive or a single grouped `Select`.
|
||||
- Hand-rolled icon buttons smaller than `h-10 w-10`. Use shadcn `Button size="icon"`.
|
||||
- Color-coded status using full-rainbow Tailwind palette (`bg-amber-100`, `bg-emerald-500/10`, etc.). Use Badge variants tied to the brand palette.
|
||||
- `shadow-sm` / `shadow-md` / `shadow-lg` on cards, buttons, or list items. The aesthetic is flat-with-hairlines — surfaces use `border-border`, not elevation. Shadows survive only on dialogs/popovers/dropdowns (anything that overlays the page).
|
||||
- `shadow-sm` / `shadow-md` / `shadow-lg` on cards, buttons, or list items. The aesthetic is flat-with-hairlines: surfaces use `border-border`, not elevation. Shadows survive only on dialogs/popovers/dropdowns (anything that overlays the page).
|
||||
- `active:scale-[...]` on buttons. Buttons do not bounce.
|
||||
- `bg-gradient-to-*` on page or card backgrounds. Flat surfaces only.
|
||||
- `font-medium` on display elements (`font-display`, h1/h2/h3, CardTitle, PageHeader title). Hedvig is single-weight by design.
|
||||
- `rounded-xl` (12px) on cards. Cards are `rounded-lg` (8px). `rounded-xl` survives only on prominent hero-style surfaces if absolutely needed.
|
||||
- Opacity-suffixed border classes (`border-border/30`, `border-border/60`) on cards and primary surfaces. Use full-opacity `border-border` — the new border token is calibrated for that.
|
||||
- Opacity-suffixed border classes (`border-border/30`, `border-border/60`) on cards and primary surfaces. Use full-opacity `border-border`: the new border token is calibrated for that.
|
||||
|
||||
@@ -29,24 +29,24 @@ const t = useTranslations('namespace')
|
||||
<button>{t('save')}</button>
|
||||
```
|
||||
|
||||
Add new strings to both `messages/sv.json` and `messages/en.json` under the matching namespace (`common`, `nav`, `auth`, `settings`, `empty`, etc.). Never ship an English key without a Swedish counterpart — Swedish is the default and the fallback.
|
||||
Add new strings to both `messages/sv.json` and `messages/en.json` under the matching namespace (`common`, `nav`, `auth`, `settings`, `empty`, etc.). Never ship an English key without a Swedish counterpart: Swedish is the default and the fallback.
|
||||
|
||||
**Locale-aware formatters:**
|
||||
- `formatCurrency(amount)` — stays SEK with sv-SE conventions in BOTH locales (Swedish accounting standard, not a UI string).
|
||||
- `formatDate(date)` — ISO `yyyy-MM-dd`, locale-independent.
|
||||
- `formatDateLong(date, locale)` — accepts locale. In client components use `useFormat()` (`lib/hooks/use-format.ts`) which pulls the active locale.
|
||||
- `formatCurrency(amount)`: stays SEK with sv-SE conventions in BOTH locales (Swedish accounting standard, not a UI string).
|
||||
- `formatDate(date)`: ISO `yyyy-MM-dd`, locale-independent.
|
||||
- `formatDateLong(date, locale)`: accepts locale. In client components use `useFormat()` (`lib/hooks/use-format.ts`) which pulls the active locale.
|
||||
|
||||
**Error messages:** `getErrorMessage(err, { locale, context })` from `lib/errors/get-error-message.ts` is bilingual on the primary maps (Postgres codes, HTTP statuses, context fallbacks, generic fallback). The structured error envelope (`{ error: { code, message, message_en } }`) already carries both; the function picks the right one from `locale`. Pass `useLocale()` / `getLocale()` as the locale arg.
|
||||
|
||||
**Stays Swedish — do NOT translate:**
|
||||
**Stays Swedish: do NOT translate:**
|
||||
|
||||
| Surface | Reason |
|
||||
|---|---|
|
||||
| Invoice PDFs (`lib/invoices/pdf-template.tsx`) | Customer-facing — driven by `customer.language` (`sv` default, `en` opt-in). The template's chrome translates; statutory chapter refs (ML 17 kap 24§, ML 3 kap.) stay intact in both locales. |
|
||||
| Customer email templates (`lib/email/invoice-templates.ts`, `reminder-templates.ts`) | Same — `customer.language` drives the output. `reminder-templates.ts` is still Swedish-only; mirror the PDF/invoice-templates approach if you add English here. |
|
||||
| Invoice PDFs (`lib/invoices/pdf-template.tsx`) | Customer-facing: driven by `customer.language` (`sv` default, `en` opt-in). The template's chrome translates; statutory chapter refs (ML 17 kap 24§, ML 3 kap.) stay intact in both locales. |
|
||||
| Customer email templates (`lib/email/invoice-templates.ts`, `reminder-templates.ts`) | Same: `customer.language` drives the output. `reminder-templates.ts` is still Swedish-only; mirror the PDF/invoice-templates approach if you add English here. |
|
||||
| Year-end wizard (`app/(dashboard)/bookkeeping/year-end/page.tsx`) | Statutory bokslut terminology; English would be misleading |
|
||||
| Journal entry editor (`app/(dashboard)/bookkeeping/[id]/page.tsx`) | Deeply regulatory (verifikat, voucher numbers, BAS) |
|
||||
| INK2 / NE-bilaga / SRU (`lib/reports/ink2/**`, `lib/reports/ne-bilaga/**`, `lib/reports/sru-*`) | Skatteverket forms — field codes and labels are statutory |
|
||||
| INK2 / NE-bilaga / SRU (`lib/reports/ink2/**`, `lib/reports/ne-bilaga/**`, `lib/reports/sru-*`) | Skatteverket forms: field codes and labels are statutory |
|
||||
| SIE export (`lib/reports/sie-export.ts`) | SIE format is Swedish-only by spec (#KONTO, #VER, etc.) |
|
||||
| BAS chart names (`lib/bookkeeping/bas-data/**`) | Standardized Swedish account names per BAS 2026 |
|
||||
| VAT declaration ruta labels (`lib/reports/vat-declaration*.ts`) | Momsdeklaration field labels are Skatteverket form labels |
|
||||
|
||||
@@ -17,10 +17,10 @@ Accounted exposes its bookkeeping engine as an MCP server for Claude Desktop/Cod
|
||||
## Tool authoring conventions (enforced by tests)
|
||||
|
||||
- Every `inputSchema` must declare `additionalProperties: false` at the top level. Guarded by `extensions/general/mcp-server/__tests__/strict-schemas.test.ts`.
|
||||
- Tool descriptions must be ≤ 280 chars (guarded by `output-schema.test.ts`). No `Args:` / `Returns:` / `Examples:` blocks — those belong in JSON Schema, not description prose. Use agent-native hints like "Use to…" / "Call X first" instead.
|
||||
- Completion-signal pattern: tools that stage operations return `STAGED_OPERATION_SCHEMA` — `{ staged, risk_level, actor, message, preview, period_status?, next? }`. The `staged: true` boolean is the explicit completion signal; agents must not infer completion from prose. Do NOT introduce a parallel `{ success, shouldContinue, output }` envelope.
|
||||
- Machine-readable staging contract: `tools/list` (and `gnubok_search_tools` detail=full) attach a derived `_meta` to staging writes so an agent knows the contract WITHOUT reading prose. `deriveToolMeta()` keys off `outputSchema === STAGED_OPERATION_SCHEMA` and emits `{ requires_approval: true, approve_tool: 'gnubok_approve_pending_operation', preflight? }`; it merges under any literal `_meta` (e.g. UI widget hints), which wins on collision. Add to `TOOL_PREFLIGHT_MAP` when a write has a genuine read-only pre-flight (e.g. `gnubok_run_year_end` → `gnubok_year_end_readiness`). A new staging tool inherits `_meta` for free — just keep its description declaring it stages (guarded by `__tests__/staging-meta.test.ts`). `confirmed=true` belongs on the APPROVE call for high-risk ops, never on the staging tool; only some tools accept `dry_run`/`idempotency_key` — never imply they are universal.
|
||||
- Skill/atom summaries: `gnubok_list_skills` and `gnubok_get_agent_briefing` pass registry `description` fields through `toSummary()` (`skills/atoms.ts`) — the raw SKILL.md frontmatter is a long keyword-stuffed trigger list authored for CLI matching, not display copy, and gets truncated mid-sentence otherwise. Full bodies are fetched via `gnubok_load_skill`. The local `.claude/skills/*` are the Claude-Code surface; the `agent_atom_registry` rows seeded from the same bodies are the canonical connector surface — when they overlap, the connector atom is authoritative for MCP users.
|
||||
- Tool descriptions must be ≤ 280 chars (guarded by `output-schema.test.ts`). No `Args:` / `Returns:` / `Examples:` blocks: those belong in JSON Schema, not description prose. Use agent-native hints like "Use to…" / "Call X first" instead.
|
||||
- Completion-signal pattern: tools that stage operations return `STAGED_OPERATION_SCHEMA`: `{ staged, risk_level, actor, message, preview, period_status?, next? }`. The `staged: true` boolean is the explicit completion signal; agents must not infer completion from prose. Do NOT introduce a parallel `{ success, shouldContinue, output }` envelope.
|
||||
- Machine-readable staging contract: `tools/list` (and `gnubok_search_tools` detail=full) attach a derived `_meta` to staging writes so an agent knows the contract WITHOUT reading prose. `deriveToolMeta()` keys off `outputSchema === STAGED_OPERATION_SCHEMA` and emits `{ requires_approval: true, approve_tool: 'gnubok_approve_pending_operation', preflight? }`; it merges under any literal `_meta` (e.g. UI widget hints), which wins on collision. Add to `TOOL_PREFLIGHT_MAP` when a write has a genuine read-only pre-flight (e.g. `gnubok_run_year_end` → `gnubok_year_end_readiness`). A new staging tool inherits `_meta` for free: just keep its description declaring it stages (guarded by `__tests__/staging-meta.test.ts`). `confirmed=true` belongs on the APPROVE call for high-risk ops, never on the staging tool; only some tools accept `dry_run`/`idempotency_key`: never imply they are universal.
|
||||
- Skill/atom summaries: `gnubok_list_skills` and `gnubok_get_agent_briefing` pass registry `description` fields through `toSummary()` (`skills/atoms.ts`): the raw SKILL.md frontmatter is a long keyword-stuffed trigger list authored for CLI matching, not display copy, and gets truncated mid-sentence otherwise. Full bodies are fetched via `gnubok_load_skill`. The local `.claude/skills/*` are the Claude-Code surface; the `agent_atom_registry` rows seeded from the same bodies are the canonical connector surface: when they overlap, the connector atom is authoritative for MCP users.
|
||||
- Tools that touch a fiscal-period-bound date (categorize, mark paid, create voucher, correct/reverse entry, approve supplier invoice) pass `dateForPeriodCheck` to `stagePendingOperation` so the response includes `period_status: { period_id, status: open|locked|closed, lock_date }`. Widgets and agents use this to disable writes without round-trips.
|
||||
- Qualified identifiers: no bare `id` in tool OUTPUT schemas — every identifier is fully qualified (`transaction_id`, `journal_entry_id`, `fact_id`, `dimension_value_id`, …) so agents never guess which entity an id belongs to. Guarded by `__tests__/qualified-ids.test.ts` (a shrinking grandfathered list carries the deprecated `id` aliases; new tools must use qualified names only).
|
||||
- Error envelope: every tool failure flows through the single dispatch point (`toToolError` → `getStructuredError`) and returns `{ error: { code, message_sv, message_en, retryable, remediation? } }`. `retryable` is ALWAYS an explicit boolean — `true` means transient (back off and retry the identical call, pairing with `idempotency_key` where the tool accepts one); `false` means permanent for these inputs (fix arguments/state, never blind-retry). Unclassified transient failures (deadlock, statement timeout, connection drop, upstream 429/5xx) surface as code `TRANSIENT_ERROR`. Don't wrap errors in ad-hoc shapes inside tools — throw (typed errors or plain `Error`; SQLSTATE/message inference handles classification) and let the dispatch layer build the envelope. Client-side failures (e.g. the claude.ai approval elicitation's "No approval received") never reach this envelope — idempotency keys are what make those blind retries safe.
|
||||
- Qualified identifiers: no bare `id` in tool OUTPUT schemas: every identifier is fully qualified (`transaction_id`, `journal_entry_id`, `fact_id`, `dimension_value_id`, …) so agents never guess which entity an id belongs to. Guarded by `__tests__/qualified-ids.test.ts` (a shrinking grandfathered list carries the deprecated `id` aliases; new tools must use qualified names only).
|
||||
- Error envelope: every tool failure flows through the single dispatch point (`toToolError` → `getStructuredError`) and returns `{ error: { code, message_sv, message_en, retryable, remediation? } }`. `retryable` is ALWAYS an explicit boolean: `true` means transient (back off and retry the identical call, pairing with `idempotency_key` where the tool accepts one); `false` means permanent for these inputs (fix arguments/state, never blind-retry). Unclassified transient failures (deadlock, statement timeout, connection drop, upstream 429/5xx) surface as code `TRANSIENT_ERROR`. Don't wrap errors in ad-hoc shapes inside tools: throw (typed errors or plain `Error`; SQLSTATE/message inference handles classification) and let the dispatch layer build the envelope. Client-side failures (e.g. the claude.ai approval elicitation's "No approval received") never reach this envelope: idempotency keys are what make those blind retries safe.
|
||||
|
||||
@@ -16,11 +16,11 @@ npx tsx scripts/create-extension.ts \
|
||||
Sectors: `general`, `restaurant`, `construction`, `hotel`, `tech`, `ecommerce`, `export`
|
||||
Categories: `import`, `operations`, `reports`, `accounting`
|
||||
|
||||
**2. Enable** — add `"my-extension"` to `extensions.config.json`
|
||||
**2. Enable**: add `"my-extension"` to `extensions.config.json`
|
||||
|
||||
**3. Regenerate** — `npm run setup:extensions` (auto-runs on `dev`/`build`)
|
||||
**3. Regenerate**: `npm run setup:extensions` (auto-runs on `dev`/`build`)
|
||||
|
||||
**4. Implement** — edit `index.ts` to add surfaces
|
||||
**4. Implement**: edit `index.ts` to add surfaces
|
||||
|
||||
---
|
||||
|
||||
@@ -100,7 +100,7 @@ interface ExtensionContext {
|
||||
userId: string; extensionId: string
|
||||
supabase: SupabaseClient // Pre-authenticated
|
||||
emit(event: CoreEvent): void // Publish core events
|
||||
settings: ExtensionSettings // get<T>(key?) / set<T>(key, value) — stored in extension_data table
|
||||
settings: ExtensionSettings // get<T>(key?) / set<T>(key, value): stored in extension_data table
|
||||
storage: ExtensionStorage // download / upload / getPublicUrl
|
||||
log: ExtensionLogger // info / warn / error (scoped)
|
||||
services: ExtensionServices // Core services (e.g., ingestTransactions)
|
||||
@@ -111,17 +111,17 @@ interface ExtensionContext {
|
||||
|
||||
| Surface | Reference |
|
||||
|---------|-----------|
|
||||
| `eventHandlers` — react to core events | [Event Handlers](references/event-handlers.md) |
|
||||
| `apiRoutes` — HTTP endpoints | [API Routes](references/api-routes.md) |
|
||||
| `services` — named functions for core | [Services](references/services-patterns.md) |
|
||||
| `eventHandlers`: react to core events | [Event Handlers](references/event-handlers.md) |
|
||||
| `apiRoutes`: HTTP endpoints | [API Routes](references/api-routes.md) |
|
||||
| `services`: named functions for core | [Services](references/services-patterns.md) |
|
||||
| `settingsPanel` / workspace UI | [Workspace & UI](references/workspace-ui.md) |
|
||||
| `mappingRuleTypes`, `onInstall`/`onUninstall` | [Extension Interface](references/extension-interface.md) |
|
||||
|
||||
## Common Mistakes
|
||||
|
||||
1. **Forgetting `npm run setup:extensions`** after config change — extension won't load
|
||||
2. **Editing `_generated/` files** — overwritten on next setup
|
||||
3. **Not handling `ctx = undefined`** — context is undefined in cron jobs; always fallback
|
||||
4. **Wrong export name** — must match `exportName` in manifest exactly
|
||||
5. **Importing from other extensions** — only import from core (`@/lib/`, `@/types`)
|
||||
6. **Lazy imports in module scope** — static imports for extension code; `await import()` only inside handler functions
|
||||
1. **Forgetting `npm run setup:extensions`** after config change: extension won't load
|
||||
2. **Editing `_generated/` files**: overwritten on next setup
|
||||
3. **Not handling `ctx = undefined`**: context is undefined in cron jobs; always fallback
|
||||
4. **Wrong export name**: must match `exportName` in manifest exactly
|
||||
5. **Importing from other extensions**: only import from core (`@/lib/`, `@/types`)
|
||||
6. **Lazy imports in module scope**: static imports for extension code; `await import()` only inside handler functions
|
||||
|
||||
@@ -27,7 +27,7 @@ export const myExtApiRoutes: ApiRouteDefinition[] = [
|
||||
|
||||
## Path Parameters
|
||||
|
||||
Use `:paramName` — dispatcher extracts as `_paramName` search params:
|
||||
Use `:paramName`; dispatcher extracts as `_paramName` search params:
|
||||
|
||||
```typescript
|
||||
{
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Event Handlers Reference
|
||||
|
||||
Extensions subscribe via `eventHandlers`. The bus dispatches with `Promise.allSettled()` — failures are isolated.
|
||||
Extensions subscribe via `eventHandlers`. The bus dispatches with `Promise.allSettled()`: failures are isolated.
|
||||
|
||||
## Signature & Registration
|
||||
|
||||
@@ -16,7 +16,7 @@ export const myExtension: Extension = {
|
||||
}
|
||||
```
|
||||
|
||||
`ctx` can be `undefined` in cron job contexts — always provide fallbacks.
|
||||
`ctx` can be `undefined` in cron job contexts: always provide fallbacks.
|
||||
|
||||
## All Event Types
|
||||
|
||||
@@ -68,8 +68,8 @@ async function handleTransactionSynced(
|
||||
|
||||
## Key Rules
|
||||
|
||||
1. **Handle `ctx = undefined`** — fallback for supabase, logging, settings
|
||||
2. **Handlers run concurrently** — order undefined, don't depend on other handlers
|
||||
3. **Use settings gates** — let users control features
|
||||
4. **Wrap in try/catch** — don't throw unhandled errors
|
||||
5. **Emit events for cascading pipelines** — e.g., OCR emits `receipt.extracted` → triggers push notifications
|
||||
1. **Handle `ctx = undefined`**: fallback for supabase, logging, settings
|
||||
2. **Handlers run concurrently**: order undefined, don't depend on other handlers
|
||||
3. **Use settings gates**: let users control features
|
||||
4. **Wrap in try/catch**: don't throw unhandled errors
|
||||
5. **Emit events for cascading pipelines**: e.g., OCR emits `receipt.extracted` → triggers push notifications
|
||||
|
||||
@@ -61,12 +61,12 @@ Settings stored in `extension_data` table with composite key `(user_id, extensio
|
||||
|
||||
## Complexity Spectrum
|
||||
|
||||
**Level 1 — Pure UI** (no surfaces, workspace reads core data):
|
||||
**Level 1: Pure UI** (no surfaces, workspace reads core data):
|
||||
```typescript
|
||||
export const calendarExtension: Extension = { id: 'calendar', name: 'Kalender', version: '1.0.0' }
|
||||
```
|
||||
|
||||
**Level 2 — Event handler only:**
|
||||
**Level 2: Event handler only:**
|
||||
```typescript
|
||||
export const loggerExtension: Extension = {
|
||||
id: 'example-logger', name: 'Logger', version: '1.0.0',
|
||||
@@ -74,13 +74,13 @@ export const loggerExtension: Extension = {
|
||||
}
|
||||
```
|
||||
|
||||
**Level 3 — Service provider** (registers at module load):
|
||||
**Level 3: Service provider** (registers at module load):
|
||||
```typescript
|
||||
registerEmailService(new ResendEmailService())
|
||||
export const emailExtension: Extension = { id: 'email', name: 'Email', version: '1.0.0' }
|
||||
```
|
||||
|
||||
**Level 4 — Full extension** (events + API + settings + mappingRules + onInstall):
|
||||
**Level 4: Full extension** (events + API + settings + mappingRules + onInstall):
|
||||
```typescript
|
||||
export const receiptOcrExtension: Extension = {
|
||||
id: 'receipt-ocr', name: 'Receipt OCR', version: '1.0.0', sector: 'general',
|
||||
|
||||
@@ -48,7 +48,7 @@ Every extension has a `manifest.json` in `extensions/<sector>/<name>/`.
|
||||
|-------|----------|-------------|
|
||||
| `name` | Yes | Display name |
|
||||
| `category` | Yes | `"import"` / `"operations"` / `"reports"` / `"accounting"` |
|
||||
| `icon` | Yes | Lucide icon name (e.g., `"Camera"`, `"Sparkles"`, `"Bell"`) — falls back to `"Puzzle"` |
|
||||
| `icon` | Yes | Lucide icon name (e.g., `"Camera"`, `"Sparkles"`, `"Bell"`): falls back to `"Puzzle"` |
|
||||
| `dataPattern` | Yes | `"core"` (reads core tables) / `"manual"` (own data) / `"both"` |
|
||||
| `description` | Yes | Short marketplace card text |
|
||||
| `longDescription` | Yes | Longer detail page text |
|
||||
|
||||
@@ -39,18 +39,18 @@ If a prompt template keyword is used but doesn't match any file, tell the user t
|
||||
|
||||
## Step 2: Ask 5 Clarifying Questions
|
||||
|
||||
Analyze the input (and prompt template if loaded) to generate 5 questions that will clarify the ticket. Ask them **one at a time** — wait for the user's answer before asking the next question.
|
||||
Analyze the input (and prompt template if loaded) to generate 5 questions that will clarify the ticket. Ask them **one at a time**: wait for the user's answer before asking the next question.
|
||||
|
||||
### Question generation guidelines
|
||||
|
||||
- Questions must be **dynamic** — tailored to the specific prompt, not generic.
|
||||
- Questions must be **dynamic**: tailored to the specific prompt, not generic.
|
||||
- Each question should build on previous answers when relevant.
|
||||
- Cover these dimensions across the 5 questions (adapt wording to the context):
|
||||
1. **Problem clarity** — What exactly is wrong, missing, or needed? (dig deeper than the initial prompt)
|
||||
2. **Impact & scope** — Who is affected? How often? What's the severity?
|
||||
3. **Desired outcome** — What should it look like when done? What's the acceptance criteria?
|
||||
4. **Constraints** — Are there technical, legal, or timeline constraints?
|
||||
5. **Location** — Where in the app would this change be implemented? (the user can say "not sure" and you'll figure it out in Step 3)
|
||||
1. **Problem clarity**: What exactly is wrong, missing, or needed? (dig deeper than the initial prompt)
|
||||
2. **Impact & scope**: Who is affected? How often? What's the severity?
|
||||
3. **Desired outcome**: What should it look like when done? What's the acceptance criteria?
|
||||
4. **Constraints**: Are there technical, legal, or timeline constraints?
|
||||
5. **Location**: Where in the app would this change be implemented? (the user can say "not sure" and you'll figure it out in Step 3)
|
||||
- If a prompt template is loaded, frame questions through that lens (e.g., security questions for `/security`, design questions for `/design`).
|
||||
- Keep questions concise and specific. Avoid open-ended questions like "anything else?"
|
||||
|
||||
@@ -58,7 +58,7 @@ Analyze the input (and prompt template if loaded) to generate 5 questions that w
|
||||
|
||||
Ask each question as a single, clear message. Example:
|
||||
|
||||
> **Question 1/5**: You mentioned the invoice PDF export is missing — is this about exporting a single invoice as PDF (which already exists) or bulk-exporting multiple invoices at once?
|
||||
> **Question 1/5**: You mentioned the invoice PDF export is missing. Is this about exporting a single invoice as PDF (which already exists) or bulk-exporting multiple invoices at once?
|
||||
|
||||
## Step 3: Codebase Scan
|
||||
|
||||
@@ -103,24 +103,24 @@ Present the preview in this format:
|
||||
---
|
||||
|
||||
## Problem
|
||||
{What's wrong or what's missing — current state. Be specific with concrete examples.}
|
||||
{What's wrong or what's missing, current state. Be specific with concrete examples.}
|
||||
|
||||
## Solution
|
||||
{What should be built or fixed — desired state. Be specific about the expected behavior.}
|
||||
{What should be built or fixed, desired state. Be specific about the expected behavior.}
|
||||
|
||||
## Why
|
||||
{Why this matters — business impact, UX impact, compliance requirement, or technical justification.}
|
||||
{Why this matters: business impact, UX impact, compliance requirement, or technical justification.}
|
||||
|
||||
## Where
|
||||
{Affected files and components with paths and line numbers.}
|
||||
|
||||
**Files:**
|
||||
- `path/to/file.ts:L42` — {what changes here}
|
||||
- `path/to/other.ts:L15` — {what changes here}
|
||||
- `path/to/file.ts:L42`: {what changes here}
|
||||
- `path/to/other.ts:L15`: {what changes here}
|
||||
|
||||
**Related files:**
|
||||
- `path/to/test.ts` — tests to update
|
||||
- `types/index.ts` — types to add/modify
|
||||
- `path/to/test.ts`: tests to update
|
||||
- `types/index.ts`: types to add/modify
|
||||
|
||||
{Any additional implementation guidance.}
|
||||
|
||||
@@ -133,7 +133,7 @@ After the preview, ask:
|
||||
> Create this ticket in Linear? (yes / no / edit)
|
||||
|
||||
- **yes**: Proceed to Step 5.
|
||||
- **no**: Cancel — do not create the ticket.
|
||||
- **no**: Cancel: do not create the ticket.
|
||||
- **edit**: Ask what they want to change, update the preview, and ask again.
|
||||
|
||||
## Step 5: Create Linear Ticket
|
||||
@@ -143,7 +143,7 @@ Create the ticket using `mcp__claude_ai_Linear__save_issue` with:
|
||||
- **team**: `Gnubok`
|
||||
- **title**: The title from the preview (keep under 70 characters)
|
||||
- **description**: The full description from the preview (Problem, Solution, Why, Where sections)
|
||||
- **labels**: The auto-detected type — `Bug`, `Feature`, or `Improvement`
|
||||
- **labels**: The auto-detected type: `Bug`, `Feature`, or `Improvement`
|
||||
- **priority**: The inferred priority number (1-4)
|
||||
|
||||
After creation, report the Linear ticket identifier (e.g., `GNO-123`) so the user can reference it.
|
||||
@@ -151,8 +151,8 @@ After creation, report the Linear ticket identifier (e.g., `GNO-123`) so the use
|
||||
## Important Notes
|
||||
|
||||
- Be specific and actionable. Vague tickets waste everyone's time.
|
||||
- Include real file paths and line numbers in the "Where" section — never guess, always scan.
|
||||
- Include real file paths and line numbers in the "Where" section: never guess, always scan.
|
||||
- Keep the title short and prefixed with the area in brackets.
|
||||
- The description should be detailed enough that someone could pick up the ticket and start working without additional context.
|
||||
- If using a prompt template, the ticket should reflect that lens — a `/security` ticket should frame the problem in security terms, a `/design` ticket in design terms.
|
||||
- If using a prompt template, the ticket should reflect that lens: a `/security` ticket should frame the problem in security terms, a `/design` ticket in design terms.
|
||||
- Do not create the ticket without explicit user approval.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
## Perspective
|
||||
|
||||
You are scanning for design and UX issues in the Accounted interface. The app follows an editorial-monochrome aesthetic — paper-white surfaces, hairline borders, serif headlines; considered and quiet. Evaluate against the Accounted design system: achromatic palette (semantic sage/ochre/terracotta are data-only — charts and financial deltas, never chrome), Hedvig Letters Serif display headings, Geist body, generous whitespace, functional (non-decorative) motion.
|
||||
You are scanning for design and UX issues in the Accounted interface. The app follows an editorial-monochrome aesthetic: paper-white surfaces, hairline borders, serif headlines; considered and quiet. Evaluate against the Accounted design system: achromatic palette (semantic sage/ochre/terracotta are data-only: charts and financial deltas, never chrome), Hedvig Letters Serif display headings, Geist body, generous whitespace, functional (non-decorative) motion.
|
||||
|
||||
## Checklist
|
||||
|
||||
@@ -28,7 +28,7 @@ You are scanning for design and UX issues in the Accounted interface. The app fo
|
||||
### Animation & Motion
|
||||
- [ ] List items stagger-animate on entry
|
||||
- [ ] Interactive elements have hover/active transitions
|
||||
- [ ] Transitions use the project default (`transition-colors duration-150`) — no spring/overshoot
|
||||
- [ ] Transitions use the project default (`transition-colors duration-150`): no spring/overshoot
|
||||
- [ ] `prefers-reduced-motion` respected
|
||||
- [ ] No abrupt state changes that need transitions
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
## Perspective
|
||||
|
||||
You are scanning for performance issues in a Next.js 16 (App Router) + React 19 + Supabase application. Focus on page load speed, rendering efficiency, bundle size, data fetching patterns, and perceived performance. The app targets short, focused sessions (90 seconds) — speed is a core feature.
|
||||
You are scanning for performance issues in a Next.js 16 (App Router) + React 19 + Supabase application. Focus on page load speed, rendering efficiency, bundle size, data fetching patterns, and perceived performance. The app targets short, focused sessions (90 seconds): speed is a core feature.
|
||||
|
||||
## Checklist
|
||||
|
||||
|
||||
@@ -54,6 +54,6 @@ You are scanning for security vulnerabilities and hardening opportunities in a N
|
||||
|
||||
## Classification
|
||||
|
||||
- **Bug**: Active vulnerability — missing auth check, SQL injection vector, data leak, RLS gap, exposed secret.
|
||||
- **Feature**: New security capability needed — audit logging, rate limiting on a new endpoint, CSP policy addition.
|
||||
- **Improvement**: Hardening — adding input validation to an endpoint that works but accepts too broadly, tightening a SELECT to specific columns, adding rate limiting.
|
||||
- **Bug**: Active vulnerability: missing auth check, SQL injection vector, data leak, RLS gap, exposed secret.
|
||||
- **Feature**: New security capability needed: audit logging, rate limiting on a new endpoint, CSP policy addition.
|
||||
- **Improvement**: Hardening: adding input validation to an endpoint that works but accepts too broadly, tightening a SELECT to specific columns, adding rate limiting.
|
||||
|
||||
@@ -41,7 +41,7 @@ Add at module level (outside the handler):
|
||||
import { eventBus } from '@/lib/events/bus'
|
||||
import { ensureInitialized } from '@/lib/init'
|
||||
|
||||
ensureInitialized() // MUST be module-level — loads extensions
|
||||
ensureInitialized() // MUST be module-level: loads extensions
|
||||
```
|
||||
|
||||
Then emit after successful operations:
|
||||
@@ -52,7 +52,7 @@ await eventBus.emit('invoice.created', { invoice: result, userId: user.id })
|
||||
|
||||
## Dynamic Route Params (Next.js 16)
|
||||
|
||||
Params are a Promise — must await:
|
||||
Params are a Promise; must await:
|
||||
|
||||
```typescript
|
||||
export async function POST(
|
||||
@@ -78,7 +78,7 @@ try {
|
||||
}
|
||||
} catch (err) {
|
||||
console.error('Failed to create journal entry:', err)
|
||||
// Continue — don't fail the request
|
||||
// Continue: don't fail the request
|
||||
}
|
||||
```
|
||||
|
||||
@@ -126,9 +126,9 @@ if (!data) {
|
||||
|
||||
## Common Mistakes
|
||||
|
||||
1. Forgetting `ensureInitialized()` on routes that emit events — events silently won't fire
|
||||
2. Using `params.id` instead of `(await params).id` — Next.js 16 breaking change
|
||||
3. Missing `user_id` filter on queries — relies solely on RLS
|
||||
4. Blocking on supplementary journal entry failure — must wrap in try/catch (but payment entries MUST block — see above)
|
||||
5. Returning `{ message }` instead of `{ error }` on failure — inconsistent with codebase
|
||||
6. Forgetting `await` on `createClient()` — it's async in server context
|
||||
1. Forgetting `ensureInitialized()` on routes that emit events: events silently won't fire
|
||||
2. Using `params.id` instead of `(await params).id`: Next.js 16 breaking change
|
||||
3. Missing `user_id` filter on queries: relies solely on RLS
|
||||
4. Blocking on supplementary journal entry failure: must wrap in try/catch (but payment entries MUST block, see above)
|
||||
5. Returning `{ message }` instead of `{ error }` on failure: inconsistent with codebase
|
||||
6. Forgetting `await` on `createClient()`: it's async in server context
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Industry (vertical) atoms
|
||||
|
||||
Each subdirectory here is one vertical atom — industry-specific knowledge the
|
||||
Each subdirectory here is one vertical atom: industry-specific knowledge the
|
||||
specialized accountant agent loads when the composer picks it for a company.
|
||||
|
||||
```
|
||||
@@ -40,15 +40,15 @@ version: 1
|
||||
|
||||
Body sections (suggested, not enforced):
|
||||
|
||||
1. **When to use** — short paragraph; helps the agent decide when to lean on
|
||||
1. **When to use**: short paragraph; helps the agent decide when to lean on
|
||||
this knowledge mid-conversation.
|
||||
2. **Typical patterns** — workflow cadence (invoicing, expenses, reconciliation).
|
||||
3. **BAS account patterns** — the accounts this industry uses heavily.
|
||||
4. **Regulatory edge cases** — quirks specific to the industry (e.g. ROT/RUT
|
||||
2. **Typical patterns**: workflow cadence (invoicing, expenses, reconciliation).
|
||||
3. **BAS account patterns**: the accounts this industry uses heavily.
|
||||
4. **Regulatory edge cases**: quirks specific to the industry (e.g. ROT/RUT
|
||||
for bygg, alkohollagen for restaurang, EU OSS for e-handel).
|
||||
5. **Counterparties to recognize** — common suppliers, payment processors,
|
||||
5. **Counterparties to recognize**: common suppliers, payment processors,
|
||||
trade associations.
|
||||
6. **References** — links into deeper `references/*.md` files in the same dir.
|
||||
6. **References**: links into deeper `references/*.md` files in the same dir.
|
||||
|
||||
## Authoring tips
|
||||
|
||||
@@ -56,7 +56,7 @@ Body sections (suggested, not enforced):
|
||||
developer-oriented, precise, sparse. Not user-facing prose.
|
||||
- Quote BAS account numbers as strings (`"1465"`, not `1465`).
|
||||
- Mention SNI codes explicitly when relevant (`SNI 56.10`).
|
||||
- Avoid duplicating content from the horizontal skills — the composer loads
|
||||
- Avoid duplicating content from the horizontal skills: the composer loads
|
||||
both. If a topic belongs in `swedish-vat`, link to it (`[[horizontal/swedish-vat]]`)
|
||||
instead of inlining it.
|
||||
- If a section is going to be > 200 lines, split it into a file under
|
||||
@@ -69,7 +69,7 @@ Body sections (suggested, not enforced):
|
||||
3. Run `npx tsx scripts/seed-agent-atom-registry.ts` to upsert the atom row
|
||||
into `agent_atom_registry`.
|
||||
4. The composer will start considering the atom on the next signup or
|
||||
"Bygg om" rebuild — no code changes required.
|
||||
"Bygg om" rebuild: no code changes required.
|
||||
|
||||
## Removing or deprecating
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
---
|
||||
id: vertical/bygg-hantverk
|
||||
tier: vertical
|
||||
title: "Bygg & hantverk (SNI 41–43)"
|
||||
title: "Bygg & hantverk (SNI 41-43)"
|
||||
description: >
|
||||
Svensk bokföringsskill för bygg- och hantverksföretag i SNI 41 (uppförande av byggnader), 42 (anläggningsarbeten) och 43 (specialiserad bygg- och installationsverksamhet). Distinkta arbetsflöden: omvänd betalningsskyldighet på byggtjänster B2B (ML 2023:200 16 kap. 13 §), ROT-fakturering enligt fakturamodellen, elektronisk personalliggare/ID06 (SFL 39 kap. 11 a §), successiv vinstavräkning vs färdigställandemetoden (K3 23.18–23.37, K2 6.13–6.26, IL 17 kap. 23–32 §§) och ackordslön + branschpension enligt Byggavtalet/Installationsavtalet/Måleriavtalet. Använd när konteringen rör UE-fakturor, ROT-poster, byggarbetsplats, entreprenadkontrakt AB 04/ABT 06/ABS 18, à conto-fakturering, pågående arbeten, eller bygg-/installation-/måleri-CBA.
|
||||
Svensk bokföringsskill för bygg- och hantverksföretag i SNI 41 (uppförande av byggnader), 42 (anläggningsarbeten) och 43 (specialiserad bygg- och installationsverksamhet). Distinkta arbetsflöden: omvänd betalningsskyldighet på byggtjänster B2B (ML 2023:200 16 kap. 13 §), ROT-fakturering enligt fakturamodellen, elektronisk personalliggare/ID06 (SFL 39 kap. 11 a §), successiv vinstavräkning vs färdigställandemetoden (K3 23.18-23.37, K2 6.13-6.26, IL 17 kap. 23-32 §§) och ackordslön + branschpension enligt Byggavtalet/Installationsavtalet/Måleriavtalet. Använd när konteringen rör UE-fakturor, ROT-poster, byggarbetsplats, entreprenadkontrakt AB 04/ABT 06/ABS 18, à conto-fakturering, pågående arbeten, eller bygg-/installation-/måleri-CBA.
|
||||
sni_prefixes: ["41.10", "41.20", "42.11", "42.12", "42.13", "42.21", "42.22", "42.91", "42.99", "43.11", "43.12", "43.13", "43.21", "43.22", "43.29", "43.31", "43.32", "43.33", "43.34", "43.39", "43.91", "43.99"]
|
||||
trigger_signals:
|
||||
text_patterns:
|
||||
@@ -56,21 +56,21 @@ estimated_tokens: 9800
|
||||
version: 1
|
||||
---
|
||||
|
||||
# Bygg och hantverk – vertikalspecifik bokföringsskill
|
||||
# Bygg och hantverk: vertikalspecifik bokföringsskill
|
||||
|
||||
## 1. När denna skill ska laddas
|
||||
|
||||
Ladda när företaget har huvudsaklig verksamhet inom SNI 41–43 (uppförande av byggnader, anläggningsarbeten, specialiserad bygg- och installationsverksamhet), eller när konteringsärendet innehåller någon av följande markörer: leverantörsfaktura med texten "omvänd betalningsskyldighet/skattskyldighet"; kund- eller leverantörsfaktura där arbetskostnad är separerad och hänvisar till ROT/skattereduktion; verifikat märkt ID06/personalliggare/byggarbetsplats; entreprenadkontrakt enligt AB 04, ABT 06 eller ABS 18; à conto-fakturering kopplad till uppdragsmilstolpar; närvaro av BAS-kontona 1620/2450, 1471/2450, 2614/2617/2647, 3231, 4415/4425 eller 4600. Denna skill täcker ENDAST vertikalspecifika avvikelser – generella moms-, BFL-, SIE-, lön- och bokslutsregler dras från horisontella skills.
|
||||
Ladda när företaget har huvudsaklig verksamhet inom SNI 41-43 (uppförande av byggnader, anläggningsarbeten, specialiserad bygg- och installationsverksamhet), eller när konteringsärendet innehåller någon av följande markörer: leverantörsfaktura med texten "omvänd betalningsskyldighet/skattskyldighet"; kund- eller leverantörsfaktura där arbetskostnad är separerad och hänvisar till ROT/skattereduktion; verifikat märkt ID06/personalliggare/byggarbetsplats; entreprenadkontrakt enligt AB 04, ABT 06 eller ABS 18; à conto-fakturering kopplad till uppdragsmilstolpar; närvaro av BAS-kontona 1620/2450, 1471/2450, 2614/2617/2647, 3231, 4415/4425 eller 4600. Denna skill täcker ENDAST vertikalspecifika avvikelser: generella moms-, BFL-, SIE-, lön- och bokslutsregler dras från horisontella skills.
|
||||
|
||||
## 2. Typiska arbetsflödesmönster
|
||||
|
||||
**Fakturering.** Bygg- och installationsbolag fakturerar nästan aldrig som rena varuförsäljare. Tre fakturatyper dominerar och kräver olika kontering: **akontofakturor (à conto)** under entreprenadens gång enligt avtalad betalplan; **slutfaktura** efter godkänd slutbesiktning enligt AB 04 kap. 7 / ABT 06 kap. 7; och **ÄTA-fakturor** för Ändrings-, Tilläggs- och Avgående arbeten enligt AB 04 kap. 2 §§ 6–9. För B2B mellan byggföretag ställs samtliga fakturor ut **utan moms** med text "Omvänd betalningsskyldighet" och hänvisning till **16 kap. 13 § ML (2023:200)** eller artikel 199.1 a momsdirektivet; köparens VAT-nummer är obligatoriskt på fakturan (17 kap. 24 § ML). Mot privatperson eller icke-byggföretag debiteras 25 % moms och ROT-avdrag tillämpas via **fakturamodellen** (67 kap. 11–19 §§ IL + lag 2009:194): arbetskostnad separeras, preliminär skattereduktion (30 % normalt, 50 % 2025-05-12 – 2025-12-31, åter 30 % från 2026-01-01) dras direkt på fakturan, utföraren begär utbetalning från Skatteverket via e-tjänst senast 31 januari året efter betalningsåret.
|
||||
**Fakturering.** Bygg- och installationsbolag fakturerar nästan aldrig som rena varuförsäljare. Tre fakturatyper dominerar och kräver olika kontering: **akontofakturor (à conto)** under entreprenadens gång enligt avtalad betalplan; **slutfaktura** efter godkänd slutbesiktning enligt AB 04 kap. 7 / ABT 06 kap. 7; och **ÄTA-fakturor** för Ändrings-, Tilläggs- och Avgående arbeten enligt AB 04 kap. 2 §§ 6-9. För B2B mellan byggföretag ställs samtliga fakturor ut **utan moms** med text "Omvänd betalningsskyldighet" och hänvisning till **16 kap. 13 § ML (2023:200)** eller artikel 199.1 a momsdirektivet; köparens VAT-nummer är obligatoriskt på fakturan (17 kap. 24 § ML). Mot privatperson eller icke-byggföretag debiteras 25 % moms och ROT-avdrag tillämpas via **fakturamodellen** (67 kap. 11-19 §§ IL + lag 2009:194): arbetskostnad separeras, preliminär skattereduktion (30 % normalt, 50 % 2025-05-12 till 2025-12-31, åter 30 % från 2026-01-01) dras direkt på fakturan, utföraren begär utbetalning från Skatteverket via e-tjänst senast 31 januari året efter betalningsåret.
|
||||
|
||||
**Utgiftsrytm.** Materialinköp från byggvaruhus (Beijer, Optimera, Ahlsell) flödar dagligen och bokförs på 4010 eller 5460; större beställningar är ofta projekt-specifika. UE-tjänster bokförs i 46-serien (4600-gruppen) med särskild moms-mekanik vid omvänd betalningsskyldighet. ID06-kort, fortbildning säkerhet på väg, fallskydd, ställningsutbildning är återkommande poster (bokförs typiskt på 6991 – det finns inget dedikerat ID06-konto i BAS 2025). Verktyg under brytpunkten (½ pbb, 2025 = 29 400 kr) går på 5410 Förbrukningsinventarier; över brytpunkten aktiveras på 1220-serien.
|
||||
**Utgiftsrytm.** Materialinköp från byggvaruhus (Beijer, Optimera, Ahlsell) flödar dagligen och bokförs på 4010 eller 5460; större beställningar är ofta projekt-specifika. UE-tjänster bokförs i 46-serien (4600-gruppen) med särskild moms-mekanik vid omvänd betalningsskyldighet. ID06-kort, fortbildning säkerhet på väg, fallskydd, ställningsutbildning är återkommande poster (bokförs typiskt på 6991: det finns inget dedikerat ID06-konto i BAS 2025). Verktyg under brytpunkten (½ pbb, 2025 = 29 400 kr) går på 5410 Förbrukningsinventarier; över brytpunkten aktiveras på 1220-serien.
|
||||
|
||||
**Avstämning.** Avstämning sker **per projekt/objekt** snarare än per period – varje projekt har egen kostnadssamlingskonto i 1471 (alternativregeln) eller behandlas via 1620/2450 (huvudregeln/PoC enligt K3 23.18). UE-skulder stäms av per leverantör och per projekt vid varje månadsslut – om à conto-fakturor från UE inte är slutfakturerade vid bokslut ska reservationen för upparbetat men ej fakturerat hanteras. ROT-utbetalningar från Skatteverket stäms av på 1513 Kundfordringar – delad faktura: differensen mellan kundens betalning och Skatteverkets utbetalning ska gå mot noll per avslutad faktura inom 60 dagar.
|
||||
**Avstämning.** Avstämning sker **per projekt/objekt** snarare än per period: varje projekt har egen kostnadssamlingskonto i 1471 (alternativregeln) eller behandlas via 1620/2450 (huvudregeln/PoC enligt K3 23.18). UE-skulder stäms av per leverantör och per projekt vid varje månadsslut: om à conto-fakturor från UE inte är slutfakturerade vid bokslut ska reservationen för upparbetat men ej fakturerat hanteras. ROT-utbetalningar från Skatteverket stäms av på 1513 Kundfordringar, delad faktura: differensen mellan kundens betalning och Skatteverkets utbetalning ska gå mot noll per avslutad faktura inom 60 dagar.
|
||||
|
||||
**Lönerytm och kollektivavtal.** Löneutbetalning sker **vecko- eller månadsvis beroende på CBA**. Yrkesarbetare lönesätts ofta med ackord (resultatlön) i tillägg till tidlön. Kollektivavtal per sub-vertikal mappas grovt så här: Byggavtalet (Byggnads + Byggföretagen) täcker SNI 41, 42, 43.11, 43.12, 43.31, 43.32, 43.33, 43.39, 43.99; Installationsavtalet (SEF + Installatörsföretagen) täcker 43.21; Teknikinstallationsavtalet VVS & Kyl (Byggnads + Installatörsföretagen) täcker 43.22; Plåt- och Ventilationsavtalet (Byggnads + Plåt & Vent Företagen) täcker plåt- och ventilationsdelarna av 43.22/43.29/43.91; Måleriavtalet (Byggnads + Måleriföretagen) täcker måleri-delen av 43.34; Glasmästeriavtalet (Byggnads + Glasbranschföreningen) täcker glasmästeri-delen av 43.34. Alla avtal har period **2025-05-01 – 2027-04-30** med märket 6,4 %. Försäkringspaket: AGS, AGB, TFA, TGL och Avtalspension SAF-LO via Fora för kollektivanställda; ITP via Collectum för tjänstemän. Se `references/kollektivavtal.md` för CBA-detaljer per sub-vertikal.
|
||||
**Lönerytm och kollektivavtal.** Löneutbetalning sker **vecko- eller månadsvis beroende på CBA**. Yrkesarbetare lönesätts ofta med ackord (resultatlön) i tillägg till tidlön. Kollektivavtal per sub-vertikal mappas grovt så här: Byggavtalet (Byggnads + Byggföretagen) täcker SNI 41, 42, 43.11, 43.12, 43.31, 43.32, 43.33, 43.39, 43.99; Installationsavtalet (SEF + Installatörsföretagen) täcker 43.21; Teknikinstallationsavtalet VVS & Kyl (Byggnads + Installatörsföretagen) täcker 43.22; Plåt- och Ventilationsavtalet (Byggnads + Plåt & Vent Företagen) täcker plåt- och ventilationsdelarna av 43.22/43.29/43.91; Måleriavtalet (Byggnads + Måleriföretagen) täcker måleri-delen av 43.34; Glasmästeriavtalet (Byggnads + Glasbranschföreningen) täcker glasmästeri-delen av 43.34. Alla avtal har period **2025-05-01 till 2027-04-30** med märket 6,4 %. Försäkringspaket: AGS, AGB, TFA, TGL och Avtalspension SAF-LO via Fora för kollektivanställda; ITP via Collectum för tjänstemän. Se `references/kollektivavtal.md` för CBA-detaljer per sub-vertikal.
|
||||
|
||||
## 3. BAS 2025-kontomönster (verifierat mot bas.se)
|
||||
|
||||
@@ -79,7 +79,7 @@ Ladda när företaget har huvudsaklig verksamhet inom SNI 41–43 (uppförande a
|
||||
| 1181 | Pågående ny-, till- och ombyggnad | Egen byggnation av anläggningstillgång (byggherre i egen regi). |
|
||||
| 1471 | Pågående arbeten, nedlagda kostnader | Aktiverade utgifter per uppdrag, alternativregeln (färdigställandemetoden) K3/K2. |
|
||||
| 1478 | Pågående arbeten, fakturering | À conto-fakturering bokförd under pågående uppdrag, alternativregeln. **OBS: ej "Förskott till leverantörer".** |
|
||||
| 1513 | Kundfordringar – delad faktura | Skatteverkets ROT-del av ROT-fakturor; saldot ska gå mot noll när Skatteverket utbetalar. |
|
||||
| 1513 | Kundfordringar, delad faktura | Skatteverkets ROT-del av ROT-fakturor; saldot ska gå mot noll när Skatteverket utbetalar. |
|
||||
| 1620 | Upparbetad men ej fakturerad intäkt | Successiv vinstavräkning (PoC) huvudregeln K3 23.18 ff; positiv differens upparbetat ÷ fakturerat per uppdrag. |
|
||||
| 2340 | Byggnadskreditiv | Långfristig byggkredit; kortfristig del separeras till 2412. |
|
||||
| 2420 | Förskott från kunder | Mottagna förskott som inte motsvarar upparbetat värde. |
|
||||
@@ -96,49 +96,49 @@ Ladda när företaget har huvudsaklig verksamhet inom SNI 41–43 (uppförande a
|
||||
| 4970 | Förändring av pågående arbeten, nedlagda kostnader | Motpart till 1471 vid in-/utbokning av pågående arbete alternativregeln. |
|
||||
| 5410 | Förbrukningsinventarier | Verktyg under ½ pbb (2025 = 29 400 kr). |
|
||||
| 5460 | Förbrukningsmaterial | Småmaterial under skäliga gräns (skruv, spik, fogmassa). |
|
||||
| 5480 | Arbetskläder och skyddsmaterial | Hjälm, skor S3, hörselskydd, fallskydd – avdragsgillt enligt SKV. |
|
||||
| 5611–5613, 5615, 5616, 5619 | Personbilskostnader | Servicebil personbil; OBS 50 % moms-avdrag på leasing/hyra (ML). |
|
||||
| 5620 | Lastbilskostnader | Servicebil lätt lastbil – 100 % moms-avdrag om uppfyller skåp-/öppet flak-krav. |
|
||||
| 5480 | Arbetskläder och skyddsmaterial | Hjälm, skor S3, hörselskydd, fallskydd, avdragsgillt enligt SKV. |
|
||||
| 5611-5613, 5615, 5616, 5619 | Personbilskostnader | Servicebil personbil; OBS 50 % moms-avdrag på leasing/hyra (ML). |
|
||||
| 5620 | Lastbilskostnader | Servicebil lätt lastbil: 100 % moms-avdrag om uppfyller skåp-/öppet flak-krav. |
|
||||
| 6330 | Förluster i pågående arbeten | Reservering av befarad förlust per K3 23.32. |
|
||||
| 6360 | Garantikostnader (med 6361, 6362) | Garantiavsättning för AB 04/ABT 06 garantitid. |
|
||||
| 6510 | Mätningskostnader | Mätningsarvode till Målerifakta, Mätföretaget i Sverige (Byggavtalet § 2 / Installationsavtalet). |
|
||||
| 6810 | Inhyrd produktionspersonal | Skild från övriga konsulttjänster; ofta bokföringsmässigt felklassificerat som UE. |
|
||||
| 6991 | Övriga externa kostnader, avdragsgilla | Standardkonto för ID06-avgifter (inget dedikerat konto finns). |
|
||||
| 6992 | Övriga externa kostnader, ej avdragsgilla | Kontrollavgift för bristande personalliggare (50 kap. SFL) – ej avdragsgill. |
|
||||
| 7010 | Löner till kollektivanställda | Yrkesarbetare. **OBS: ej 7210** – 7210 är tjänstemän. |
|
||||
| 7510 | Arbetsgivaravgifter 31,42 % | Underkonton 7511–7519. |
|
||||
| 6992 | Övriga externa kostnader, ej avdragsgilla | Kontrollavgift för bristande personalliggare (50 kap. SFL), ej avdragsgill. |
|
||||
| 7010 | Löner till kollektivanställda | Yrkesarbetare. **OBS: ej 7210**, 7210 är tjänstemän. |
|
||||
| 7510 | Arbetsgivaravgifter 31,42 % | Underkonton 7511-7519. |
|
||||
| 7570 | Premier för arbetsmarknadsförsäkringar | TFA, AGS, AGB, TGL via Fora. **Konto 7560 finns inte i BAS 2025.** |
|
||||
| 7411 | Premier för kollektiva pensionsförsäkringar | Avtalspension SAF-LO via Fora. |
|
||||
|
||||
Konton som vanligtvis EJ existerar med förväntade namn: **6541 (ID06-kort kostnader)** finns inte – använd 6991. **3232 (Utbetald ROT Skatteverket)** finns inte – ROT-fordran hanteras via 1513. **7560** finns inte – använd 7570. **5614** är vakant. Verifiera alltid mot kundens lokala kontoplan eftersom företag ofta lägger upp egna underkonton.
|
||||
Konton som vanligtvis EJ existerar med förväntade namn: **6541 (ID06-kort kostnader)** finns inte: använd 6991. **3232 (Utbetald ROT Skatteverket)** finns inte: ROT-fordran hanteras via 1513. **7560** finns inte: använd 7570. **5614** är vakant. Verifiera alltid mot kundens lokala kontoplan eftersom företag ofta lägger upp egna underkonton.
|
||||
|
||||
## 4. Regelmässiga gränsfall (huvudvärdet i denna skill)
|
||||
|
||||
### 4a. Omvänd betalningsskyldighet på byggtjänster
|
||||
|
||||
**Lagrum efter 2023-07-01.** Bestämmelsen flyttades från 1 kap. 2 § första stycket 4 b ML (1994:200) till **16 kap. 13 § ML (2023:200)** (ikraftträdande 2023-07-01). Materiellt oförändrad: första stycket = köparkravet, andra stycket = tjänstekatalogen (punkt 1 byggtjänster, punkt 2 byggstädning, punkt 3 personaluthyrning för punkterna 1–2). Terminologin är ändrad från "omvänd skattskyldighet" till **"omvänd betalningsskyldighet"** – BAS 2025 har uppdaterat kontotexterna med ändringsstreck men det är samma regel. Faktureringsregler i 17 kap. 24 § ML (fullständig faktura); förenklad faktura (17 kap. 28 §) får inte användas. Skatteverket har explicit förklarat att alla äldre ställningstaganden om "omvänd skattskyldighet inom byggsektorn" gäller vidare; endast paragrafhänvisningarna är inaktuella.
|
||||
**Lagrum efter 2023-07-01.** Bestämmelsen flyttades från 1 kap. 2 § första stycket 4 b ML (1994:200) till **16 kap. 13 § ML (2023:200)** (ikraftträdande 2023-07-01). Materiellt oförändrad: första stycket = köparkravet, andra stycket = tjänstekatalogen (punkt 1 byggtjänster, punkt 2 byggstädning, punkt 3 personaluthyrning för punkterna 1-2). Terminologin är ändrad från "omvänd skattskyldighet" till **"omvänd betalningsskyldighet"**: BAS 2025 har uppdaterat kontotexterna med ändringsstreck men det är samma regel. Faktureringsregler i 17 kap. 24 § ML (fullständig faktura); förenklad faktura (17 kap. 28 §) får inte användas. Skatteverket har explicit förklarat att alla äldre ställningstaganden om "omvänd skattskyldighet inom byggsektorn" gäller vidare; endast paragrafhänvisningarna är inaktuella.
|
||||
|
||||
**Vilka tjänster triggar omvänd.** Skatteverket vägleds av SNI 2002 huvudgrupp 45: (a) mark- och grundarbeten, (b) bygg- och anläggningsarbeten, (c) bygginstallationer (el, VVS, ventilation, isolering, larm), (d) slutbehandling (puts, snickeri, golv, måleri, glasmästeri), (e) uthyrning av bygg-/anläggningsmaskiner **med förare**, plus byggstädning och personaluthyrning för dessa. Skatteverkets uttömmande A–Ö-förteckning ligger på `skatteverket.se/foretag/moms/sarskildamomsregler/byggverksamhet`. Tjänsten måste avse fastighet enligt ML (2 kap. 11 §).
|
||||
**Vilka tjänster triggar omvänd.** Skatteverket vägleds av SNI 2002 huvudgrupp 45: (a) mark- och grundarbeten, (b) bygg- och anläggningsarbeten, (c) bygginstallationer (el, VVS, ventilation, isolering, larm), (d) slutbehandling (puts, snickeri, golv, måleri, glasmästeri), (e) uthyrning av bygg-/anläggningsmaskiner **med förare**, plus byggstädning och personaluthyrning för dessa. Skatteverkets uttömmande A-Ö-förteckning ligger på `skatteverket.se/foretag/moms/sarskildamomsregler/byggverksamhet`. Tjänsten måste avse fastighet enligt ML (2 kap. 11 §).
|
||||
|
||||
**Köparkravet.** Köparen är betalningsskyldig endast om denne är en beskattningsbar person som **"inte endast tillfälligt"** tillhandahåller sådana tjänster (= byggföretag i vid mening), eller är mellanman som säljer vidare till sådan. "Inte endast tillfälligt" tolkas brett: t.ex. en kökstillverkare med monteringsverksamhet på 0,06 % av omsättningen och ~40 tillfällen/år omfattas (SRN 2014). Köparens SNI-kod är **inte avgörande** – det är faktisk verksamhet som räknas. Status upphör först vid avveckling av byggdelen. Stat och kommun kan vara byggföretag (Skatteverket dnr 8-1148796 omarbetad till dnr 8-2718597; dnr 8-1228116 staten).
|
||||
**Köparkravet.** Köparen är betalningsskyldig endast om denne är en beskattningsbar person som **"inte endast tillfälligt"** tillhandahåller sådana tjänster (= byggföretag i vid mening), eller är mellanman som säljer vidare till sådan. "Inte endast tillfälligt" tolkas brett: t.ex. en kökstillverkare med monteringsverksamhet på 0,06 % av omsättningen och ~40 tillfällen/år omfattas (SRN 2014). Köparens SNI-kod är **inte avgörande**: det är faktisk verksamhet som räknas. Status upphör först vid avveckling av byggdelen. Stat och kommun kan vara byggföretag (Skatteverket dnr 8-1148796 omarbetad till dnr 8-2718597; dnr 8-1228116 staten).
|
||||
|
||||
**Gränsfall.** Material som ingår i byggtjänst → allt räknas som tjänst (RÅ 2010 ref. 50 I/II förblir ledande). Markupplåtelse och fastighetsförsäljning är undantagna enligt 10 kap. 35 § ML – ej byggtjänst. Byggstädning omfattas; lokalstädning, snöskottning och bortforsling av byggavfall omfattas inte. Maskinuthyrning med förare = omvänd; utan förare = ej omvänd. Projektering/arkitekt som självständig tjänst = ej omvänd; men som del av entreprenad → omvänd. 12 % moms på reparation av cyklar/skor/lädervaror/kläder/hushållslinne (9 kap. 7 § ML) har ingen överlappning med byggtjänster – dessa varor blir aldrig fastighet. Försäljning till privatperson eller icke-byggföretag → 25 % moms, ej omvänd; ROT påverkar inte momssatsen.
|
||||
**Gränsfall.** Material som ingår i byggtjänst → allt räknas som tjänst (RÅ 2010 ref. 50 I/II förblir ledande). Markupplåtelse och fastighetsförsäljning är undantagna enligt 10 kap. 35 § ML, ej byggtjänst. Byggstädning omfattas; lokalstädning, snöskottning och bortforsling av byggavfall omfattas inte. Maskinuthyrning med förare = omvänd; utan förare = ej omvänd. Projektering/arkitekt som självständig tjänst = ej omvänd; men som del av entreprenad → omvänd. 12 % moms på reparation av cyklar/skor/lädervaror/kläder/hushållslinne (9 kap. 7 § ML) har ingen överlappning med byggtjänster: dessa varor blir aldrig fastighet. Försäljning till privatperson eller icke-byggföretag → 25 % moms, ej omvänd; ROT påverkar inte momssatsen.
|
||||
|
||||
**Ställningstaganden senaste 5 åren.** Inga materiella nyheter 2024–2026; flera ställningstaganden från 2017 är omarbetade för att uppdatera paragrafhänvisningar. Centrala: dnr 131 101175-17/111 (FoS A allmänna förutsättningar), 131 101180-17/111 (FoS B arbete på byggnader), 131 101225-17/111 (FoS C mark), 131 101266-17/111 (FoS D bedömningsfrågor), 202 157785-19/111 (lyftarbeten, byggkran, bygghiss), 202 448424-19/111 (fastighetsbegreppet), 8-1148796 (kommun, omarb. 8-2718597), 8-1228116 (staten), 8-724682 (fakturatext). Se `references/momsregler.md` för fullständig lista och URL.
|
||||
**Ställningstaganden senaste 5 åren.** Inga materiella nyheter 2024-2026; flera ställningstaganden från 2017 är omarbetade för att uppdatera paragrafhänvisningar. Centrala: dnr 131 101175-17/111 (FoS A allmänna förutsättningar), 131 101180-17/111 (FoS B arbete på byggnader), 131 101225-17/111 (FoS C mark), 131 101266-17/111 (FoS D bedömningsfrågor), 202 157785-19/111 (lyftarbeten, byggkran, bygghiss), 202 448424-19/111 (fastighetsbegreppet), 8-1148796 (kommun, omarb. 8-2718597), 8-1228116 (staten), 8-724682 (fakturatext). Se `references/momsregler.md` för fullständig lista och URL.
|
||||
|
||||
### 4b. Pågående arbeten och entreprenadavtal
|
||||
|
||||
**K3 (BFNAR 2012:1) kapitel 23 – inte 2017:1.** Brukstexten i uppgiftsbrevet hänvisade till BFNAR 2017:1; det korrekta är **BFNAR 2012:1** (K3, allmänna råd om årsredovisning och koncernredovisning), kapitel 23 "Intäkter". Tillämpningsområde i 23.1; definitioner i 23.9; **huvudregeln successiv vinstavräkning (PoC) i 23.18–23.27** – tillämpas när uppdragets ekonomiska utfall kan beräknas tillförlitligt (kriterier i 23.18). Färdigställandegrad enligt 23.22 (cost-to-cost mest vanlig). Om utfallet inte kan beräknas tillförlitligt → nollavräkning (23.23). **Alternativregeln färdigställandemetoden i 23.31–23.37** – får tillämpas i **juridisk person** för uppdrag i bygg-, anläggnings-, hantverks- eller konsultrörelse enligt 17 kap. 23 § IL (kopplingsregeln). Befarad förlust ska redovisas omedelbart oavsett metod (23.32). I koncernredovisning gäller **endast PoC** – färdigställandemetoden är förbjuden där.
|
||||
**K3 (BFNAR 2012:1) kapitel 23, inte 2017:1.** Brukstexten i uppgiftsbrevet hänvisade till BFNAR 2017:1; det korrekta är **BFNAR 2012:1** (K3, allmänna råd om årsredovisning och koncernredovisning), kapitel 23 "Intäkter". Tillämpningsområde i 23.1; definitioner i 23.9; **huvudregeln successiv vinstavräkning (PoC) i 23.18-23.27**: tillämpas när uppdragets ekonomiska utfall kan beräknas tillförlitligt (kriterier i 23.18). Färdigställandegrad enligt 23.22 (cost-to-cost mest vanlig). Om utfallet inte kan beräknas tillförlitligt → nollavräkning (23.23). **Alternativregeln färdigställandemetoden i 23.31-23.37**: får tillämpas i **juridisk person** för uppdrag i bygg-, anläggnings-, hantverks- eller konsultrörelse enligt 17 kap. 23 § IL (kopplingsregeln). Befarad förlust ska redovisas omedelbart oavsett metod (23.32). I koncernredovisning gäller **endast PoC**: färdigställandemetoden är förbjuden där.
|
||||
|
||||
**K2 (BFNAR 2016:10) kapitel 6.** Tjänsteuppdrag och entreprenaduppdrag i punkterna 6.13–6.26. Löpande räkning enligt 6.13–6.14: intäkt redovisas i takt med utförande och materialleverans, alternativt enligt fakturering (kopplingen till IL 17 kap. 26 §). Fast pris enligt 6.15: företaget väljer **antingen huvudregeln (PoC) eller alternativregeln (färdigställandemetoden)** och tillämpar samma metod på samtliga fastprisuppdrag. Pågående arbete i BR enligt 6.24: bruttoredovisning per uppdrag obligatorisk (Srf U 14); kvittning mellan uppdrag uttryckligen förbjuden för räkenskapsår som inleds efter 2025-12-31 (BFN-beslut 2025-06-16). Se `references/pagaende-arbeten.md` för flödesexempel.
|
||||
**K2 (BFNAR 2016:10) kapitel 6.** Tjänsteuppdrag och entreprenaduppdrag i punkterna 6.13-6.26. Löpande räkning enligt 6.13-6.14: intäkt redovisas i takt med utförande och materialleverans, alternativt enligt fakturering (kopplingen till IL 17 kap. 26 §). Fast pris enligt 6.15: företaget väljer **antingen huvudregeln (PoC) eller alternativregeln (färdigställandemetoden)** och tillämpar samma metod på samtliga fastprisuppdrag. Pågående arbete i BR enligt 6.24: bruttoredovisning per uppdrag obligatorisk (Srf U 14); kvittning mellan uppdrag uttryckligen förbjuden för räkenskapsår som inleds efter 2025-12-31 (BFN-beslut 2025-06-16). Se `references/pagaende-arbeten.md` för flödesexempel.
|
||||
|
||||
**IL (1999:1229) 17 kap. 23–32 §§.** Kopplingsregeln i **17 kap. 23 §**: redovisning av pågående arbeten i bygg-, anläggnings-, hantverks- eller konsultrörelse följs vid beskattningen om inte 24–32 §§ avviker. **17 kap. 24 §** definierar löpande räkning (≥ 90 % av arvodet baserat på tidsenhet/utgifter enligt SKV A 2016:7). **17 kap. 26 §** = faktureringsmetoden för löpande räkning: värdet behöver inte tas upp som tillgång; istället utgör fakturerat belopp intäkt. **17 kap. 27 § första stycket** = huvudregeln för fast pris (lägsta värdets princip mellan anskaffningsvärde och nettoförsäljningsvärde); **andra stycket = 97 %-regeln/alternativregeln** för byggnads-, anläggnings- och hantverksrörelse (men **inte konsultrörelse**). SKV A 2016:6 ger värderingsvägledning. **HFD 2011 ref. 20 (Skanska)** förblir ledande prejudikat för faktureringsmetoden och frikoppling skatt↔redovisning vid löpande räkning.
|
||||
**IL (1999:1229) 17 kap. 23-32 §§.** Kopplingsregeln i **17 kap. 23 §**: redovisning av pågående arbeten i bygg-, anläggnings-, hantverks- eller konsultrörelse följs vid beskattningen om inte 24-32 §§ avviker. **17 kap. 24 §** definierar löpande räkning (≥ 90 % av arvodet baserat på tidsenhet/utgifter enligt SKV A 2016:7). **17 kap. 26 §** = faktureringsmetoden för löpande räkning: värdet behöver inte tas upp som tillgång; istället utgör fakturerat belopp intäkt. **17 kap. 27 § första stycket** = huvudregeln för fast pris (lägsta värdets princip mellan anskaffningsvärde och nettoförsäljningsvärde); **andra stycket = 97 %-regeln/alternativregeln** för byggnads-, anläggnings- och hantverksrörelse (men **inte konsultrörelse**). SKV A 2016:6 ger värderingsvägledning. **HFD 2011 ref. 20 (Skanska)** förblir ledande prejudikat för faktureringsmetoden och frikoppling skatt↔redovisning vid löpande räkning.
|
||||
|
||||
### 4c. ROT-avdrag (skattereduktion för rotarbete)
|
||||
|
||||
**Lagrum.** IL 67 kap. 11–19 §§ med definition av rotarbete i **13 a §** (reparation, underhåll, om-/tillbyggnad av småhus, bostadsrätt, ägarlägenhet) och uttömmande undantag i **13 c §** (installationer/service på maskiner och inventarier; arbete med försäkringsersättning). Krav på utförare har F-skatt (67 kap. 16 § 1). Krav på elektronisk betalning (67 kap. 19 §) sedan 2020-01-01. Förfarandet regleras i lag (2009:194) om förfarandet vid skattereduktion för hushållsarbete (HUSFL), särskilt 4, 6, 7, 8, 11 §§.
|
||||
**Lagrum.** IL 67 kap. 11-19 §§ med definition av rotarbete i **13 a §** (reparation, underhåll, om-/tillbyggnad av småhus, bostadsrätt, ägarlägenhet) och uttömmande undantag i **13 c §** (installationer/service på maskiner och inventarier; arbete med försäkringsersättning). Krav på utförare har F-skatt (67 kap. 16 § 1). Krav på elektronisk betalning (67 kap. 19 §) sedan 2020-01-01. Förfarandet regleras i lag (2009:194) om förfarandet vid skattereduktion för hushållsarbete (HUSFL), särskilt 4, 6, 7, 8, 11 §§.
|
||||
|
||||
**Belopp och subventionsgrad.** Ordinarie tak 50 000 kr/person/år för ROT 2025–2026, inom ett gemensamt utrymme på 75 000 kr/person/år (max 50 000 kr ROT). Subventionsgrad **30 % av arbetskostnaden** ordinärt, tillfälligt höjt till **50 %** under perioden **2025-05-12 – 2025-12-31** enligt prop. 2024/25:156 (FiU32); återgång till 30 % från 2026-01-01. Avgörande för procentsatsen är **betalningsdatum**, inte fakturadatum. Under 2024 var taket tillfälligt höjt till 75 000 kr separat för ROT – det är inte längre fallet.
|
||||
**Belopp och subventionsgrad.** Ordinarie tak 50 000 kr/person/år för ROT 2025-2026, inom ett gemensamt utrymme på 75 000 kr/person/år (max 50 000 kr ROT). Subventionsgrad **30 % av arbetskostnaden** ordinärt, tillfälligt höjt till **50 %** under perioden **2025-05-12 till 2025-12-31** enligt prop. 2024/25:156 (FiU32); återgång till 30 % från 2026-01-01. Avgörande för procentsatsen är **betalningsdatum**, inte fakturadatum. Under 2024 var taket tillfälligt höjt till 75 000 kr separat för ROT: det är inte längre fallet.
|
||||
|
||||
**Fakturamodellen och dokumentation.** Utföraren drar preliminär skattereduktion på fakturan; kund betalar elektroniskt; utföraren begär utbetalning från Skatteverket senast 31 januari året efter betalningsåret. Begäran ska innehålla org.nr, kunds personnummer, fastighetsbeteckning eller lägenhetsnr + brf-org.nr, antal arbetstimmar, art av arbete, arbetskostnad och debiterad reduktion, samt betalningsdatum (sedan 2015-01-01 efter prop. 2014/15:10).
|
||||
|
||||
@@ -146,25 +146,25 @@ Konton som vanligtvis EJ existerar med förväntade namn: **6541 (ID06-kort kost
|
||||
|
||||
### 4d. Personalliggare, ID06 och kontrollavgift
|
||||
|
||||
**Lagrum.** Skatteförfarandelagen (2011:1244) **39 kap. 11 a–11 b §§ och 12 §**, med ikraftträdande 2016-01-01 efter prop. 2014/15:6 (SFS 2014:1474). Anmälningsplikt för byggarbetsplats i 7 kap. 2 a § SFL. Kontrollbesök i 42 kap. 8 §; kontrollavgift i **50 kap. 3–6 §§** med befrielsegrund i 51 kap. 1 §. Tekniska krav i 9 kap. 5 § skatteförfarandeförordningen (2011:1261) och SKVFS 2015:6. Lag (2018:744) är en ändringslag som utvidgade personalliggarplikt till andra branscher – huvudlagen är fortsatt SFL.
|
||||
**Lagrum.** Skatteförfarandelagen (2011:1244) **39 kap. 11 a-11 b §§ och 12 §**, med ikraftträdande 2016-01-01 efter prop. 2014/15:6 (SFS 2014:1474). Anmälningsplikt för byggarbetsplats i 7 kap. 2 a § SFL. Kontrollbesök i 42 kap. 8 §; kontrollavgift i **50 kap. 3-6 §§** med befrielsegrund i 51 kap. 1 §. Tekniska krav i 9 kap. 5 § skatteförfarandeförordningen (2011:1261) och SKVFS 2015:6. Lag (2018:744) är en ändringslag som utvidgade personalliggarplikt till andra branscher: huvudlagen är fortsatt SFL.
|
||||
|
||||
**Tröskel och plikt.** Byggherren ska tillhandahålla elektronisk personalliggare endast om **sammanlagd kostnad för byggverksamheten (arbete + material exkl. moms) antas överstiga 4 prisbasbelopp** (39 kap. 11 b § andra stycket). 2025: 4 × 58 800 = **235 200 kr**. Privat byggherre som inte bedriver näringsverksamhet är undantagen. Byggherren kan via skriftligt avtal överlåta ansvaret till general-/totalentreprenör (men ej vid delad entreprenad eller till UE). Uppgifter bevaras 2 år efter beskattningsårets utgång.
|
||||
|
||||
**Kontrollavgifter.** 12 500 kr vid bristande personalliggare, +2 500 kr per oregistrerad verksam person på platsen, 25 000 kr om byggarbetsplatsen inte anmälts, 12 500 kr om byggherren inte tillhandahåller utrustning, förhöjd till 25 000 kr vid ny överträdelse inom 1 år. **Kontrollavgift är ej skattemässigt avdragsgill** – bokförs på 6992.
|
||||
**Kontrollavgifter.** 12 500 kr vid bristande personalliggare, +2 500 kr per oregistrerad verksam person på platsen, 25 000 kr om byggarbetsplatsen inte anmälts, 12 500 kr om byggherren inte tillhandahåller utrustning, förhöjd till 25 000 kr vid ny överträdelse inom 1 år. **Kontrollavgift är ej skattemässigt avdragsgill**: bokförs på 6992.
|
||||
|
||||
**ID06.** Inget lagkrav, men branschens de facto-standard. ID06 AB är branschägt (Byggföretagen m.fl.). Kortet identifierar individ, kopplar till arbetsgivare och fungerar som inpassering + närvaroregistrering i personalliggaren. ID06-avgifter bokförs på 6991 (inget dedikerat BAS-konto finns).
|
||||
|
||||
### 4e. Sektorlagar och standardavtal
|
||||
|
||||
**AB 04** (utförandeentreprenad) och **ABT 06** (totalentreprenad), utgivna av Byggandets Kontraktskommitté (BKK), är standardavtal som gäller när de åberopas. Bokföringsmässigt relevanta klausuler: **slutbesiktning** (kap. 7) utgör avlämnande och startpunkt för garantitid + 10-årig ansvarstid; **ÄTA-arbeten** (AB 04 kap. 2 §§ 6–9) ska beställas skriftligen och faktureras separat; **garantitider** är AB 04 = 5 år arbetsprestation + 2 år material, ABT 06 = 5 år hela entreprenaden (med 2 år för beställarspecificerat fabrikat); entreprenörens fordran preskriberas 6 månader efter godkännande (kap. 6 § 19) – kritisk deadline för slutfakturering. Innehållna belopp för garantitid ska periodiseras. BKK arbetar på **AB 25 och ABPU 25** med planerad lansering sommaren 2026 – verifiera vid uppdatering.
|
||||
**AB 04** (utförandeentreprenad) och **ABT 06** (totalentreprenad), utgivna av Byggandets Kontraktskommitté (BKK), är standardavtal som gäller när de åberopas. Bokföringsmässigt relevanta klausuler: **slutbesiktning** (kap. 7) utgör avlämnande och startpunkt för garantitid + 10-årig ansvarstid; **ÄTA-arbeten** (AB 04 kap. 2 §§ 6-9) ska beställas skriftligen och faktureras separat; **garantitider** är AB 04 = 5 år arbetsprestation + 2 år material, ABT 06 = 5 år hela entreprenaden (med 2 år för beställarspecificerat fabrikat); entreprenörens fordran preskriberas 6 månader efter godkännande (kap. 6 § 19): kritisk deadline för slutfakturering. Innehållna belopp för garantitid ska periodiseras. BKK arbetar på **AB 25 och ABPU 25** med planerad lansering sommaren 2026: verifiera vid uppdatering.
|
||||
|
||||
**ABS 18** (allmänna bestämmelser för småhusentreprenader till konsument), Konsumentverket m.fl. 2018, ersatte ABS 09. Kräver **färdigställandeskydd** enligt lag (2014:227). 2-årig garantipresumtion enligt KtjL § 59.
|
||||
|
||||
**Konsumenttjänstlagen (1985:716)** vid arbete åt konsument: § 17 reklamation inom skälig tid (max 2 mån alltid i tid; yttersta gräns 3 år lös sak / **10 år för fast egendom**). § 36 **15 %-regeln** – ungefärligt pris får överskridas med max 15 %. §§ 51–61 särregler för småhusentreprenad: § 51 "kunden har alltid rätt"-presumtionen vid otydligt avtal; § 59 2-årig garantipresumtion efter godkänd slutbesiktning; § 60–61 slutbesiktning och 6 mån granskningsfrist. Längre reklamationsfrist för fast egendom motiverar **garantiavsättning** på 2220/6360 vid bokslut.
|
||||
**Konsumenttjänstlagen (1985:716)** vid arbete åt konsument: § 17 reklamation inom skälig tid (max 2 mån alltid i tid; yttersta gräns 3 år lös sak / **10 år för fast egendom**). § 36 **15 %-regeln**: ungefärligt pris får överskridas med max 15 %. §§ 51-61 särregler för småhusentreprenad: § 51 "kunden har alltid rätt"-presumtionen vid otydligt avtal; § 59 2-årig garantipresumtion efter godkänd slutbesiktning; § 60-61 slutbesiktning och 6 mån granskningsfrist. Längre reklamationsfrist för fast egendom motiverar **garantiavsättning** på 2220/6360 vid bokslut.
|
||||
|
||||
### 4f. HFD-domar och Skatteverkets ställningstaganden 2020–2026
|
||||
### 4f. HFD-domar och Skatteverkets ställningstaganden 2020-2026
|
||||
|
||||
Området är relativt stabilt – få nya HFD-prejudikat. Mest relevanta: **HFD 2023 ref. 10 (mål 651-22, JM AB)** om byggnadsrörelse och uttagsmoms vid successiv avyttring av ägarlägenheter; **HFD 2022 ref. 28** om gränsdragning vara/tjänst. **RÅ 2010 ref. 50 I/II** förblir ledande för material-i-tjänst-doktrinen; **HFD 2011 ref. 20** för faktureringsmetoden vid löpande räkning; **HFD 2016 ref. 29** för ROT (betalning från annan än köparen). **SRN 2023-07-07 dnr 83-22/D** ROT vs grön teknik. **SRN 2023-07-03** byggnadsrörelse-klassificering av drivmedelsanläggning. För kontrollavgifter avgörs de flesta målen på kammarrätts-nivå utan att nå HFD; befrielsegrunder tolkas restriktivt. Se `references/praxis.md` för full lista.
|
||||
Området är relativt stabilt: få nya HFD-prejudikat. Mest relevanta: **HFD 2023 ref. 10 (mål 651-22, JM AB)** om byggnadsrörelse och uttagsmoms vid successiv avyttring av ägarlägenheter; **HFD 2022 ref. 28** om gränsdragning vara/tjänst. **RÅ 2010 ref. 50 I/II** förblir ledande för material-i-tjänst-doktrinen; **HFD 2011 ref. 20** för faktureringsmetoden vid löpande räkning; **HFD 2016 ref. 29** för ROT (betalning från annan än köparen). **SRN 2023-07-07 dnr 83-22/D** ROT vs grön teknik. **SRN 2023-07-03** byggnadsrörelse-klassificering av drivmedelsanläggning. För kontrollavgifter avgörs de flesta målen på kammarrätts-nivå utan att nå HFD; befrielsegrunder tolkas restriktivt. Se `references/praxis.md` för full lista.
|
||||
|
||||
## 5. De tre vanligaste felmönstren
|
||||
|
||||
@@ -172,22 +172,22 @@ Området är relativt stabilt – få nya HFD-prejudikat. Mest relevanta: **HFD
|
||||
|
||||
**Fel.** Bokföraren tar emot en UE-faktura inom bygg (4 000 kr utan moms, med text "omvänd betalningsskyldighet") och bokför som om det vore ordinär moms: Debet 4010 4 000 / Debet 2641 1 000 (uppfunnen moms) / Kredit 2440 5 000. Konsekvens: säljarens nollmomsfaktura matchas mot uppfunnen ingående moms; ingen utgående förvärvsmoms i ruta 30; avdrag i ruta 48 är ogiltigt. Vid skatterevision återkrävs ingående moms + skattetillägg.
|
||||
|
||||
**Rätt.** Säljaren fakturerar 4 000 kr utan moms med hänvisning till 16 kap. 13 § ML. Köparens bokföring: Debet **4425** Inköpta tjänster Sverige omvänd 25 % 4 000 / Kredit **2440** Leverantörsskulder 4 000; samtidigt Debet **2647** Ingående moms omvänd 1 000 / Kredit **2617** Utgående moms omvänd 1 000. Momsdeklaration: beskattningsunderlag i ruta 24, utgående i ruta 30, ingående i ruta 48. Nettot mot Skatteverket är noll vid full avdragsrätt – men måste redovisas. Lagref: 16 kap. 13 § och 17 kap. 24 § ML (2023:200).
|
||||
**Rätt.** Säljaren fakturerar 4 000 kr utan moms med hänvisning till 16 kap. 13 § ML. Köparens bokföring: Debet **4425** Inköpta tjänster Sverige omvänd 25 % 4 000 / Kredit **2440** Leverantörsskulder 4 000; samtidigt Debet **2647** Ingående moms omvänd 1 000 / Kredit **2617** Utgående moms omvänd 1 000. Momsdeklaration: beskattningsunderlag i ruta 24, utgående i ruta 30, ingående i ruta 48. Nettot mot Skatteverket är noll vid full avdragsrätt, men måste redovisas. Lagref: 16 kap. 13 § och 17 kap. 24 § ML (2023:200).
|
||||
|
||||
### 5.2 ROT-faktura konteras utan delning mellan kund och Skatteverket, eller ROT räknas på materialdelen
|
||||
|
||||
**Fel.** Hela fakturan (arbete + material + moms) bokas på 1510 Kundfordringar; när Skatteverket utbetalar bokas det som ny intäkt på 3010 – dubbelintäkt. Eller: bokföraren räknar 30 % ROT på hela fakturan inklusive material – för stor begäran om utbetalning leder till delvist avslag och korrigeringsfaktura mot kund.
|
||||
**Fel.** Hela fakturan (arbete + material + moms) bokas på 1510 Kundfordringar; när Skatteverket utbetalar bokas det som ny intäkt på 3010, dubbelintäkt. Eller: bokföraren räknar 30 % ROT på hela fakturan inklusive material: för stor begäran om utbetalning leder till delvist avslag och korrigeringsfaktura mot kund.
|
||||
|
||||
**Rätt.** Exempel: arbete 24 500 + material x + moms 25 %; ROT-grund = endast arbete; reduktion 30 % × 24 500 = 7 350 (eller 50 % × 24 500 = 12 250 under 2025-05-12 – 2025-12-31). Vid fakturering: Debet 1511 (kundens del exkl. ROT) / Debet **1513** Kundfordringar – delad faktura (ROT-del) / Kredit 2611 (utgående moms 25 %) / Kredit 3011 (arbete) / Kredit 3041 (material). Vid kundens betalning: Debet 1930 / Kredit 1511. Vid Skatteverkets utbetalning: Debet 1930 / Kredit **1513** – saldot på 1513 ska gå mot noll. Lagref: 67 kap. 11–19 §§ IL; lag 2009:194 §§ 6–12. Se `references/rot-faktura-exempel.md` för komplett verifikationsexempel.
|
||||
**Rätt.** Exempel: arbete 24 500 + material x + moms 25 %; ROT-grund = endast arbete; reduktion 30 % × 24 500 = 7 350 (eller 50 % × 24 500 = 12 250 under 2025-05-12 till 2025-12-31). Vid fakturering: Debet 1511 (kundens del exkl. ROT) / Debet **1513** Kundfordringar, delad faktura (ROT-del) / Kredit 2611 (utgående moms 25 %) / Kredit 3011 (arbete) / Kredit 3041 (material). Vid kundens betalning: Debet 1930 / Kredit 1511. Vid Skatteverkets utbetalning: Debet 1930 / Kredit **1513**: saldot på 1513 ska gå mot noll. Lagref: 67 kap. 11-19 §§ IL; lag 2009:194 §§ 6-12. Se `references/rot-faktura-exempel.md` för komplett verifikationsexempel.
|
||||
|
||||
### 5.3 Pågående arbeten saknas eller felklassificeras vid bokslut
|
||||
|
||||
**Fel.** K3-bolag med entreprenader till fast pris periodiserar inte – endast fakturerat ligger i resultatet, vinster skjuts framåt eller dolda förluster. Eller: K2-bolag med alternativregeln glömmer bruttoredovisa per uppdrag och nettar fel uppdrag mot varandra. Eller: förskott från beställare hamnar på 2420 i stället för 2450 vid PoC-redovisning, vilket bryter mot BR-uppställningen.
|
||||
**Fel.** K3-bolag med entreprenader till fast pris periodiserar inte: endast fakturerat ligger i resultatet, vinster skjuts framåt eller dolda förluster. Eller: K2-bolag med alternativregeln glömmer bruttoredovisa per uppdrag och nettar fel uppdrag mot varandra. Eller: förskott från beställare hamnar på 2420 i stället för 2450 vid PoC-redovisning, vilket bryter mot BR-uppställningen.
|
||||
|
||||
**Rätt – K3 huvudregeln/PoC.** Vid bokslut bokas upparbetad-men-ej-fakturerat: Debet **1620** Upparbetad men ej fakturerad intäkt / Kredit eget intäktskonto i 30-/31-serien för uppdragsintäkt. Om beställaren betalat mer än upparbetat: Debet bank / Kredit **2450** Fakturerad men ej upparbetad intäkt. Befarad förlust: Debet **6330** / Kredit avsättning 2220. Lagref: BFNAR 2012:1 K3 punkt 23.18–23.32; ÅRL 4 kap. 10 §.
|
||||
**Rätt: K3 huvudregeln/PoC.** Vid bokslut bokas upparbetad-men-ej-fakturerat: Debet **1620** Upparbetad men ej fakturerad intäkt / Kredit eget intäktskonto i 30-/31-serien för uppdragsintäkt. Om beställaren betalat mer än upparbetat: Debet bank / Kredit **2450** Fakturerad men ej upparbetad intäkt. Befarad förlust: Debet **6330** / Kredit avsättning 2220. Lagref: BFNAR 2012:1 K3 punkt 23.18-23.32; ÅRL 4 kap. 10 §.
|
||||
|
||||
**Rätt – K2/alternativregeln (färdigställandemetoden).** Aktivera nedlagda utgifter: Debet **1471** / Kredit **4970**. À conto-fakturering: Debet 1510 / Kredit **2431** Pågående arbeten, fakturering (eller 1478 i tillgångsklass beroende på saldo). Bruttoredovisas per uppdrag (Srf U 14). För räkenskapsår som inleds efter 2025-12-31 är kvittning mellan uppdrag uttryckligen förbjuden (BFN-beslut 2025-06-16). Lagref: BFNAR 2016:10 K2 punkt 6.13–6.26; 17 kap. 23, 26, 27 §§ IL.
|
||||
**Rätt: K2/alternativregeln (färdigställandemetoden).** Aktivera nedlagda utgifter: Debet **1471** / Kredit **4970**. À conto-fakturering: Debet 1510 / Kredit **2431** Pågående arbeten, fakturering (eller 1478 i tillgångsklass beroende på saldo). Bruttoredovisas per uppdrag (Srf U 14). För räkenskapsår som inleds efter 2025-12-31 är kvittning mellan uppdrag uttryckligen förbjuden (BFN-beslut 2025-06-16). Lagref: BFNAR 2016:10 K2 punkt 6.13-6.26; 17 kap. 23, 26, 27 §§ IL.
|
||||
|
||||
## 6. Öppna frågor och osäkerheter
|
||||
|
||||
Brukstexten i ursprungsuppgiften hade flera fel som denna skill rättar: K3 är **BFNAR 2012:1** inte 2017:1; **1478** är "Pågående arbeten, fakturering" inte "Förskott till leverantörer" (det senare är 1480/1489); **6541** och **7560** finns inte i BAS 2025; **7210** är tjänstemän, kollektivanställda är **7010**; **3232** existerar inte (ROT-fordran går via 1513); **5614** är vakant; den nya ML (2023:200) använder "omvänd betalningsskyldighet" inte "omvänd skattskyldighet" (terminologisk ändring, materiellt oförändrad). HFD-praxis 2020–2026 specifikt på omvänd byggmoms, pågående arbeten och kontrollavgift är **tunn** – området regleras främst genom Skatteverkets ställningstaganden och kammarrätts-domar; revisor bör verifiera vid behov i JUNO/Karnov. Skatteverkets ställningstaganden om ROT-gränsfall 2022–2026 är inte uttömmande täckta här – konsultera `skatteverket.se/rattsligvagledning` listan "Ställningstaganden – Rot- och rutarbete". AB 25 och ABPU 25 förväntas från BKK sommaren 2026 – verifiera om de har ikraftträtt och om garantitiderna ändras. ROT-subventionsgraden 50 % avser perioden 2025-05-12 – 2025-12-31; vid ärenden från 2026 verifiera att återgång till 30 % har skett enligt plan. SNI 2007 användes i SCB:s äldre indelning – SCB har 2025 migrerat till SNI 2025 där t.ex. takarbeten flyttats från 43.91 till 43.41; denna skill bygger på SNI 2007 enligt uppgift, men vid integration mot moderna SCB-tjänster kan kodmappning behövas. Verifiera alltid lokala kontoplansavvikelser – företag lägger ofta upp egna underkonton i 1470-/2430-/4600-/4970-serierna.
|
||||
Brukstexten i ursprungsuppgiften hade flera fel som denna skill rättar: K3 är **BFNAR 2012:1** inte 2017:1; **1478** är "Pågående arbeten, fakturering" inte "Förskott till leverantörer" (det senare är 1480/1489); **6541** och **7560** finns inte i BAS 2025; **7210** är tjänstemän, kollektivanställda är **7010**; **3232** existerar inte (ROT-fordran går via 1513); **5614** är vakant; den nya ML (2023:200) använder "omvänd betalningsskyldighet" inte "omvänd skattskyldighet" (terminologisk ändring, materiellt oförändrad). HFD-praxis 2020-2026 specifikt på omvänd byggmoms, pågående arbeten och kontrollavgift är **tunn**: området regleras främst genom Skatteverkets ställningstaganden och kammarrätts-domar; revisor bör verifiera vid behov i JUNO/Karnov. Skatteverkets ställningstaganden om ROT-gränsfall 2022-2026 är inte uttömmande täckta här: konsultera `skatteverket.se/rattsligvagledning` listan "Ställningstaganden: Rot- och rutarbete". AB 25 och ABPU 25 förväntas från BKK sommaren 2026: verifiera om de har ikraftträtt och om garantitiderna ändras. ROT-subventionsgraden 50 % avser perioden 2025-05-12 till 2025-12-31; vid ärenden från 2026 verifiera att återgång till 30 % har skett enligt plan. SNI 2007 användes i SCB:s äldre indelning: SCB har 2025 migrerat till SNI 2025 där t.ex. takarbeten flyttats från 43.91 till 43.41; denna skill bygger på SNI 2007 enligt uppgift, men vid integration mot moderna SCB-tjänster kan kodmappning behövas. Verifiera alltid lokala kontoplansavvikelser: företag lägger ofta upp egna underkonton i 1470-/2430-/4600-/4970-serierna.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Kollektivavtal per sub-vertikal inom SNI 41–43
|
||||
# Kollektivavtal per sub-vertikal inom SNI 41-43
|
||||
|
||||
Samtliga avtal har period **2025-05-01 – 2027-04-30** med märket 6,4 % över 24 månader (3,4 % år 1 + 3,0 % år 2). Försäkringspaket via **Fora** för kollektivanställda: AGS, AGB, TFA, TGL och Avtalspension SAF-LO. Tjänstemän har ITP via Collectum.
|
||||
Samtliga avtal har period **2025-05-01 till 2027-04-30** med märket 6,4 % över 24 månader (3,4 % år 1 + 3,0 % år 2). Försäkringspaket via **Fora** för kollektivanställda: AGS, AGB, TFA, TGL och Avtalspension SAF-LO. Tjänstemän har ITP via Collectum.
|
||||
|
||||
## Byggavtalet
|
||||
|
||||
@@ -45,7 +45,7 @@ Samtliga avtal har period **2025-05-01 – 2027-04-30** med märket 6,4 % över
|
||||
|
||||
- **Parter:** Byggnads (Målareförbundet uppgick i Byggnads maj 2024) + Måleriföretagen i Sverige.
|
||||
- **SNI:** 43.34 måleri.
|
||||
- **Lön:** Ackord eller tidlön – endast dessa två former tillåtna. Ackord enligt riksprislista, mätning via **Målerifakta** (huvudsakligen distansmätning på ritning).
|
||||
- **Lön:** Ackord eller tidlön: endast dessa två former tillåtna. Ackord enligt riksprislista, mätning via **Målerifakta** (huvudsakligen distansmätning på ritning).
|
||||
- **Helglön:** Reglerad i § 2.
|
||||
- **Pension:** +0,1 % år 1, +0,2 % år 2; måleribranschen integreras i Svenskt Byggkontroll från 2026-01-01.
|
||||
- **Berör:** ca 14 000 yrkesarbetare.
|
||||
@@ -62,8 +62,8 @@ Samtliga avtal har period **2025-05-01 – 2027-04-30** med märket 6,4 % över
|
||||
|
||||
## Anmärkningar
|
||||
|
||||
- **Golvavtalet finns inte som separat CBA** – golvläggare (SNI 43.33) omfattas av Byggavtalet med egen yrkeskategori och egna mätnings-/prislistor.
|
||||
- SNI-mappning är approximativ – CBA-tillämpningsområdet bestäms av faktisk arbetsuppgift, inte formell SNI-kod.
|
||||
- **Golvavtalet finns inte som separat CBA**: golvläggare (SNI 43.33) omfattas av Byggavtalet med egen yrkeskategori och egna mätnings-/prislistor.
|
||||
- SNI-mappning är approximativ: CBA-tillämpningsområdet bestäms av faktisk arbetsuppgift, inte formell SNI-kod.
|
||||
- Tjänstemän (arbetsledare, projektingenjörer, kalkylatorer) följer vanligen **Tjänstemannaavtalet Byggnadsämnesindustrin** eller motsvarande Unionen/Sveriges Ingenjörer-avtal med ITP via Collectum.
|
||||
|
||||
## Bokföringsmässiga noter
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
# Omvänd betalningsskyldighet inom byggsektorn – fördjupning
|
||||
# Omvänd betalningsskyldighet inom byggsektorn: fördjupning
|
||||
|
||||
## Paragrafmappning gammal vs ny ML
|
||||
|
||||
| Sakfråga | ML 1994:200 (t.o.m. 2023-06-30) | ML 2023:200 (fr.o.m. 2023-07-01) |
|
||||
|---|---|---|
|
||||
| Köparkravet + tjänstekatalog för byggsektorn | 1 kap. 2 § 1 st 4 b + 2 st 1–3 | **16 kap. 13 §** (1 st = köparkravet, 2 st = tjänsterna p. 1–3) |
|
||||
| Köparkravet + tjänstekatalog för byggsektorn | 1 kap. 2 § 1 st 4 b + 2 st 1-3 | **16 kap. 13 §** (1 st = köparkravet, 2 st = tjänsterna p. 1-3) |
|
||||
| Återbetalning ingående skatt | 10 kap. | 14 kap. |
|
||||
| Fullständig faktura | 11 kap. 8 § | **17 kap. 24 §** |
|
||||
| Förenklad faktura (förbjuden vid omvänd) | 11 kap. 9 § | 17 kap. 28 § |
|
||||
| Definition faktura / e-faktura | 1 kap. 17–17 a § | 2 kap. 9–10 § |
|
||||
| Definition faktura / e-faktura | 1 kap. 17-17 a § | 2 kap. 9-10 § |
|
||||
| Fastighetsbegreppet | 1 kap. 11 § | 2 kap. 11 § (hänvisar till art. 13 b genomförandeförordning 282/2011) |
|
||||
| Normalskattesats 25 % | 7 kap. 1 § | 9 kap. 2 § |
|
||||
| Reducerad 12 % (cyklar, skor, lädervaror, kläder, hushållslinne) | 7 kap. 1 § 3 st 11 | 9 kap. 7 § (höjd från 6 % till 12 % 2023-04-01) |
|
||||
@@ -21,16 +21,16 @@ Källor: riksdagen.se SFS 2023:200; Skatteverket "Kommunerna och bestämmelserna
|
||||
|
||||
Tjänsten måste avse fastighet enligt ML 2 kap. 11 §. Kategorierna fastställs efter SNI 2002 huvudgrupp 45 (prop. 2007/08:25 s. 215 f.):
|
||||
|
||||
**Punkt 1 – fastighetsanknutna byggtjänster:**
|
||||
- **(a) Mark- och grundarbeten** (SNI 45.1 / svenska SNI 2007 42.11–42.13, 43.11–43.13): schaktning, utfyllning, sprängning, dikning, rivning av hus, byggplatsdränering, markundersökning, borttagande av jordlager, sprängning för utvinning av sten/grus.
|
||||
**Punkt 1, fastighetsanknutna byggtjänster:**
|
||||
- **(a) Mark- och grundarbeten** (SNI 45.1 / svenska SNI 2007 42.11-42.13, 43.11-43.13): schaktning, utfyllning, sprängning, dikning, rivning av hus, byggplatsdränering, markundersökning, borttagande av jordlager, sprängning för utvinning av sten/grus.
|
||||
- **(b) Bygg- och anläggningsarbeten** (SNI 45.2 / 41.10, 41.20, 42.x): uppförande av hus, anläggning av vägar, takarbeten, akvedukter, växthus, lyftarbeten på byggplats.
|
||||
- **(c) Bygginstallationer** (SNI 45.3 / 43.21, 43.22, 43.29): el-, isolering-, VVS-, ventilation-, kyl-, värme-, hiss-, sprinkler-, larm-, antenninstallationer. Brandlarm inkl. driftsättning ingår (RÅ 2008 not. 152).
|
||||
- **(d) Slutbehandling av byggnader** (SNI 45.4 / 43.31–43.34, 43.39): puts, byggsnickeri, golvbeläggning, måleri, glasmästeri.
|
||||
- **(d) Slutbehandling av byggnader** (SNI 45.4 / 43.31-43.34, 43.39): puts, byggsnickeri, golvbeläggning, måleri, glasmästeri.
|
||||
- **(e) Uthyrning av bygg-/anläggningsmaskiner med förare** (SNI 45.5 / 43.991): kran, grävmaskin, lyftutrustning **med operatör**.
|
||||
|
||||
**Punkt 2 – byggstädning:** städning av nybyggda/nyrenoverade hus före inflyttning + löpande städning under byggtiden. Insamling/bortforsling av byggavfall ingår **inte**.
|
||||
**Punkt 2, byggstädning:** städning av nybyggda/nyrenoverade hus före inflyttning + löpande städning under byggtiden. Insamling/bortforsling av byggavfall ingår **inte**.
|
||||
|
||||
**Punkt 3 – personaluthyrning** för aktiviteter i punkt 1 eller 2.
|
||||
**Punkt 3: personaluthyrning** för aktiviteter i punkt 1 eller 2.
|
||||
|
||||
## Köparkravet "byggföretag som inte endast tillfälligt"
|
||||
|
||||
@@ -38,7 +38,7 @@ Tjänsten måste avse fastighet enligt ML 2 kap. 11 §. Kategorierna fastställs
|
||||
|
||||
- "Inte endast undantagsvis eller vid enstaka tillfällen" omsätter sådana tjänster.
|
||||
- Köparens SNI-kod och huvudverksamhet saknar betydelse.
|
||||
- Sidoverksamhet räcker (SRN 2014 – kökstillverkare med 0,06 % monteringsverksamhet).
|
||||
- Sidoverksamhet räcker (SRN 2014, kökstillverkare med 0,06 % monteringsverksamhet).
|
||||
- Köpare som uppfyller kravet är betalningsskyldig för **alla** sina inköp av byggtjänster, även de som inte säljs vidare.
|
||||
- Status upphör först när byggdelen är avvecklad.
|
||||
- Stat och kommun kan omfattas (dnr 8-1148796 / omarb. 8-2718597 kommun; dnr 8-1228116 staten).
|
||||
@@ -53,12 +53,12 @@ Momsdeklaration: säljaren rapporterar i **ruta 41**. Köparen rapporterar beska
|
||||
|
||||
## Gränsfall
|
||||
|
||||
- **Material i tjänsteleverans:** Allt räknas som tjänst om transaktionen är blandad (RÅ 2010 ref. 50 I/II – köksleverans+montering ses som tjänst även när varudelen är 85–90 %).
|
||||
- **Material i tjänsteleverans:** Allt räknas som tjänst om transaktionen är blandad (RÅ 2010 ref. 50 I/II: köksleverans+montering ses som tjänst även när varudelen är 85-90 %).
|
||||
- **Markupplåtelse och fastighetsförsäljning:** Undantagna enligt 10 kap. 35 § ML; ej omvänd. Markarbete på upplåten mark är dock byggtjänst.
|
||||
- **Städning:** Byggstädning JA omvänd; lokalstädning, fönsterputs, fastighetsskötsel, snöskottning av tak NEJ.
|
||||
- **Maskinuthyrning:** Med förare JA; utan förare NEJ (dnr 202 157785-19/111).
|
||||
- **Projektering/arkitekt:** Som självständig tjänst NEJ; som integrerad del av entreprenad JA.
|
||||
- **Reparation av cyklar/skor/kläder/hushållslinne (9 kap. 7 § ML, 12 %):** Ingen överlappning – dessa varor blir aldrig fastighet.
|
||||
- **Reparation av cyklar/skor/kläder/hushållslinne (9 kap. 7 § ML, 12 %):** Ingen överlappning: dessa varor blir aldrig fastighet.
|
||||
|
||||
## Skatteverkets ställningstaganden (relevanta, fortsatt gällande)
|
||||
|
||||
@@ -67,13 +67,13 @@ Momsdeklaration: säljaren rapporterar i **ruta 41**. Köparen rapporterar beska
|
||||
| 131 101175-17/111 | 2017-06-14 | FoS A allmänna förutsättningar | https://www4.skatteverket.se/rattsligvagledning/362024.html |
|
||||
| 131 101180-17/111 | 2017-06-14 | FoS B arbete på byggnader | https://www4.skatteverket.se/rattsligvagledning/edition/2024.3/362076.html |
|
||||
| 131 101225-17/111 | 2017-06-14 | FoS C mark | https://www4.skatteverket.se/rattsligvagledning/edition/2024.2/362156.html |
|
||||
| 131 101266-17/111 | 2017-06-14 | FoS D bedömningsfrågor | – |
|
||||
| 202 157785-19/111 | 2019-12-17 | Lyftarbeten, strålkastare, manskapsbodar, ställningar, byggkran, bygghiss | – |
|
||||
| 202 448424-19/111 | 2019-11-22 | Fastighetsbegreppet | – |
|
||||
| 131 554069-16/111 | 2016-12-22 | Montering/installation av utrustning – fastighet eller vara | – |
|
||||
| 131 101266-17/111 | 2017-06-14 | FoS D bedömningsfrågor | N/A |
|
||||
| 202 157785-19/111 | 2019-12-17 | Lyftarbeten, strålkastare, manskapsbodar, ställningar, byggkran, bygghiss | N/A |
|
||||
| 202 448424-19/111 | 2019-11-22 | Fastighetsbegreppet | N/A |
|
||||
| 131 554069-16/111 | 2016-12-22 | Montering/installation av utrustning, fastighet eller vara | N/A |
|
||||
| 8-1148796 / 8-2718597 | 2021/2024 | Kommun som byggföretag | https://www4.skatteverket.se/rattsligvagledning/461583.html |
|
||||
| 8-1228116 | 2021-10-26 | Staten som byggföretag | https://www4.skatteverket.se/rattsligvagledning/397336.html |
|
||||
| 8-724682 | 2021-01-27 | Fakturatext "omvänd betalningsskyldighet" / "reverse charge" | – |
|
||||
| 8-1832503 | 2022-09-16 | Fakturans innehåll (namn/adress) | – |
|
||||
| 8-724682 | 2021-01-27 | Fakturatext "omvänd betalningsskyldighet" / "reverse charge" | N/A |
|
||||
| 8-1832503 | 2022-09-16 | Fakturans innehåll (namn/adress) | N/A |
|
||||
|
||||
Inga materiella nyheter 2024–2026; de flesta är omarbetningar för paragrafhänvisning till ML 2023:200.
|
||||
Inga materiella nyheter 2024-2026; de flesta är omarbetningar för paragrafhänvisning till ML 2023:200.
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
# Pågående arbeten – K3, K2, IL – flödesexempel
|
||||
# Pågående arbeten (K3, K2, IL): flödesexempel
|
||||
|
||||
## K3 (BFNAR 2012:1) kapitel 23
|
||||
|
||||
**Tillämpningsområde** – 23.1: gäller intäkter från (a) varor, (b) tjänsteuppdrag och entreprenadavtal, (c) ränta/royalty/utdelning. Uppdrag definieras i 23.9 som tjänsteuppdrag eller entreprenadavtal.
|
||||
**Tillämpningsområde**, 23.1: gäller intäkter från (a) varor, (b) tjänsteuppdrag och entreprenadavtal, (c) ränta/royalty/utdelning. Uppdrag definieras i 23.9 som tjänsteuppdrag eller entreprenadavtal.
|
||||
|
||||
**Huvudregeln – successiv vinstavräkning (PoC)** – 23.18–23.27:
|
||||
**Huvudregeln: successiv vinstavräkning (PoC)**, 23.18-23.27:
|
||||
- 23.18 kriterier: uppdragsinkomsten kan mätas tillförlitligt; sannolikt att ekonomiska fördelar tillfaller företaget; färdigställandegrad på balansdagen kan mätas tillförlitligt; uppdragsutgifter och återstående utgifter kan mätas tillförlitligt.
|
||||
- 23.22 färdigställandegrad bestäms med metod som mest tillförlitligt mäter utfört arbete (cost-to-cost vanligast).
|
||||
- 23.23 om utfallet inte kan beräknas tillförlitligt → intäkt enbart upp till uppkomna utgifter som sannolikt kommer ersättas (nollavräkning).
|
||||
- 23.27 upparbetade intäkter ska minskas med fakturerade belopp; kvittning bara inom samma uppdragsgivare och samma tidsperiod.
|
||||
- 23.30 större företag upplyser om upparbetade intäkter, fakturerade belopp och innehållna belopp.
|
||||
|
||||
**Alternativregeln – färdigställandemetoden** – 23.31–23.37:
|
||||
**Alternativregeln: färdigställandemetoden**, 23.31-23.37:
|
||||
- 23.31: Får tillämpas i juridisk person för uppdrag enligt 17 kap. 27 § IL (bygg, anläggning, hantverk). Intäkt redovisas senast när arbetet väsentligen är fullgjort. Fram till dess: utgifter redovisas som tillgång, fakturerade belopp som skuld. Företaget måste tillämpa metoden på **samtliga** sådana uppdrag.
|
||||
- 23.32 befarad förlust redovisas omedelbart oavsett metod.
|
||||
- 23.37 byte från färdigställandemetoden till PoC är tillåtet; omvänt byte endast vid särskilda skäl.
|
||||
@@ -19,29 +19,29 @@
|
||||
|
||||
## K2 (BFNAR 2016:10) kapitel 6
|
||||
|
||||
Punkterna 6.13–6.26 reglerar tjänsteuppdrag och entreprenaduppdrag:
|
||||
- 6.13–6.14 löpande räkning: intäkt i takt med utförande och materialleverans; alternativt i takt med fakturering (kopplingen till IL 17 kap. 26 §).
|
||||
Punkterna 6.13-6.26 reglerar tjänsteuppdrag och entreprenaduppdrag:
|
||||
- 6.13-6.14 löpande räkning: intäkt i takt med utförande och materialleverans; alternativt i takt med fakturering (kopplingen till IL 17 kap. 26 §).
|
||||
- 6.15 fast pris: företaget väljer huvudregeln (PoC) eller alternativregeln (färdigställandemetoden) och tillämpar samma metod på samtliga fastprisuppdrag.
|
||||
- 6.16–6.21 huvudregelns mekanik.
|
||||
- 6.22–6.23 alternativregeln: intäkt när väsentligen fullgjort; positiv justeringspost för uppdragsutgifter som hade kunnat aktiveras vid egentillverkning.
|
||||
- 6.16-6.21 huvudregelns mekanik.
|
||||
- 6.22-6.23 alternativregeln: intäkt när väsentligen fullgjort; positiv justeringspost för uppdragsutgifter som hade kunnat aktiveras vid egentillverkning.
|
||||
- 6.24 BR-redovisning i posten "Pågående arbete för annans räkning"; bruttoredovisning per uppdrag obligatorisk (Srf U 14).
|
||||
|
||||
BFN beslutade 2025-06-16 om uppdatering av K2 gällande räkenskapsår som inleds efter 2025-12-31; från då är kvittning mellan uppdrag uttryckligen förbjudet. Pre-2026 räkenskapsår använder fortsatt de citerade punktnumren; verifiera mot 2025-utgåvan vid behov.
|
||||
|
||||
## IL 17 kap. 23–32 §§
|
||||
## IL 17 kap. 23-32 §§
|
||||
|
||||
- **17 kap. 23 §** kopplingsregel: redovisning av pågående arbeten i byggnads-, anläggnings-, hantverks- eller konsultrörelse följs vid beskattningen om inte 24–32 §§ avviker.
|
||||
- **17 kap. 24 §** definierar löpande räkning – ≥ 90 % av arvodet baserat på tidsenhet/utgifter (SKV A 2016:7).
|
||||
- **17 kap. 23 §** kopplingsregel: redovisning av pågående arbeten i byggnads-, anläggnings-, hantverks- eller konsultrörelse följs vid beskattningen om inte 24-32 §§ avviker.
|
||||
- **17 kap. 24 §** definierar löpande räkning: ≥ 90 % av arvodet baserat på tidsenhet/utgifter (SKV A 2016:7).
|
||||
- **17 kap. 26 §** faktureringsmetoden för löpande räkning: värdet behöver inte tas upp som tillgång; fakturerat belopp utgör intäkt. Om fakturering systematiskt underlåts → skäligt belopp tas upp.
|
||||
- **17 kap. 27 § 1 st** huvudregel fast pris: lägsta värdets princip (anskaffningsvärde vs nettoförsäljningsvärde).
|
||||
- **17 kap. 27 § 2 st** alternativregeln/97 %-regeln: byggnads-, anläggnings- och hantverksrörelse får ta upp pågående arbeten till lägst 97 % av sammanlagt anskaffningsvärde. **Gäller ej konsultrörelse** (SFS 2003:1102).
|
||||
- **17 kap. 28–30 §§** värdering av anskaffningsvärde.
|
||||
- **17 kap. 28-30 §§** värdering av anskaffningsvärde.
|
||||
- **17 kap. 31 §** skattemässigt värde.
|
||||
- **17 kap. 32 §** förlustreserveringar.
|
||||
|
||||
SKV A 2016:6 (värdering) och SKV A 2016:7 (gränsdragning löpande räkning vs fast pris) är centrala allmänna råd. HFD 2011 ref. 20 (Skanska) förblir ledande prejudikat.
|
||||
|
||||
## Konteringsflöde – K3 huvudregeln (PoC), fastprisentreprenad
|
||||
## Konteringsflöde: K3 huvudregeln (PoC), fastprisentreprenad
|
||||
|
||||
Förutsättning: avtalat fast pris 10 000 000 kr. Per balansdagen är 6 000 000 kr upparbetat (60 % cost-to-cost). Fakturerat enligt betalplan 5 500 000 kr.
|
||||
|
||||
@@ -59,12 +59,12 @@ Om fakturerat överstigit upparbetat (t.ex. 7 000 000 fakturerat, 6 000 000 uppa
|
||||
Befarad förlust (t.ex. återstående utgifter 6 000 000 mot återstående intäkt 4 000 000, total förlust 2 000 000 varav 800 000 redan i PoC):
|
||||
- Debet **6330** Förluster i pågående arbeten 1 200 000 / Kredit **2220** Avsättningar för garantier eller separat avsättning 1 200 000.
|
||||
|
||||
## Konteringsflöde – K2 / K3 alternativregel (färdigställandemetoden)
|
||||
## Konteringsflöde: K2 / K3 alternativregel (färdigställandemetoden)
|
||||
|
||||
Samma fastprisentreprenad. Inga intäkter eller utgifter i resultaträkningen löpande under uppdraget.
|
||||
|
||||
Löpande:
|
||||
- Utgifter bokas på 4xxx/5xxx/7xxx som vanligt – ingen särbehandling under året.
|
||||
- Utgifter bokas på 4xxx/5xxx/7xxx som vanligt: ingen särbehandling under året.
|
||||
|
||||
Vid bokslut, om uppdraget ej avslutat:
|
||||
- Aktivera nedlagda utgifter: Debet **1471** Pågående arbeten, nedlagda kostnader 6 000 000 / Kredit **4970** Förändring av pågående arbeten, nedlagda kostnader 6 000 000.
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
# HFD-domar och Skatteverkets ställningstaganden 2020–2026 – bygg-vertikalen
|
||||
# HFD-domar och Skatteverkets ställningstaganden 2020-2026: bygg-vertikalen
|
||||
|
||||
## HFD-prejudikat (urval)
|
||||
|
||||
| Avgörande | Område | Innebörd |
|
||||
|-----------|--------|----------|
|
||||
| **RÅ 2010 ref. 50 I och II** | Omvänd byggmoms – material vs tjänst | Leverans + montering av kök respektive hiss ses i sin helhet som byggtjänst → omvänd skattskyldighet tillämplig. Ledande prejudikat för material-i-tjänst-doktrinen. |
|
||||
| **RÅ 2010 ref. 50 I och II** | Omvänd byggmoms: material vs tjänst | Leverans + montering av kök respektive hiss ses i sin helhet som byggtjänst → omvänd skattskyldighet tillämplig. Ledande prejudikat för material-i-tjänst-doktrinen. |
|
||||
| **RÅ 2008 not. 152** | Omvänd byggmoms | Brandlarm inkl. driftsättning är bygginstallation. |
|
||||
| **HFD 2011 ref. 20 (Skanska)** | Pågående arbeten löpande räkning | Faktureringsmetoden enligt 17 kap. 26 § IL gäller; frikoppling skatt↔redovisning vid löpande räkning. |
|
||||
| **HFD 2016 ref. 29** | ROT-avdrag | Betalning från annan än köparen accepteras under vissa förutsättningar. |
|
||||
| **HFD 2018 ref. 49** | ROT – fakturahandel | Skatteverket kan vägra utbetalning vid fakturahandel/skenavtal där fakturerande företag inte faktiskt utfört arbetet. |
|
||||
| **HFD 2018 ref. 49** | ROT: fakturahandel | Skatteverket kan vägra utbetalning vid fakturahandel/skenavtal där fakturerande företag inte faktiskt utfört arbetet. |
|
||||
| **HFD 2022 ref. 28** | Vara vs tjänst | Anställdas inköp som förvärv i bolagets verksamhet; relevant för gränsdragning vara/tjänst. |
|
||||
| **HFD 2023 ref. 10 (mål 651-22, JM AB)** | Byggnadsrörelse, uttagsmoms | Skattskyldigheten för uttag av tjänster vid uppförande av ägarlägenhetsfastigheter som lagertillgångar upphör vid kontraktstidpunkten. |
|
||||
| **HFD 2023 ref. 24** | Frivillig skattskyldighet / fastighetsuthyrning | Parallella hyresgäster – stadigvarande användning. Indirekt relevant för fastighetsbolag inom bygg. |
|
||||
| **HFD 2023 ref. 24** | Frivillig skattskyldighet / fastighetsuthyrning | Parallella hyresgäster, stadigvarande användning. Indirekt relevant för fastighetsbolag inom bygg. |
|
||||
|
||||
## Skatterättsnämnden (förhandsbesked)
|
||||
|
||||
| Datum | Dnr | Område |
|
||||
|-------|-----|--------|
|
||||
| 2023-07-03 | – | Byggnadsrörelse-klassificering av företag som uppför obemannade drivmedelsanläggningar |
|
||||
| 2023-07-07/19 | **83-22/D** | Avgränsning skattereduktion ROT vs grön teknik – separata utrymmen |
|
||||
| 2014 | – | Köksmonteringsföretag med 0,06 % monteringsverksamhet ändå "byggföretag" – köparkravet i 16 kap. 13 § ML uppfyllt |
|
||||
| 2023-07-03 | N/A | Byggnadsrörelse-klassificering av företag som uppför obemannade drivmedelsanläggningar |
|
||||
| 2023-07-07/19 | **83-22/D** | Avgränsning skattereduktion ROT vs grön teknik, separata utrymmen |
|
||||
| 2014 | N/A | Köksmonteringsföretag med 0,06 % monteringsverksamhet ändå "byggföretag": köparkravet i 16 kap. 13 § ML uppfyllt |
|
||||
|
||||
## Skatteverkets ställningstaganden
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
| 202 157785-19/111 | 2019-12-17 | Lyftarbeten, byggkran, bygghiss, ställningar |
|
||||
| 202 448424-19/111 | 2019-11-22 | Fastighetsbegreppet (ersätter 131 558080-16/111) |
|
||||
| 131 552367-16/111 | 2016-12-22 | Fastighetsbegreppet FoS 1 (köksinredning, larm m.m.) |
|
||||
| 131 554069-16/111 | 2016-12-22 | Montering/installation – fastighet eller vara |
|
||||
| 131 554069-16/111 | 2016-12-22 | Montering/installation, fastighet eller vara |
|
||||
| 8-1148796 | 2021-10-25 | Kommun som byggföretag |
|
||||
| 8-2718597 | 2024 | Omarbetning av ovanstående till ML 2023:200 |
|
||||
| 8-1228116 | 2021-10-26 | Staten som byggföretag |
|
||||
@@ -47,19 +47,19 @@
|
||||
|-----|-------|--------|
|
||||
| 131 338276-10/111 | 2010-05-27 | Försäkringsersättning utesluter ROT |
|
||||
|
||||
(Aktuella ROT-ställningstaganden 2022–2026 ej uttömmande inventerade – konsultera https://www4.skatteverket.se/rattsligvagledning under "Ställningstaganden – Rot- och rutarbete".)
|
||||
(Aktuella ROT-ställningstaganden 2022-2026 ej uttömmande inventerade: konsultera https://www4.skatteverket.se/rattsligvagledning under "Ställningstaganden: Rot- och rutarbete".)
|
||||
|
||||
### Pågående arbeten
|
||||
|
||||
Inga nya ställningstaganden 2020–2026 har identifierats. Centralt:
|
||||
Inga nya ställningstaganden 2020-2026 har identifierats. Centralt:
|
||||
|
||||
- **SKV A 2016:6** – allmänna råd om värdering av pågående arbeten i byggnads-, anläggnings-, hantverks- eller konsultrörelse
|
||||
- **SKV A 2016:7** – gränsdragning löpande räkning vs fast pris (90 %-regeln)
|
||||
- **SKV M 2005:4** – meddelande, fortsatt åberopat
|
||||
- **SKV A 2016:6**: allmänna råd om värdering av pågående arbeten i byggnads-, anläggnings-, hantverks- eller konsultrörelse
|
||||
- **SKV A 2016:7**: gränsdragning löpande räkning vs fast pris (90 %-regeln)
|
||||
- **SKV M 2005:4**: meddelande, fortsatt åberopat
|
||||
|
||||
### Personalliggare / ID06
|
||||
|
||||
Inga nya HFD-prejudikat 2020–2026 identifierade på området. Området hanteras främst på kammarrätts-nivå. Befrielsegrunder i 51 kap. 1 § SFL tolkas restriktivt – okunskap, stress eller hög arbetsbelastning godtas vanligen inte.
|
||||
Inga nya HFD-prejudikat 2020-2026 identifierade på området. Området hanteras främst på kammarrätts-nivå. Befrielsegrunder i 51 kap. 1 § SFL tolkas restriktivt: okunskap, stress eller hög arbetsbelastning godtas vanligen inte.
|
||||
|
||||
## Källor
|
||||
|
||||
@@ -70,4 +70,4 @@ Inga nya HFD-prejudikat 2020–2026 identifierade på området. Området hantera
|
||||
|
||||
## Flaggor
|
||||
|
||||
Sökningarna har gett få nya HFD-prejudikat 2020–2026 inom denna vertikal. Detta är troligen ett tecken på att området är stabilt – regleras främst via Skatteverkets förteckningar/ställningstaganden och kammarrätts-domar – men användare bör verifiera direkt i JUNO/Karnov för en uttömmande lista.
|
||||
Sökningarna har gett få nya HFD-prejudikat 2020-2026 inom denna vertikal. Detta är troligen ett tecken på att området är stabilt (regleras främst via Skatteverkets förteckningar/ställningstaganden och kammarrätts-domar), men användare bör verifiera direkt i JUNO/Karnov för en uttömmande lista.
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
# ROT-fakturering enligt fakturamodellen – flöde och kontering
|
||||
# ROT-fakturering enligt fakturamodellen: flöde och kontering
|
||||
|
||||
## Regelverk
|
||||
|
||||
- **IL 67 kap. 11–19 §§** – Skattereduktion för hushållsarbete; rotarbete definierat i 13 a §; undantag i 13 c §.
|
||||
- **IL 67 kap. 11-19 §§**: Skattereduktion för hushållsarbete; rotarbete definierat i 13 a §; undantag i 13 c §.
|
||||
- **Lag (2009:194)** om förfarandet vid skattereduktion för hushållsarbete (HUSFL) §§ 4, 6, 7, 8, 11, 12.
|
||||
- **Skatteverkets rättsliga vägledning** "Skattereduktion för rot- och rutarbete" https://www4.skatteverket.se/rattsligvagledning/edition/2024.4/339102.html
|
||||
- **Krav på elektronisk betalning** sedan 2020-01-01 (67 kap. 19 § IL).
|
||||
|
||||
## Belopp och subventionsgrad 2025–2026
|
||||
## Belopp och subventionsgrad 2025-2026
|
||||
|
||||
- Ordinarie tak: **50 000 kr/person/år** ROT (gemensamt utrymme med RUT på 75 000 kr, varav max 50 000 kr ROT).
|
||||
- Ordinarie subventionsgrad: **30 % av arbetskostnaden**.
|
||||
- Tillfällig höjning **50 %** under perioden **2025-05-12 – 2025-12-31** enligt prop. 2024/25:156 / FiU32. Avgörande är **betalningsdatum**, inte fakturadatum.
|
||||
- Tillfällig höjning **50 %** under perioden **2025-05-12 till 2025-12-31** enligt prop. 2024/25:156 / FiU32. Avgörande är **betalningsdatum**, inte fakturadatum.
|
||||
- Återgång till 30 % från 2026-01-01.
|
||||
|
||||
## Dokumentationskrav vid utbetalningsbegäran (9 § HUSFL)
|
||||
@@ -38,7 +38,7 @@ Begäran lämnas via Skatteverkets e-tjänst senast **31 januari** året efter b
|
||||
|
||||
**Vid fakturering (2025-09-15):**
|
||||
- Debet **1511** Kundfordringar (kunddel) 25 000
|
||||
- Debet **1513** Kundfordringar – delad faktura (ROT-del) 18 750
|
||||
- Debet **1513** Kundfordringar, delad faktura (ROT-del) 18 750
|
||||
- Kredit **2611** Utgående moms 25 % 8 750
|
||||
- Kredit **3011** Försäljning tjänster 25 % moms 30 000
|
||||
- Kredit **3041** Försäljning varor 25 % moms 5 000
|
||||
@@ -59,7 +59,7 @@ Begäran lämnas via Skatteverkets e-tjänst senast **31 januari** året efter b
|
||||
- **Bostadsrätt där annan än sökanden bor permanent:** Ger inte ROT.
|
||||
- **Service/installation av maskiner och inventarier:** Ger inte ROT (67 kap. 13 c § IL).
|
||||
- **Arbete där försäkringsersättning lämnats:** Ger inte ROT (SKV dnr 131 338276-10/111).
|
||||
- **Material, frakt, maskinhyra, resor:** Aldrig ROT-grund – endast arbetskostnad.
|
||||
- **Material, frakt, maskinhyra, resor:** Aldrig ROT-grund: endast arbetskostnad.
|
||||
- **UE utför arbetet:** OK om huvudutförare har F-skatt och faktiskt utfört uppdraget (skenavtal vägras, jfr HFD 2018 ref. 49).
|
||||
- **Betalning kontant:** Inte ROT-grundande sedan 2020-01-01 (67 kap. 19 § IL).
|
||||
- **Avgränsning mot grön teknik:** SRN 2023-07-19 dnr 83-22/D – ROT och grön teknik har separata utrymmen; arbete kan inte räknas dubbelt.
|
||||
- **Avgränsning mot grön teknik:** SRN 2023-07-19 dnr 83-22/D: ROT och grön teknik har separata utrymmen; arbete kan inte räknas dubbelt.
|
||||
|
||||
@@ -3,7 +3,7 @@ id: vertical/e-handel
|
||||
tier: vertical
|
||||
title: "E-handel & näthandel (SNI 47.91 / 47.99)"
|
||||
description: >
|
||||
Svensk e-handelsbokföring (SNI 47.91, 47.99) med OSS/IOSS, plattformsclearing Stripe/Klarna/Adyen/PayPal/Shopify Payments, dropshipping-kedjetransaktioner, marketplace deemed supplier enligt 5 kap. 5–6 §§ ML 2023:200 och DAC7-rapportering. Trigga vid frågor om payouts, OSS-deklaration, IOSS-import ≤ 150 EUR, distansförsäljning till EU-konsumenter, reverse charge på Klaviyo/Meta/Google Ireland-fakturor, dropshipping från Kina via Shopify, försäljning via Amazon/eBay/Etsy/CDON/Fyndiq, presentkort/vouchers, ångerrätt, Lager- och E-handelsavtalet, payout-rekonciliering brutto/netto, FX-differens, eller kontoplanmappning för 1580/1581/2670/3106/4515/4535/4545/6040/6050. Distinkta arbetsmönster: brutto/netto-rekonciliering, OSS-tröskelövervakning (99 680 SEK/kalenderår), reverse charge på SaaS/ads, FX-redovisning per provider, periodisering av marketplace-provisioner.
|
||||
Svensk e-handelsbokföring (SNI 47.91, 47.99) med OSS/IOSS, plattformsclearing Stripe/Klarna/Adyen/PayPal/Shopify Payments, dropshipping-kedjetransaktioner, marketplace deemed supplier enligt 5 kap. 5-6 §§ ML 2023:200 och DAC7-rapportering. Trigga vid frågor om payouts, OSS-deklaration, IOSS-import ≤ 150 EUR, distansförsäljning till EU-konsumenter, reverse charge på Klaviyo/Meta/Google Ireland-fakturor, dropshipping från Kina via Shopify, försäljning via Amazon/eBay/Etsy/CDON/Fyndiq, presentkort/vouchers, ångerrätt, Lager- och E-handelsavtalet, payout-rekonciliering brutto/netto, FX-differens, eller kontoplanmappning för 1580/1581/2670/3106/4515/4535/4545/6040/6050. Distinkta arbetsmönster: brutto/netto-rekonciliering, OSS-tröskelövervakning (99 680 SEK/kalenderår), reverse charge på SaaS/ads, FX-redovisning per provider, periodisering av marketplace-provisioner.
|
||||
sni_prefixes: ["47.91", "47.99"]
|
||||
trigger_signals:
|
||||
text_patterns:
|
||||
@@ -45,169 +45,169 @@ version: 1
|
||||
|
||||
## 1. När denna skill ska laddas
|
||||
|
||||
Ladda denna skill när huvudboken visar minst två av: (a) konton 1580/1581/2670/3106/4535/6040/6050, (b) leverantörsfakturor från Stripe/Klarna/Adyen/PayPal/Shopify/Klaviyo/Meta/Google Ireland/Amazon Services, (c) OSS-deklaration i agendan, (d) klientens SNI börjar på 47.91 eller 47.99, eller (e) order-/payout-flöden från Shopify, Centra, WooCommerce, Magento eller marketplace-feed. Ladda EJ för ren fysisk butik (SNI 47.1x–47.7x utan distansförsäljning) — använd då `detaljhandel`-skillen. För hybrid (butik + e-handel) ladda båda.
|
||||
Ladda denna skill när huvudboken visar minst två av: (a) konton 1580/1581/2670/3106/4535/6040/6050, (b) leverantörsfakturor från Stripe/Klarna/Adyen/PayPal/Shopify/Klaviyo/Meta/Google Ireland/Amazon Services, (c) OSS-deklaration i agendan, (d) klientens SNI börjar på 47.91 eller 47.99, eller (e) order-/payout-flöden från Shopify, Centra, WooCommerce, Magento eller marketplace-feed. Ladda EJ för ren fysisk butik (SNI 47.1x-47.7x utan distansförsäljning): använd då `detaljhandel`-skillen. För hybrid (butik + e-handel) ladda båda.
|
||||
|
||||
## 2. Typiska arbetsmönster
|
||||
|
||||
**Faktureringskadens.** Order-driven: en intäktsrad per order vid leveransdatum (BFNAR 2013:2 5 kap. — leveransprincipen, ej orderdatum eller betalningsdatum). Vid förskottsbetalning bokförs mottaget belopp på **2420 Förskott från kunder** tills leveransen sker. Vid Klarna Pay Later/Slice it är fordran kvar på **1580/1513** tills Klarna godkänner och betalar ut. Plattformspayouts grupperas typiskt: Stripe dagligen (T+2 SEK, T+7 EUR/USD), Klarna 1–2 gånger/vecka (varierar per avtal), Shopify Payments dagligen, Adyen veckovis, PayPal manuellt eller veckovis, Amazon var 14:e dag (eller efter reserve).
|
||||
**Faktureringskadens.** Order-driven: en intäktsrad per order vid leveransdatum (BFNAR 2013:2 5 kap., leveransprincipen, ej orderdatum eller betalningsdatum). Vid förskottsbetalning bokförs mottaget belopp på **2420 Förskott från kunder** tills leveransen sker. Vid Klarna Pay Later/Slice it är fordran kvar på **1580/1513** tills Klarna godkänner och betalar ut. Plattformspayouts grupperas typiskt: Stripe dagligen (T+2 SEK, T+7 EUR/USD), Klarna 1-2 gånger/vecka (varierar per avtal), Shopify Payments dagligen, Adyen veckovis, PayPal manuellt eller veckovis, Amazon var 14:e dag (eller efter reserve).
|
||||
|
||||
**Kostnadsrytm.** Plattformsavgifter dagligen (per transaktion, debiteras netto från payout), CPC-marknadsföring dagligen (Google/Meta/TikTok faktureras månadsvis i efterhand mot tröskel), fulfilment och utgående frakt per order, SaaS-prenumerationer månadsvis i förskott (Shopify, Klaviyo, Gorgias, Sendcloud, Centra). **Reverse charge på i princip all EU-SaaS och ads** — Klaviyo (IE), Meta Ireland, Google Ireland, Stripe Technology Europe (IE), Shopify International (IE) levererar B2B-tjänster enligt huvudregeln 6 kap. 33 § ML 2023:200; kunden förvärvsbeskattar i Sverige (2614+2645, nettoeffekt 0 vid full avdragsrätt).
|
||||
**Kostnadsrytm.** Plattformsavgifter dagligen (per transaktion, debiteras netto från payout), CPC-marknadsföring dagligen (Google/Meta/TikTok faktureras månadsvis i efterhand mot tröskel), fulfilment och utgående frakt per order, SaaS-prenumerationer månadsvis i förskott (Shopify, Klaviyo, Gorgias, Sendcloud, Centra). **Reverse charge på i princip all EU-SaaS och ads**: Klaviyo (IE), Meta Ireland, Google Ireland, Stripe Technology Europe (IE), Shopify International (IE) levererar B2B-tjänster enligt huvudregeln 6 kap. 33 § ML 2023:200; kunden förvärvsbeskattar i Sverige (2614+2645, nettoeffekt 0 vid full avdragsrätt).
|
||||
|
||||
**Rekonciliering.** Tre matchningssteg behövs och måste byggas in i avstämningsroutinen: (1) order ledger (Shopify/Centra) ↔ payment provider gross (Stripe/Klarna), (2) provider gross minus avgifter ↔ payout till bank, (3) FX-differens mellan order-kursen och payout-kursen bokas på **3960/7960** vid settlement. Aggregerade dagsbokningar (1 verifikation/dag) tillåtna enligt BFNAR 2013:2 3 kap. 4 § om underlag bevaras digitalt; **kombinerade verifikationer för flera dagar är otillåtna**.
|
||||
|
||||
**Lön och kollektivavtal.** Lager- och E-handelsavtalet mellan **Svensk Handel** och **Handelsanställdas förbund**, avtalsperiod **2025-04-01 – 2027-03-31** (tecknat 2025-04-04). Arbetstid kan förläggas må–sö 05–24, begränsningsperiod max 13 veckor, mertidsersättning för deltidsanställda (nyhet 2025), arbetstidsförkortning vid tidiga/sena/helger-pass. Detta är ett *annat* avtal än Detaljhandelsavtalet — e-handelslager som drivs som självständig enhet (även hos hybridföretag) ska ligga under Lager- och E-handelsavtalet.
|
||||
**Lön och kollektivavtal.** Lager- och E-handelsavtalet mellan **Svensk Handel** och **Handelsanställdas förbund**, avtalsperiod **2025-04-01 till 2027-03-31** (tecknat 2025-04-04). Arbetstid kan förläggas må-sö 05-24, begränsningsperiod max 13 veckor, mertidsersättning för deltidsanställda (nyhet 2025), arbetstidsförkortning vid tidiga/sena/helger-pass. Detta är ett *annat* avtal än Detaljhandelsavtalet: e-handelslager som drivs som självständig enhet (även hos hybridföretag) ska ligga under Lager- och E-handelsavtalet.
|
||||
|
||||
## 3. BAS 2025 — konton denna vertikal lutar sig tungt mot
|
||||
## 3. BAS 2025: konton denna vertikal lutar sig tungt mot
|
||||
|
||||
Tabellen avser BAS 2025 v.1.0 (bas.se/kontoplaner/bas-2025). **Genomgående namnändring 2025: "omvänd skattskyldighet" → "omvänd betalningsskyldighet"** på 2614/2624/2634/2647 och 442x-konton.
|
||||
|
||||
| Konto | Officiellt namn (BAS 2025) | E-handel-kontext |
|
||||
|---|---|---|
|
||||
| 1580 | Fordringar för kontokort och kuponger | **Clearingkonto Stripe/Klarna/Adyen/PayPal/Shopify Payments** — ej 1684. Lägg upp underkonton 1581–1589 per provider. Saldo = orderintäkt mottagen av provider men ej utbetald till bank. |
|
||||
| 1513 | Kundfordringar — delad faktura | Klarna Pay Later/Slice it innan settlement, B2B-avbetalningsplaner. |
|
||||
| 1580 | Fordringar för kontokort och kuponger | **Clearingkonto Stripe/Klarna/Adyen/PayPal/Shopify Payments**: ej 1684. Lägg upp underkonton 1581-1589 per provider. Saldo = orderintäkt mottagen av provider men ej utbetald till bank. |
|
||||
| 1513 | Kundfordringar, delad faktura | Klarna Pay Later/Slice it innan settlement, B2B-avbetalningsplaner. |
|
||||
| 1930 | Företagskonto / checkkonto | Mottagarkonto för payout efter clearing från 1580. |
|
||||
| 1980 | Valutakonton | EUR/USD-konton för Stripe/PayPal-payouts som ligger kvar i FX innan växling — krav på månadsslutsvärdering till balansdagskurs (ÅRL 4 kap. 13 §). |
|
||||
| 2420 | Förskott från kunder | Betald order ej levererad — får ej intäktsföras (BFNAR 2013:2 leveransprincipen). |
|
||||
| 1980 | Valutakonton | EUR/USD-konton för Stripe/PayPal-payouts som ligger kvar i FX innan växling: krav på månadsslutsvärdering till balansdagskurs (ÅRL 4 kap. 13 §). |
|
||||
| 2420 | Förskott från kunder | Betald order ej levererad: får ej intäktsföras (BFNAR 2013:2 leveransprincipen). |
|
||||
| 2421 | Ej inlösta presentkort | Skuld för MPV (flerfunktionsvoucher) tills inlösen eller civilrättslig preskription. SPV (enfunktionsvoucher) bokförs som intäkt + moms redan vid försäljning av kortet. |
|
||||
| 2614 | Utgående moms, omvänd betalningsskyldighet, 25 % | EU-tjänster från Meta/Google/Klaviyo/Shopify (reverse charge) + EU-varuförvärv 4515 — **ej** OSS-distansförsäljning. |
|
||||
| 2615 | Utgående moms import av varor, 25 % | Importmoms vid tullklarering från tredjeland — motbokas mot 2645. |
|
||||
| 2645 | Beräknad ingående moms på förvärv från utlandet | Motkonto till 2614/2615 — nettoeffekt 0 vid full avdragsrätt. |
|
||||
| 2647 | Ingående moms, omvänd betalningsskyldighet varor och tjänster i Sverige | **Endast** inhemsk omvänd moms (bygg, mobiltelefoner ≥ 100 tkr) — sällsynt i ren e-handel. |
|
||||
| 2614 | Utgående moms, omvänd betalningsskyldighet, 25 % | EU-tjänster från Meta/Google/Klaviyo/Shopify (reverse charge) + EU-varuförvärv 4515, **ej** OSS-distansförsäljning. |
|
||||
| 2615 | Utgående moms import av varor, 25 % | Importmoms vid tullklarering från tredjeland: motbokas mot 2645. |
|
||||
| 2645 | Beräknad ingående moms på förvärv från utlandet | Motkonto till 2614/2615: nettoeffekt 0 vid full avdragsrätt. |
|
||||
| 2647 | Ingående moms, omvänd betalningsskyldighet varor och tjänster i Sverige | **Endast** inhemsk omvänd moms (bygg, mobiltelefoner ≥ 100 tkr), sällsynt i ren e-handel. |
|
||||
| 2650 | Redovisningskonto för moms | Nollställs vid momsdeklaration. |
|
||||
| 2670 | Utgående moms på försäljning inom EU, OSS | **Kritiskt** — avstämningskonto för OSS-deklarerad moms. Bygg underkonton per destinationsland och momssats för OSS-rapportgenerering. Tillkom i BAS 2024. |
|
||||
| 2670 | Utgående moms på försäljning inom EU, OSS | **Kritiskt**: avstämningskonto för OSS-deklarerad moms. Bygg underkonton per destinationsland och momssats för OSS-rapportgenerering. Tillkom i BAS 2024. |
|
||||
| 3001 / 3002 / 3003 | Försäljning inom Sverige 25/12/6 % | Standard B2C i Sverige; 3003 för e-böcker/digital prenumeration (sänkt 6 % sedan 2019). |
|
||||
| 3105 | Försäljning varor till land utanför EU | **Export** — UK efter Brexit, USA, Norge, Schweiz. Momsfritt, kräver exportbevis (tulldeklaration eller leveransbevis). |
|
||||
| 3106 | Försäljning varor till annat EU-land, momspliktig | **OSS-försäljningskontot** — destinationslandets moms redovisas via 2670. |
|
||||
| 3108 | Försäljning varor till annat EU-land, momsfri | **B2B intracommunity supply** — kräver giltigt VAT-nr i VIES och periodisk sammanställning enligt 35 kap. SFL (materiellt villkor sedan 2020-01-01, 10 kap. 43 § ML). |
|
||||
| 3105 | Försäljning varor till land utanför EU | **Export**: UK efter Brexit, USA, Norge, Schweiz. Momsfritt, kräver exportbevis (tulldeklaration eller leveransbevis). |
|
||||
| 3106 | Försäljning varor till annat EU-land, momspliktig | **OSS-försäljningskontot**: destinationslandets moms redovisas via 2670. |
|
||||
| 3108 | Försäljning varor till annat EU-land, momsfri | **B2B intracommunity supply**: kräver giltigt VAT-nr i VIES och periodisk sammanställning enligt 35 kap. SFL (materiellt villkor sedan 2020-01-01, 10 kap. 43 § ML). |
|
||||
| 3305 / 3308 | Försäljning tjänster utanför EU / inom EU | Digital tjänst/SaaS-export; B2C digitala tjänster går via OSS, B2B reverse charge hos kunden. |
|
||||
| 3520 / 3521 / 3522 | Fakturerade frakter (SE / EU / export) | Kunddebiterad frakt — följer huvudvarans momssats och destinationsregler. |
|
||||
| 3520 / 3521 / 3522 | Fakturerade frakter (SE / EU / export) | Kunddebiterad frakt: följer huvudvarans momssats och destinationsregler. |
|
||||
| 3740 | Öres- och kronutjämning | Avrundningsdifferenser Shopify/Centra → bokföring. |
|
||||
| 3960 / 7960 | Valutakursvinster/-förluster på fordringar och skulder av rörelsekaraktär | FX-effekt vid Stripe/PayPal-payout-växling. |
|
||||
| 4515–4518 | Inköp av varor från annat EU-land 25/12/6 %/momsfri | EU-grossistinköp till lager — triggar 2614+2645. |
|
||||
| 4531 | Inköp av tjänster från ett land utanför EU, 25 % | Reverse charge på US-SaaS (AWS, Cloudflare, Shopify US-fakturering) — triggar 2614+2645. |
|
||||
| 4515-4518 | Inköp av varor från annat EU-land 25/12/6 %/momsfri | EU-grossistinköp till lager: triggar 2614+2645. |
|
||||
| 4531 | Inköp av tjänster från ett land utanför EU, 25 % | Reverse charge på US-SaaS (AWS, Cloudflare, Shopify US-fakturering): triggar 2614+2645. |
|
||||
| 4535 | Inköp av tjänster från annat EU-land, 25 % | **Vanligaste reverse charge-kontot för e-handel**: Klaviyo (IE), Stripe (IE), Meta Ireland, Google Ireland, Shopify International (IE). |
|
||||
| 4545 | Import av varor, 25 % | Underlag för importmoms vid tullklarering — triggar 2615+2645. |
|
||||
| 4545 | Import av varor, 25 % | Underlag för importmoms vid tullklarering: triggar 2615+2645. |
|
||||
| 5440 | Förbrukningsemballage | Kartonger, fyllmaterial, tejp, polypåsar, fraktsedeletiketter. |
|
||||
| 5710 | Frakter, transporter och försäkringar vid varudistribution | PostNord, DHL, Bring, Instabox, Budbee, Schenker — utgående frakt till slutkund. |
|
||||
| 5720 | Tull- och speditionskostnader | Tullavgifter och DHL/UPS clearance fees — **ej** själva importmomsen. |
|
||||
| 5970 | Film-, radio-, TV- och Internetreklam | Google/Meta/TikTok/YouTube ads — konceptuellt rätt (5910 också vanlig praxis). |
|
||||
| 5710 | Frakter, transporter och försäkringar vid varudistribution | PostNord, DHL, Bring, Instabox, Budbee, Schenker: utgående frakt till slutkund. |
|
||||
| 5720 | Tull- och speditionskostnader | Tullavgifter och DHL/UPS clearance fees, **ej** själva importmomsen. |
|
||||
| 5970 | Film-, radio-, TV- och Internetreklam | Google/Meta/TikTok/YouTube ads: konceptuellt rätt (5910 också vanlig praxis). |
|
||||
| 5980 | PR, institutionell reklam och sponsring | Influencer marketing-arvoden. |
|
||||
| 6040 | Kontokortsavgifter | **Stripe/Adyen/Klarna/PayPal transaktionsavgifter** — konceptuellt korrekt (många bokföringsbyråer använder felaktigt 6570). |
|
||||
| 6040 | Kontokortsavgifter | **Stripe/Adyen/Klarna/PayPal transaktionsavgifter**: konceptuellt korrekt (många bokföringsbyråer använder felaktigt 6570). |
|
||||
| 6050 | Försäljningsprovisioner | **Marketplace-provisioner**: Amazon referral fees, CDON/Fyndiq, eBay final value, Etsy listing fees. |
|
||||
| 6062 | Inkasso och KFM-avgifter | Klarna/Qliro-kreditfees, inkasso på obetalda fakturor. |
|
||||
|
||||
**Avgörande korrigeringar mot vanliga felmappningar i andra skill-bibliotek:** 1684 är *inte* clearingkontot (det är "fordringar hos leverantörer") — använd **1580**. 2614/2624/2634 är reverse charge, inte OSS — OSS går på **2670 + 3106**. 3108 är EU-B2B *momsfritt*, inte export — export är **3105**. Kontona 4056 och 7920 finns inte i BAS 2025; korrekt är **4535** respektive **6040**. 561x-serien är personbilskostnader, inte logistik — logistik är **57x-serien**.
|
||||
**Avgörande korrigeringar mot vanliga felmappningar i andra skill-bibliotek:** 1684 är *inte* clearingkontot (det är "fordringar hos leverantörer"): använd **1580**. 2614/2624/2634 är reverse charge, inte OSS: OSS går på **2670 + 3106**. 3108 är EU-B2B *momsfritt*, inte export: export är **3105**. Kontona 4056 och 7920 finns inte i BAS 2025; korrekt är **4535** respektive **6040**. 561x-serien är personbilskostnader, inte logistik: logistik är **57x-serien**.
|
||||
|
||||
## 4. Regulatorisk hårddel (högst informationstäthet)
|
||||
|
||||
### 4.1 Momsregler unika för e-handel
|
||||
|
||||
**OSS — unionsintern distansförsäljning av varor (B2C).** Definition i 2 kap. 7 § ML 2023:200. Leveransort = destinationsland enligt 6 kap. 7 § ML. **Tröskelvärde 99 680 SEK / 10 000 EUR** per **kalenderår** (ej rullande 12 mån) i 6 kap. 62 § ML — gäller endast säljare etablerad enbart i Sverige och avser sammanlagd unionsintern distansförsäljning av varor **plus** TBE-tjänster till alla EU-länder. Tröskeln måste vara underskriden både innevarande och närmast föregående kalenderår. Vid överskridande från och med den transaktion som överskrider: antingen lokal momsregistrering i varje destinationsstat eller unionsordningen (OSS) i 22 kap. ML. Frivillig OSS under tröskeln är möjlig (bindande minst två kalenderår). Ikraftträdande för den EU-gemensamma tröskeln: 2021-07-01 (genom prop. 2019/20:122); överförd till nuvarande paragrafnumrering 2023-07-01.
|
||||
**OSS: unionsintern distansförsäljning av varor (B2C).** Definition i 2 kap. 7 § ML 2023:200. Leveransort = destinationsland enligt 6 kap. 7 § ML. **Tröskelvärde 99 680 SEK / 10 000 EUR** per **kalenderår** (ej rullande 12 mån) i 6 kap. 62 § ML: gäller endast säljare etablerad enbart i Sverige och avser sammanlagd unionsintern distansförsäljning av varor **plus** TBE-tjänster till alla EU-länder. Tröskeln måste vara underskriden både innevarande och närmast föregående kalenderår. Vid överskridande från och med den transaktion som överskrider: antingen lokal momsregistrering i varje destinationsstat eller unionsordningen (OSS) i 22 kap. ML. Frivillig OSS under tröskeln är möjlig (bindande minst två kalenderår). Ikraftträdande för den EU-gemensamma tröskeln: 2021-07-01 (genom prop. 2019/20:122); överförd till nuvarande paragrafnumrering 2023-07-01.
|
||||
|
||||
**IOSS — importordningen.** Definition i 2 kap. 8 § ML. Leveransort i 6 kap. 11 § ML (Sverige om transporten avslutas här och momsen redovisas via IOSS). 22 kap. ML reglerar själva ordningen. Gäller försändelser med **verkligt värde ≤ 150 EUR** (≈ 1 700 SEK enligt Tullverkets TFS 2022:5) exkl. punktskattepliktiga varor. Vid IOSS blir själva importen momsbefriad (10 kap. 65 § ML, art. 143.1 ca direktivet) och säljaren tar ut destinationslandets moms vid kassan. **22 EUR-import-frigränsen avskaffades 2021-07-01.** EU-grund: rådets direktiv (EU) 2017/2455 och 2019/1995. Saknas IOSS-nummer tas importmomsen ut av Tullverket vid gränsen från mottagaren/transportören.
|
||||
**IOSS: importordningen.** Definition i 2 kap. 8 § ML. Leveransort i 6 kap. 11 § ML (Sverige om transporten avslutas här och momsen redovisas via IOSS). 22 kap. ML reglerar själva ordningen. Gäller försändelser med **verkligt värde ≤ 150 EUR** (≈ 1 700 SEK enligt Tullverkets TFS 2022:5) exkl. punktskattepliktiga varor. Vid IOSS blir själva importen momsbefriad (10 kap. 65 § ML, art. 143.1 ca direktivet) och säljaren tar ut destinationslandets moms vid kassan. **22 EUR-import-frigränsen avskaffades 2021-07-01.** EU-grund: rådets direktiv (EU) 2017/2455 och 2019/1995. Saknas IOSS-nummer tas importmomsen ut av Tullverket vid gränsen från mottagaren/transportören.
|
||||
|
||||
**Marketplace deemed supplier.** Två fall i ML 2023:200: **5 kap. 5 §** — plattform anses ha köpt och sålt vid distansförsäljning av importerade varor ≤ 150 EUR via elektroniskt gränssnitt; **5 kap. 6 §** — plattform anses ha köpt och sålt vid leverans inom EU från icke-EU-etablerad säljare till EU-konsument (oavsett om transporten är gränsöverskridande eller inom samma EU-land). Transportallokering i 6 kap. 17 § ML. Beskattningsgrundande händelse = när betalningen godkänns (7 kap. ML, art. 66a direktivet). Bakomliggande säljarens leverans till plattformen är undantagen (10 kap. ML, art. 136a). **Skatteverkets ställningstagande dnr 8-1293055 (2021-10-29, uppdaterat 2023-06-26)**: deemed supplier-reglerna omfattar inte förmedling i eget namn (då gäller 5 kap. 4 § ML); varorna måste fysiskt befinna sig inom EU när betalningen godkänns för 5 kap. 6 §; vid flerstegsförsäljning av importerade varor ≤ 150 EUR hänförs transporten till sista ledet. Se även **HFD mål nr 5815-22 (2023-02-24)** för kriterier kring "förmedling i eget namn".
|
||||
**Marketplace deemed supplier.** Två fall i ML 2023:200: **5 kap. 5 §**: plattform anses ha köpt och sålt vid distansförsäljning av importerade varor ≤ 150 EUR via elektroniskt gränssnitt; **5 kap. 6 §**: plattform anses ha köpt och sålt vid leverans inom EU från icke-EU-etablerad säljare till EU-konsument (oavsett om transporten är gränsöverskridande eller inom samma EU-land). Transportallokering i 6 kap. 17 § ML. Beskattningsgrundande händelse = när betalningen godkänns (7 kap. ML, art. 66a direktivet). Bakomliggande säljarens leverans till plattformen är undantagen (10 kap. ML, art. 136a). **Skatteverkets ställningstagande dnr 8-1293055 (2021-10-29, uppdaterat 2023-06-26)**: deemed supplier-reglerna omfattar inte förmedling i eget namn (då gäller 5 kap. 4 § ML); varorna måste fysiskt befinna sig inom EU när betalningen godkänns för 5 kap. 6 §; vid flerstegsförsäljning av importerade varor ≤ 150 EUR hänförs transporten till sista ledet. Se även **HFD mål nr 5815-22 (2023-02-24)** för kriterier kring "förmedling i eget namn".
|
||||
|
||||
**Dropshipping och kedjetransaktioner.** 6 kap. 14–17 §§ ML 2023:200 (motsvarar tidigare GML 5 kap. 2 e §). Huvudregel i 6 kap. 15 §: transporten hänförs till leveransen *till* mellanhanden. Undantag: om mellanhanden meddelat säljaren sitt VAT-nr **i avgångslandet** hänförs transporten till leveransen *från* mellanhanden. Detta är "Quick Fixes"-regeln (direktiv (EU) 2018/1910, art. 36a), ikraft i Sverige **2020-01-01** genom prop. 2018/19:160. Förenklingsregeln för trepartshandel kräver att alla tre parter är momsregistrerade i var sitt EU-land (10 kap. ML, art. 141 direktivet). Vid dropshipping från tredjeland direkt till EU-konsument med plattform i kedjan: se dnr 8-1293055 — transporten hänförs till sista ledet.
|
||||
**Dropshipping och kedjetransaktioner.** 6 kap. 14-17 §§ ML 2023:200 (motsvarar tidigare GML 5 kap. 2 e §). Huvudregel i 6 kap. 15 §: transporten hänförs till leveransen *till* mellanhanden. Undantag: om mellanhanden meddelat säljaren sitt VAT-nr **i avgångslandet** hänförs transporten till leveransen *från* mellanhanden. Detta är "Quick Fixes"-regeln (direktiv (EU) 2018/1910, art. 36a), ikraft i Sverige **2020-01-01** genom prop. 2018/19:160. Förenklingsregeln för trepartshandel kräver att alla tre parter är momsregistrerade i var sitt EU-land (10 kap. ML, art. 141 direktivet). Vid dropshipping från tredjeland direkt till EU-konsument med plattform i kedjan: se dnr 8-1293055: transporten hänförs till sista ledet.
|
||||
|
||||
**Returer och kreditfakturor (cross-border).** 8 kap. 14 § ML 2023:200 (prisnedsättning efter tillhandahållande minskar beskattningsunderlaget). 8 kap. 15 § ML (återtagande av vara vid avbetalningsköp). 17 kap. ML (kreditnotans formkrav). Vid OSS-försäljning korrigeras OSS-deklarationen genom justering i en senare period med hänvisning till ursprunglig deklaration enligt 22 kap. ML och kommissionens genomförandeförordning (EU) 2020/194. EU-grund: art. 90.1 direktivet 2006/112/EG.
|
||||
|
||||
**Vouchers — enfunktion vs flerfunktion.** 2 kap. 26–27 §§ ML (definitioner). 5 kap. 40–44 §§ ML (beskattningsbara transaktioner) — kontrollera konsoliderad version efter SFS 2024:942-renumreringen från 2025-01-01. **SPV (enfunktion)** — beskattningsland och momssats kända vid utställandet → moms vid varje överlåtelse. **MPV (flerfunktion)** — moms först vid inlösen. Distributionstjänster för MPV är separat momspliktiga. EU-grund: rådets direktiv (EU) 2016/1065 (voucher-direktivet), implementerat i Sverige **2019-01-01**. Skatteverkets vägledning: **dnr 202 488720-18/111 (2018-11-26)** och **dnr 202 508158-18/111 (2018-12-06)** — fortsatt giltiga med paragrafnyckel till ML 2023:200.
|
||||
**Vouchers: enfunktion vs flerfunktion.** 2 kap. 26-27 §§ ML (definitioner). 5 kap. 40-44 §§ ML (beskattningsbara transaktioner): kontrollera konsoliderad version efter SFS 2024:942-renumreringen från 2025-01-01. **SPV (enfunktion)**: beskattningsland och momssats kända vid utställandet → moms vid varje överlåtelse. **MPV (flerfunktion)**: moms först vid inlösen. Distributionstjänster för MPV är separat momspliktiga. EU-grund: rådets direktiv (EU) 2016/1065 (voucher-direktivet), implementerat i Sverige **2019-01-01**. Skatteverkets vägledning: **dnr 202 488720-18/111 (2018-11-26)** och **dnr 202 508158-18/111 (2018-12-06)**: fortsatt giltiga med paragrafnyckel till ML 2023:200.
|
||||
|
||||
**B2B-identifiering via VIES.** 10 kap. 42–43 §§ ML 2023:200 — momsfri unionsintern leverans kräver (1) köpare beskattningsbar/juridisk person med momsregistrering i annat EU-land, (2) **giltigt VAT-nr verifierat i VIES**, (3) korrekt periodisk sammanställning enligt 35 kap. SFL. Dessa är **materiella** villkor sedan 2020-01-01 (Quick Fixes, direktiv (EU) 2018/1910) — ej längre enbart formella. Saknas giltigt VAT-nr → svensk moms ska tas ut.
|
||||
**B2B-identifiering via VIES.** 10 kap. 42-43 §§ ML 2023:200: momsfri unionsintern leverans kräver (1) köpare beskattningsbar/juridisk person med momsregistrering i annat EU-land, (2) **giltigt VAT-nr verifierat i VIES**, (3) korrekt periodisk sammanställning enligt 35 kap. SFL. Dessa är **materiella** villkor sedan 2020-01-01 (Quick Fixes, direktiv (EU) 2018/1910), ej längre enbart formella. Saknas giltigt VAT-nr → svensk moms ska tas ut.
|
||||
|
||||
### 4.2 Bokföringsregler unika för e-handel
|
||||
|
||||
**Tidpunkt för intäktsredovisning.** BFNAR 2013:2 (om bokföring) 5 kap. — leveransprincipen styr; det är inte orderdatum eller betalningsdatum. För K2-företag preciserat i BFNAR 2016:10 3 kap. 4–7 §§ (rätten till ersättning övergår vid leverans/utförande). Vid förskott (betald order, ej levererad): **2420 Förskott från kunder**, ingen intäkt och ingen utgående moms vid mottagandet (moms uppkommer först vid leverans — undantag: enfunktionsvoucher beskattas vid utställandet).
|
||||
**Tidpunkt för intäktsredovisning.** BFNAR 2013:2 (om bokföring) 5 kap.: leveransprincipen styr; det är inte orderdatum eller betalningsdatum. För K2-företag preciserat i BFNAR 2016:10 3 kap. 4-7 §§ (rätten till ersättning övergår vid leverans/utförande). Vid förskott (betald order, ej levererad): **2420 Förskott från kunder**, ingen intäkt och ingen utgående moms vid mottagandet (moms uppkommer först vid leverans, undantag: enfunktionsvoucher beskattas vid utställandet).
|
||||
|
||||
**Kassaregister-undantaget.** Lag (2007:592) **upphävdes 2012-01-01** av SFS 2011:1244 — gällande regler i **39 kap. skatteförfarandelagen (2011:1244)**. **39 kap. 5 § SFL undantar ren e-handel** (distansavtal enligt 2005:59). Hybridfall: självständiga verksamheter bedöms var för sig — om fysisk butik tar emot kontant/kort/Swish över 4 prisbasbelopp/år krävs kassaregister för butiksdelen, men e-handelsdelen är undantagen. Click-and-collect där betalning sker online räknas som distansavtal; betalning vid hämtning i butik räknas som fysisk handel.
|
||||
**Kassaregister-undantaget.** Lag (2007:592) **upphävdes 2012-01-01** av SFS 2011:1244: gällande regler i **39 kap. skatteförfarandelagen (2011:1244)**. **39 kap. 5 § SFL undantar ren e-handel** (distansavtal enligt 2005:59). Hybridfall: självständiga verksamheter bedöms var för sig: om fysisk butik tar emot kontant/kort/Swish över 4 prisbasbelopp/år krävs kassaregister för butiksdelen, men e-handelsdelen är undantagen. Click-and-collect där betalning sker online räknas som distansavtal; betalning vid hämtning i butik räknas som fysisk handel.
|
||||
|
||||
**Periodisering av plattformsavgifter.** Procentbaserade avgifter (Stripe 1,4 % + 1,80 kr för EEA-kort etc.) periodiseras till samma period som transaktionen genererades, även om de debiteras netto i nästa payout. Månatliga SaaS-avgifter och fasta plattformsavgifter periodiseras månadsvis (interimsskuld eller -fordran om faktureringsperiod ej följer kalendermånad).
|
||||
|
||||
**Lagerredovisning vid dropshipping.** Säljaren äger aldrig lagret → ingen lagervärdering enligt BFNAR 2016:10 (K2) eller BFNAR 2012:1 (K3). Vid hybridmodell (eget lager + dropship-sortiment) ska dropship-sortimentet inte ingå i lagervärdet vid bokslut.
|
||||
|
||||
**Plattformsclearing — brutto vs netto.** Bokföringsmässigt och momsmässigt **brutto-princip krävs**: full försäljning på 3001/3106 etc., utgående moms separat, plattformsavgift som separat kostnad på 6040 eller 6050. Detta är inte förhandlingsbart — Skatteverket kräver bruttoredovisning för moms (1 kap. ML; jfr även BFL 5 kap. 6 § om netto-bokning bara där intäkt och kostnad har klart samband med samma transaktion och nettot är obetydligt). Stripe-avgifter har inte momsmässigt samband med varuförsäljningen.
|
||||
**Plattformsclearing: brutto vs netto.** Bokföringsmässigt och momsmässigt **brutto-princip krävs**: full försäljning på 3001/3106 etc., utgående moms separat, plattformsavgift som separat kostnad på 6040 eller 6050. Detta är inte förhandlingsbart: Skatteverket kräver bruttoredovisning för moms (1 kap. ML; jfr även BFL 5 kap. 6 § om netto-bokning bara där intäkt och kostnad har klart samband med samma transaktion och nettot är obetydligt). Stripe-avgifter har inte momsmässigt samband med varuförsäljningen.
|
||||
|
||||
### 4.3 Sektorlagar
|
||||
|
||||
**Distansavtalslagen — lag (2005:59) om distansavtal och avtal utanför affärslokaler.** Ångerrätt 14 dagar (**2 kap. 10 §**), fristens början (2 kap. 12 §), förlängd frist upp till 12 mån vid informationsbrist (2 kap. 2 §), undantag från ångerrätt (2 kap. 11 § — specialtillverkade, livsmedel, lösnummer, plomberade hygienartiklar, evenemangsbiljetter, digitalt innehåll efter levererad fullgörelse). Återbetalning inom 14 dagar (2 kap. 14 §). Värdeminskningsavdrag (2 kap. 15 §). Online-marknadsplatser har särskilda informationskrav i 2 kap. 2 a § (näringsidkare vs privatperson, rankningskriterier). **SFS 2026:246** inför 19 juni 2026 krav på "ångerknapp" i onlinegränssnitt.
|
||||
**Distansavtalslagen: lag (2005:59) om distansavtal och avtal utanför affärslokaler.** Ångerrätt 14 dagar (**2 kap. 10 §**), fristens början (2 kap. 12 §), förlängd frist upp till 12 mån vid informationsbrist (2 kap. 2 §), undantag från ångerrätt (2 kap. 11 §: specialtillverkade, livsmedel, lösnummer, plomberade hygienartiklar, evenemangsbiljetter, digitalt innehåll efter levererad fullgörelse). Återbetalning inom 14 dagar (2 kap. 14 §). Värdeminskningsavdrag (2 kap. 15 §). Online-marknadsplatser har särskilda informationskrav i 2 kap. 2 a § (näringsidkare vs privatperson, rankningskriterier). **SFS 2026:246** inför 19 juni 2026 krav på "ångerknapp" i onlinegränssnitt.
|
||||
|
||||
**Konsumentköplagen (2022:260).** Ikraft 2022-05-01, ersätter KKL 1990:932. Genomför direktiv (EU) 2019/771 och 2019/770. Reklamationstid/näringsidkaransvar **3 år från avlämnandet** (4 kap. 14 §). **Omvänd bevisbörda 2 år** (4 kap. 17 §) — fel som visar sig inom 2 år presumeras ha funnits vid avlämnandet (höjt från 6 månader). Uppdateringsskyldighet på varor med digitala delar (4 kap. 4 §). 9 kap. reglerar digitalt innehåll/digitala tjänster, inkl. avtal där betalningen utgörs av personuppgifter (9 kap. 7 §).
|
||||
**Konsumentköplagen (2022:260).** Ikraft 2022-05-01, ersätter KKL 1990:932. Genomför direktiv (EU) 2019/771 och 2019/770. Reklamationstid/näringsidkaransvar **3 år från avlämnandet** (4 kap. 14 §). **Omvänd bevisbörda 2 år** (4 kap. 17 §): fel som visar sig inom 2 år presumeras ha funnits vid avlämnandet (höjt från 6 månader). Uppdateringsskyldighet på varor med digitala delar (4 kap. 4 §). 9 kap. reglerar digitalt innehåll/digitala tjänster, inkl. avtal där betalningen utgörs av personuppgifter (9 kap. 7 §).
|
||||
|
||||
**E-handelslagen — lag (2002:562) om elektronisk handel.** Informationskrav om tjänsteleverantören i 8–9 §§ (namn, org.nr, gatuadress, e-post, momsregnr, ev. registrering). Beställningskrav i 10–11 §§ (tekniska steg, möjlighet att upptäcka och rätta inmatningsfel, språk, sparbar varaktig form av villkor). Bekräftelse utan dröjsmål (12 §). Påföljd via marknadsföringslagen (15 §).
|
||||
**E-handelslagen: lag (2002:562) om elektronisk handel.** Informationskrav om tjänsteleverantören i 8-9 §§ (namn, org.nr, gatuadress, e-post, momsregnr, ev. registrering). Beställningskrav i 10-11 §§ (tekniska steg, möjlighet att upptäcka och rätta inmatningsfel, språk, sparbar varaktig form av villkor). Bekräftelse utan dröjsmål (12 §). Påföljd via marknadsföringslagen (15 §).
|
||||
|
||||
**GDPR (EU) 2016/679** + kompletterande lag (2018:218). Rättslig grund för kundregister: avtalsuppfyllelse (köp) — art. 6.1 b; berättigat intresse (befintliga kunder, marknadsföring) — art. 6.1 f; samtycke (nyhetsbrev till nya kontakter, cookies utanför funktionella) — art. 6.1 a. Lagringsbegränsning art. 5.1 e — kundregister får inte sparas längre än nödvändigt; **bokföringslagens 7-årskrav på räkenskapsinformation (BFL 7 kap. 2 §) är specialregel** och tar över för fakturor/orderdata. Biträdesavtal (art. 28) med Shopify, Klaviyo, Stripe, fraktbolag, ESP. Cookies regleras via LEK (2022:482).
|
||||
**GDPR (EU) 2016/679** + kompletterande lag (2018:218). Rättslig grund för kundregister: avtalsuppfyllelse (köp): art. 6.1 b; berättigat intresse (befintliga kunder, marknadsföring): art. 6.1 f; samtycke (nyhetsbrev till nya kontakter, cookies utanför funktionella): art. 6.1 a. Lagringsbegränsning art. 5.1 e: kundregister får inte sparas längre än nödvändigt; **bokföringslagens 7-årskrav på räkenskapsinformation (BFL 7 kap. 2 §) är specialregel** och tar över för fakturor/orderdata. Biträdesavtal (art. 28) med Shopify, Klaviyo, Stripe, fraktbolag, ESP. Cookies regleras via LEK (2022:482).
|
||||
|
||||
**Marknadsföringslagen (2008:486).** 5 § (god marknadsföringssed), 7 § (aggressiv), 8 § (transaktionstest), 10 § (vilseledande), 12 § (köperbjudande). Omnibus-ändringar **ikraft 2022-09-01** (ej 2023-01-01 — vanligt felaktigt datum): **12 c §** transparenskrav vid konsumentrecensioner; svarta listan p. 23a–23c (förbud mot falska/manipulerade recensioner, oavslöjade betalda placeringar). **Prisinformationslagen (2004:347) 7 a §** — 30-dagars-regeln: vid prissänkning ska lägsta pris under senaste 30 dagarna anges. Sanktionsavgift upp till **4 % av årsomsättningen** för flagranta överträdelser (Omnibus).
|
||||
**Marknadsföringslagen (2008:486).** 5 § (god marknadsföringssed), 7 § (aggressiv), 8 § (transaktionstest), 10 § (vilseledande), 12 § (köperbjudande). Omnibus-ändringar **ikraft 2022-09-01** (ej 2023-01-01, vanligt felaktigt datum): **12 c §** transparenskrav vid konsumentrecensioner; svarta listan p. 23a-23c (förbud mot falska/manipulerade recensioner, oavslöjade betalda placeringar). **Prisinformationslagen (2004:347) 7 a §**, 30-dagars-regeln: vid prissänkning ska lägsta pris under senaste 30 dagarna anges. Sanktionsavgift upp till **4 % av årsomsättningen** för flagranta överträdelser (Omnibus).
|
||||
|
||||
**Penningtvättslagen (2017:630).** **Ren varuförsäljning omfattas normalt INTE** — tröskeln 15 000 EUR för varuförsäljning togs bort genom SFS 2019:608/774. Plattform som tillhandahåller betaltjänster, escrow, peer-to-peer-överföringar eller e-pengar omfattas dock som verksamhetsutövare (1 kap. 2 § p 8/9). Konstförmedling ≥ 10 000 EUR omfattas alltid. Krypto-tillgångar omfattas.
|
||||
**Penningtvättslagen (2017:630).** **Ren varuförsäljning omfattas normalt INTE**: tröskeln 15 000 EUR för varuförsäljning togs bort genom SFS 2019:608/774. Plattform som tillhandahåller betaltjänster, escrow, peer-to-peer-överföringar eller e-pengar omfattas dock som verksamhetsutövare (1 kap. 2 § p 8/9). Konstförmedling ≥ 10 000 EUR omfattas alltid. Krypto-tillgångar omfattas.
|
||||
|
||||
**Produktsäkerhet.** **GPSR — förordning (EU) 2023/988** tillämpas **från 2024-12-13** och är direkt tillämplig; ersätter direktiv 2001/95/EG. Lag (2004:451) gäller fortsatt för tjänster och för varor som släpptes ut på marknaden före 2024-12-13. För e-handel: krav på spårbarhet av säljare (artikel 9), informationskrav vid distansförsäljning (artikel 19), återkallelseprocedurer.
|
||||
**Produktsäkerhet.** **GPSR: förordning (EU) 2023/988** tillämpas **från 2024-12-13** och är direkt tillämplig; ersätter direktiv 2001/95/EG. Lag (2004:451) gäller fortsatt för tjänster och för varor som släpptes ut på marknaden före 2024-12-13. För e-handel: krav på spårbarhet av säljare (artikel 9), informationskrav vid distansförsäljning (artikel 19), återkallelseprocedurer.
|
||||
|
||||
### 4.4 EU-regler (utöver moms-paketet)
|
||||
|
||||
**DAC7 — direktiv (EU) 2021/514.** Svensk transponering: **lag (2022:1681)** om plattformsoperatörers inhämtande av vissa uppgifter (POL) + **lag (2022:1682)** om automatiskt utbyte + förordningar 2022:1692 och 2022:1693 + **22 c kap. skatteförfarandelagen**. Ikraft 2023-01-01; första rapportering **2024-01-31** för år 2023. Omfattar plattformar som förmedlar uthyrning av fast egendom, personliga tjänster, försäljning av varor, uthyrning av transportmedel. Säljarundantag för varor: **färre än 30 transaktioner OCH högst 2 000 EUR** per kalenderår (båda måste vara uppfyllda). Plattformsavgift **2 500–12 500 kr** per utebliven/felaktig kontrolluppgift. Dokumentationsbevarande 7 år (POL 6 kap. 14 §).
|
||||
**DAC7: direktiv (EU) 2021/514.** Svensk transponering: **lag (2022:1681)** om plattformsoperatörers inhämtande av vissa uppgifter (POL) + **lag (2022:1682)** om automatiskt utbyte + förordningar 2022:1692 och 2022:1693 + **22 c kap. skatteförfarandelagen**. Ikraft 2023-01-01; första rapportering **2024-01-31** för år 2023. Omfattar plattformar som förmedlar uthyrning av fast egendom, personliga tjänster, försäljning av varor, uthyrning av transportmedel. Säljarundantag för varor: **färre än 30 transaktioner OCH högst 2 000 EUR** per kalenderår (båda måste vara uppfyllda). Plattformsavgift **2 500-12 500 kr** per utebliven/felaktig kontrolluppgift. Dokumentationsbevarande 7 år (POL 6 kap. 14 §).
|
||||
|
||||
**Geoblocking — förordning (EU) 2018/302** + kompletterande lag (2019:59).
|
||||
**Geoblocking: förordning (EU) 2018/302** + kompletterande lag (2019:59).
|
||||
|
||||
**P2B — förordning (EU) 2019/1150.** Krav på online-marknadsplatser gentemot säljare: tydliga villkor (art. 3), 15 dagars notice vid ändring, 30 dagars varsel vid suspension (art. 4), rankningstransparens (art. 5), internt klagomålssystem (art. 11).
|
||||
**P2B: förordning (EU) 2019/1150.** Krav på online-marknadsplatser gentemot säljare: tydliga villkor (art. 3), 15 dagars notice vid ändring, 30 dagars varsel vid suspension (art. 4), rankningstransparens (art. 5), internt klagomålssystem (art. 11).
|
||||
|
||||
**DSA — förordning (EU) 2022/2065.** Tillämpas fullt ut **från 2024-02-17**. Marknadsplatser som möjliggör B2C-avtal har särskilda krav: KYBC (art. 30, spårbarhet av säljare), transparens om reklam, mekanismer för rapportering av olagligt innehåll/produkter. Sanktion upp till 6 % av global årsomsättning. Tillsyn: PTS (samordnare), Mediemyndigheten, Konsumentverket.
|
||||
**DSA: förordning (EU) 2022/2065.** Tillämpas fullt ut **från 2024-02-17**. Marknadsplatser som möjliggör B2C-avtal har särskilda krav: KYBC (art. 30, spårbarhet av säljare), transparens om reklam, mekanismer för rapportering av olagligt innehåll/produkter. Sanktion upp till 6 % av global årsomsättning. Tillsyn: PTS (samordnare), Mediemyndigheten, Konsumentverket.
|
||||
|
||||
**Omnibus-direktivet (EU) 2019/2161.** Genomfört genom prop. 2021/22:174 — ikraft **2022-09-01** (vissa delar 2022-05-28 via svarta listan).
|
||||
**Omnibus-direktivet (EU) 2019/2161.** Genomfört genom prop. 2021/22:174: ikraft **2022-09-01** (vissa delar 2022-05-28 via svarta listan).
|
||||
|
||||
### 4.5 Skatteverket-ställningstaganden och HFD (2020–2025)
|
||||
### 4.5 Skatteverket-ställningstaganden och HFD (2020-2025)
|
||||
|
||||
| Typ | Dnr / Mål nr | Datum | Ämne |
|
||||
|---|---|---|---|
|
||||
| SKV ställningstagande | **8-1293055** | 2021-10-29 (uppd. 2023-06-26) | Plattformsförsäljning / deemed supplier 5 kap. 5–6 §§ ML — transportallokering vid flerstegsförsäljning av importerade varor ≤ 150 EUR |
|
||||
| SKV ställningstagande | **8-2059749** | 2022-12-19 | Elektroniska tjänster via marknadsplatser — presumtion om förmedlare som säljare (art. 9a genomförandeförordning 282/2011) |
|
||||
| SKV ställningstagande | **8-5507** | 2020-01-13 | Betaltjänster och undantaget från skatteplikt — momsfri endast vid rättsliga/ekonomiska förändringar mellan betalare och mottagare; rena tekniska/administrativa tjänster är momspliktiga (avgör avdragsrätt på Stripe/Klarna/Adyen-avgifter) |
|
||||
| SKV ställningstagande | **8-1293055** | 2021-10-29 (uppd. 2023-06-26) | Plattformsförsäljning / deemed supplier 5 kap. 5-6 §§ ML: transportallokering vid flerstegsförsäljning av importerade varor ≤ 150 EUR |
|
||||
| SKV ställningstagande | **8-2059749** | 2022-12-19 | Elektroniska tjänster via marknadsplatser: presumtion om förmedlare som säljare (art. 9a genomförandeförordning 282/2011) |
|
||||
| SKV ställningstagande | **8-5507** | 2020-01-13 | Betaltjänster och undantaget från skatteplikt: momsfri endast vid rättsliga/ekonomiska förändringar mellan betalare och mottagare; rena tekniska/administrativa tjänster är momspliktiga (avgör avdragsrätt på Stripe/Klarna/Adyen-avgifter) |
|
||||
| SKV ställningstagande | **8-314934** | 2020-09-25 | Förmedling av tjänster i eget vs annans namn |
|
||||
| SKV ställningstagande | **8-498120** | 2020-09-25 | Förmedling av varor i annans namn |
|
||||
| SKV ställningstagande | **202 488720-18/111** | 2018-11-26 | Vouchers (SPV/MPV) — fortsatt giltigt under ML 2023:200 |
|
||||
| SKV ställningstagande | **202 488720-18/111** | 2018-11-26 | Vouchers (SPV/MPV): fortsatt giltigt under ML 2023:200 |
|
||||
| SKV ställningstagande | **202 508158-18/111** | 2018-12-06 | Fakturering och redovisning av vouchers |
|
||||
| SKV ställningstagande | **8-155570-2025** | 2025-05-02 | Betalningsskyldig för importmoms — deklaranten i tulldeklarationen redovisar i sin momsdeklaration (gemensamt SKV/Tullverket) |
|
||||
| HFD-dom | **Mål nr 5815-22** | 2023-02-24 | Vårdplattform — kriterier för "förmedling i eget namn" (analogt tillämpbart på e-handelsplattformar) |
|
||||
| HFD-dom | **Mål nr 4610-21** | 2022-01-07 | Mellanbanksavgifter / kortinlösen — inlösentjänst momsfri; mellanbanksavgift ej ersättning för tjänst |
|
||||
| HFD 2023 ref. 45 | **Mål nr 7254–7255-22** | 2023-10-16 | Omsättningsbaserad fördelningsgrund vid blandad verksamhet — direkt effekt av art. 173–174 direktivet |
|
||||
| SKV ställningstagande | **8-155570-2025** | 2025-05-02 | Betalningsskyldig för importmoms: deklaranten i tulldeklarationen redovisar i sin momsdeklaration (gemensamt SKV/Tullverket) |
|
||||
| HFD-dom | **Mål nr 5815-22** | 2023-02-24 | Vårdplattform: kriterier för "förmedling i eget namn" (analogt tillämpbart på e-handelsplattformar) |
|
||||
| HFD-dom | **Mål nr 4610-21** | 2022-01-07 | Mellanbanksavgifter / kortinlösen: inlösentjänst momsfri; mellanbanksavgift ej ersättning för tjänst |
|
||||
| HFD 2023 ref. 45 | **Mål nr 7254-7255-22** | 2023-10-16 | Omsättningsbaserad fördelningsgrund vid blandad verksamhet: direkt effekt av art. 173-174 direktivet |
|
||||
|
||||
## 5. De tre högsta felfrekvensscenarierna
|
||||
|
||||
### 5.1 OSS-tröskel överskriden — fortsatt svensk moms i kassan
|
||||
### 5.1 OSS-tröskel överskriden: fortsatt svensk moms i kassan
|
||||
**Fel:** Säljaren passerar 99 680 SEK i samlad EU-B2C-omsättning (varor + TBE-tjänster) och fortsätter ta ut 25 % svensk moms på order till EU-konsumenter. Bokföring kvar på 3001 + 2611.
|
||||
**Rätt:** Från och med **den transaktion som överskrider tröskeln** beskattas i destinationsland (6 kap. 7 § + 6 kap. 63 § ML 2023:200). Antingen registrera i unionsordningen (OSS, 22 kap. ML) via Skatteverket e-tjänst eller momsregistrera i varje destinationsstat. Bokföringsmässigt: bruttointäkt på **3106** per destinationsland, destinationslandets moms på **2670** med underkonto per land/sats. Kvartalsvis OSS-deklaration i SEK omräknad till EUR enligt ECB-kursen sista dagen i deklarationsperioden. Korrigering vid retur sker i senare OSS-period med referens till ursprunglig deklaration (kommissionens genomförandeförordning (EU) 2020/194).
|
||||
**Lagstöd:** 6 kap. 7, 62–65 §§ ML 2023:200; 22 kap. ML; prop. 2019/20:122.
|
||||
**Lagstöd:** 6 kap. 7, 62-65 §§ ML 2023:200; 22 kap. ML; prop. 2019/20:122.
|
||||
|
||||
### 5.2 Plattformspayouts (Stripe/Klarna/Adyen) bokförda netto
|
||||
**Fel:** Daglig payout om 87 600 SEK (efter 2 400 SEK Stripe-avgift på 90 000 brutto) bokförs i sin helhet som 3001 + 2611 → omsättning underskattas, ingående moms på den momspliktiga delen av Stripe-tjänsten missas, marketplace-provisioner från Amazon/CDON syns inte i resultaträkningen som kostnad.
|
||||
**Rätt:** Brutto-redovisning krävs. Stegvis: (a) vid orderbekräftelse/leverans bokas brutto försäljning 3001 (eller 3106 för OSS) + utgående moms 2611/2670 mot fordran **1580/1581** per provider; (b) avgiften bokas separat som kostnad på **6040** (kontokortsavgifter, Stripe/Adyen/Klarna) eller **6050** (marketplace-provisioner Amazon/CDON/Fyndiq/eBay) — reverse charge på EU-providers (Stripe Technology Europe IE, Klarna SE → ingen RC, Adyen NL) tillämpas på den momspliktiga komponenten enligt dnr 8-5507; (c) faktisk bankpayout bokas mot 1580 → 1930; (d) FX-differens på fordringskontot vid settlement bokas på 3960/7960. **HFD mål 4610-21 (2022-01-07)** stödjer att kortinlösen är momsfri men närliggande tekniska tjänster är momspliktiga — uppdelning krävs ofta. Vid fakturaspecifikation från providern följ deras momsklassificering per komponent.
|
||||
**Rätt:** Brutto-redovisning krävs. Stegvis: (a) vid orderbekräftelse/leverans bokas brutto försäljning 3001 (eller 3106 för OSS) + utgående moms 2611/2670 mot fordran **1580/1581** per provider; (b) avgiften bokas separat som kostnad på **6040** (kontokortsavgifter, Stripe/Adyen/Klarna) eller **6050** (marketplace-provisioner Amazon/CDON/Fyndiq/eBay): reverse charge på EU-providers (Stripe Technology Europe IE, Klarna SE → ingen RC, Adyen NL) tillämpas på den momspliktiga komponenten enligt dnr 8-5507; (c) faktisk bankpayout bokas mot 1580 → 1930; (d) FX-differens på fordringskontot vid settlement bokas på 3960/7960. **HFD mål 4610-21 (2022-01-07)** stödjer att kortinlösen är momsfri men närliggande tekniska tjänster är momspliktiga: uppdelning krävs ofta. Vid fakturaspecifikation från providern följ deras momsklassificering per komponent.
|
||||
**Lagstöd:** Bruttoprincip 1 kap. ML 2023:200; BFL 5 kap. 6 §; dnr 8-5507 (2020-01-13); HFD mål 4610-21.
|
||||
|
||||
### 5.3 Dropshipping från tredjeland direkt till EU-konsument utan korrekt kedjeanalys
|
||||
**Fel:** Svensk säljare via Shopify har leverantör i Kina som skickar varan direkt till tysk konsument. Säljaren bokför som svensk inhemsk försäljning med 25 % svensk moms, eller alternativt som momsfri export. Inget av detta är korrekt.
|
||||
**Rätt:** Tre scenarier kräver olika hantering. **(A) Varuvärde > 150 EUR, ingen plattform som deemed supplier:** importen sker i destinationslandet (Tyskland), tysk importmoms erläggs av mottagaren eller av säljaren om DDP-leverans — kan trigga tysk momsregistreringsskyldighet. Säljarens "leverans" är gjord utomlands (6 kap. 3 § ML, transport börjar utanför EU) och ligger utanför svensk moms. **(B) Varuvärde ≤ 150 EUR, säljaren använder IOSS:** moms tas ut vid kassan med destinationslandets sats, redovisas månatligt via importordningen (22 kap. ML); själva importen är momsbefriad (10 kap. 65 § ML). Bokföringsmässigt: intäkt 3106 + utgående moms 2670 per destinationsland. **(C) Försäljning sker via deemed supplier-plattform (Amazon, Etsy, eBay) ≤ 150 EUR:** plattformen blir momsskyldig enligt 5 kap. 5 § ML, säljarens leverans till plattformen är undantagen (10 kap. ML, art. 136a direktivet). Vid kedjetransaktion inom EU tillämpas 6 kap. 14–17 §§ ML (Quick Fixes) — VAT-nr i avgångslandet styr transporttilldelningen.
|
||||
**Lagstöd:** 5 kap. 5–6 §§, 6 kap. 3, 11, 14–17 §§, 10 kap. 65 § ML 2023:200; dnr 8-1293055 (2021-10-29); direktiv (EU) 2017/2455, 2018/1910, 2019/1995.
|
||||
**Rätt:** Tre scenarier kräver olika hantering. **(A) Varuvärde > 150 EUR, ingen plattform som deemed supplier:** importen sker i destinationslandet (Tyskland), tysk importmoms erläggs av mottagaren eller av säljaren om DDP-leverans: kan trigga tysk momsregistreringsskyldighet. Säljarens "leverans" är gjord utomlands (6 kap. 3 § ML, transport börjar utanför EU) och ligger utanför svensk moms. **(B) Varuvärde ≤ 150 EUR, säljaren använder IOSS:** moms tas ut vid kassan med destinationslandets sats, redovisas månatligt via importordningen (22 kap. ML); själva importen är momsbefriad (10 kap. 65 § ML). Bokföringsmässigt: intäkt 3106 + utgående moms 2670 per destinationsland. **(C) Försäljning sker via deemed supplier-plattform (Amazon, Etsy, eBay) ≤ 150 EUR:** plattformen blir momsskyldig enligt 5 kap. 5 § ML, säljarens leverans till plattformen är undantagen (10 kap. ML, art. 136a direktivet). Vid kedjetransaktion inom EU tillämpas 6 kap. 14-17 §§ ML (Quick Fixes): VAT-nr i avgångslandet styr transporttilldelningen.
|
||||
**Lagstöd:** 5 kap. 5-6 §§, 6 kap. 3, 11, 14-17 §§, 10 kap. 65 § ML 2023:200; dnr 8-1293055 (2021-10-29); direktiv (EU) 2017/2455, 2018/1910, 2019/1995.
|
||||
|
||||
## 6. Öppna frågor (flaggade för mänsklig granskning)
|
||||
|
||||
- **Amazon FBA och PAN-EU FBA**: Ingen specifik dnr-baserad vägledning från Skatteverket per 2025-05. Överföring av egna varor till annat EU-lager utlöser lokal momsregistreringsskyldighet (förvärv lika med) och OSS kan användas parallellt för försäljning från utländskt lager till andra EU-länder — men gränsdragningen och rapporteringen i bokföringssystemet kräver klientspecifik granskning.
|
||||
- **Triangulär handel via deemed supplier-plattform**: ingen separat ställningstagande — analys måste göras genom kombination av dnr 8-1293055 och kedjetransaktionsreglerna i 6 kap. 14–17 §§ ML.
|
||||
- **Aktörsspecifika momsbedömningar Stripe/Klarna/Adyen/PayPal/Mollie**: Skatteverket har inte publicerat aktörsspecifika ställningstaganden. Bedömning sker per komponent på respektive fakturaspecifikation utifrån dnr 8-5507. Klarnas svenska entitet (Klarna Bank AB) faktureras utan reverse charge; Stripe Technology Europe (IE) och Adyen NV (NL) faktureras med reverse charge — verifiera per aktuell faktura.
|
||||
- **Amazon FBA och PAN-EU FBA**: Ingen specifik dnr-baserad vägledning från Skatteverket per 2025-05. Överföring av egna varor till annat EU-lager utlöser lokal momsregistreringsskyldighet (förvärv lika med) och OSS kan användas parallellt för försäljning från utländskt lager till andra EU-länder, men gränsdragningen och rapporteringen i bokföringssystemet kräver klientspecifik granskning.
|
||||
- **Triangulär handel via deemed supplier-plattform**: ingen separat ställningstagande: analys måste göras genom kombination av dnr 8-1293055 och kedjetransaktionsreglerna i 6 kap. 14-17 §§ ML.
|
||||
- **Aktörsspecifika momsbedömningar Stripe/Klarna/Adyen/PayPal/Mollie**: Skatteverket har inte publicerat aktörsspecifika ställningstaganden. Bedömning sker per komponent på respektive fakturaspecifikation utifrån dnr 8-5507. Klarnas svenska entitet (Klarna Bank AB) faktureras utan reverse charge; Stripe Technology Europe (IE) och Adyen NV (NL) faktureras med reverse charge: verifiera per aktuell faktura.
|
||||
- **Värdering vid 150 EUR-gränsen (rabattkoder, frakt, valutaomräkning)**: ingen tydlig SKV-vägledning per 2025-05. Tullverkets praxis: verkligt värde exkl. frakt/försäkring/skatter motsvarar tullfrihetsförordningens definition.
|
||||
- **6040 vs 6570 vs 6050** för payment provider fees — branschpraxis är delad. Denna skill rekommenderar 6040 för Stripe/Adyen/Klarna (kontokortsavgifter — konceptuellt korrekt) och 6050 för marketplace referral fees, men 6570 förekommer brett och är försvarbart om klienten redan konsekvent använder det.
|
||||
- **SFS 2024:942-renumrering** av voucher-paragrafer i 5 kap. ML från 2025-01-01 — verifiera konsoliderad version på riksdagen.se före produktionsdeploy.
|
||||
- **BAS 2026** — BAS-intressenternas Förening har aviserat större ändringar 2026 (Framtidens kontoplan). Versionshantera kontoplanen i koden.
|
||||
- **6040 vs 6570 vs 6050** för payment provider fees: branschpraxis är delad. Denna skill rekommenderar 6040 för Stripe/Adyen/Klarna (kontokortsavgifter, konceptuellt korrekt) och 6050 för marketplace referral fees, men 6570 förekommer brett och är försvarbart om klienten redan konsekvent använder det.
|
||||
- **SFS 2024:942-renumrering** av voucher-paragrafer i 5 kap. ML från 2025-01-01: verifiera konsoliderad version på riksdagen.se före produktionsdeploy.
|
||||
- **BAS 2026**: BAS-intressenternas Förening har aviserat större ändringar 2026 (Framtidens kontoplan). Versionshantera kontoplanen i koden.
|
||||
- **Reverse charge-tillämpning på Klarna-avgifter**: Klarna Bank AB (SE) fakturerar inkl. svensk moms; Klarna Inc/övriga utländska entiteter med RC. Identifiera entiteten per faktura, inte per varumärke.
|
||||
|
||||
## Referensfiler
|
||||
|
||||
- `references/oss-ioss-mekanik.md` — fullständig OSS-/IOSS-deklarationsmekanik, ECB-kurs, korrigeringar, registreringsförfarande
|
||||
- `references/payment-providers.md` — provider-för-provider-mapping (Stripe/Klarna/Adyen/PayPal/Shopify Payments/Mollie/Qliro) av fee-struktur, payout-cykel, momsbehandling per komponent, BAS-konton
|
||||
- `references/dropshipping-kedjetransaktioner.md` — beslutsschema för dropshipping (varuvärde × destinationsland × plattformsstatus → korrekt momsbehandling)
|
||||
- `references/marketplace-deemed-supplier.md` — Amazon FBA/PAN-EU, eBay, Etsy, CDON, Fyndiq — när 5 kap. 5–6 §§ ML triggas, säljarens bokföring
|
||||
- `references/dac7-rapportering.md` — POL/LAUP-mekanik, vilka plattformar omfattas, kontrolluppgifter KU90–KU93
|
||||
- `references/vouchers-presentkort.md` — SPV/MPV-beslutsmatris, BAS-konton, redovisningstidpunkt
|
||||
- `references/konsumentratt.md` — DAL 2005:59, KKL 2022:260, MFL/Omnibus, prisinformation 30-dagars, ångerknapp SFS 2026:246
|
||||
- `references/kollektivavtal-lager-e-handel.md` — fullständigt 2025-2027-avtal, OB-tabell, arbetstidsregler, mertidsersättning
|
||||
- `references/skv-stallningstaganden-katalog.md` — fullständig katalog över relevanta dnr 2018–2025 med paragrafnyckel GML↔ML 2023:200
|
||||
- `references/oss-ioss-mekanik.md`: fullständig OSS-/IOSS-deklarationsmekanik, ECB-kurs, korrigeringar, registreringsförfarande
|
||||
- `references/payment-providers.md`: provider-för-provider-mapping (Stripe/Klarna/Adyen/PayPal/Shopify Payments/Mollie/Qliro) av fee-struktur, payout-cykel, momsbehandling per komponent, BAS-konton
|
||||
- `references/dropshipping-kedjetransaktioner.md`: beslutsschema för dropshipping (varuvärde × destinationsland × plattformsstatus → korrekt momsbehandling)
|
||||
- `references/marketplace-deemed-supplier.md`: Amazon FBA/PAN-EU, eBay, Etsy, CDON, Fyndiq, när 5 kap. 5-6 §§ ML triggas, säljarens bokföring
|
||||
- `references/dac7-rapportering.md`: POL/LAUP-mekanik, vilka plattformar omfattas, kontrolluppgifter KU90-KU93
|
||||
- `references/vouchers-presentkort.md`: SPV/MPV-beslutsmatris, BAS-konton, redovisningstidpunkt
|
||||
- `references/konsumentratt.md`: DAL 2005:59, KKL 2022:260, MFL/Omnibus, prisinformation 30-dagars, ångerknapp SFS 2026:246
|
||||
- `references/kollektivavtal-lager-e-handel.md`: fullständigt 2025-2027-avtal, OB-tabell, arbetstidsregler, mertidsersättning
|
||||
- `references/skv-stallningstaganden-katalog.md`: fullständig katalog över relevanta dnr 2018-2025 med paragrafnyckel GML↔ML 2023:200
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# DAC7 — plattformsoperatörers rapporteringsskyldighet
|
||||
# DAC7: plattformsoperatörers rapporteringsskyldighet
|
||||
|
||||
## Lagstöd
|
||||
|
||||
@@ -33,11 +33,11 @@ E-handelsrelevans: punkt 3 (varuförsäljning via marketplace).
|
||||
|
||||
- Tradera, Blocket Marketplace, Sellpy → varuförsäljning.
|
||||
- Amazon, eBay, Etsy, CDON Marketplace, Fyndiq, Tictail-typ-aktörer.
|
||||
- TikTok Shop, Temu — om de når DAC7-anknytning.
|
||||
- TikTok Shop, Temu, om de når DAC7-anknytning.
|
||||
- Egen Shopify-butik som **endast** säljer egna varor → INTE rapporteringsskyldig (operatören är inte en plattform i DAC7:s mening).
|
||||
- Shopify som tjänsteleverantör → INTE rapporteringsskyldig på den nivån (det är butiksägaren som är säljare).
|
||||
|
||||
## Säljarundantag — varor
|
||||
## Säljarundantag: varor
|
||||
|
||||
Säljare av varor undantas från rapportering om **båda** villkoren är uppfyllda under kalenderåret:
|
||||
- **Färre än 30 berörda transaktioner**, OCH
|
||||
@@ -71,7 +71,7 @@ Verifiering ska ske med rimliga åtgärder, t.ex. mot offentliga register, samt
|
||||
|
||||
## Sanktioner
|
||||
|
||||
- Plattformsavgift **2 500–12 500 kr** per säljare där rapportering är felaktig eller utebliven.
|
||||
- Plattformsavgift **2 500-12 500 kr** per säljare där rapportering är felaktig eller utebliven.
|
||||
- Föreläggande och vite enligt skatteförfarandelagen kan tillkomma.
|
||||
|
||||
## Dokumentationsbevarande
|
||||
@@ -81,9 +81,9 @@ Verifiering ska ske med rimliga åtgärder, t.ex. mot offentliga register, samt
|
||||
## Konsekvenser för e-handelsklienter
|
||||
|
||||
### Säljare via marketplace
|
||||
- **Kontrolluppgifter KU90 (varuförsäljning) finns inte i DAC7-systemet** — DAC7-rapporten är ett eget format som plattformen lämnar direkt. Säljaren får inte alltid en kopia; rekommendation är att begära den årligen från plattformen för avstämning mot egen bokföring.
|
||||
- **Kontrolluppgifter KU90 (varuförsäljning) finns inte i DAC7-systemet**: DAC7-rapporten är ett eget format som plattformen lämnar direkt. Säljaren får inte alltid en kopia; rekommendation är att begära den årligen från plattformen för avstämning mot egen bokföring.
|
||||
- Skatteverket kan jämföra rapporterad omsättning med säljarens egen deklaration. Diskrepans triggar revision.
|
||||
- DAC7-omsättning är inte automatiskt momspliktig svensk omsättning — det kan vara deemed supplier-fall där plattformen är momsskyldig. Skatteverket har båda underlagen för korsavstämning.
|
||||
- DAC7-omsättning är inte automatiskt momspliktig svensk omsättning: det kan vara deemed supplier-fall där plattformen är momsskyldig. Skatteverket har båda underlagen för korsavstämning.
|
||||
|
||||
### Säljare som driver egen plattform
|
||||
- Marketplace-operatörer (Tradera, Blocket Marketplace) → fullständig DAC7-rapportering, kräver KYC-process och teknisk integration mot Skatteverkets API.
|
||||
@@ -91,6 +91,6 @@ Verifiering ska ske med rimliga åtgärder, t.ex. mot offentliga register, samt
|
||||
- Hybrider (egen butik + tredjepartssäljare som listar via plattformen) → typiskt rapporteringsskyldig.
|
||||
|
||||
### GDPR-samspel
|
||||
- Säljarens personuppgifter samlas in baserat på **rättslig förpliktelse** (art. 6.1 c GDPR) — DAC7 är lagstadgad skyldighet.
|
||||
- Säljarens personuppgifter samlas in baserat på **rättslig förpliktelse** (art. 6.1 c GDPR): DAC7 är lagstadgad skyldighet.
|
||||
- Rätt till radering enligt GDPR begränsas under 7-årsperioden.
|
||||
- Plattformen ska informera säljarna om rapporteringen (transparenskrav GDPR art. 13–14).
|
||||
- Plattformen ska informera säljarna om rapporteringen (transparenskrav GDPR art. 13-14).
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Dropshipping och kedjetransaktioner — beslutsschema
|
||||
# Dropshipping och kedjetransaktioner: beslutsschema
|
||||
|
||||
## Dimensioner
|
||||
|
||||
@@ -12,13 +12,13 @@ Varje dropship-scenario klassificeras längs fem dimensioner:
|
||||
|
||||
## Lagstöd
|
||||
|
||||
- **6 kap. 14–17 §§ ML 2023:200** — kedjetransaktionsregler (Quick Fixes, direktiv (EU) 2018/1910, ikraft SE 2020-01-01).
|
||||
- **5 kap. 5–6 §§ ML** — deemed supplier (plattform anses ha köpt och sålt).
|
||||
- **6 kap. 3 § ML** — leveransort vid transport från tredjeland.
|
||||
- **6 kap. 11 § ML** — leveransort vid IOSS-tillämpning.
|
||||
- **10 kap. 65 § ML** — undantag för IOSS-import.
|
||||
- **10 kap.** + **art. 136a direktivet** — undantag för säljarens leverans till deemed supplier-plattform.
|
||||
- **dnr 8-1293055** (2021-10-29, uppd. 2023-06-26) — SKV:s ställningstagande om transportallokering.
|
||||
- **6 kap. 14-17 §§ ML 2023:200**: kedjetransaktionsregler (Quick Fixes, direktiv (EU) 2018/1910, ikraft SE 2020-01-01).
|
||||
- **5 kap. 5-6 §§ ML**: deemed supplier (plattform anses ha köpt och sålt).
|
||||
- **6 kap. 3 § ML**: leveransort vid transport från tredjeland.
|
||||
- **6 kap. 11 § ML**: leveransort vid IOSS-tillämpning.
|
||||
- **10 kap. 65 § ML**: undantag för IOSS-import.
|
||||
- **10 kap.** + **art. 136a direktivet**: undantag för säljarens leverans till deemed supplier-plattform.
|
||||
- **dnr 8-1293055** (2021-10-29, uppd. 2023-06-26): SKV:s ställningstagande om transportallokering.
|
||||
|
||||
## Beslutsmatris
|
||||
|
||||
@@ -28,7 +28,7 @@ Exempel: Svensk Shopify-butik, leverantör i Polen, kund i Tyskland.
|
||||
- Två leveranser i kedjan: PL-leverantör → svensk säljare → DE-konsument.
|
||||
- Transport hänförs som huvudregel till leveransen *till* mellanhanden (svensk säljare) enligt 6 kap. 15 § ML.
|
||||
- **Undantag**: om svensk säljare meddelar PL-leverantören sitt **polska VAT-nr**, hänförs transporten till leveransen *från* svensk säljare. I praktiken har svensk säljare normalt inte polskt VAT-nr → huvudregeln gäller.
|
||||
- Resultat: PL-leverantör säljer momsfritt EU-B2B till svensk säljare (kräver VIES-giltigt svenskt VAT-nr). Svensk säljare gör förvärv i SE (4515 + 2614/2645). Försäljningen till DE-konsument är **distansförsäljning av varor** från SE till DE — OSS gäller om över tröskeln 99 680 SEK eller frivilligt registrerad (3106 + 2670-DE).
|
||||
- Resultat: PL-leverantör säljer momsfritt EU-B2B till svensk säljare (kräver VIES-giltigt svenskt VAT-nr). Svensk säljare gör förvärv i SE (4515 + 2614/2645). Försäljningen till DE-konsument är **distansförsäljning av varor** från SE till DE: OSS gäller om över tröskeln 99 680 SEK eller frivilligt registrerad (3106 + 2670-DE).
|
||||
- Praktiskt problem: varan transporteras direkt PL → DE, men momsmässigt anses den ha rört sig PL → SE → DE. Krav på korrekt fakturering och bevisning.
|
||||
|
||||
### Scenario B: Svensk säljare, leverantör i EU, B2B-kund i annat EU-land (trepartshandel)
|
||||
@@ -36,7 +36,7 @@ Exempel: Svensk säljare, leverantör i Polen, kund (företag) i Tyskland med ty
|
||||
|
||||
- **Förenklingsregeln för trepartshandel** (10 kap. ML, art. 141 direktivet) kan tillämpas om alla tre parter är momsregistrerade i var sitt EU-land.
|
||||
- Resultat: PL-leverantör säljer momsfritt till svensk säljare; svensk säljare säljer momsfritt till DE-kund som beskattar förvärvet i Tyskland. Svensk säljare rapporterar via periodisk sammanställning med kod för trepartshandel.
|
||||
- Fakturakrav: hänvisning till "Trepartshandel — moms skall redovisas av köparen, art. 141 direktivet" eller motsvarande svensk formulering.
|
||||
- Fakturakrav: hänvisning till "Trepartshandel: moms skall redovisas av köparen, art. 141 direktivet" eller motsvarande svensk formulering.
|
||||
|
||||
### Scenario C: Svensk säljare, leverantör i tredjeland (Kina), B2C-kund i SE
|
||||
Exempel: Svensk Shopify-butik, AliExpress-leverantör i Kina, svensk konsument.
|
||||
@@ -63,7 +63,7 @@ Exempel: Svensk Shopify-butik, leverantör i Kina, kund i Tyskland.
|
||||
|
||||
**D2: Varuvärde > 150 EUR, DDP-leverans**:
|
||||
- Säljaren importerar i Tyskland → kräver tysk momsregistrering eller indirekt representant.
|
||||
- Försäljningen är inhemsk tysk omsättning (ej OSS — OSS gäller bara unionsintern distansförsäljning där transport börjar i EU). Tysk moms hanteras direkt i tysk momsdeklaration.
|
||||
- Försäljningen är inhemsk tysk omsättning (ej OSS: OSS gäller bara unionsintern distansförsäljning där transport börjar i EU). Tysk moms hanteras direkt i tysk momsdeklaration.
|
||||
|
||||
**D3: Varuvärde > 150 EUR, DAP/DDU**:
|
||||
- Tysk konsument importerar och betalar tysk importmoms vid gränsen.
|
||||
@@ -74,8 +74,8 @@ Exempel: Säljaren listar på Amazon, varan skickas från Kina till tysk konsume
|
||||
|
||||
- **5 kap. 5 § ML** tillämpas: Amazon anses ha köpt och sålt eftersom (i) säljaren är icke-EU-etablerad alt. det är distansförsäljning av importerade varor ≤ 150 EUR via elektroniskt gränssnitt.
|
||||
- Amazon redovisar moms i destinationslandet via sitt IOSS.
|
||||
- **Säljarens fiktiva leverans till Amazon är undantagen** (10 kap. ML, art. 136a) — säljaren har ingen omsättning att redovisa i SE för denna transaktion.
|
||||
- Bokföring hos säljaren: marketplace-payout (1580-AMZ) kommer netto. Provisioner Amazon bokas på 6050. Försäljning bokas på t.ex. 3990 (övrig försäljning) eller ej alls, beroende på K2/K3-tolkning — flagga för byråstandard.
|
||||
- **Säljarens fiktiva leverans till Amazon är undantagen** (10 kap. ML, art. 136a): säljaren har ingen omsättning att redovisa i SE för denna transaktion.
|
||||
- Bokföring hos säljaren: marketplace-payout (1580-AMZ) kommer netto. Provisioner Amazon bokas på 6050. Försäljning bokas på t.ex. 3990 (övrig försäljning) eller ej alls, beroende på K2/K3-tolkning: flagga för byråstandard.
|
||||
|
||||
### Scenario F: Direktleverans där säljaren har VAT-nr i avgångslandet
|
||||
Exempel: Svensk säljare har även registrerat sig i Polen (lokal momsreg). Leverantör i Polen, kund i Tyskland.
|
||||
@@ -83,10 +83,10 @@ Exempel: Svensk säljare har även registrerat sig i Polen (lokal momsreg). Leve
|
||||
- Genom att meddela PL-leverantören sitt **polska** VAT-nr triggar säljaren undantaget i 6 kap. 16 § ML (Quick Fixes).
|
||||
- Transporten hänförs till leveransen *från* säljaren (mellanhanden).
|
||||
- PL-leverantör fakturerar med polsk inhemsk moms (säljaren har polskt VAT-nr, ses som inhemsk B2B-omsättning).
|
||||
- Säljaren gör momsfri unionsintern leverans från PL till DE (eller distansförsäljning DE-konsument via OSS) — kräver alltid bevisad transport och VIES-koll om B2B.
|
||||
- Säljaren gör momsfri unionsintern leverans från PL till DE (eller distansförsäljning DE-konsument via OSS): kräver alltid bevisad transport och VIES-koll om B2B.
|
||||
- Säljarens polska momsregistrering ger avdragsrätt för polsk ingående moms via polsk momsdeklaration eller 13:e direktivet.
|
||||
|
||||
## Bevisning och dokumentation
|
||||
- **Transport-bevis** vid momsfri EU-B2B-leverans: CMR, fraktsedel, leveransbevis från kund (Quick Fixes-kravet enligt art. 45a genomförandeförordning 282/2011 — två oberoende handlingar).
|
||||
- **Transport-bevis** vid momsfri EU-B2B-leverans: CMR, fraktsedel, leveransbevis från kund (Quick Fixes-kravet enligt art. 45a genomförandeförordning 282/2011: två oberoende handlingar).
|
||||
- **VAT-nr-verifiering**: VIES-kontroll vid leveransdatum, sparas i ordersystemet. Materiellt villkor sedan 2020-01-01.
|
||||
- **Tullhandlingar** vid import: tulldeklaration, importmomssedel.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Lager- och E-handelsavtalet 2025–2027
|
||||
# Lager- och E-handelsavtalet 2025-2027
|
||||
|
||||
## Parter och avtalsperiod
|
||||
|
||||
@@ -10,28 +10,28 @@
|
||||
|
||||
## Skillnad mot Detaljhandelsavtalet
|
||||
|
||||
- **Detaljhandelsavtalet** — fysisk butik (säljpersonal i butik).
|
||||
- **Lager- och E-handelsavtalet** — lagerpersonal och e-handelsanställda (plock, pack, returhantering, kundservice för e-handel).
|
||||
- **Detaljhandelsavtalet**: fysisk butik (säljpersonal i butik).
|
||||
- **Lager- och E-handelsavtalet**: lagerpersonal och e-handelsanställda (plock, pack, returhantering, kundservice för e-handel).
|
||||
|
||||
Vid hybridföretag (butik + e-handel): självständig e-handelsenhet ska ligga under Lager- och E-handelsavtalet även om huvudverksamheten är butik. Klassificeringen sker per arbetsuppgifter och organisatorisk tillhörighet, inte per företag.
|
||||
|
||||
## Löneökningar 2025–2027
|
||||
## Löneökningar 2025-2027
|
||||
|
||||
- **Total löneökning**: 12,04 SEK/timme (cirka 6,7 % över 24 mån, beroende på utgångsnivå).
|
||||
- **Steg 1 — 2025-04-01**: 6,02 SEK/timme.
|
||||
- **Steg 2 — 2026-04-01**: 6,02 SEK/timme.
|
||||
- **Steg 1, 2025-04-01**: 6,02 SEK/timme.
|
||||
- **Steg 2, 2026-04-01**: 6,02 SEK/timme.
|
||||
- Tarifflöner och garanterade nivåer enligt bilaga till avtalet.
|
||||
|
||||
## Arbetstid (avtalsmässigt)
|
||||
|
||||
- **Ordinarie arbetstid**: 38,25 tim/vecka i genomsnitt (8 tim 30 min/dag i 4,5 dagar, eller motsvarande).
|
||||
- **Förläggning**: må–sö, kl. **05.00–24.00**.
|
||||
- **Förläggning**: må-sö, kl. **05.00-24.00**.
|
||||
- **Begränsningsperiod**: max **13 veckor**. Arbetstid kan variera inom perioden så länge genomsnittet håller.
|
||||
- **Nattarbete** (00.00–05.00): kräver lokal överenskommelse.
|
||||
- **Nattarbete** (00.00-05.00): kräver lokal överenskommelse.
|
||||
|
||||
## OB-tabell (huvuddrag, kontrollera aktuell bilaga)
|
||||
|
||||
- Vardagar **18.15–22.00**: OB-tillägg.
|
||||
- Vardagar **18.15-22.00**: OB-tillägg.
|
||||
- Vardagar efter 22.00 och söndagar: högre OB.
|
||||
- Storhelger (jul, nyår, midsommar, påsk): extra storhelgs-OB.
|
||||
- Exakta belopp uppdaterade per 2025-04-01.
|
||||
@@ -45,7 +45,7 @@ Vid hybridföretag (butik + e-handel): självständig e-handelsenhet ska ligga u
|
||||
## Arbetstidsförkortning
|
||||
|
||||
- Vid arbete på "obekväma" pass (tidigt, sent, helger) räknas en del av tiden som arbetstidsförkortning som kan tas ut i ledighet eller som tillägg.
|
||||
- Detta är en strukturell avtalsdel som påverkar lönehantering — kräver tidskonto i lönesystemet.
|
||||
- Detta är en strukturell avtalsdel som påverkar lönehantering: kräver tidskonto i lönesystemet.
|
||||
|
||||
## Lokala överenskommelser
|
||||
|
||||
@@ -56,8 +56,8 @@ Riksavtalet tillåter lokala anpassningar för:
|
||||
|
||||
## Försäkringar och kollektiva avtal
|
||||
|
||||
- **Avtalspension SAF-LO** — 4,5 % av lönen under tak, 30 % över taket (2025).
|
||||
- **Trygghetsförsäkring TFA** — Folksam.
|
||||
- **Avtalspension SAF-LO**: 4,5 % av lönen under tak, 30 % över taket (2025).
|
||||
- **Trygghetsförsäkring TFA**: Folksam.
|
||||
- **Sjukförsäkring AGS**.
|
||||
- **Föräldrapenningtillägg** (FPT).
|
||||
- **Omställningsavtalet**.
|
||||
@@ -67,14 +67,14 @@ Premier hanteras via Fora och bokas på 7570/7580 m.fl.
|
||||
## Bokföringspåverkan
|
||||
|
||||
### Konton (BAS 2025)
|
||||
- 7010 — Löner kollektivanställda.
|
||||
- 7011 — Löner kollektivanställda lager/E-handel (egen underkonto för rapportering).
|
||||
- 7090 — Förändring semesterlöneskuld.
|
||||
- 7510 — Lagstadgade sociala avgifter.
|
||||
- 7570 — Premier Fora (avtalsförsäkringar).
|
||||
- 2940 — Upplupna lagstadgade sociala avgifter.
|
||||
- 2941 — Upplupna avtalsenliga avgifter Fora.
|
||||
- 2920 — Upplupna semesterlöner.
|
||||
- 7010: Löner kollektivanställda.
|
||||
- 7011: Löner kollektivanställda lager/E-handel (egen underkonto för rapportering).
|
||||
- 7090: Förändring semesterlöneskuld.
|
||||
- 7510: Lagstadgade sociala avgifter.
|
||||
- 7570: Premier Fora (avtalsförsäkringar).
|
||||
- 2940: Upplupna lagstadgade sociala avgifter.
|
||||
- 2941: Upplupna avtalsenliga avgifter Fora.
|
||||
- 2920: Upplupna semesterlöner.
|
||||
|
||||
### Periodisering
|
||||
- OB och mertidsersättning bokförs i samma månad som arbetet utförts.
|
||||
@@ -82,7 +82,7 @@ Premier hanteras via Fora och bokas på 7570/7580 m.fl.
|
||||
- Arbetstidsförkortning som sparas → skuld på 2920 (semesterlöneskuld) eller separat 2925.
|
||||
|
||||
### Vid avtalspaussättning
|
||||
- AGI (Arbetsgivardeklaration på individnivå) lämnas månadsvis till Skatteverket — kollektivavtalsdelen är inte specifik DAC-rapportering utan ingår i ordinarie löneskatte-flöde.
|
||||
- AGI (Arbetsgivardeklaration på individnivå) lämnas månadsvis till Skatteverket: kollektivavtalsdelen är inte specifik DAC-rapportering utan ingår i ordinarie löneskatte-flöde.
|
||||
|
||||
## Praktiska e-handelsspecifika tillämpningar
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Konsumenträtt — distansavtalslagen, KKL, MFL, prisinformation, GPSR
|
||||
# Konsumenträtt: distansavtalslagen, KKL, MFL, prisinformation, GPSR
|
||||
|
||||
## Distansavtalslagen (2005:59)
|
||||
|
||||
@@ -40,7 +40,7 @@ Full namn: Lag om distansavtal och avtal utanför affärslokaler. Genomför dire
|
||||
- Näringsidkare får dra av belopp motsvarande värdeminskning **endast** om värdeminskningen beror på att konsumenten hanterat varan mer än nödvändigt för att fastställa egenskaper och funktion.
|
||||
- Praxis: kläder som provats fritt är OK; kläder med tagg avlägsnad eller använt med synliga spår kan motivera avdrag.
|
||||
|
||||
### SFS 2026:246 — Ångerknappen
|
||||
### SFS 2026:246: Ångerknappen
|
||||
- Ikraft **2026-06-19**.
|
||||
- Krav på "ångerknapp" tydligt synlig i onlinegränssnitt under hela ångerfristen.
|
||||
- Knappen ska initiera elektroniskt ångermeddelande och näringsidkaren ska bekräfta mottagandet utan dröjsmål.
|
||||
@@ -51,7 +51,7 @@ Ikraft **2022-05-01**, ersätter KKL 1990:932. Genomför direktiv (EU) 2019/771
|
||||
|
||||
### Felansvar
|
||||
- **Reklamationstid 3 år** från avlämnandet (4 kap. 14 §).
|
||||
- Konsumenten ska reklamera **inom skälig tid** efter upptäckt — minst 2 månader anses alltid skäligt (4 kap. 13 §).
|
||||
- Konsumenten ska reklamera **inom skälig tid** efter upptäckt: minst 2 månader anses alltid skäligt (4 kap. 13 §).
|
||||
|
||||
### Omvänd bevisbörda
|
||||
- **2 år** (4 kap. 17 §). Fel som visar sig inom 2 år presumeras ha funnits vid avlämnandet om inte näringsidkaren bevisar motsatsen.
|
||||
@@ -78,17 +78,17 @@ Ikraft **2022-05-01**, ersätter KKL 1990:932. Genomför direktiv (EU) 2019/771
|
||||
## Marknadsföringslagen (2008:486)
|
||||
|
||||
### Generella krav
|
||||
- **5 §** — God marknadsföringssed.
|
||||
- **8 §** — Marknadsföring som påverkar konsumentens förmåga att fatta välgrundat affärsbeslut.
|
||||
- **10 §** — Vilseledande marknadsföring (inkl. om pris, jämförelser).
|
||||
- **5 §**: God marknadsföringssed.
|
||||
- **8 §**: Marknadsföring som påverkar konsumentens förmåga att fatta välgrundat affärsbeslut.
|
||||
- **10 §**: Vilseledande marknadsföring (inkl. om pris, jämförelser).
|
||||
|
||||
### Omnibus-ändringar (ikraft 2022-09-01)
|
||||
|
||||
- **12 c §** — Vid presentation av konsumentrecensioner ska näringsidkaren ange om och hur det säkerställs att recensionerna kommer från konsumenter som faktiskt köpt eller använt varan.
|
||||
- **Svarta listan p. 23a–23c** (förbjudna marknadsföringsåtgärder):
|
||||
- p 23a — Påstå att recensioner kommer från konsumenter utan rimliga åtgärder för att verifiera.
|
||||
- p 23b — Lämna eller anlita någon för att lämna falska konsumentrecensioner.
|
||||
- p 23c — Manipulera konsumentrecensioner (t.ex. radera negativa).
|
||||
- **12 c §**: Vid presentation av konsumentrecensioner ska näringsidkaren ange om och hur det säkerställs att recensionerna kommer från konsumenter som faktiskt köpt eller använt varan.
|
||||
- **Svarta listan p. 23a-23c** (förbjudna marknadsföringsåtgärder):
|
||||
- p 23a: Påstå att recensioner kommer från konsumenter utan rimliga åtgärder för att verifiera.
|
||||
- p 23b: Lämna eller anlita någon för att lämna falska konsumentrecensioner.
|
||||
- p 23c: Manipulera konsumentrecensioner (t.ex. radera negativa).
|
||||
|
||||
### Sanktion
|
||||
- Marknadsstörningsavgift upp till **4 % av årsomsättningen** för flagranta överträdelser (Omnibus-höjning).
|
||||
@@ -108,12 +108,12 @@ Ikraft **2022-05-01**, ersätter KKL 1990:932. Genomför direktiv (EU) 2019/771
|
||||
|
||||
## E-handelslagen (2002:562)
|
||||
|
||||
### Informationsskyldigheter (8–9 §§)
|
||||
### Informationsskyldigheter (8-9 §§)
|
||||
- Namn, organisationsnummer/registrering, gatuadress där näringsidkare är etablerad, e-postadress.
|
||||
- Momsregistreringsnummer.
|
||||
- Yrkesregistrering om relevant.
|
||||
|
||||
### Beställningsprocess (10–11 §§)
|
||||
### Beställningsprocess (10-11 §§)
|
||||
- Tekniska steg innan slutförd beställning.
|
||||
- Möjlighet att upptäcka och rätta inmatningsfel.
|
||||
- Språk för beställning.
|
||||
@@ -122,20 +122,20 @@ Ikraft **2022-05-01**, ersätter KKL 1990:932. Genomför direktiv (EU) 2019/771
|
||||
### Bekräftelse (12 §)
|
||||
- Mottagningsbekräftelse utan dröjsmål, på elektronisk väg.
|
||||
|
||||
## GPSR — förordning (EU) 2023/988
|
||||
## GPSR: förordning (EU) 2023/988
|
||||
|
||||
Ikraft **2024-12-13**, direkt tillämplig. Ersätter direktiv 2001/95/EG och svensk lag (2004:451) för varor utsläppta på marknaden från 2024-12-13.
|
||||
|
||||
### Krav för e-handel
|
||||
- **Artikel 9** — Spårbarhet: produkter ska kunna identifieras via typ/parti/serienummer.
|
||||
- **Artikel 19** — Informationskrav vid distansförsäljning: tillverkarens uppgifter, importör om från tredje land, kontaktuppgifter, produktbild, eventuella varningar.
|
||||
- **Artikel 22** — Onlinemarknadsplatser har särskilda förpliktelser: utse kontaktpunkt för myndigheter, registrera säljare med rimlig due diligence, samarbeta vid återkallelser.
|
||||
- **Återkallelseprocedur** — direktkontakt till alla identifierade köpare, fortsatt notis på e-handelssida tills åtgärd vidtagits.
|
||||
- **Artikel 9**: Spårbarhet: produkter ska kunna identifieras via typ/parti/serienummer.
|
||||
- **Artikel 19**: Informationskrav vid distansförsäljning: tillverkarens uppgifter, importör om från tredje land, kontaktuppgifter, produktbild, eventuella varningar.
|
||||
- **Artikel 22**: Onlinemarknadsplatser har särskilda förpliktelser: utse kontaktpunkt för myndigheter, registrera säljare med rimlig due diligence, samarbeta vid återkallelser.
|
||||
- **Återkallelseprocedur**: direktkontakt till alla identifierade köpare, fortsatt notis på e-handelssida tills åtgärd vidtagits.
|
||||
|
||||
### Sanktioner
|
||||
- Sanktioner enligt nationell lag — i Sverige genom kompletterande lag (förslag, ev. nya regler under 2026).
|
||||
- Sanktioner enligt nationell lag: i Sverige genom kompletterande lag (förslag, ev. nya regler under 2026).
|
||||
|
||||
## Penningtvättslagen (2017:630) — e-handelsrelevans
|
||||
## Penningtvättslagen (2017:630): e-handelsrelevans
|
||||
|
||||
Ren varuförsäljning omfattas **normalt inte**. Tröskeln 15 000 EUR för kontant betalning av varor togs bort genom SFS 2019:608/774.
|
||||
|
||||
@@ -147,15 +147,15 @@ Ren varuförsäljning omfattas **normalt inte**. Tröskeln 15 000 EUR för konta
|
||||
## GDPR (EU) 2016/679 + kompletterande lag (2018:218)
|
||||
|
||||
### Rättslig grund för e-handel
|
||||
- **Art. 6.1 b** — Avtalsuppfyllelse: kunduppgifter för köpet.
|
||||
- **Art. 6.1 f** — Berättigat intresse: marknadsföring till befintliga kunder (med opt-out), bedrägeribekämpning.
|
||||
- **Art. 6.1 a** — Samtycke: nyhetsbrev till nya kontakter, icke-funktionella cookies, profilering.
|
||||
- **Art. 6.1 c** — Rättslig förpliktelse: bokföringsdata (BFL 7 kap. 2 §).
|
||||
- **Art. 6.1 b**: Avtalsuppfyllelse: kunduppgifter för köpet.
|
||||
- **Art. 6.1 f**: Berättigat intresse: marknadsföring till befintliga kunder (med opt-out), bedrägeribekämpning.
|
||||
- **Art. 6.1 a**: Samtycke: nyhetsbrev till nya kontakter, icke-funktionella cookies, profilering.
|
||||
- **Art. 6.1 c**: Rättslig förpliktelse: bokföringsdata (BFL 7 kap. 2 §).
|
||||
|
||||
### Lagringstid
|
||||
- Kunddata: så länge nödvändigt för relationen, sedan radering eller anonymisering.
|
||||
- **Bokföringsdata: 7 år** efter räkenskapsårets slut (BFL 7 kap. 2 §) — specialregel.
|
||||
- Marknadsföringsdata utan samtycke efter avslutad kundrelation: vanligtvis 2–3 år.
|
||||
- **Bokföringsdata: 7 år** efter räkenskapsårets slut (BFL 7 kap. 2 §), specialregel.
|
||||
- Marknadsföringsdata utan samtycke efter avslutad kundrelation: vanligtvis 2-3 år.
|
||||
|
||||
### Personuppgiftsbiträden
|
||||
- Shopify, Klaviyo, Stripe, fraktbolag, ESP, customer service-verktyg → biträdesavtal (art. 28) krävs.
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# Marketplace deemed supplier — 5 kap. 5–6 §§ ML 2023:200
|
||||
# Marketplace deemed supplier: 5 kap. 5-6 §§ ML 2023:200
|
||||
|
||||
## När triggas reglerna
|
||||
|
||||
**5 kap. 5 § ML** — distansförsäljning av **importerade varor ≤ 150 EUR** via elektroniskt gränssnitt. Plattformen anses ha köpt och sålt varan. Tillämpas oavsett säljarens etableringsland.
|
||||
**5 kap. 5 § ML**: distansförsäljning av **importerade varor ≤ 150 EUR** via elektroniskt gränssnitt. Plattformen anses ha köpt och sålt varan. Tillämpas oavsett säljarens etableringsland.
|
||||
|
||||
**5 kap. 6 § ML** — leverans **inom EU** från en **icke-EU-etablerad säljare** till en EU-konsument via elektroniskt gränssnitt. Tillämpas både vid gränsöverskridande och inom samma EU-land.
|
||||
**5 kap. 6 § ML**: leverans **inom EU** från en **icke-EU-etablerad säljare** till en EU-konsument via elektroniskt gränssnitt. Tillämpas både vid gränsöverskridande och inom samma EU-land.
|
||||
|
||||
**Fakta-test**:
|
||||
1. Är försäljningen via elektroniskt gränssnitt (online marketplace, plattform, portal)?
|
||||
@@ -33,18 +33,18 @@
|
||||
**PAN-EU FBA**: Amazon kan flytta säljarens varor mellan EU-lager (DE, FR, IT, ES, PL, CZ, NL, SE) för optimering. **Varje flytt utlöser lokal momsregistreringsskyldighet** i mottagande land (förvärv lika med, art. 17 direktivet). OSS kan inte ersätta dessa lokala registreringar.
|
||||
|
||||
**Rapporter att tolka momsmässigt**:
|
||||
- *VAT Transactions Report* — visar varje transaktion med plattformens deemed supplier-status.
|
||||
- *Amazon VAT Calculation Service (VCS)* — Amazon räknar och samlar in moms.
|
||||
- *Settlement Report* — payout-detaljer för bokföring (brutto, refunds, fees).
|
||||
- *VAT Transactions Report*: visar varje transaktion med plattformens deemed supplier-status.
|
||||
- *Amazon VAT Calculation Service (VCS)*: Amazon räknar och samlar in moms.
|
||||
- *Settlement Report*: payout-detaljer för bokföring (brutto, refunds, fees).
|
||||
|
||||
**BAS-mappning säljarens bokföring**:
|
||||
- 1580-AMZ-DE, 1580-AMZ-FR etc. per marketplace.
|
||||
- 6050 — Amazon Referral Fee, FBA Fulfilment Fee (RC: Amazon EU S.à r.l., LU → 4535 + 2614/2645).
|
||||
- 3990 — Övrig försäljning (deemed supplier-fall där säljarens leverans är undantagen) eller normal 3001/3106 om säljaren bär momsen själv.
|
||||
- 6050: Amazon Referral Fee, FBA Fulfilment Fee (RC: Amazon EU S.à r.l., LU → 4535 + 2614/2645).
|
||||
- 3990: Övrig försäljning (deemed supplier-fall där säljarens leverans är undantagen) eller normal 3001/3106 om säljaren bär momsen själv.
|
||||
|
||||
### eBay
|
||||
- Deemed supplier för icke-EU-säljare och importerade varor ≤ 150 EUR enligt samma logik.
|
||||
- Final value fee (provisionen) bokas på 6050 (eBay Marketplaces GmbH, CH-baserat för EU — RC kan tillämpas; eller eBay Commerce Inc, US — RC).
|
||||
- Final value fee (provisionen) bokas på 6050 (eBay Marketplaces GmbH, CH-baserat för EU, RC kan tillämpas; eller eBay Commerce Inc, US, RC).
|
||||
|
||||
### Etsy
|
||||
- Etsy Ireland UC (IE) → RC på provisioner.
|
||||
@@ -60,7 +60,7 @@
|
||||
|
||||
### TikTok Shop
|
||||
- Säljare måste vara EU-etablerade för EU-marknader (per 2025). Deemed supplier-frågan begränsad.
|
||||
- TikTok Information Technologies UK Ltd (UK) eller TikTok Technology Limited (IE) beroende på avtal — verifiera entiteten på faktura.
|
||||
- TikTok Information Technologies UK Ltd (UK) eller TikTok Technology Limited (IE) beroende på avtal: verifiera entiteten på faktura.
|
||||
|
||||
### Temu och Wish
|
||||
- Operationsmodell varierar. Säljare via Temu är ofta kinesiska entiteter; Temu kan agera deemed supplier för importerade varor ≤ 150 EUR.
|
||||
@@ -70,11 +70,11 @@
|
||||
|
||||
Vid scenarier där 5 kap. 5 eller 6 § triggas och säljarens leverans till plattformen är undantagen:
|
||||
|
||||
1. Bruttoförsäljning enligt plattformens settlement report bokas på fordringskonto (1580-AMZ etc.) mot **3990 Övrig försäljning** eller separat konto (t.ex. 3091 "Försäljning via marketplace — deemed supplier") för att skilja från egen omsättning som faller under momslagen.
|
||||
1. Bruttoförsäljning enligt plattformens settlement report bokas på fordringskonto (1580-AMZ etc.) mot **3990 Övrig försäljning** eller separat konto (t.ex. 3091 "Försäljning via marketplace, deemed supplier") för att skilja från egen omsättning som faller under momslagen.
|
||||
2. Provisioner och fees bokas separat på 6050 (RC tillämpas om plattformens entitet är utanför SE).
|
||||
3. Refunds bokas som negativ försäljning, ej som kostnad.
|
||||
4. **Ingen utgående moms** redovisas av säljaren för dessa transaktioner i svensk momsdeklaration.
|
||||
5. **Periodisk sammanställning**: dessa transaktioner ingår inte i VIES-rapporteringen — det är plattformen som rapporterar.
|
||||
5. **Periodisk sammanställning**: dessa transaktioner ingår inte i VIES-rapporteringen: det är plattformen som rapporterar.
|
||||
6. För blandad verksamhet (egen omsättning + marketplace-omsättning som deemed supplier-skyddas): se HFD 2023 ref. 45 om proportionell avdragsrätt vid blandad verksamhet.
|
||||
|
||||
## Bevisning vid revision
|
||||
@@ -90,4 +90,4 @@ Skatteverket har inte publicerat aktörsspecifik vägledning. Praktisk hantering
|
||||
- Försäljning från utländskt EU-lager till konsument i annat EU-land → kan rapporteras via OSS (eftersom OSS täcker unionsintern distansförsäljning oavsett startland inom EU).
|
||||
- Försäljning från utländskt EU-lager till konsument i **samma** land som lagret → lokal momsregistrering krävs, OSS täcker inte detta.
|
||||
|
||||
Kombinationen genererar typiskt 3–7 lokala momsregistreringar för PAN-EU FBA-säljare. Kräver klientspecifik analys.
|
||||
Kombinationen genererar typiskt 3-7 lokala momsregistreringar för PAN-EU FBA-säljare. Kräver klientspecifik analys.
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
# OSS- och IOSS-mekanik
|
||||
|
||||
## OSS — unionsordningen för distansförsäljning
|
||||
## OSS: unionsordningen för distansförsäljning
|
||||
|
||||
### Registreringsförfarande
|
||||
- Anmälan via Skatteverkets e-tjänst "Moms — särskilda ordningar" (kräver BankID och momsregistrering i Sverige).
|
||||
- Anmälan via Skatteverkets e-tjänst "Moms: särskilda ordningar" (kräver BankID och momsregistrering i Sverige).
|
||||
- Ikraftträdande: från första dagen i nästkommande kalenderkvartal efter anmälan.
|
||||
- Frivillig anmälan under tröskeln 99 680 SEK: bindande i minst två kalenderår.
|
||||
- Vid passerande av tröskeln 6 kap. 62 § ML 2023:200: anmälan ska göras senast den 10:e i månaden efter den månad då tröskeln passerades; OSS kan tillämpas retroaktivt från överskridandetransaktionen.
|
||||
- Identifieringsstat = Sverige för svenska säljare. Vid flytt av etableringsstat krävs avregistrering + omregistrering.
|
||||
|
||||
### Deklarationsperiod
|
||||
- **Kvartalsvis**: Q1 (jan–mar) → deklaration senast 30 april; Q2 → 31 juli; Q3 → 31 oktober; Q4 → 31 januari.
|
||||
- **Kvartalsvis**: Q1 (jan-mar) → deklaration senast 30 april; Q2 → 31 juli; Q3 → 31 oktober; Q4 → 31 januari.
|
||||
- Betalning samtidigt med deklaration till Skatteverkets särskilda OSS-bankgiro.
|
||||
- Noll-deklaration krävs även om ingen omsättning skett under perioden.
|
||||
|
||||
@@ -35,16 +35,16 @@ Rekommenderad struktur på **2670**:
|
||||
|
||||
Motsvarande underkontostruktur på **3106** för försäljningssidan.
|
||||
|
||||
## IOSS — importordningen
|
||||
## IOSS: importordningen
|
||||
|
||||
### Tillämpningsområde
|
||||
- Försändelser från tredjeland till EU-konsument, **verkligt värde ≤ 150 EUR** exkl. punktskattepliktiga varor.
|
||||
- Verkligt värde = pris exkl. transport, försäkring och skatter (Tullverkets praxis enligt TFS 2022:5, Unionstullkodexen art. 23).
|
||||
- Frivilligt — alternativ är standardimportförfarande där mottagaren betalar moms vid gränsen.
|
||||
- Frivilligt: alternativ är standardimportförfarande där mottagaren betalar moms vid gränsen.
|
||||
|
||||
### Registreringsförfarande
|
||||
- IOSS-nummer (IM-prefix) tilldelas av Skatteverket vid registrering.
|
||||
- Försäljare utanför EU måste utse en EU-baserad förmedlare (mellanman) — den blir solidariskt ansvarig för momsen.
|
||||
- Försäljare utanför EU måste utse en EU-baserad förmedlare (mellanman): den blir solidariskt ansvarig för momsen.
|
||||
|
||||
### Deklarationsperiod
|
||||
- **Månadsvis**: deklaration + betalning senast sista dagen i månaden efter rapporteringsmånaden.
|
||||
@@ -58,7 +58,7 @@ Motsvarande underkontostruktur på **3106** för försäljningssidan.
|
||||
### Bokföring
|
||||
- Intäkt på **3106** med underkonto per destinationsland.
|
||||
- Utgående moms på **2670** med destinationslandets sats.
|
||||
- Inget importmomskonto (2615/2645) används — själva importen är momsbefriad vid korrekt IOSS-tillämpning.
|
||||
- Inget importmomskonto (2615/2645) används: själva importen är momsbefriad vid korrekt IOSS-tillämpning.
|
||||
|
||||
## Samspel med ordinarie momsdeklaration
|
||||
- OSS-omsättning ska **inte** redovisas i ordinarie momsdeklaration (Ruta 35 är för B2B intra-EU varor, ej OSS).
|
||||
|
||||
@@ -1,46 +1,46 @@
|
||||
# Payment Provider — bokföringsmappning per aktör
|
||||
# Payment Provider: bokföringsmappning per aktör
|
||||
|
||||
Per provider: jurisdiktion, reverse charge-status, faktureringsmodell, payout-cykel, BAS-konton, fee-struktur.
|
||||
|
||||
## Stripe
|
||||
|
||||
**Faktureringsentitet (EEA)**: Stripe Technology Europe Ltd, Dublin, Irland.
|
||||
**Reverse charge**: JA (B2B-tjänst från IE till SE — 6 kap. 33 § ML, huvudregeln). Konto 4535 + 2614/2645.
|
||||
**Reverse charge**: JA (B2B-tjänst från IE till SE, 6 kap. 33 § ML, huvudregeln). Konto 4535 + 2614/2645.
|
||||
**Faktureringsmodell**: Avgifter debiteras netto från payout. Månatlig faktura med specifikation laddas ner från Dashboard → Documents.
|
||||
**Payout-cykel**: T+2 för SEK, T+7 för EUR/USD (default; konfigurerbart per konto).
|
||||
**BAS-konton**:
|
||||
- 1581 — Fordringar Stripe (clearingunderkonto till 1580)
|
||||
- 6040 — Kontokortsavgifter (transaktionsavgifter)
|
||||
- 4535 — Inköp av tjänster från annat EU-land 25 % (reverse charge på den momspliktiga delen)
|
||||
- 2614 + 2645 — utgående/ingående RC-moms
|
||||
- 3960/7960 — FX vid USD/EUR-payout
|
||||
- 1581: Fordringar Stripe (clearingunderkonto till 1580)
|
||||
- 6040: Kontokortsavgifter (transaktionsavgifter)
|
||||
- 4535: Inköp av tjänster från annat EU-land 25 % (reverse charge på den momspliktiga delen)
|
||||
- 2614 + 2645: utgående/ingående RC-moms
|
||||
- 3960/7960: FX vid USD/EUR-payout
|
||||
**Fee-struktur (EEA-kort, default 2025)**: 1,4 % + 1,80 SEK; non-EEA: 2,9 % + 1,80 SEK; valutaväxling +2 %; Klarna via Stripe +1,99 %.
|
||||
**Momsbedömning per komponent** (dnr 8-5507): processing fee = momspliktig teknisk tjänst (RC tillämpas); interchange/scheme fees = vidaredebiterad pass-through, normalt momsfri. Stripe specificerar inte alltid uppdelning — i praktiken behandlas hela transaktionsavgiften som RC-tjänst om Stripe inte tydligt anger annat.
|
||||
**Momsbedömning per komponent** (dnr 8-5507): processing fee = momspliktig teknisk tjänst (RC tillämpas); interchange/scheme fees = vidaredebiterad pass-through, normalt momsfri. Stripe specificerar inte alltid uppdelning: i praktiken behandlas hela transaktionsavgiften som RC-tjänst om Stripe inte tydligt anger annat.
|
||||
|
||||
## Klarna
|
||||
|
||||
**Faktureringsentitet**: Klarna Bank AB, Stockholm, Sverige (org.nr 556737-0431).
|
||||
**Reverse charge**: NEJ — svensk entitet, svensk moms på faktura (eller momsfri finansiell tjänst där tillämpligt).
|
||||
**Reverse charge**: NEJ, svensk entitet, svensk moms på faktura (eller momsfri finansiell tjänst där tillämpligt).
|
||||
**Faktureringsmodell**: Settlement reports veckovis (måndagar för föregående vecka, kan variera). Avgifter debiteras netto från payout.
|
||||
**Payout-cykel**: 1–2 gånger per vecka, varierar per avtal (kan vara 14 dagar för nya merchants under verifikation).
|
||||
**Payout-cykel**: 1-2 gånger per vecka, varierar per avtal (kan vara 14 dagar för nya merchants under verifikation).
|
||||
**BAS-konton**:
|
||||
- 1582 — Fordringar Klarna (clearingunderkonto)
|
||||
- 1513 — Klarna Pay Later/Slice it (kundfordran innan settlement)
|
||||
- 6040 — Kontokortsavgifter (transaktionsdelen)
|
||||
- 6062 — Kreditfees, ej-godkända faktorerade fakturor
|
||||
- 2611 — Svensk utgående moms (Klarna är svensk entitet — ingen RC)
|
||||
**Fee-struktur**: Pay Now ~1,49 % + 2,50 SEK; Pay Later (faktura/delbetalning) 2,49–3,29 % + 2,50 SEK; Financing varierar.
|
||||
**Momsbedömning**: Klarnas kreditbedömning är momsfri finansiell tjänst (3 kap. 9 § ML 2023:200), transaktionsdelen är momspliktig teknisk tjänst. Klarnas faktura ska specificera. **Varning**: Klarna Inc (US) och Klarna AB-dotterbolag i andra länder fakturerar med RC — verifiera entiteten per faktura, inte per varumärke.
|
||||
- 1582: Fordringar Klarna (clearingunderkonto)
|
||||
- 1513: Klarna Pay Later/Slice it (kundfordran innan settlement)
|
||||
- 6040: Kontokortsavgifter (transaktionsdelen)
|
||||
- 6062: Kreditfees, ej-godkända faktorerade fakturor
|
||||
- 2611: Svensk utgående moms (Klarna är svensk entitet, ingen RC)
|
||||
**Fee-struktur**: Pay Now ~1,49 % + 2,50 SEK; Pay Later (faktura/delbetalning) 2,49-3,29 % + 2,50 SEK; Financing varierar.
|
||||
**Momsbedömning**: Klarnas kreditbedömning är momsfri finansiell tjänst (3 kap. 9 § ML 2023:200), transaktionsdelen är momspliktig teknisk tjänst. Klarnas faktura ska specificera. **Varning**: Klarna Inc (US) och Klarna AB-dotterbolag i andra länder fakturerar med RC: verifiera entiteten per faktura, inte per varumärke.
|
||||
|
||||
## Adyen
|
||||
|
||||
**Faktureringsentitet (EEA)**: Adyen N.V., Amsterdam, Nederländerna.
|
||||
**Reverse charge**: JA. Konto 4535 + 2614/2645.
|
||||
**Faktureringsmodell**: Månatlig invoice; transaktionsavgifter kan debiteras antingen netto från payout eller separat.
|
||||
**Payout-cykel**: Konfigurerbart — veckovis vanligast, dagligt möjligt med tillägg.
|
||||
**Payout-cykel**: Konfigurerbart: veckovis vanligast, dagligt möjligt med tillägg.
|
||||
**BAS-konton**: Som Stripe.
|
||||
**Fee-struktur**: 0,11 EUR processing fee + interchange + scheme fee + payment method fee (transparent pricing).
|
||||
**Anmärkning**: Adyens fakturaspecifikation är tydligare än Stripes — uppdelningen mellan processing fee (RC-momspliktigt) och interchange (RC-momsfritt) ska följas per komponent.
|
||||
**Anmärkning**: Adyens fakturaspecifikation är tydligare än Stripes: uppdelningen mellan processing fee (RC-momspliktigt) och interchange (RC-momsfritt) ska följas per komponent.
|
||||
|
||||
## PayPal
|
||||
|
||||
@@ -49,11 +49,11 @@ Per provider: jurisdiktion, reverse charge-status, faktureringsmodell, payout-cy
|
||||
**Faktureringsmodell**: Avgifter debiteras netto från transaktionen direkt. Månatlig statement.
|
||||
**Payout-cykel**: Manuell utbetalning från PayPal-konto till bank, eller veckovis automatisk om aktiverat.
|
||||
**BAS-konton**:
|
||||
- 1583 — Fordringar PayPal
|
||||
- 6040 — PayPal-avgifter (momsfri finansiell tjänst)
|
||||
- 3960/7960 — FX (PayPals interna växling är ofta sämre än ECB; kursdifferens bokas här)
|
||||
**Fee-struktur**: 1,9–3,4 % + 3,25 SEK + valutaväxling 3–4 %.
|
||||
**Anmärkning**: PayPals momsbedömning är komplex — kontrollera per fakturarad om RC ska tillämpas.
|
||||
- 1583: Fordringar PayPal
|
||||
- 6040: PayPal-avgifter (momsfri finansiell tjänst)
|
||||
- 3960/7960: FX (PayPals interna växling är ofta sämre än ECB; kursdifferens bokas här)
|
||||
**Fee-struktur**: 1,9-3,4 % + 3,25 SEK + valutaväxling 3-4 %.
|
||||
**Anmärkning**: PayPals momsbedömning är komplex: kontrollera per fakturarad om RC ska tillämpas.
|
||||
|
||||
## Shopify Payments
|
||||
|
||||
@@ -62,12 +62,12 @@ Per provider: jurisdiktion, reverse charge-status, faktureringsmodell, payout-cy
|
||||
**Faktureringsmodell**: Avgifter debiteras netto från payout. Månatlig invoice för subscription (Basic/Shopify/Advanced).
|
||||
**Payout-cykel**: Daglig (default), konfigurerbar till veckovis eller månadsvis.
|
||||
**BAS-konton**:
|
||||
- 1584 — Fordringar Shopify Payments
|
||||
- 6040 — Transaktionsavgifter Payments
|
||||
- 4535 — Subscription (Basic Shopify-prenumeration etc.) + RC
|
||||
- 6540 — Övriga IT-tjänster (om annan klassificering föredras för subscription)
|
||||
- 1584: Fordringar Shopify Payments
|
||||
- 6040: Transaktionsavgifter Payments
|
||||
- 4535: Subscription (Basic Shopify-prenumeration etc.) + RC
|
||||
- 6540: Övriga IT-tjänster (om annan klassificering föredras för subscription)
|
||||
**Fee-struktur**: 1,6 % + 0,25 EUR för EEA-kort på Basic-planen; varierar med plan och kortregion.
|
||||
**Anmärkning**: Shopify Payments använder Stripe som underliggande processor men fakturerar i eget namn — behandlas som Shopify, inte Stripe, i bokföringen.
|
||||
**Anmärkning**: Shopify Payments använder Stripe som underliggande processor men fakturerar i eget namn: behandlas som Shopify, inte Stripe, i bokföringen.
|
||||
|
||||
## Mollie
|
||||
|
||||
@@ -75,20 +75,20 @@ Per provider: jurisdiktion, reverse charge-status, faktureringsmodell, payout-cy
|
||||
**Reverse charge**: JA. Konto 4535 + 2614/2645.
|
||||
**Payout-cykel**: Daglig (T+1) som default.
|
||||
**BAS-konton**:
|
||||
- 1585 — Fordringar Mollie
|
||||
- 6040 — Avgifter
|
||||
- 1585: Fordringar Mollie
|
||||
- 6040: Avgifter
|
||||
**Anmärkning**: Stark i Benelux och EU-marknader, mindre vanlig i Sverige.
|
||||
|
||||
## Qliro
|
||||
|
||||
**Faktureringsentitet**: Qliro AB, Stockholm, Sverige.
|
||||
**Reverse charge**: NEJ — svensk entitet.
|
||||
**Reverse charge**: NEJ, svensk entitet.
|
||||
**Payout-cykel**: Varierar per avtal, vanligen veckovis.
|
||||
**BAS-konton**:
|
||||
- 1586 — Fordringar Qliro
|
||||
- 1513 — Faktura/delbetalning innan settlement
|
||||
- 6040 / 6062 — Avgifter / kreditfees
|
||||
- 2611 — Svensk moms på fakturan
|
||||
- 1586: Fordringar Qliro
|
||||
- 1513: Faktura/delbetalning innan settlement
|
||||
- 6040 / 6062: Avgifter / kreditfees
|
||||
- 2611: Svensk moms på fakturan
|
||||
**Anmärkning**: Nordisk konkurrent till Klarna. Faktura/delbetalning vanligast.
|
||||
|
||||
## Generella rekonciliationsmönster
|
||||
@@ -97,6 +97,6 @@ Per provider: jurisdiktion, reverse charge-status, faktureringsmodell, payout-cy
|
||||
|
||||
2. **Provider gross − avgifter ↔ bankpayout**: matcha per payout-batch och netto-belopp. Diff = chargebacks, refunds eller reserves som provider håller.
|
||||
|
||||
3. **FX-omräkning fordringskonto**: om provider håller saldo i EUR/USD och payout sker i samma valuta till valutakonto 1980, ingen FX-diff vid payout — diffen uppstår först vid växling till SEK på 1930. Om provider växlar internt vid payout, bokas diff på 3960/7960 vid varje payout.
|
||||
3. **FX-omräkning fordringskonto**: om provider håller saldo i EUR/USD och payout sker i samma valuta till valutakonto 1980, ingen FX-diff vid payout: diffen uppstår först vid växling till SEK på 1930. Om provider växlar internt vid payout, bokas diff på 3960/7960 vid varje payout.
|
||||
|
||||
4. **Reserves och hold**: vissa providers håller en del av payouten i reserve (vanligt första 6 mån för nya merchants). Reserve-saldot ska synas separat på underkonto till 1580.
|
||||
|
||||
@@ -1,88 +1,88 @@
|
||||
# Skatteverkets ställningstaganden och HFD-domar — e-handelskatalog
|
||||
# Skatteverkets ställningstaganden och HFD-domar: e-handelskatalog
|
||||
|
||||
Komplett katalog över relevanta avgöranden 2018–2025. Paragrafnyckel från GML 1994:200 till ML 2023:200 anges där tillämpligt (ML 2023:200 ikraft 2023-07-01).
|
||||
Komplett katalog över relevanta avgöranden 2018-2025. Paragrafnyckel från GML 1994:200 till ML 2023:200 anges där tillämpligt (ML 2023:200 ikraft 2023-07-01).
|
||||
|
||||
## Skatteverkets ställningstaganden
|
||||
|
||||
### Plattformsförsäljning och deemed supplier
|
||||
|
||||
**dnr 8-1293055** — Plattformsförsäljning, deemed supplier
|
||||
**dnr 8-1293055**: Plattformsförsäljning, deemed supplier
|
||||
- **Datum**: 2021-10-29, uppdaterad 2023-06-26.
|
||||
- **Innehåll**: Tillämpning av 5 kap. 5–6 §§ ML 2023:200 (motsvarar tidigare GML 5 kap. 2 g §). Deemed supplier-reglerna omfattar inte förmedling i eget namn (då gäller 5 kap. 4 § ML). Varorna måste fysiskt befinna sig inom EU när betalningen godkänns för att 5 kap. 6 § ML ska tillämpas. Vid flerstegsförsäljning av importerade varor ≤ 150 EUR hänförs transporten till sista ledet.
|
||||
- **Innehåll**: Tillämpning av 5 kap. 5-6 §§ ML 2023:200 (motsvarar tidigare GML 5 kap. 2 g §). Deemed supplier-reglerna omfattar inte förmedling i eget namn (då gäller 5 kap. 4 § ML). Varorna måste fysiskt befinna sig inom EU när betalningen godkänns för att 5 kap. 6 § ML ska tillämpas. Vid flerstegsförsäljning av importerade varor ≤ 150 EUR hänförs transporten till sista ledet.
|
||||
- **Status**: Gällande.
|
||||
|
||||
**dnr 8-2059749** — Elektroniska tjänster via marknadsplatser
|
||||
**dnr 8-2059749**: Elektroniska tjänster via marknadsplatser
|
||||
- **Datum**: 2022-12-19.
|
||||
- **Innehåll**: Presumtion om förmedlare som säljare enligt art. 9a genomförandeförordning 282/2011. Tillämpning för digitala tjänster (appar, prenumerationer) som säljs via plattformar (Apple App Store, Google Play, Steam).
|
||||
- **Status**: Gällande.
|
||||
|
||||
**dnr 8-314934** — Förmedling av tjänster i eget vs annans namn
|
||||
**dnr 8-314934**: Förmedling av tjänster i eget vs annans namn
|
||||
- **Datum**: 2020-09-25.
|
||||
- **Innehåll**: Kriterier för att avgöra om förmedlare agerar i eget eller annans namn. Påverkar både digital och fysisk e-handel.
|
||||
- **Status**: Gällande.
|
||||
|
||||
**dnr 8-498120** — Förmedling av varor i annans namn
|
||||
**dnr 8-498120**: Förmedling av varor i annans namn
|
||||
- **Datum**: 2020-09-25.
|
||||
- **Innehåll**: Komplement till 8-314934, specifikt för varuförmedling. Distinktionen mellan agentförhållande och egenhandel.
|
||||
- **Status**: Gällande.
|
||||
|
||||
### Betaltjänster och kortinlösen
|
||||
|
||||
**dnr 8-5507** — Betaltjänster och undantaget från skatteplikt
|
||||
**dnr 8-5507**: Betaltjänster och undantaget från skatteplikt
|
||||
- **Datum**: 2020-01-13.
|
||||
- **Innehåll**: Tjänster som är undantagna från moms enligt 10 kap. 16 § ML (motsvarar GML 3 kap. 9 §) — momsfri endast vid rättsliga/ekonomiska förändringar mellan betalare och mottagare. Rena tekniska/administrativa tjänster är momspliktiga. Avgörande för momsklassificering av Stripe/Klarna/Adyen-avgifter per komponent.
|
||||
- **Innehåll**: Tjänster som är undantagna från moms enligt 10 kap. 16 § ML (motsvarar GML 3 kap. 9 §): momsfri endast vid rättsliga/ekonomiska förändringar mellan betalare och mottagare. Rena tekniska/administrativa tjänster är momspliktiga. Avgörande för momsklassificering av Stripe/Klarna/Adyen-avgifter per komponent.
|
||||
- **Status**: Gällande.
|
||||
|
||||
### Vouchers och presentkort
|
||||
|
||||
**dnr 202 488720-18/111** — Vouchers SPV/MPV
|
||||
**dnr 202 488720-18/111**: Vouchers SPV/MPV
|
||||
- **Datum**: 2018-11-26.
|
||||
- **Innehåll**: Tillämpning av voucher-direktivet i svensk rätt. Definitioner SPV vs MPV, redovisningstidpunkt.
|
||||
- **Status**: Fortsatt giltigt under ML 2023:200 (paragrafer omnumrerade till 2 kap. 26–27 §§ och 5 kap. 40–44 §§).
|
||||
- **Status**: Fortsatt giltigt under ML 2023:200 (paragrafer omnumrerade till 2 kap. 26-27 §§ och 5 kap. 40-44 §§).
|
||||
|
||||
**dnr 202 508158-18/111** — Vouchers, fakturering och redovisning
|
||||
**dnr 202 508158-18/111**: Vouchers, fakturering och redovisning
|
||||
- **Datum**: 2018-12-06.
|
||||
- **Innehåll**: Praktisk hantering av fakturering vid voucher-transaktioner, distributörsledet, redovisning av distributörsprovision.
|
||||
- **Status**: Fortsatt giltigt.
|
||||
|
||||
### Import och tullhantering
|
||||
|
||||
**dnr 8-155570-2025** — Betalningsskyldig för importmoms
|
||||
**dnr 8-155570-2025**: Betalningsskyldig för importmoms
|
||||
- **Datum**: 2025-05-02.
|
||||
- **Innehåll**: Gemensamt ställningstagande från Skatteverket och Tullverket. Den som anges som deklarant i tulldeklarationen är betalningsskyldig och redovisar importmomsen i sin momsdeklaration. Praktisk vägledning för spedition och DDP-leveranser.
|
||||
- **Status**: Gällande (det senaste i kategorin).
|
||||
|
||||
## HFD-domar
|
||||
|
||||
### Mål nr 5815-22 — Förmedling i eget namn
|
||||
### Mål nr 5815-22: Förmedling i eget namn
|
||||
- **Avgjort**: 2023-02-24.
|
||||
- **Område**: Vårdplattform, men kriterierna är analogt tillämpbara på e-handelsplattformar.
|
||||
- **Rättsfråga**: Vad krävs för att en plattform ska anses förmedla "i eget namn" enligt 5 kap. 4 § ML (med påföljden att plattformen blir momsskyldig som om den vore säljare)?
|
||||
- **Princip**: HFD lyfter fram kontroll över prissättning, fakturering, betalningsflöde och kundkontakt som centrala kriterier. Plattform som agerar "i annans namn" (klar agentstatus) faller utanför 5 kap. 4 § ML.
|
||||
|
||||
### Mål nr 4610-21 — Mellanbanksavgifter och kortinlösen
|
||||
### Mål nr 4610-21: Mellanbanksavgifter och kortinlösen
|
||||
- **Avgjort**: 2022-01-07.
|
||||
- **Rättsfråga**: Är kortinlösentjänster momsfria? Är mellanbanksavgifter (interchange) ersättning för en tjänst eller en intern allokering?
|
||||
- **Princip**: Inlösentjänst klassificeras som momsfri finansiell tjänst (3 kap. 9 § ML, nu 10 kap. 16 § ML 2023:200). Mellanbanksavgiften är ej ersättning för en separat tjänst utan en kostnadsfördelning mellan kortnätverk. Innebörd för bokföring: vid uppdelad fakturaspecifikation från payment provider följs klassificeringen per komponent — pure inlösen är momsfri, tilläggstjänster är momspliktiga.
|
||||
- **Princip**: Inlösentjänst klassificeras som momsfri finansiell tjänst (3 kap. 9 § ML, nu 10 kap. 16 § ML 2023:200). Mellanbanksavgiften är ej ersättning för en separat tjänst utan en kostnadsfördelning mellan kortnätverk. Innebörd för bokföring: vid uppdelad fakturaspecifikation från payment provider följs klassificeringen per komponent: pure inlösen är momsfri, tilläggstjänster är momspliktiga.
|
||||
|
||||
### HFD 2023 ref. 45 — Mål nr 7254–7255-22 — Blandad verksamhet
|
||||
### HFD 2023 ref. 45: Mål nr 7254-7255-22: Blandad verksamhet
|
||||
- **Avgjort**: 2023-10-16.
|
||||
- **Rättsfråga**: Vilken fördelningsgrund ska användas vid beräkning av avdragsrätt vid blandad verksamhet (momspliktig + momsfri)?
|
||||
- **Princip**: Omsättningsbaserad fördelningsgrund är huvudregel med direkt effekt från art. 173–174 i direktivet 2006/112/EG. Tillämpas i e-handelskontext vid kombination av momspliktig varuförsäljning och momsfri finansiell verksamhet (t.ex. egen Buy Now Pay Later-finansiering, försäkringserbjudanden) eller vid blandad verksamhet inom samma juridiska person.
|
||||
- **Princip**: Omsättningsbaserad fördelningsgrund är huvudregel med direkt effekt från art. 173-174 i direktivet 2006/112/EG. Tillämpas i e-handelskontext vid kombination av momspliktig varuförsäljning och momsfri finansiell verksamhet (t.ex. egen Buy Now Pay Later-finansiering, försäkringserbjudanden) eller vid blandad verksamhet inom samma juridiska person.
|
||||
|
||||
## Paragrafnyckel GML 1994:200 → ML 2023:200 (urval relevant för e-handel)
|
||||
|
||||
| Område | GML 1994:200 | ML 2023:200 |
|
||||
|---|---|---|
|
||||
| Voucher-definition | 1 kap. 20 § | 2 kap. 26 § |
|
||||
| SPV/MPV beskattningstid | 2 kap. 9 a–b § | 5 kap. 40–44 § |
|
||||
| SPV/MPV beskattningstid | 2 kap. 9 a-b § | 5 kap. 40-44 § |
|
||||
| Leveransort distansförsäljning | 5 kap. 2 a § | 6 kap. 7 § |
|
||||
| Tröskeln distansförsäljning | 5 kap. 2 § | 6 kap. 62 § |
|
||||
| OSS/unionsordningen | 4 a kap. | 22 kap. |
|
||||
| IOSS/importordningen | 4 b kap. | 22 kap. |
|
||||
| Deemed supplier marknadsplats | 6 kap. 9–10 § | 5 kap. 5–6 § |
|
||||
| Deemed supplier marknadsplats | 6 kap. 9-10 § | 5 kap. 5-6 § |
|
||||
| Förmedling i annans namn | 6 kap. 7 § | 5 kap. 4 § |
|
||||
| Kedjetransaktioner | 5 kap. 2 e § | 6 kap. 14–17 § |
|
||||
| Kedjetransaktioner | 5 kap. 2 e § | 6 kap. 14-17 § |
|
||||
| Reverse charge huvudregeln | 5 kap. 5 § | 6 kap. 33 § |
|
||||
| Momsfria finansiella tjänster | 3 kap. 9 § | 10 kap. 16 § |
|
||||
| Undantag IOSS-import | 3 kap. 30 c § | 10 kap. 65 § |
|
||||
@@ -94,5 +94,5 @@ Komplett katalog över relevanta avgöranden 2018–2025. Paragrafnyckel från G
|
||||
|
||||
- Skatteverket publicerar ställningstaganden löpande på skatteverket.se → Rättslig vägledning → Ställningstaganden.
|
||||
- Vid ML 2023:200-övergången 2023-07-01: Skatteverket har översatt äldre dnr genom paragrafnyckel; nya dnr använder direkt nya paragrafer.
|
||||
- Bevaka 2025–2026: SFS 2024:942 omnumrering av 5 kap. ML från 2025-01-01 — konsoliderad version på riksdagen.se.
|
||||
- Bevaka 2025-2026: SFS 2024:942 omnumrering av 5 kap. ML från 2025-01-01, konsoliderad version på riksdagen.se.
|
||||
- Bevaka BAS 2026 ("Framtidens kontoplan") från BAS-intressenternas Förening.
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
# Vouchers och presentkort — SPV vs MPV
|
||||
# Vouchers och presentkort: SPV vs MPV
|
||||
|
||||
## Lagstöd
|
||||
|
||||
- **2 kap. 26–27 §§ ML 2023:200** — definitioner av voucher, SPV, MPV.
|
||||
- **5 kap. 40–44 §§ ML 2023:200** — beskattningsbara transaktioner kring vouchers. Kontrollera konsoliderad version efter renumrering enligt SFS 2024:942 (ikraft 2025-01-01).
|
||||
- **2 kap. 26-27 §§ ML 2023:200**: definitioner av voucher, SPV, MPV.
|
||||
- **5 kap. 40-44 §§ ML 2023:200**: beskattningsbara transaktioner kring vouchers. Kontrollera konsoliderad version efter renumrering enligt SFS 2024:942 (ikraft 2025-01-01).
|
||||
- **Rådets direktiv (EU) 2016/1065** (voucher-direktivet), implementerat i Sverige 2019-01-01.
|
||||
- **Skatteverkets ställningstagande dnr 202 488720-18/111** (2018-11-26) — fortsatt giltigt.
|
||||
- **Skatteverkets ställningstagande dnr 202 508158-18/111** (2018-12-06) — fakturering och redovisning.
|
||||
- **Skatteverkets ställningstagande dnr 202 488720-18/111** (2018-11-26): fortsatt giltigt.
|
||||
- **Skatteverkets ställningstagande dnr 202 508158-18/111** (2018-12-06): fakturering och redovisning.
|
||||
|
||||
## Definitioner
|
||||
|
||||
**Voucher**: Instrument som måste tas emot som vederlag (helt eller delvis) för leverans av varor eller tjänster, där varorna/tjänsterna eller säljarens identitet anges på instrumentet eller i tillhörande dokumentation.
|
||||
|
||||
**SPV (Single-Purpose Voucher) — enfunktionsvoucher**: Voucher där **både** följande är kända vid utställandet:
|
||||
**SPV (Single-Purpose Voucher), enfunktionsvoucher**: Voucher där **både** följande är kända vid utställandet:
|
||||
- Platsen för leverans (beskattningsland).
|
||||
- Den moms som ska betalas (momssats).
|
||||
|
||||
**MPV (Multi-Purpose Voucher) — flerfunktionsvoucher**: Alla andra vouchers (där minst en av platsen eller momssatsen är okänd vid utställandet).
|
||||
**MPV (Multi-Purpose Voucher), flerfunktionsvoucher**: Alla andra vouchers (där minst en av platsen eller momssatsen är okänd vid utställandet).
|
||||
|
||||
## Beslutsmatris
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
| iTunes-voucher | **MPV** | Lex specialis: separat hantering av e-tjänster vs spel |
|
||||
| ICA-presentkort (matkedja, blandade satser 12 % och 25 %) | **MPV** | Sats okänd |
|
||||
| Sommarjobb-bonus i form av butiksvärdesedel (en butik, bara 12 %-livsmedel) | **SPV** | Båda kända |
|
||||
| Rabattkupong (-100 kr på köp över 500 kr) | **Ingen voucher** — rabattinstrument, ej voucher (2 kap. 27 § ML) |
|
||||
| Rabattkupong (-100 kr på köp över 500 kr) | **Ingen voucher**: rabattinstrument, ej voucher (2 kap. 27 § ML) |
|
||||
|
||||
## Redovisningsregler
|
||||
|
||||
|
||||
@@ -42,21 +42,21 @@ estimated_tokens: 9800
|
||||
version: 2
|
||||
---
|
||||
|
||||
# Konsult-IT — Swedish bookkeeping compliance
|
||||
# Konsult-IT: Swedish bookkeeping compliance
|
||||
|
||||
## 1. When to use
|
||||
|
||||
Load this skill when the books belong to a Swedish AB or enskild firma in SNI 62.01–63.12 (IT-konsult, mjukvara, SaaS, hosting, webbportaler). Strong loading signal: simultaneous presence of foreign SaaS-suppliers (AWS/Azure/GitHub/OpenAI/Stripe), reverse-charge moms-konton (2614/2645), tjänsteförsäljning till EU/utland (3305/3308), och en koncentrerad lönelista där `7220 Löner till företagsledare` dominerar (fåmansbolag-signatur). Skip generic VAT/payroll/year-end skills — they are already covered by horizontal skills; this skill only documents what *differs* for the konsult-IT vertical.
|
||||
Load this skill when the books belong to a Swedish AB or enskild firma in SNI 62.01-63.12 (IT-konsult, mjukvara, SaaS, hosting, webbportaler). Strong loading signal: simultaneous presence of foreign SaaS-suppliers (AWS/Azure/GitHub/OpenAI/Stripe), reverse-charge moms-konton (2614/2645), tjänsteförsäljning till EU/utland (3305/3308), och en koncentrerad lönelista där `7220 Löner till företagsledare` dominerar (fåmansbolag-signatur). Skip generic VAT/payroll/year-end skills: they are already covered by horizontal skills; this skill only documents what *differs* for the konsult-IT vertical.
|
||||
|
||||
## 2. Typical workflow patterns
|
||||
|
||||
**Invoicing cadence.** Three dominant modes coexist and often within the same client portfolio: (a) **timbaserad löpande räkning** with monthly invoicing of consumed hours (the default for staff-augmentation deals); (b) **månatlig retainer** for managed services/SLA (constant amount, periodiseras linjärt); (c) **fastprisprojekt** with milestone-based delfakturor (requires `1620 Upparbetad men ej fakturerad intäkt` or `2450 Fakturerad men ej upparbetad intäkt` at balansdagen — see successiv vinstavräkning in §4). SaaS adds a fourth: **förskottsfakturerade prenumerationer**, where 12-månadersfakturor periodiseras över avtalstiden mot `2972 Förutbetalda intäkter`.
|
||||
**Invoicing cadence.** Three dominant modes coexist and often within the same client portfolio: (a) **timbaserad löpande räkning** with monthly invoicing of consumed hours (the default for staff-augmentation deals); (b) **månatlig retainer** for managed services/SLA (constant amount, periodiseras linjärt); (c) **fastprisprojekt** with milestone-based delfakturor (requires `1620 Upparbetad men ej fakturerad intäkt` or `2450 Fakturerad men ej upparbetad intäkt` at balansdagen: see successiv vinstavräkning in §4). SaaS adds a fourth: **förskottsfakturerade prenumerationer**, where 12-månadersfakturor periodiseras över avtalstiden mot `2972 Förutbetalda intäkter`.
|
||||
|
||||
**Expense rhythm.** Heavily skewed to **monthly recurring SaaS** (Microsoft 365, Adobe, Figma, JetBrains, Slack, Atlassian, Notion) on `5420 Programvoror`, plus **usage-based cloud** (AWS, Azure, GCP) on `6540 IT-tjänster`. Hardware is comparatively small (laptops via `5410 Förbrukningsinventarier` if under ½ pbb, else aktiveras på `1250 Datorer`). Critical pattern: nearly every recurring expense line triggers **omvänd betalningsskyldighet** because suppliers are non-Swedish.
|
||||
|
||||
**Reconciliation timing.** Monthly close is required to capture (i) reverse-charge moms via 2614/2645 entries, (ii) FX-justeringar on USD/EUR-leverantörsskulder, and (iii) WIP-periodisering on löpande räkning. Periodisk sammanställning för EU-tjänsteförsäljning lämnas **kvartalsvis** med köparens VAT-nr.
|
||||
|
||||
**Payroll cadence & CBA.** Månadsavlöning den 25:e är standard. Tillämpligt kollektivavtal: **Tjänstemannaavtalet IT** (kallas "IT-avtalet") mellan **TechSverige** (tidigare IT&Telekomföretagen, namnbyte 2021-10-21; lämnade Almega 2024/25 och är nu fristående AGO) och **Unionen / Sveriges Ingenjörer / Akavia**. Aktuell period **2025-04-01 — 2027-03-31** (24 mån), totalvärde 6,4 %: löneökning 5,5 % (3,0 + 2,5), arbetstidsförkortning 0,5 %, flexpension +0,4 pe. Tjänstepension ITP1/ITP2 via Collectum (`7410`); särskild löneskatt på pensionskostnader 24,26 % på `7530`. Avtalsförsäkringar TGL/TFA via Fora.
|
||||
**Payroll cadence & CBA.** Månadsavlöning den 25:e är standard. Tillämpligt kollektivavtal: **Tjänstemannaavtalet IT** (kallas "IT-avtalet") mellan **TechSverige** (tidigare IT&Telekomföretagen, namnbyte 2021-10-21; lämnade Almega 2024/25 och är nu fristående AGO) och **Unionen / Sveriges Ingenjörer / Akavia**. Aktuell period **2025-04-01 till 2027-03-31** (24 mån), totalvärde 6,4 %: löneökning 5,5 % (3,0 + 2,5), arbetstidsförkortning 0,5 %, flexpension +0,4 pe. Tjänstepension ITP1/ITP2 via Collectum (`7410`); särskild löneskatt på pensionskostnader 24,26 % på `7530`. Avtalsförsäkringar TGL/TFA via Fora.
|
||||
|
||||
## 3. BAS 2025 account patterns
|
||||
|
||||
@@ -73,12 +73,12 @@ Verifierat mot **Kontoplan BAS 2025 v.1.0** (bas.se/kontoplaner). Endast konton
|
||||
| **2450** | Fakturerad men ej upparbetad intäkt | Förskottsfakturerad SaaS-prenumeration eller projektmilstolpe utan motsvarande prestation. |
|
||||
| **2614** | Utgående moms, omvänd betalningsskyldighet, 25 % | Köparens kredit-sida vid inköp av tjänst från utländsk leverantör (AWS, GitHub, EU SaaS). |
|
||||
| **2645** | Beräknad ingående moms på förvärv från utlandet | Motkonto debet; nettoeffekten 0 vid full avdragsrätt. |
|
||||
| **3305** | Försäljning tjänster till land utanför EU | Konsultarvode till US/UK kund — utanför momslagens tillämpningsområde, momsruta **40**. |
|
||||
| **3308** | Försäljning tjänster till annat EU-land | B2B-konsult/SaaS till EU företag — momsruta **39** + periodisk sammanställning. |
|
||||
| **3305** | Försäljning tjänster till land utanför EU | Konsultarvode till US/UK kund: utanför momslagens tillämpningsområde, momsruta **40**. |
|
||||
| **3308** | Försäljning tjänster till annat EU-land | B2B-konsult/SaaS till EU företag: momsruta **39** + periodisk sammanställning. |
|
||||
| **3922** | Licensintäkter och royalties | SaaS-licensavgifter, white-label-royalty, API-användningsavgift. |
|
||||
| **3800** *(gruppkonto)* | Aktiverat arbete för egen räkning | K3-aktivering: motkonto till 1010/1012 när intern utvecklartid kapitaliseras. |
|
||||
| **4531** | Inköp av tjänster från ett land utanför EU, 25 % | AWS US, OpenAI, GitHub, Anthropic, Stripe — utlöser 2614/2645. Momsruta **22+30+48**, **ej** i periodisk sammanställning. |
|
||||
| **4535** | Inköp av tjänster från annat EU-land, 25 % | Microsoft IE, Atlassian NL, Google IE — utlöser 2614/2645. Momsruta **21+30+48**. |
|
||||
| **4531** | Inköp av tjänster från ett land utanför EU, 25 % | AWS US, OpenAI, GitHub, Anthropic, Stripe: utlöser 2614/2645. Momsruta **22+30+48**, **ej** i periodisk sammanställning. |
|
||||
| **4535** | Inköp av tjänster från annat EU-land, 25 % | Microsoft IE, Atlassian NL, Google IE: utlöser 2614/2645. Momsruta **21+30+48**. |
|
||||
| **5420** | Programvoror | SaaS-licenser och off-the-shelf-mjukvara (löpande operativ kostnad, skiljs från 6540 enligt bolagets policy). |
|
||||
| **6540** | IT-tjänster | Molntjänster, IaaS, hosting, CI/CD, MDM, observability. Gränsdragning mot 5420 är policyfråga: tjänst vs licens. |
|
||||
| **6550** | Konsultarvoden | Köpta konsulttjänster (revision, jurist, övrig icke-IT-konsult). |
|
||||
@@ -86,8 +86,8 @@ Verifierat mot **Kontoplan BAS 2025 v.1.0** (bas.se/kontoplaner). Endast konton
|
||||
| **6560** | Serviceavgifter till branschorganisationer | TechSverige, Dataföreningen, certifieringsorgan. |
|
||||
| **6850** | Inhyrd IT-personal | **Sektor-specifikt huvudkonto**: underkonsult AB→AB-kontrakt mot slutkund (klassisk subkontraktering). |
|
||||
| **6910** | Licensavgifter och royalties | **Utgående** royalty till tredjepart (komponent-/IP-licens som integreras i egen SaaS). |
|
||||
| **7210** | Löner till tjänstemän | Konsulternas löner — räknas in i lönesumman för 3:12 lönebaserat utrymme. |
|
||||
| **7220** | Löner till företagsledare | **Kritiskt för 3:12**: ägarens egen kontantlön — måste nå löneuttagskravet (gamla regler t.o.m. 2025). |
|
||||
| **7210** | Löner till tjänstemän | Konsulternas löner: räknas in i lönesumman för 3:12 lönebaserat utrymme. |
|
||||
| **7220** | Löner till företagsledare | **Kritiskt för 3:12**: ägarens egen kontantlön: måste nå löneuttagskravet (gamla regler t.o.m. 2025). |
|
||||
| **7811** | Avskrivningar på balanserade utgifter | Periodisk avskrivning av 1010/1012. |
|
||||
|
||||
**Noteringar.** `3001/3041` (försäljning tjänster Sverige 25 %) varierar mellan BAS-grundtabellen och bokföringsprogram (Fortnox/Visma/Bokio adderar 3041 som branschanpassning). Använd det som finns i klientens kontoplan. `2647 Ingående moms omvänd betalningsskyldighet varor och tjänster i Sverige` används endast vid inhemsk omvänd skattskyldighet (mer relevant bygg).
|
||||
@@ -98,66 +98,66 @@ Verifierat mot **Kontoplan BAS 2025 v.1.0** (bas.se/kontoplaner). Endast konton
|
||||
|
||||
**Lagbas.** Ny **Mervärdesskattelag (2023:200)** ikraft **2023-07-01**, ersatte 1994:200 (GML). Paragrafnummer nedan är nya ML; gamla GML-referenser anges parentetiskt för historiska räkenskapsår.
|
||||
|
||||
**B2B huvudregel — säljarperspektiv.** ML **6 kap 33§** (gml. 5 kap 5§) — tjänst till beskattningsbar person beskattas där köparen har säte. EU-grund: art. 44 i 2006/112/EG. Praktisk följd för IT-konsult: B2B-försäljning till företag i annat EU-land eller utanför EU → ingen svensk moms, faktura med text **"Omvänd betalningsskyldighet / Reverse charge — Artikel 44 och 196 i rådets direktiv 2006/112/EG"** + köparens VAT-nr. **VIES-validering är säljarens bevisbörda** (SKV ställningstagande dnr 202 460649-17/111, 2018-01-25, uppdaterad för ML 2023:200) — spara skärmdump av VIES-kontrollen per kund per faktureringscykel.
|
||||
**B2B huvudregel: säljarperspektiv.** ML **6 kap 33§** (gml. 5 kap 5§): tjänst till beskattningsbar person beskattas där köparen har säte. EU-grund: art. 44 i 2006/112/EG. Praktisk följd för IT-konsult: B2B-försäljning till företag i annat EU-land eller utanför EU → ingen svensk moms, faktura med text **"Omvänd betalningsskyldighet / Reverse charge, Artikel 44 och 196 i rådets direktiv 2006/112/EG"** + köparens VAT-nr. **VIES-validering är säljarens bevisbörda** (SKV ställningstagande dnr 202 460649-17/111, 2018-01-25, uppdaterad för ML 2023:200): spara skärmdump av VIES-kontrollen per kund per faktureringscykel.
|
||||
|
||||
**B2B köparperspektiv — omvänd betalningsskyldighet.** ML **16 kap 9–10§§**, EU-art. 196. Svensk köpare av tjänst från utländsk leverantör är **betalningsskyldig** för svensk moms. Bokföring: kostnadskonto debet, **2614 kredit 25 %**, **2645 debet 25 %**, 2440 kredit; nettoresultat 0 vid full avdragsrätt. Momsdeklaration: **ruta 21+30+48** för EU-leverantör, **ruta 22+30+48** för icke-EU. Periodisk sammanställning gäller endast försäljning (ej inköp). Terminologi: ML 2023:200 bytte "omvänd skattskyldighet" → **"omvänd betalningsskyldighet"**; båda termerna förekommer i praxis.
|
||||
**B2B köparperspektiv: omvänd betalningsskyldighet.** ML **16 kap 9-10§§**, EU-art. 196. Svensk köpare av tjänst från utländsk leverantör är **betalningsskyldig** för svensk moms. Bokföring: kostnadskonto debet, **2614 kredit 25 %**, **2645 debet 25 %**, 2440 kredit; nettoresultat 0 vid full avdragsrätt. Momsdeklaration: **ruta 21+30+48** för EU-leverantör, **ruta 22+30+48** för icke-EU. Periodisk sammanställning gäller endast försäljning (ej inköp). Terminologi: ML 2023:200 bytte "omvänd skattskyldighet" → **"omvänd betalningsskyldighet"**; båda termerna förekommer i praxis.
|
||||
|
||||
**OSS för B2C digitala tjänster.** ML **6 kap 56–58§§** (gml. 5 kap 16–17§§) — telekom/broadcasting/elektroniska tjänster (TBE) till EU-konsument beskattas i köparens land. Tröskel **10 000 EUR / 99 680 SEK per kalenderår** för all unionsintern distansförsäljning B2C sammantaget (ML 6 kap 62–63§§). Över tröskel: registrera och deklarera i **OSS-unionsordningen** (ML 22 kap, ersatte upphävda lag 2011:1245 från 2023-07-01), kvartalsvis i EUR, separat från vanliga momsdeklarationen. Bokföring försäljning på 3308 + utgående OSS-moms på **2670**.
|
||||
**OSS för B2C digitala tjänster.** ML **6 kap 56-58§§** (gml. 5 kap 16-17§§): telekom/broadcasting/elektroniska tjänster (TBE) till EU-konsument beskattas i köparens land. Tröskel **10 000 EUR / 99 680 SEK per kalenderår** för all unionsintern distansförsäljning B2C sammantaget (ML 6 kap 62-63§§). Över tröskel: registrera och deklarera i **OSS-unionsordningen** (ML 22 kap, ersatte upphävda lag 2011:1245 från 2023-07-01), kvartalsvis i EUR, separat från vanliga momsdeklarationen. Bokföring försäljning på 3308 + utgående OSS-moms på **2670**.
|
||||
|
||||
**Konsulttjänst vs elektronisk tjänst — gränsdragning.** Tre kumulativa krav för elektronisk tjänst (EU genomförandeförordning 282/2011 art. 7 + bilaga I): huvudsakligen automatiserad, minimal mänsklig inblandning, kan ej utföras utan IT. Skräddarsydd kod på beställning = konsulttjänst (huvudregel). Standard-SaaS = elektronisk tjänst (OSS för B2C). Förinspelad onlinekurs = elektronisk tjänst; live-undervisning via video = konsulttjänst. Compute/GPU = elektronisk tjänst (Skatterättsnämnden förhandsbesked 2024 om beräkningskapacitet). Se `references/electronic-services-classification.md`.
|
||||
**Konsulttjänst vs elektronisk tjänst: gränsdragning.** Tre kumulativa krav för elektronisk tjänst (EU genomförandeförordning 282/2011 art. 7 + bilaga I): huvudsakligen automatiserad, minimal mänsklig inblandning, kan ej utföras utan IT. Skräddarsydd kod på beställning = konsulttjänst (huvudregel). Standard-SaaS = elektronisk tjänst (OSS för B2C). Förinspelad onlinekurs = elektronisk tjänst; live-undervisning via video = konsulttjänst. Compute/GPU = elektronisk tjänst (Skatterättsnämnden förhandsbesked 2024 om beräkningskapacitet). Se `references/electronic-services-classification.md`.
|
||||
|
||||
**Skatteverkets ställningstaganden om molntjänster — caveat.** **Inget separat heltäckande moms-ställningstagande "SaaS" eller "molntjänster" existerar.** Sökträffar avser typiskt (a) energiskatt på datorhallar (dnr 202 321717-18/111, 2018-09-19 — ej moms), eller (b) GDPR/personuppgifter vid tredjelandsöverföring. Klassificering sker via definitionen av elektronisk tjänst i ML 6 kap + 282/2011 art. 7 + Skatterättsnämndens förhandsbesked 2024. **Ange inte fiktiv dnr** i klientdokumentation.
|
||||
**Skatteverkets ställningstaganden om molntjänster: caveat.** **Inget separat heltäckande moms-ställningstagande "SaaS" eller "molntjänster" existerar.** Sökträffar avser typiskt (a) energiskatt på datorhallar (dnr 202 321717-18/111, 2018-09-19, ej moms), eller (b) GDPR/personuppgifter vid tredjelandsöverföring. Klassificering sker via definitionen av elektronisk tjänst i ML 6 kap + 282/2011 art. 7 + Skatterättsnämndens förhandsbesked 2024. **Ange inte fiktiv dnr** i klientdokumentation.
|
||||
|
||||
**Marknadsplats-presumtion.** SKV ställningstagande **dnr 8-2059749, 2022-12-19** ("Försäljning av elektroniska tjänster via marknadsplats/förmedlare på Internet") — app stores och liknande presumeras vara säljare av slutkundstjänsten. Ersätter dnr 131 499122-14/111. Relevant för app-/SaaS-distribution via Apple/Google/Microsoft.
|
||||
**Marknadsplats-presumtion.** SKV ställningstagande **dnr 8-2059749, 2022-12-19** ("Försäljning av elektroniska tjänster via marknadsplats/förmedlare på Internet"): app stores och liknande presumeras vara säljare av slutkundstjänsten. Ersätter dnr 131 499122-14/111. Relevant för app-/SaaS-distribution via Apple/Google/Microsoft.
|
||||
|
||||
**Licens, royalty, programvara — vara vs tjänst.** Standardprogram på fysiskt medium = **vara**; standardprogram online (download/cloud) = **elektronisk tjänst**; skräddarsydd programvara = **konsulttjänst** (alltid). Royalty för immaterialrätt = tjänst i "diverse tjänster"-katalogen (ML 6 kap 64–66§§). Skattesats alltid **25 %** för programvara/SaaS (reducerad sats 6 % gäller inte programvara).
|
||||
**Licens, royalty, programvara: vara vs tjänst.** Standardprogram på fysiskt medium = **vara**; standardprogram online (download/cloud) = **elektronisk tjänst**; skräddarsydd programvara = **konsulttjänst** (alltid). Royalty för immaterialrätt = tjänst i "diverse tjänster"-katalogen (ML 6 kap 64-66§§). Skattesats alltid **25 %** för programvara/SaaS (reducerad sats 6 % gäller inte programvara).
|
||||
|
||||
**Lagändring 2025-01-01 (SFS 2024:942).** Virtuella evenemang B2B → köparens land; omsättningsgräns för småföretag höjd till **120 000 SEK**. Påverkar små IT-frilansare under tröskeln.
|
||||
|
||||
**EU-dom C-247/21 Luxury Trust Automobil (2022).** Saknad "reverse charge"-text på faktura kan **inte rättas efteråt** — strikt formalia. Säkerställ korrekt fakturamall från första fakturan till EU B2B-kund.
|
||||
**EU-dom C-247/21 Luxury Trust Automobil (2022).** Saknad "reverse charge"-text på faktura kan **inte rättas efteråt**, strikt formalia. Säkerställ korrekt fakturamall från första fakturan till EU B2B-kund.
|
||||
|
||||
### 4.2 Bokföringsregler
|
||||
|
||||
**K3 (BFNAR 2012:1) kap 18 — immateriella anläggningstillgångar.** Bolaget **väljer** mellan aktiveringsmodellen och kostnadsföringsmodellen för internt upparbetade immateriella tillgångar (18.7); valet är en redovisningsprincip och tillämpas konsekvent. Aktivering kräver att samtliga sex kriterier i **18.12** uppfylls (teknisk genomförbarhet, avsikt, förmåga, sannolika ekonomiska fördelar, resurser, mätbarhet); forskningsfas kostnadsförs alltid (18.11). Förbud mot aktivering av varumärken, kundregister, "säljande" webbplats (18.5). Avskrivningstid = nyttjandeperiod; om ej tillförlitligt fastställbar → **5 år** (ÅRL 4 kap 4§ 2 st).
|
||||
**K3 (BFNAR 2012:1) kap 18: immateriella anläggningstillgångar.** Bolaget **väljer** mellan aktiveringsmodellen och kostnadsföringsmodellen för internt upparbetade immateriella tillgångar (18.7); valet är en redovisningsprincip och tillämpas konsekvent. Aktivering kräver att samtliga sex kriterier i **18.12** uppfylls (teknisk genomförbarhet, avsikt, förmåga, sannolika ekonomiska fördelar, resurser, mätbarhet); forskningsfas kostnadsförs alltid (18.11). Förbud mot aktivering av varumärken, kundregister, "säljande" webbplats (18.5). Avskrivningstid = nyttjandeperiod; om ej tillförlitligt fastställbar → **5 år** (ÅRL 4 kap 4§ 2 st).
|
||||
|
||||
**K2 (BFNAR 2016:10) punkt 10.4 — aktiveringsförbud.** "Ett företag får inte aktivera utgifter för egenupparbetade immateriella anläggningstillgångar." Förvärvade får aktiveras. **Praktisk följd**: SaaS-bolag som vill kapitalisera egenutvecklad mjukvara måste välja K3 (tvingande), vilket utlöser revisionsplikt över gränsvärdena, fond för utvecklingsutgifter, och uppskjuten skatt.
|
||||
**K2 (BFNAR 2016:10) punkt 10.4: aktiveringsförbud.** "Ett företag får inte aktivera utgifter för egenupparbetade immateriella anläggningstillgångar." Förvärvade får aktiveras. **Praktisk följd**: SaaS-bolag som vill kapitalisera egenutvecklad mjukvara måste välja K3 (tvingande), vilket utlöser revisionsplikt över gränsvärdena, fond för utvecklingsutgifter, och uppskjuten skatt.
|
||||
|
||||
**Fond för utvecklingsutgifter — ÅRL 4 kap 2§.** Aktivering enligt K3 18 tvingar överföring från fritt EK till bunden fond **2089** med motsvarande belopp; fonden upplöses i takt med avskrivning/nedskrivning. **Direkt 3:12-implikation**: aktiverade 5 MSEK utvecklingsutgifter → 5 MSEK låst i 2089 → utdelningsbara medel minskar omedelbart.
|
||||
**Fond för utvecklingsutgifter: ÅRL 4 kap 2§.** Aktivering enligt K3 18 tvingar överföring från fritt EK till bunden fond **2089** med motsvarande belopp; fonden upplöses i takt med avskrivning/nedskrivning. **Direkt 3:12-implikation**: aktiverade 5 MSEK utvecklingsutgifter → 5 MSEK låst i 2089 → utdelningsbara medel minskar omedelbart.
|
||||
|
||||
**Successiv vinstavräkning — K3 kap 23.** Huvudregel i K3 (23.17–23.18) när utfallet kan mätas tillförlitligt: intäkter och utgifter periodiseras efter färdigställandegrad. **Alternativregeln (färdigställandemetoden)** tillåten i juridisk person enligt **23.31** för bygg, anläggning, hantverk och **konsultverksamhet** — IT-konsult kvalificerar. I koncernredovisning enligt K3 är endast successiv vinstavräkning tillåten. Befarad förlust kostnadsförs direkt (23.32).
|
||||
**Successiv vinstavräkning: K3 kap 23.** Huvudregel i K3 (23.17-23.18) när utfallet kan mätas tillförlitligt: intäkter och utgifter periodiseras efter färdigställandegrad. **Alternativregeln (färdigställandemetoden)** tillåten i juridisk person enligt **23.31** för bygg, anläggning, hantverk och **konsultverksamhet**: IT-konsult kvalificerar. I koncernredovisning enligt K3 är endast successiv vinstavräkning tillåten. Befarad förlust kostnadsförs direkt (23.32).
|
||||
|
||||
**Successiv vinstavräkning — K2 kap 6.** Löpande räkning: successiv vinstavräkning är **obligatorisk** (6.16–6.18). Fastpris: **val** mellan huvudregel (successiv) och alternativregel (färdigställande). Skattemässig synk: IL **17 kap 23–32§§** styr pågående arbeten; konsulttjänsteuppdrag till fast pris kan skatteperiodiseras enligt färdigställandemetoden, varför många IT-konsult-AB väljer K2 + färdigställande för enkelhet och senare skattedebitering.
|
||||
**Successiv vinstavräkning: K2 kap 6.** Löpande räkning: successiv vinstavräkning är **obligatorisk** (6.16-6.18). Fastpris: **val** mellan huvudregel (successiv) och alternativregel (färdigställande). Skattemässig synk: IL **17 kap 23-32§§** styr pågående arbeten; konsulttjänsteuppdrag till fast pris kan skatteperiodiseras enligt färdigställandemetoden, varför många IT-konsult-AB väljer K2 + färdigställande för enkelhet och senare skattedebitering.
|
||||
|
||||
**RFR 2 / IAS 38 / IFRS 15** (noterade). IAS 38 gör aktivering **tvingande** vid uppfyllda kriterier (skillnad mot K3 där aktivering är frivilligt principval). IFRS 15 tillåter inte färdigställandemetoden — intäkter ska redovisas över tid när art. 35-kriterier uppfylls.
|
||||
**RFR 2 / IAS 38 / IFRS 15** (noterade). IAS 38 gör aktivering **tvingande** vid uppfyllda kriterier (skillnad mot K3 där aktivering är frivilligt principval). IFRS 15 tillåter inte färdigställandemetoden: intäkter ska redovisas över tid när art. 35-kriterier uppfylls.
|
||||
|
||||
### 4.3 Sektorlagar och annat
|
||||
|
||||
**3:12-reglerna (IL 57 kap)** — se utförlig behandling i §5 nedan och i `references/3-12-rules.md`. Kritisk reform: **SFS 2025:1361** ikraft 2026-01-01, tillämpas första gången på beskattningsår som börjar efter 2025-12-31 (K10 inlämnad våren 2027). Inkomstår 2025 (K10 våren 2026) följer gamla reglerna fullt ut.
|
||||
**3:12-reglerna (IL 57 kap)**: se utförlig behandling i §5 nedan och i `references/3-12-rules.md`. Kritisk reform: **SFS 2025:1361** ikraft 2026-01-01, tillämpas första gången på beskattningsår som börjar efter 2025-12-31 (K10 inlämnad våren 2027). Inkomstår 2025 (K10 våren 2026) följer gamla reglerna fullt ut.
|
||||
|
||||
**F-skatt och underkonsultkontroll.** SFL **10 kap 11§** — utbetalaren får lita på F-skatt-status endast om den anges **skriftligt** i handling upprättad i samband med uppdraget (faktura/avtal). SFL **10 kap 24§** — betalning till icke-F-skattegodkänd juridisk person utlöser skatteavdrag 30 %. **HFD 2019:60** (mål 3978-3979-18 m.fl.): uppdragsavtal med F-skattegodkänd uppdragstagare kan inte åsidosättas annat än vid **skenavtal** — starkt skydd för dokumenterade konsultupplägg. SKV ställningstagande **dnr 8-2386895** (2023-05-25) om F-skattsedelns rättsverkningar.
|
||||
**F-skatt och underkonsultkontroll.** SFL **10 kap 11§**: utbetalaren får lita på F-skatt-status endast om den anges **skriftligt** i handling upprättad i samband med uppdraget (faktura/avtal). SFL **10 kap 24§**: betalning till icke-F-skattegodkänd juridisk person utlöser skatteavdrag 30 %. **HFD 2019:60** (mål 3978-3979-18 m.fl.): uppdragsavtal med F-skattegodkänd uppdragstagare kan inte åsidosättas annat än vid **skenavtal**: starkt skydd för dokumenterade konsultupplägg. SKV ställningstagande **dnr 8-2386895** (2023-05-25) om F-skattsedelns rättsverkningar.
|
||||
|
||||
**Konsult vs anställd — IL 13 kap 1§** (efter prop. 2008/09:62 från 2009-01-01). Tre särskilt beaktade faktorer: partsavsikten, uppdragstagarens beroende av uppdragsgivaren, och integration i dennes organisation. **HFD 2018 ref. 31** — konsult via eget AB kan ändå klassas "verksam i betydande omfattning" hos kund i 3:12-mening. **HFD 2017 ref. 41** — styrelsearvode beskattas som tjänst även vid fakturering via AB. Se `references/consultant-vs-employee.md`.
|
||||
**Konsult vs anställd: IL 13 kap 1§** (efter prop. 2008/09:62 från 2009-01-01). Tre särskilt beaktade faktorer: partsavsikten, uppdragstagarens beroende av uppdragsgivaren, och integration i dennes organisation. **HFD 2018 ref. 31**: konsult via eget AB kan ändå klassas "verksam i betydande omfattning" hos kund i 3:12-mening. **HFD 2017 ref. 41**: styrelsearvode beskattas som tjänst även vid fakturering via AB. Se `references/consultant-vs-employee.md`.
|
||||
|
||||
**GDPR — personuppgiftsbiträde.** GDPR (EU 2016/679) **art. 28** + dataskyddslag (2018:218). IT-konsulten är typiskt biträde vid drift, förvaltning, SaaS-hosting och utveckling med produktionsdata; ansvarig (controller) för egen löne-/kund-/leverantörsdata. Tredjelandsöverföring: **EU-US Data Privacy Framework** (kommissionens adekvansbeslut 2023-07-10) återupplivar transatlantiska överföringar till certifierade mottagare; ej certifierade → SCC (beslut 2021/914) + TIA per **Schrems II (C-311/18)** + EDPB rek. 01/2020. Sanktionsavgifter från IMY → **ej avdragsgilla** (IL 16 kap 18§), bokas på 6990/7990.
|
||||
**GDPR: personuppgiftsbiträde.** GDPR (EU 2016/679) **art. 28** + dataskyddslag (2018:218). IT-konsulten är typiskt biträde vid drift, förvaltning, SaaS-hosting och utveckling med produktionsdata; ansvarig (controller) för egen löne-/kund-/leverantörsdata. Tredjelandsöverföring: **EU-US Data Privacy Framework** (kommissionens adekvansbeslut 2023-07-10) återupplivar transatlantiska överföringar till certifierade mottagare; ej certifierade → SCC (beslut 2021/914) + TIA per **Schrems II (C-311/18)** + EDPB rek. 01/2020. Sanktionsavgifter från IMY → **ej avdragsgilla** (IL 16 kap 18§), bokas på 6990/7990.
|
||||
|
||||
**URL (1960:729) 40a§ — datorprogram.** Implementerar datorprogramdirektivet 2009/24/EG. Anställdas kod övergår presumtivt till arbetsgivaren (även ideella rättigheter — vidare än direktivet). **Konsulter omfattas inte** — utan explicit IP-överlåtelseklausul behåller konsulten upphovsrätten; köparen får bara begränsad nyttjanderätt enligt tumregeln (AD 2002 nr 87). Klassisk DD-risk vid förvärv.
|
||||
**URL (1960:729) 40a§: datorprogram.** Implementerar datorprogramdirektivet 2009/24/EG. Anställdas kod övergår presumtivt till arbetsgivaren (även ideella rättigheter, vidare än direktivet). **Konsulter omfattas inte**: utan explicit IP-överlåtelseklausul behåller konsulten upphovsrätten; köparen får bara begränsad nyttjanderätt enligt tumregeln (AD 2002 nr 87). Klassisk DD-risk vid förvärv.
|
||||
|
||||
**Utlandstjänstgöring — URA gäller INTE privat IT-sektor.** URA-avtalet tecknas av Arbetsgivarverket och gäller endast statligt anställda. Faktiska tillämpliga regler för privata IT-konsulter utomlands: **sexmånadersregeln** (IL 3 kap 9§ 1 st), **ettårsregeln** (IL 3 kap 9§ 2 st), **kortare avbrott max 6 dagar/månad eller 72 dagar/anställningsår** (IL 3 kap 10§; HFD 2011 ref. 40, HFD 2014:9). **SINK** (1991:586) — 25 % fast på svensk lön till bosatt utomlands. **Expertskatt** (IL 11 kap 22–23§§ + lag 1999:1305) — 25 % av lön + vissa ersättningar skattefria i **7 år** (utökat från 5 år genom lag 2023:880 fr.o.m. vistelse efter 2023-03-31); förenklingsregel från 2025-01-01 = månadsersättning ≥ **1,5 pbb**. **A1-intyg** (förordning 883/2004 art. 12) för utsändning ≤24 mån inom EU/EES/Schweiz/UK — bevarar svensk socialförsäkringstillhörighet. Se `references/cross-border-payroll.md`.
|
||||
**Utlandstjänstgöring: URA gäller INTE privat IT-sektor.** URA-avtalet tecknas av Arbetsgivarverket och gäller endast statligt anställda. Faktiska tillämpliga regler för privata IT-konsulter utomlands: **sexmånadersregeln** (IL 3 kap 9§ 1 st), **ettårsregeln** (IL 3 kap 9§ 2 st), **kortare avbrott max 6 dagar/månad eller 72 dagar/anställningsår** (IL 3 kap 10§; HFD 2011 ref. 40, HFD 2014:9). **SINK** (1991:586): 25 % fast på svensk lön till bosatt utomlands. **Expertskatt** (IL 11 kap 22-23§§ + lag 1999:1305): 25 % av lön + vissa ersättningar skattefria i **7 år** (utökat från 5 år genom lag 2023:880 fr.o.m. vistelse efter 2023-03-31); förenklingsregel från 2025-01-01 = månadsersättning ≥ **1,5 pbb**. **A1-intyg** (förordning 883/2004 art. 12) för utsändning ≤24 mån inom EU/EES/Schweiz/UK: bevarar svensk socialförsäkringstillhörighet. Se `references/cross-border-payroll.md`.
|
||||
|
||||
**Fast driftställe vid hemmakontor.** **HFD 2022 ref. 39** (mål 6446-21) — utländsk arbetsgivare får i regel inte fast driftställe i Sverige genom anställds hemmakontor utan arbetsgivarens krav. Backas av SKV ställningstagande **dnr 8-1677220** (2023-05-13). Mer restriktivt än tidigare praxis — relevant för utländska IT-bolag med remote-anställda i Sverige.
|
||||
**Fast driftställe vid hemmakontor.** **HFD 2022 ref. 39** (mål 6446-21): utländsk arbetsgivare får i regel inte fast driftställe i Sverige genom anställds hemmakontor utan arbetsgivarens krav. Backas av SKV ställningstagande **dnr 8-1677220** (2023-05-13). Mer restriktivt än tidigare praxis: relevant för utländska IT-bolag med remote-anställda i Sverige.
|
||||
|
||||
### 4.4 Relevant HFD-praxis 2021–2026
|
||||
### 4.4 Relevant HFD-praxis 2021-2026
|
||||
|
||||
| Mål | Område | Innebörd |
|
||||
|---|---|---|
|
||||
| HFD 2019:60 (3978-3979-18) | F-skatt / arbetsgivaravgifter | Uppdragsavtal med F-skatt ej åsidosättbart utom vid skenavtal — dominerande prejudikat för IT-konsult-AB. |
|
||||
| HFD 2019:60 (3978-3979-18) | F-skatt / arbetsgivaravgifter | Uppdragsavtal med F-skatt ej åsidosättbart utom vid skenavtal: dominerande prejudikat för IT-konsult-AB. |
|
||||
| HFD 2018 ref. 31 (3936-3939-17) | 3:12 / verksam i betydande omfattning | Konsultarbete via eget AB kan ändå smitta kundens fåmansbolag. |
|
||||
| HFD 2021 ref. 40 ("Valedo") | 3:12 / utomståenderegeln | A/B-aktiestruktur med carried interest → särskilda skäl, kvalificerade trots >30 % utomstående. |
|
||||
| HFD 2023 ref. 11 (5807-22) | 3:12 / samma eller likartad verksamhet | Nyemission från extern investerare smittar inte mottagarens andra bolag om ägarsambandet bryts. |
|
||||
| HFD 2024 ref. 8 (2887-23) | 3:12 / utomståenderegeln | Villkorade tillskott + vetokrav slår **inte** ut utomståenderegeln — restriktiv tolkning av "särskilda skäl". |
|
||||
| HFD 2024 ref. 8 (2887-23) | 3:12 / utomståenderegeln | Villkorade tillskott + vetokrav slår **inte** ut utomståenderegeln: restriktiv tolkning av "särskilda skäl". |
|
||||
| HFD 2024 ref. 51 (1372-24) | 3:12 / kapitalsmitta | Direkt + indirekt ägande hos samma krets → kapitalsmitta kvarstår; försämring jämfört med 2023 ref. 11. |
|
||||
| HFD 2022 ref. 39 (6446-21) | Fast driftställe | Hemmakontor utan AG-krav skapar ej fast driftställe. |
|
||||
| HFD 2024 ref. 42 | Moms / digital plattform | EdTech-plattform ej "bok" — standard 25 %. |
|
||||
| HFD 2024 ref. 42 | Moms / digital plattform | EdTech-plattform ej "bok": standard 25 %. |
|
||||
| Skatterättsnämnden 2024 | Moms / compute | Beräkningskapacitet/GPU = elektronisk tjänst. |
|
||||
| EUD C-247/21 (2022) | Moms / fakturaformalia | "Reverse charge"-text kan inte rättas i efterhand. |
|
||||
|
||||
@@ -165,57 +165,57 @@ Verifierat mot **Kontoplan BAS 2025 v.1.0** (bas.se/kontoplaner). Endast konton
|
||||
|
||||
### 5.1 SaaS-prenumerationer från utländska leverantörer (AWS, Azure, GitHub, OpenAI, Anthropic, Stripe)
|
||||
|
||||
**Fel mönster.** Bokföra AWS US-fakturan som om den vore svensk: kostnad 80 % på 6540, ingående moms 20 % på 2641 — **eller** kostnad 100 % på 6540 utan motkonto, ignorera momsen. Båda är fel.
|
||||
**Fel mönster.** Bokföra AWS US-fakturan som om den vore svensk: kostnad 80 % på 6540, ingående moms 20 % på 2641, **eller** kostnad 100 % på 6540 utan motkonto, ignorera momsen. Båda är fel.
|
||||
|
||||
**Rätt mönster.** Inköpet är tjänst från utländsk beskattningsbar person enligt huvudregeln (ML **6 kap 33§**), och köparen är betalningsskyldig (ML **16 kap 9§**). Bokföring:
|
||||
|
||||
- 4531 (icke-EU) eller 4535 (EU) debet — bruttobelopp i SEK
|
||||
- 2440 kredit — leverantörsskuld
|
||||
- 2614 kredit 25 % — utgående moms omvänd betalningsskyldighet
|
||||
- 2645 debet 25 % — beräknad ingående moms (full avdragsrätt vid momspliktig verksamhet → netto 0)
|
||||
- 4531 (icke-EU) eller 4535 (EU) debet: bruttobelopp i SEK
|
||||
- 2440 kredit: leverantörsskuld
|
||||
- 2614 kredit 25 %: utgående moms omvänd betalningsskyldighet
|
||||
- 2645 debet 25 %: beräknad ingående moms (full avdragsrätt vid momspliktig verksamhet → netto 0)
|
||||
|
||||
Momsdeklaration: **ruta 22+30+48** för icke-EU; **ruta 21+30+48** för EU. Ej i periodisk sammanställning.
|
||||
|
||||
**Praktisk fallgrop.** Microsoft fakturerar typiskt via Irland → EU-behandling. AWS, Google Cloud fakturerar via olika entiteter beroende på avtal — **kontrollera fakturafoten** för säljarens etablering. Säkerställ att klientens VAT-nr finns i leverantörens konto — annars debiterar leverantören utländsk moms som **inte är avdragsgill i Sverige** (kräv kreditfaktura).
|
||||
**Praktisk fallgrop.** Microsoft fakturerar typiskt via Irland → EU-behandling. AWS, Google Cloud fakturerar via olika entiteter beroende på avtal: **kontrollera fakturafoten** för säljarens etablering. Säkerställ att klientens VAT-nr finns i leverantörens konto: annars debiterar leverantören utländsk moms som **inte är avdragsgill i Sverige** (kräv kreditfaktura).
|
||||
|
||||
**Lagreferens.** ML 6 kap 33§ + 16 kap 9–10§§ (SFS 2023:200, ikraft 2023-07-01); art. 44 + 196 i 2006/112/EG.
|
||||
**Lagreferens.** ML 6 kap 33§ + 16 kap 9-10§§ (SFS 2023:200, ikraft 2023-07-01); art. 44 + 196 i 2006/112/EG.
|
||||
|
||||
### 5.2 Fakturering av EU B2B-kund med svensk moms
|
||||
|
||||
**Fel mönster.** Svensk IT-konsult fakturerar tyskt eller franskt företag med svenska 25 % moms (försäljning 80 % på 3041, moms 20 % på 2611), eftersom det "känns säkrast" eller fakturamallen inte ändrats. Kunden vägrar betala momsdelen.
|
||||
|
||||
**Rätt mönster.** B2B-tjänst till EU-företag beskattas i köparens land (ML **6 kap 33§**); köparen redovisar via reverse charge (art. 196 i 2006/112/EG). Faktura: **ingen moms**, försäljning på **3308**, fakturatext **"Omvänd betalningsskyldighet — Reverse charge — Artikel 44 och 196 i rådets direktiv 2006/112/EG"**, köparens VAT-nr på fakturan. **VIES-validering krävs och ska sparas** (säljarens bevisbörda enligt SKV ställningstagande dnr 202 460649-17/111, 2018-01-25). Momsdeklaration **ruta 39** + **periodisk sammanställning kvartalsvis** med köparens VAT-nr.
|
||||
**Rätt mönster.** B2B-tjänst till EU-företag beskattas i köparens land (ML **6 kap 33§**); köparen redovisar via reverse charge (art. 196 i 2006/112/EG). Faktura: **ingen moms**, försäljning på **3308**, fakturatext **"Omvänd betalningsskyldighet / Reverse charge, Artikel 44 och 196 i rådets direktiv 2006/112/EG"**, köparens VAT-nr på fakturan. **VIES-validering krävs och ska sparas** (säljarens bevisbörda enligt SKV ställningstagande dnr 202 460649-17/111, 2018-01-25). Momsdeklaration **ruta 39** + **periodisk sammanställning kvartalsvis** med köparens VAT-nr.
|
||||
|
||||
**Praktisk fallgrop.** Om VAT-nr inte kan verifieras i VIES → behandla som B2C, debitera svensk moms (eller OSS över 10 000 EUR/år). Saknas "reverse charge"-textern → **EUD C-247/21 (2022)** — kan inte rättas efteråt. Korrigera fakturamallen omedelbart.
|
||||
**Praktisk fallgrop.** Om VAT-nr inte kan verifieras i VIES → behandla som B2C, debitera svensk moms (eller OSS över 10 000 EUR/år). Saknas "reverse charge"-textern → **EUD C-247/21 (2022)**: kan inte rättas efteråt. Korrigera fakturamallen omedelbart.
|
||||
|
||||
**Lagreferens.** ML 6 kap 33§; ML 17 kap (faktureringsskyldighet); art. 44 + 196 i 2006/112/EG; EUD C-247/21 Luxury Trust Automobil.
|
||||
|
||||
### 5.3 3:12 K10 — felaktig löneunderlagsberäkning (gäller K10 vår 2026 / inkomstår 2025)
|
||||
### 5.3 3:12 K10: felaktig löneunderlagsberäkning (gäller K10 vår 2026 / inkomstår 2025)
|
||||
|
||||
**Fel mönster.** Ägare av en-mans-IT-konsult-AB tar löneuttag 350 000 kr 2024, deklarerar K10 huvudregeln 2025, beräknar lönebaserat utrymme = 50 % × egen lön = 175 000 kr — och missar att löneuttagskravet inte är uppfyllt, så lönebaserat utrymme blir **0**. Eller: räknar med styrelsearvoden i lönesumman.
|
||||
**Fel mönster.** Ägare av en-mans-IT-konsult-AB tar löneuttag 350 000 kr 2024, deklarerar K10 huvudregeln 2025, beräknar lönebaserat utrymme = 50 % × egen lön = 175 000 kr, och missar att löneuttagskravet inte är uppfyllt, så lönebaserat utrymme blir **0**. Eller: räknar med styrelsearvoden i lönesumman.
|
||||
|
||||
**Rätt mönster.** **IL 57 kap 19§** — för rätt till lönebaserat utrymme måste delägare eller närstående ha tagit ut kontant lön året före beskattningsåret om minst det **lägre** av (a) 6 IBB + 5 % av total kontant lönesumma i AB + dotter, eller (b) 9,6 IBB. För K10 vår 2026 (inkomstår 2025) räknas mot **IBB 2024 = 76 200 kr** → tak (b) = **731 520 kr**, golv (a) = **457 200 kr + 5 % × lönesumman**. För en-mans-AB med ägaren som enda anställd och lön 600 000 kr: (a) = 457 200 + 30 000 = 487 200 kr → kravet uppfyllt. Styrelsearvoden räknas **inte** in (uppdragstagare); skattepliktig del av bilersättning/traktamente räknas in per SKV ställningstagande **dnr 131 764318-09/111** (2009-11-16). Kapitalandelskrav 4 % (IL 57 kap 19a§).
|
||||
**Rätt mönster.** **IL 57 kap 19§**: för rätt till lönebaserat utrymme måste delägare eller närstående ha tagit ut kontant lön året före beskattningsåret om minst det **lägre** av (a) 6 IBB + 5 % av total kontant lönesumma i AB + dotter, eller (b) 9,6 IBB. För K10 vår 2026 (inkomstår 2025) räknas mot **IBB 2024 = 76 200 kr** → tak (b) = **731 520 kr**, golv (a) = **457 200 kr + 5 % × lönesumman**. För en-mans-AB med ägaren som enda anställd och lön 600 000 kr: (a) = 457 200 + 30 000 = 487 200 kr → kravet uppfyllt. Styrelsearvoden räknas **inte** in (uppdragstagare); skattepliktig del av bilersättning/traktamente räknas in per SKV ställningstagande **dnr 131 764318-09/111** (2009-11-16). Kapitalandelskrav 4 % (IL 57 kap 19a§).
|
||||
|
||||
**När huvudregeln är värdelös, använd förenklingsregeln.** IL 57 kap 11a§: schablon **2,75 × IBB året före** = 2,75 × 76 200 = **209 550 kr för inkomstår 2025** (K10 vår 2026). Restriktion: får användas i **endast ett** företag per delägare per år (parallella konsult-AB:n fälla).
|
||||
|
||||
**Lagreferens.** IL 57 kap 11§ (gränsbelopp), 11a§ (förenklingsregeln), 12§ (huvudregeln), 16–19§§ (lönebaserat utrymme + löneuttagskrav), 19a§ (kapitalandelskrav).
|
||||
**Lagreferens.** IL 57 kap 11§ (gränsbelopp), 11a§ (förenklingsregeln), 12§ (huvudregeln), 16-19§§ (lönebaserat utrymme + löneuttagskrav), 19a§ (kapitalandelskrav).
|
||||
|
||||
**Varning för K10 vår 2027 (inkomstår 2026).** **SFS 2025:1361** (ikraft 2026-01-01) — löneuttagskrav och 4 %-kapitalandelskrav **slopas**; grundbelopp = **4 × IBB** (2026: 4 × 80 600 = **322 400 kr**, fördelas över andelar och kan inte multipliceras genom parallella AB); lönebaserat utrymme = 50 % × (löneunderlag − schablonavdrag 8 IBB per delägare) = 50 % × (löneunderlag − 644 800 kr); uppräkning av sparat utdelningsutrymme slopas. Tidsperioder 5→4 år tillämpas först bsk-år efter 2026-12-31. Se `references/3-12-rules.md` för fullständig övergång.
|
||||
**Varning för K10 vår 2027 (inkomstår 2026).** **SFS 2025:1361** (ikraft 2026-01-01): löneuttagskrav och 4 %-kapitalandelskrav **slopas**; grundbelopp = **4 × IBB** (2026: 4 × 80 600 = **322 400 kr**, fördelas över andelar och kan inte multipliceras genom parallella AB); lönebaserat utrymme = 50 % × (löneunderlag − schablonavdrag 8 IBB per delägare) = 50 % × (löneunderlag − 644 800 kr); uppräkning av sparat utdelningsutrymme slopas. Tidsperioder 5→4 år tillämpas först bsk-år efter 2026-12-31. Se `references/3-12-rules.md` för fullständig övergång.
|
||||
|
||||
## 6. Open questions (flag for human review)
|
||||
|
||||
1. **3:12-reformens detaljparagrafer.** Exakt §-numrering i IL 57 kap **efter** SFS 2025:1361 — förenklingsregeln 11a§ utgår; takbelopp 20/22§§ kan ha omnumrerats. Verifiera mot officiell konsoliderad SFS-text när tillgänglig. Reformen tillämpas från räkenskapsår som börjar efter 2025-12-31; första K10 enligt nya reglerna lämnas våren 2027.
|
||||
1. **3:12-reformens detaljparagrafer.** Exakt §-numrering i IL 57 kap **efter** SFS 2025:1361: förenklingsregeln 11a§ utgår; takbelopp 20/22§§ kan ha omnumrerats. Verifiera mot officiell konsoliderad SFS-text när tillgänglig. Reformen tillämpas från räkenskapsår som börjar efter 2025-12-31; första K10 enligt nya reglerna lämnas våren 2027.
|
||||
2. **BAS 2026.** BFN beslutade 2025-06-16 och 2025-12-13 om större ändringar i K3/K2; BAS 2026 har följdändringar. Detta SKILL.md är låst till **BAS 2025 v.1.0** för rapportering avseende räkenskapsår 2025. Uppdatera vid övergång till BAS 2026.
|
||||
3. **3041 vs 3001.** I abbreviated BAS 2025-tabellen finns endast 3001–3004 som standard. Fortnox/Visma/Bokio lägger ofta till 3041 "Försäljning tjänster inom Sverige 25 %". Verifiera klientens specifika kontoplan innan användning.
|
||||
4. **Tjänsteställe vid distansarbete.** SKV ställningstagande **dnr 8-1283049** (2021-12) om att hem ej blir tjänsteställe när AG tillhandahåller arbetsplats är kontroversiellt och anses av vissa rättskällor strida mot lag — flagga för manuell granskning vid reseavdrag och milersättning för konsulter med blandad arbetsplats.
|
||||
3. **3041 vs 3001.** I abbreviated BAS 2025-tabellen finns endast 3001-3004 som standard. Fortnox/Visma/Bokio lägger ofta till 3041 "Försäljning tjänster inom Sverige 25 %". Verifiera klientens specifika kontoplan innan användning.
|
||||
4. **Tjänsteställe vid distansarbete.** SKV ställningstagande **dnr 8-1283049** (2021-12) om att hem ej blir tjänsteställe när AG tillhandahåller arbetsplats är kontroversiellt och anses av vissa rättskällor strida mot lag: flagga för manuell granskning vid reseavdrag och milersättning för konsulter med blandad arbetsplats.
|
||||
5. **MicrosoftIE vs MicrosoftUS-fakturering.** Vissa kunder får fakturor från Microsoft Ireland Operations Ltd (EU) men andra från Microsoft Corp (US) beroende på avtalstyp (Enterprise Agreement vs CSP). Bokföringen skiljer (4531 vs 4535) men momsmekaniken är identisk. Verifiera fakturafoten.
|
||||
6. **Konsult-vs-anställd vid en kund.** HFD 2019:60 ger starkt skydd vid dokumenterad F-skatt, men en-uppdragsgivare-AB:n riskerar fortfarande reklassificering vid bristande självständighetsdokumentation. Inhämta avtalskopior och självständighetschecklista vid årlig review.
|
||||
|
||||
## Reference files
|
||||
|
||||
- `references/3-12-rules.md` — Full IL 57 kap walkthrough, IBB-tabeller 2023–2026, K10-blanketten, SFS 2025:1361-reformbridge.
|
||||
- `references/electronic-services-classification.md` — Beslutsträd konsulttjänst vs elektronisk tjänst, OSS-tröskel, marknadsplats-presumtion.
|
||||
- `references/cross-border-payroll.md` — Sexmånadersregeln, ettårsregeln, SINK, expertskatt, A1-intyg.
|
||||
- `references/consultant-vs-employee.md` — IL 13:1-kriterier, HFD-praxis, dokumentationschecklista.
|
||||
- `references/software-capitalization.md` — K3/K2/IFRS aktivering, fond för utvecklingsutgifter, bokföringsmönster.
|
||||
- `references/invoice-templates.md` — Fakturatext-bibliotek B2B EU / icke-EU / B2C / royalty.
|
||||
- `references/3-12-rules.md`: Full IL 57 kap walkthrough, IBB-tabeller 2023-2026, K10-blanketten, SFS 2025:1361-reformbridge.
|
||||
- `references/electronic-services-classification.md`: Beslutsträd konsulttjänst vs elektronisk tjänst, OSS-tröskel, marknadsplats-presumtion.
|
||||
- `references/cross-border-payroll.md`: Sexmånadersregeln, ettårsregeln, SINK, expertskatt, A1-intyg.
|
||||
- `references/consultant-vs-employee.md`: IL 13:1-kriterier, HFD-praxis, dokumentationschecklista.
|
||||
- `references/software-capitalization.md`: K3/K2/IFRS aktivering, fond för utvecklingsutgifter, bokföringsmönster.
|
||||
- `references/invoice-templates.md`: Fakturatext-bibliotek B2B EU / icke-EU / B2C / royalty.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# 3:12-reglerna (IL 57 kap) — full reference
|
||||
# 3:12-reglerna (IL 57 kap): full reference
|
||||
|
||||
## IBB-tabell (inkomstbasbelopp)
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
K10 lämnas året efter inkomståret. K10 vår 2026 avser inkomstår 2025 och använder **IBB 2024 = 76 200**. K10 vår 2027 avser inkomstår 2026 och använder **IBB 2025 = 80 600**.
|
||||
|
||||
## Gränsbelopp — gamla reglerna (t.o.m. inkomstår 2025)
|
||||
## Gränsbelopp: gamla reglerna (t.o.m. inkomstår 2025)
|
||||
|
||||
### Förenklingsregeln (IL 57 kap 11a§)
|
||||
Schablonbelopp = **2,75 × IBB året före beskattningsåret**, fördelas på andelar.
|
||||
@@ -25,7 +25,7 @@ Gränsbelopp = årets gränsbelopp + sparat utdelningsutrymme uppräknat med SLR
|
||||
|
||||
Årets gränsbelopp = **omkostnadsbelopp × klyvningsräntan** (SLR + 9 procentenheter) **+ lönebaserat utrymme**.
|
||||
|
||||
### Lönebaserat utrymme (IL 57 kap 16–19a§§)
|
||||
### Lönebaserat utrymme (IL 57 kap 16-19a§§)
|
||||
|
||||
**Beräkning.** 50 % av kontant lönesumma i bolaget + dotterbolag året före beskattningsåret. Tak: lönebaserat utrymme för en delägare får inte överstiga **50 × egen kontant lön**.
|
||||
|
||||
@@ -53,9 +53,9 @@ För K10 vår 2026 (inkomstår 2025, IBB 2024 = 76 200):
|
||||
|
||||
För inkomstår 2025: utdelningstak = 90 × 80 600 = **7 254 000 SEK**.
|
||||
|
||||
## SFS 2025:1361 — reformen (ikraft 2026-01-01)
|
||||
## SFS 2025:1361: reformen (ikraft 2026-01-01)
|
||||
|
||||
Riksdagsbeslut 2025-12-03. Tillämpas första gången på beskattningsår som **börjar efter 2025-12-31** — alltså inkomstår 2026, K10 vår 2027. Inkomstår 2025 (K10 vår 2026) följer gamla reglerna oförändrat.
|
||||
Riksdagsbeslut 2025-12-03. Tillämpas första gången på beskattningsår som **börjar efter 2025-12-31**: alltså inkomstår 2026, K10 vår 2027. Inkomstår 2025 (K10 vår 2026) följer gamla reglerna oförändrat.
|
||||
|
||||
### Huvudförändringar
|
||||
|
||||
@@ -70,7 +70,7 @@ Riksdagsbeslut 2025-12-03. Tillämpas första gången på beskattningsår som **
|
||||
|
||||
4. **Kapitalandelskrav 4 % slopas.** Mindre minoritetsägare får tillgång till lönebaserat utrymme.
|
||||
|
||||
5. **Uppräkning av sparat utdelningsutrymme slopas.** Tidigare uppräkning (SLR + 3 pe) försvinner — sparat utrymme värdesäkras inte längre.
|
||||
5. **Uppräkning av sparat utdelningsutrymme slopas.** Tidigare uppräkning (SLR + 3 pe) försvinner: sparat utrymme värdesäkras inte längre.
|
||||
|
||||
6. **Karenstid sänks 5 → 4 år.** Tillämpas på beskattningsår efter 2026-12-31.
|
||||
|
||||
@@ -85,7 +85,7 @@ Riksdagsbeslut 2025-12-03. Tillämpas första gången på beskattningsår som **
|
||||
|
||||
## Utomståenderegeln (IL 57 kap 5§)
|
||||
|
||||
Aktierna är inte kvalificerade om utomstående **direkt eller indirekt** äger **minst 30 %** av andelarna i företaget och har rätt till motsvarande del av utdelning, under förutsättning att förhållandet bestått under hela beskattningsåret och de fem föregående beskattningsåren — om inte **särskilda skäl** föranleder annat.
|
||||
Aktierna är inte kvalificerade om utomstående **direkt eller indirekt** äger **minst 30 %** av andelarna i företaget och har rätt till motsvarande del av utdelning, under förutsättning att förhållandet bestått under hela beskattningsåret och de fem föregående beskattningsåren, om inte **särskilda skäl** föranleder annat.
|
||||
|
||||
### HFD-praxis senaste fem år
|
||||
|
||||
@@ -93,7 +93,7 @@ Aktierna är inte kvalificerade om utomstående **direkt eller indirekt** äger
|
||||
|---|---|
|
||||
| **HFD 2021 ref. 40 ("Valedo")** | A/B-aktiestruktur med carried interest till nyckelpersoner → särskilda skäl, kvalificerade trots >30 % utomstående. |
|
||||
| **HFD 2023 ref. 11** (mål 5807-22) | Nyemission från extern investerare smittar inte mottagarens andra bolag om ägarsambandet bryts. Bryter trenden från tidigare smitto-domar. |
|
||||
| **HFD 2024 ref. 8** (mål 2887-23) | Villkorade tillskott + vetorätt slår **inte** ut utomståenderegeln — restriktiv tolkning av "särskilda skäl"; utomstående krävs ha **verkligt ekonomiskt risktagande**, men inte fullt symmetrisk rösträtt. |
|
||||
| **HFD 2024 ref. 8** (mål 2887-23) | Villkorade tillskott + vetorätt slår **inte** ut utomståenderegeln: restriktiv tolkning av "särskilda skäl"; utomstående krävs ha **verkligt ekonomiskt risktagande**, men inte fullt symmetrisk rösträtt. |
|
||||
| **HFD 2024 ref. 51** (mål 1372-24) | Direkt + indirekt ägande hos samma närståendekrets → kapitalsmitta kvarstår; konsolidering av smitta-doktrinen efter 2023 ref. 11. |
|
||||
|
||||
## Samma eller likartad verksamhet (IL 57 kap 4§ 1 st p. 1)
|
||||
@@ -102,7 +102,7 @@ Aktier är kvalificerade om delägaren eller närstående under beskattningsåre
|
||||
|
||||
**Klassisk fälla:** flytta verksamhet till nytt AB och låta gamla AB ligga vilande som "5:25-trädabolag". Karenstiden måste löpa ut innan vilande bolagets aktier blir okvalificerade. Reform 2026 sänker 5 → 4 år.
|
||||
|
||||
## K10-blanketten — kritiska fält
|
||||
## K10-blanketten: kritiska fält
|
||||
|
||||
- **Avsnitt A**: omkostnadsbelopp (anskaffningsutgift uppräknad enligt 57:9).
|
||||
- **Avsnitt B**: gränsbelopp enligt förenklingsregeln (B.1) **eller** huvudregeln (B.2 + lönebaserat utrymme B.3).
|
||||
@@ -127,14 +127,14 @@ Brytpunkt: huvudregeln vinner när 50 % × lönesumman > 209 550 → **lönesumm
|
||||
|
||||
## Lagreferenser
|
||||
|
||||
- IL (1999:1229) 57 kap — fåmansföretagsreglerna i sin helhet.
|
||||
- IL 57 kap 4§ — kvalificerade andelar.
|
||||
- IL 57 kap 5§ — utomståenderegeln.
|
||||
- IL 57 kap 11§ — gränsbelopp.
|
||||
- IL 57 kap 11a§ — förenklingsregeln (utgår 2026).
|
||||
- IL 57 kap 12§ — huvudregeln.
|
||||
- IL 57 kap 16–19a§§ — lönebaserat utrymme + löneuttagskrav + kapitalandelskrav.
|
||||
- IL 57 kap 20§ — takbelopp utdelning (90 IBB).
|
||||
- IL 57 kap 22§ — takbelopp kapitalvinst (100 IBB / 5 år).
|
||||
- SFS 2025:1361 — 2026-reformen.
|
||||
- SKV ställningstagande dnr 131 764318-09/111 (2009-11-16) — lönedefinition.
|
||||
- IL (1999:1229) 57 kap: fåmansföretagsreglerna i sin helhet.
|
||||
- IL 57 kap 4§: kvalificerade andelar.
|
||||
- IL 57 kap 5§: utomståenderegeln.
|
||||
- IL 57 kap 11§: gränsbelopp.
|
||||
- IL 57 kap 11a§: förenklingsregeln (utgår 2026).
|
||||
- IL 57 kap 12§: huvudregeln.
|
||||
- IL 57 kap 16-19a§§: lönebaserat utrymme + löneuttagskrav + kapitalandelskrav.
|
||||
- IL 57 kap 20§: takbelopp utdelning (90 IBB).
|
||||
- IL 57 kap 22§: takbelopp kapitalvinst (100 IBB / 5 år).
|
||||
- SFS 2025:1361: 2026-reformen.
|
||||
- SKV ställningstagande dnr 131 764318-09/111 (2009-11-16): lönedefinition.
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
# Consultant vs employee classification (uppdragstagare vs arbetstagare)
|
||||
|
||||
## Lagbas — IL 13 kap 1§
|
||||
## Lagbas: IL 13 kap 1§
|
||||
|
||||
Efter prop. 2008/09:62 (ikraft 2009-01-01) ska tre faktorer **särskilt beaktas** vid bedömningen om en person bedriver näringsverksamhet eller står i ett anställningsförhållande:
|
||||
|
||||
1. **Partsavsikten** — vad parterna avsett enligt avtal
|
||||
2. **Beroendet** — uppdragstagarens beroende av uppdragsgivaren
|
||||
3. **Integrationen** — i vilken grad uppdragstagaren är inordnad i uppdragsgivarens verksamhet
|
||||
1. **Partsavsikten**: vad parterna avsett enligt avtal
|
||||
2. **Beroendet**: uppdragstagarens beroende av uppdragsgivaren
|
||||
3. **Integrationen**: i vilken grad uppdragstagaren är inordnad i uppdragsgivarens verksamhet
|
||||
|
||||
Reformen 2009 syftade till att underlätta starta-eget — F-skatt + flera uppdragsgivare ska normalt räcka.
|
||||
Reformen 2009 syftade till att underlätta starta-eget: F-skatt + flera uppdragsgivare ska normalt räcka.
|
||||
|
||||
## F-skattens rättsverkningar — HFD 2019:60
|
||||
## F-skattens rättsverkningar: HFD 2019:60
|
||||
|
||||
**Mål 3978-3979-18 m.fl.** Uppdragsavtal med F-skattegodkänd uppdragstagare kan inte åsidosättas annat än vid **skenavtal** (avtalet återspeglar inte verkligheten).
|
||||
|
||||
@@ -21,15 +21,15 @@ Reformen 2009 syftade till att underlätta starta-eget — F-skatt + flera uppdr
|
||||
|
||||
Backas av SKV ställningstagande **dnr 8-2386895** (2023-05-25) om F-skattsedelns rättsverkningar.
|
||||
|
||||
## 3:12-mening — verksam i betydande omfattning
|
||||
## 3:12-mening: verksam i betydande omfattning
|
||||
|
||||
**HFD 2018 ref. 31** (mål 3936-3939-17): IT-konsult som via eget AB arbetar för kundföretag kan ändå klassas som "verksam i betydande omfattning" hos kundföretaget i **3:12-mening** (IL 57 kap 4§). Detta är inte samma fråga som arbetsgivaravgifter — skenavtalströskeln gäller där, men 3:12 har lägre tröskel.
|
||||
**HFD 2018 ref. 31** (mål 3936-3939-17): IT-konsult som via eget AB arbetar för kundföretag kan ändå klassas som "verksam i betydande omfattning" hos kundföretaget i **3:12-mening** (IL 57 kap 4§). Detta är inte samma fråga som arbetsgivaravgifter: skenavtalströskeln gäller där, men 3:12 har lägre tröskel.
|
||||
|
||||
Konsekvens: aktierna i kundföretaget kan bli kvalificerade för konsulten även om konsulten formellt är extern. Sällan praktiskt problem för dagliga konsultupplägg, men relevant vid:
|
||||
- Equity/options i kundbolaget som ersättning
|
||||
- Långa eller exklusiva uppdrag med ledningsuppgifter
|
||||
|
||||
## Styrelsearvoden — HFD 2017 ref. 41
|
||||
## Styrelsearvoden: HFD 2017 ref. 41
|
||||
|
||||
Styrelsearvode ska normalt beskattas som **inkomst av tjänst** även om fakturering sker via eget AB. Endast vid undantagsfall (få och tidsbegränsade uppdrag, styrelseuppdrag som integrerad del av annan konsultroll) accepteras AB-fakturering.
|
||||
|
||||
@@ -39,7 +39,7 @@ Skatteverket har följt upp med **ställningstagande dnr 8-1503440** (2022-02-22
|
||||
|
||||
Permanent ordförandeskap eller långsiktig styrelseplats → tjänst, inte näringsverksamhet, oavsett struktur.
|
||||
|
||||
## SFL 10 kap — skatteavdrag och F-skatt
|
||||
## SFL 10 kap: skatteavdrag och F-skatt
|
||||
|
||||
**SFL 10 kap 11§.** Utbetalaren får lita på F-skatt-status endast om den anges **skriftligt** i handling upprättad i samband med uppdraget. "F-skatt" på fakturafoten räcker; muntliga uppgifter räcker inte.
|
||||
|
||||
@@ -49,7 +49,7 @@ Permanent ordförandeskap eller långsiktig styrelseplats → tjänst, inte när
|
||||
|
||||
## 24-månadersregeln för uthyrning (LUA)
|
||||
|
||||
Lag (2012:854) om uthyrning av arbetstagare (LUA) — uthyrningsdirektivet 2008/104/EG. Gäller bemanningsföretag, inte enmansbolag. **Klargörande:** ren konsultverksamhet (uppdrag mot resultat, ej tidsuthyrning) faller utanför LUA.
|
||||
Lag (2012:854) om uthyrning av arbetstagare (LUA), uthyrningsdirektivet 2008/104/EG. Gäller bemanningsföretag, inte enmansbolag. **Klargörande:** ren konsultverksamhet (uppdrag mot resultat, ej tidsuthyrning) faller utanför LUA.
|
||||
|
||||
## Dokumentationschecklista för en-mans-IT-AB
|
||||
|
||||
@@ -58,11 +58,11 @@ För att stärka konsultupplägget och minimera reklassificeringsrisk:
|
||||
- [ ] **Flera uppdragsgivare** under året (eller åtminstone aktiv marknadsföring/sökande)
|
||||
- [ ] **Fastpriselement** i avtal (resultatbaserat, ej rent timpris) där möjligt
|
||||
- [ ] **Egen utrustning** (laptop, programvarulicenser, hemmakontor)
|
||||
- [ ] **Egen lokal eller arbetsplats** — inte permanent skrivbord hos kund
|
||||
- [ ] **Egen lokal eller arbetsplats**, inte permanent skrivbord hos kund
|
||||
- [ ] **Ansvarsförsäkring** (företagarförsäkring + konsultansvar)
|
||||
- [ ] **F-skattregistrering** + momsregistrering (verifierad)
|
||||
- [ ] **Eget aktiekapital** (minimum 25 000 SEK för AB sedan 2020)
|
||||
- [ ] **Marknadsföring** — webbplats, LinkedIn-företagsprofil, visitkort
|
||||
- [ ] **Marknadsföring**: webbplats, LinkedIn-företagsprofil, visitkort
|
||||
- [ ] **Avtal** med uppdragsgivare som inte ser ut som anställningsavtal (inga semesterdagar, ingen lönerevision, ingen rapporteringshierarki)
|
||||
- [ ] **Tidsbegränsade uppdrag** med tydlig avgränsning
|
||||
- [ ] **Fakturering med specifikation** av prestation, inte bara timmar
|
||||
@@ -72,22 +72,22 @@ För att stärka konsultupplägget och minimera reklassificeringsrisk:
|
||||
| Mönster | Reklassificeringsrisk |
|
||||
|---|---|
|
||||
| 1 kund, 100 % av omsättningen, 36+ månader | **Mycket hög** |
|
||||
| 1 kund, 100 %, 12–36 mån, F-skatt + dokumenterat | Medium — HFD 2019:60 skydd om inte skenavtal |
|
||||
| 2–3 kunder, växlande, eget kontor | Låg |
|
||||
| 1 kund, 100 %, 12-36 mån, F-skatt + dokumenterat | Medium: HFD 2019:60 skydd om inte skenavtal |
|
||||
| 2-3 kunder, växlande, eget kontor | Låg |
|
||||
| 5+ kunder, egen produktutveckling | Mycket låg |
|
||||
| Konsult med equity/options i kundbolag | Hög (3:12-smitta) |
|
||||
| Styrelseuppdrag fakturerat via AB | Mycket hög för tjänsteklassificering |
|
||||
|
||||
## Lagreferenser
|
||||
|
||||
- IL (1999:1229) 13 kap 1§ — näringsverksamhet vs anställning
|
||||
- IL 57 kap 4§ — verksam i betydande omfattning (3:12)
|
||||
- SFL (2011:1244) 10 kap 11§ — F-skatt-anteckning
|
||||
- SFL 10 kap 24§ — skatteavdrag vid icke-F-skatt
|
||||
- Prop. 2008/09:62 — F-skattereformen
|
||||
- IL (1999:1229) 13 kap 1§: näringsverksamhet vs anställning
|
||||
- IL 57 kap 4§: verksam i betydande omfattning (3:12)
|
||||
- SFL (2011:1244) 10 kap 11§: F-skatt-anteckning
|
||||
- SFL 10 kap 24§: skatteavdrag vid icke-F-skatt
|
||||
- Prop. 2008/09:62: F-skattereformen
|
||||
- Lag (2012:854) om uthyrning av arbetstagare (LUA)
|
||||
- HFD 2019:60 — F-skatt-skydd
|
||||
- HFD 2018 ref. 31 — verksam i betydande omfattning genom AB
|
||||
- HFD 2017 ref. 41 — styrelsearvoden
|
||||
- SKV ställningstagande dnr 8-2386895 (2023-05-25) — F-skattsedelns rättsverkningar
|
||||
- SKV ställningstagande dnr 8-1503440 (2022-02-22) — styrelsearvoden via AB
|
||||
- HFD 2019:60: F-skatt-skydd
|
||||
- HFD 2018 ref. 31: verksam i betydande omfattning genom AB
|
||||
- HFD 2017 ref. 41: styrelsearvoden
|
||||
- SKV ställningstagande dnr 8-2386895 (2023-05-25): F-skattsedelns rättsverkningar
|
||||
- SKV ställningstagande dnr 8-1503440 (2022-02-22): styrelsearvoden via AB
|
||||
|
||||
@@ -19,7 +19,7 @@ Lön är skattefri i Sverige om:
|
||||
- Anställningen och vistelsen utomlands varar i **minst ett år** i samma land
|
||||
- Inkomsten kunde ha beskattats där men befriats från beskattning genom intern lagstiftning eller administrativ praxis (ej skatteavtal)
|
||||
|
||||
Bredare än sexmånadersregeln — fungerar även för låg- eller nollskatteländer förutsatt befrielsen vilar på intern lagstiftning.
|
||||
Bredare än sexmånadersregeln: fungerar även för låg- eller nollskatteländer förutsatt befrielsen vilar på intern lagstiftning.
|
||||
|
||||
## Kortare avbrott (IL 3 kap 10§)
|
||||
|
||||
@@ -29,14 +29,14 @@ Sverigevistelser och tredjeland-vistelser är tillåtna utan att bryta utlandsvi
|
||||
|
||||
**HFD 2014:9:** semester räknas som arbetsförhållande för 6/72-dagars-räkningen.
|
||||
|
||||
## SINK — särskild inkomstskatt för utomlands bosatta (1991:586)
|
||||
## SINK: särskild inkomstskatt för utomlands bosatta (1991:586)
|
||||
|
||||
- **25 % fast** på bruttolön till person bosatt utanför Sverige men som arbetar för svensk arbetsgivare i Sverige
|
||||
- Inga avdrag, ingen deklaration — slutskatt
|
||||
- Begränsat skattskyldig (IL 3 kap 17–18§§): vistelse <6 mån/år eller pendlare med utländsk hemvist
|
||||
- Ansökan på blankett SKV 4350 inom kort tid efter ankomst — annars vanlig progressiv beskattning
|
||||
- Inga avdrag, ingen deklaration, slutskatt
|
||||
- Begränsat skattskyldig (IL 3 kap 17-18§§): vistelse <6 mån/år eller pendlare med utländsk hemvist
|
||||
- Ansökan på blankett SKV 4350 inom kort tid efter ankomst: annars vanlig progressiv beskattning
|
||||
|
||||
## Expertskatt (IL 11 kap 22–23§§ + lag 1999:1305)
|
||||
## Expertskatt (IL 11 kap 22-23§§ + lag 1999:1305)
|
||||
|
||||
**25 % av lön + vissa ersättningar är skattefria** under upp till **7 år** (utökat från 5 år genom **lag 2023:880** för vistelser som påbörjats efter **2023-03-31**; tidigare ankomster bibehåller 5-årsgränsen).
|
||||
|
||||
@@ -48,7 +48,7 @@ Sverigevistelser och tredjeland-vistelser är tillåtna utan att bryta utlandsvi
|
||||
- Vistelse i Sverige är **avsedd högst 7 år**
|
||||
- Ansökan inom 3 månader
|
||||
|
||||
## A1-intyg — socialförsäkringstillhörighet
|
||||
## A1-intyg: socialförsäkringstillhörighet
|
||||
|
||||
**EU förordning 883/2004 art. 12.** Vid utsändning inom **EU/EES/Schweiz/UK** ≤24 månader bevaras svensk socialförsäkring (arbetsgivaravgifter betalas till Sverige, inte värdlandet). Förlängning till 5 år möjlig via art. 16-avtal.
|
||||
|
||||
@@ -60,12 +60,12 @@ Ansökan: Försäkringskassan (e-tjänst). Krävs **före** utresan för att var
|
||||
|
||||
| Konto | Användning |
|
||||
|---|---|
|
||||
| 7010 | Lön kollektivanställda — vid utsändning kan ackumuleras separat per land för spårning |
|
||||
| 7010 | Lön kollektivanställda: vid utsändning kan ackumuleras separat per land för spårning |
|
||||
| 7210 | Lön tjänstemän |
|
||||
| 7510 | Arbetsgivaravgifter — endast om svensk socialförsäkring gäller (A1) |
|
||||
| 7510 | Arbetsgivaravgifter: endast om svensk socialförsäkring gäller (A1) |
|
||||
| 7530 | Särskild löneskatt på pensionskostnader (24,26 %) |
|
||||
| 7385 | Bilförmån |
|
||||
| 5800 | Resekostnader — typiskt resor för konsultuppdrag |
|
||||
| 5800 | Resekostnader: typiskt resor för konsultuppdrag |
|
||||
| 7392 | Skattefri del av traktamente / utlandsersättning |
|
||||
| 7382 | Skattepliktig del av traktamente |
|
||||
|
||||
@@ -75,7 +75,7 @@ Ansökan: Försäkringskassan (e-tjänst). Krävs **före** utresan för att var
|
||||
|
||||
Lön rapporteras i AGI som vanligt men med markering om skatteberäkning. Skatteavdrag görs ofta efter jämkning eller på 0 SEK efter beslut från Skatteverket. Slutskatten regleras vid taxeringen.
|
||||
|
||||
## Fast driftställe vid hemmakontor — för utländsk arbetsgivare
|
||||
## Fast driftställe vid hemmakontor: för utländsk arbetsgivare
|
||||
|
||||
**HFD 2022 ref. 39** (mål 6446-21) + SKV ställningstagande **dnr 8-1677220** (2023-05-13): utländsk arbetsgivare får i regel inte fast driftställe i Sverige genom anställds hemmakontor om arbetsgivaren inte kräver att arbetet utförs där. Mer restriktivt än tidigare praxis.
|
||||
|
||||
@@ -83,14 +83,14 @@ Lön rapporteras i AGI som vanligt men med markering om skatteberäkning. Skatte
|
||||
|
||||
## Lagreferenser
|
||||
|
||||
- IL (1999:1229) 3 kap 9§ — sexmånadersregeln + ettårsregeln
|
||||
- IL 3 kap 10§ — kortare avbrott
|
||||
- IL 3 kap 17–18§§ — begränsat skattskyldig
|
||||
- IL 11 kap 22–23§§ — expertskatt
|
||||
- IL (1999:1229) 3 kap 9§: sexmånadersregeln + ettårsregeln
|
||||
- IL 3 kap 10§: kortare avbrott
|
||||
- IL 3 kap 17-18§§: begränsat skattskyldig
|
||||
- IL 11 kap 22-23§§: expertskatt
|
||||
- Lag (1999:1305) om Forskarskattenämnden
|
||||
- Lag (1991:586) om särskild inkomstskatt för utomlands bosatta (SINK)
|
||||
- Lag (2023:880) — expertskatt 5 → 7 år
|
||||
- EU förordning 883/2004 art. 12, 13, 16 — socialförsäkring vid utsändning
|
||||
- HFD 2011 ref. 40 — kortare avbrott
|
||||
- HFD 2014:9 — semester och avbrott
|
||||
- HFD 2022 ref. 39 — hemmakontor och fast driftställe
|
||||
- Lag (2023:880): expertskatt 5 → 7 år
|
||||
- EU förordning 883/2004 art. 12, 13, 16: socialförsäkring vid utsändning
|
||||
- HFD 2011 ref. 40: kortare avbrott
|
||||
- HFD 2014:9: semester och avbrott
|
||||
- HFD 2022 ref. 39: hemmakontor och fast driftställe
|
||||
|
||||
+17
-17
@@ -1,6 +1,6 @@
|
||||
# Electronic services classification (moms)
|
||||
|
||||
## Definition — three cumulative criteria
|
||||
## Definition: three cumulative criteria
|
||||
|
||||
EU genomförandeförordning 282/2011 art. 7 + bilaga I:
|
||||
1. Levereras över Internet eller elektroniskt nät
|
||||
@@ -27,9 +27,9 @@ Säljs över Internet?
|
||||
|---|---|---|
|
||||
| Skräddarsydd kod på beställning | Konsulttjänst | Mänsklig leverans, huvudregeln gäller |
|
||||
| Standard-SaaS (Salesforce, Slack-typ) | Elektronisk tjänst | Helautomatiserad |
|
||||
| Hostad kundspecifik instans med support | Blandad — separera bashysning (elektronisk) från support (konsult) eller bedöm huvudprestation |
|
||||
| Hostad kundspecifik instans med support | Blandad: separera bashysning (elektronisk) från support (konsult) eller bedöm huvudprestation |
|
||||
| IaaS (AWS EC2, Azure VM) | Elektronisk tjänst | Helautomatiserad self-service |
|
||||
| Co-location (kundens hardware) | Fastighetstjänst | Annan placeringsregel — ML 6 kap 38§ |
|
||||
| Co-location (kundens hardware) | Fastighetstjänst | Annan placeringsregel: ML 6 kap 38§ |
|
||||
| GPU/compute (HPC/AI training) | **Elektronisk tjänst** | Skatterättsnämnden förhandsbesked 2024 |
|
||||
| AI-API (OpenAI, Anthropic API) | Elektronisk tjänst | Automatiserad inference |
|
||||
| Förinspelad onlinekurs | Elektronisk tjänst | Bilaga I till 282/2011 |
|
||||
@@ -39,13 +39,13 @@ Säljs över Internet?
|
||||
| App-/SaaS-distribution via app store | Plattformen presumeras säljare | SKV dnr 8-2059749, 2022-12-19 |
|
||||
| Standardprogram på fysiskt medium | **Vara** | Inte tjänst |
|
||||
| Standardprogram för download | Elektronisk tjänst | Online-leverans = tjänst |
|
||||
| Royalty för immaterialrätt | "Diverse tjänster" | ML 6 kap 64–66§§ |
|
||||
| Royalty för immaterialrätt | "Diverse tjänster" | ML 6 kap 64-66§§ |
|
||||
|
||||
## Placeringsregler
|
||||
|
||||
### B2B (köparen är beskattningsbar person)
|
||||
|
||||
Alla tjänster — inkl. elektroniska — beskattas där **köparen** är etablerad (ML 6 kap 33§, art. 44 i 2006/112/EG). Säljaren fakturerar utan moms; köparen reverse-chargar.
|
||||
Alla tjänster (inkl. elektroniska) beskattas där **köparen** är etablerad (ML 6 kap 33§, art. 44 i 2006/112/EG). Säljaren fakturerar utan moms; köparen reverse-chargar.
|
||||
|
||||
### B2C (köparen är konsument)
|
||||
|
||||
@@ -58,11 +58,11 @@ Alla tjänster — inkl. elektroniska — beskattas där **köparen** är etable
|
||||
|
||||
## OSS-tröskeln
|
||||
|
||||
**Beräkning.** Tröskeln **10 000 EUR / 99 680 SEK** gäller den **sammanlagda** unionsinterna distansförsäljningen av varor + TBE-tjänster B2C (ML 6 kap 62–63§§). Räknas kalenderårsvis.
|
||||
**Beräkning.** Tröskeln **10 000 EUR / 99 680 SEK** gäller den **sammanlagda** unionsinterna distansförsäljningen av varor + TBE-tjänster B2C (ML 6 kap 62-63§§). Räknas kalenderårsvis.
|
||||
|
||||
**Övergång.** När tröskeln passeras under året → svensk moms upp till tröskeln, OSS-moms (köparlandets sats) från och med fakturan som passerar.
|
||||
|
||||
**Frivillig registrering.** Säljare under tröskeln kan välja att registrera sig i OSS — typiskt fördelaktigt vid försäljning till lågmoms-länder (Luxemburg 17 %, Tyskland 19 %).
|
||||
**Frivillig registrering.** Säljare under tröskeln kan välja att registrera sig i OSS: typiskt fördelaktigt vid försäljning till lågmoms-länder (Luxemburg 17 %, Tyskland 19 %).
|
||||
|
||||
**Deklaration.** OSS-unionsordningen kvartalsvis (Q1 → 30 april, Q2 → 31 juli, Q3 → 31 oktober, Q4 → 31 januari). Allt i EUR.
|
||||
|
||||
@@ -75,37 +75,37 @@ Alla tjänster — inkl. elektroniska — beskattas där **köparen** är etable
|
||||
- Praktisk följd för svensk app-utvecklare som säljer via Apple App Store / Google Play / Microsoft Store / Steam: säljer till plattformen i Irland/Luxemburg → svensk faktura utan moms, reverse charge för plattformen
|
||||
- Ersätter äldre dnr 131 499122-14/111
|
||||
|
||||
## Konsult vs licens — kombinerade leveranser
|
||||
## Konsult vs licens: kombinerade leveranser
|
||||
|
||||
**Princip.** När en leverans innehåller både konsultarbete och licens/SaaS, bedöm vad som är **huvudprestationen** (EU-domstolens CPP-doktrin, mål C-349/96).
|
||||
|
||||
Vanliga mönster för IT-konsult:
|
||||
- **Implementation av standard-SaaS (60 % konsult + 40 % licens):** sammanhängande tjänst med konsultarbete som huvudprestation → konsulttjänst, B2B-huvudregeln gäller hela beloppet
|
||||
- **SaaS-licens med support (90 % licens + 10 % support):** elektronisk tjänst hela
|
||||
- **Skräddarsydd utveckling + drift (50/50):** ofta separera i faktura — utveckling som konsult, drift som elektronisk
|
||||
- **Skräddarsydd utveckling + drift (50/50):** ofta separera i faktura, utveckling som konsult, drift som elektronisk
|
||||
|
||||
Dokumentera bedömningen i avtal och faktura för att undvika ifrågasättande.
|
||||
|
||||
## Skattesats
|
||||
|
||||
**Programvara och SaaS = alltid 25 %.** Reducerade satser (12 %, 6 %) gäller inte programvara, även om innehållet skulle kunna falla under en reducerad kategori (t.ex. e-bok 6 % gäller bok som elektronisk publikation enligt ML 7 kap 1§ 3 st p. 4 — inte SaaS-plattform för bokläsning).
|
||||
**Programvara och SaaS = alltid 25 %.** Reducerade satser (12 %, 6 %) gäller inte programvara, även om innehållet skulle kunna falla under en reducerad kategori (t.ex. e-bok 6 % gäller bok som elektronisk publikation enligt ML 7 kap 1§ 3 st p. 4, inte SaaS-plattform för bokläsning).
|
||||
|
||||
**HFD 2024 ref. 42:** EdTech-plattform med läromedel ansågs **inte** vara "bok" → standard 25 %.
|
||||
|
||||
## Praxis 2021–2026 — moms på digitala tjänster
|
||||
## Praxis 2021-2026: moms på digitala tjänster
|
||||
|
||||
| Avgörande | Innebörd |
|
||||
|---|---|
|
||||
| EUD C-247/21 Luxury Trust Automobil (2022) | Saknad "reverse charge"-text kan inte rättas i efterhand |
|
||||
| Skatterättsnämnden 2024 (förhandsbesked) | Beräkningskapacitet/GPU = elektronisk tjänst |
|
||||
| HFD 2024 ref. 42 | EdTech-plattform ej "bok" — 25 % moms |
|
||||
| HFD 2024 ref. 42 | EdTech-plattform ej "bok": 25 % moms |
|
||||
| SFS 2024:942 (ikraft 2025-01-01) | Virtuella evenemang B2B → köparens land |
|
||||
|
||||
## Lagreferenser
|
||||
|
||||
- ML (2023:200) 6 kap 33§ — huvudregeln B2B
|
||||
- ML 6 kap 56–58§§ — elektroniska tjänster B2C
|
||||
- ML 6 kap 62–63§§ — OSS-tröskeln
|
||||
- ML 22 kap — OSS-deklaration
|
||||
- ML (2023:200) 6 kap 33§: huvudregeln B2B
|
||||
- ML 6 kap 56-58§§: elektroniska tjänster B2C
|
||||
- ML 6 kap 62-63§§: OSS-tröskeln
|
||||
- ML 22 kap: OSS-deklaration
|
||||
- 2006/112/EG art. 44 (B2B), art. 58 (B2C TBE)
|
||||
- Genomförandeförordning (EU) 282/2011 art. 7 + bilaga I — definition elektronisk tjänst
|
||||
- Genomförandeförordning (EU) 282/2011 art. 7 + bilaga I: definition elektronisk tjänst
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Invoice text library — IT consulting (Sweden)
|
||||
# Invoice text library: IT consulting (Sweden)
|
||||
|
||||
## B2B inom EU (omvänd betalningsskyldighet)
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
**Svensk/engelsk dubbeltext (rekommenderad):**
|
||||
|
||||
```
|
||||
Omvänd betalningsskyldighet — Reverse charge
|
||||
Omvänd betalningsskyldighet / Reverse charge
|
||||
Artikel 44 och 196 i rådets direktiv 2006/112/EG
|
||||
VAT to be accounted for by the recipient under Article 196 of Directive 2006/112/EC
|
||||
|
||||
@@ -40,11 +40,11 @@ Moms 25 % ingår med [belopp] SEK
|
||||
|
||||
Försäljning **3001/3041**, utgående moms **2611**. Momsruta **05+10**.
|
||||
|
||||
## B2C inom EU — under OSS-tröskel (10 000 EUR / 99 680 SEK)
|
||||
## B2C inom EU: under OSS-tröskel (10 000 EUR / 99 680 SEK)
|
||||
|
||||
Behandlas som Sverige-försäljning, svensk moms 25 %. Försäljning på 3001/3041, ruta 05+10.
|
||||
|
||||
## B2C inom EU — över OSS-tröskel (eller frivillig OSS-registrering)
|
||||
## B2C inom EU: över OSS-tröskel (eller frivillig OSS-registrering)
|
||||
|
||||
```
|
||||
VAT [köparlandets sats] %
|
||||
@@ -55,7 +55,7 @@ Seller's OSS identification: SE[VAT-nr]
|
||||
|
||||
Försäljning **3308**, utgående OSS-moms **2670**. OSS-deklaration kvartalsvis i EUR, separat från ordinarie momsdeklaration.
|
||||
|
||||
Tabell över relevanta momssatser i EU (uppdateras 2025-2026 — kontrollera vid behov):
|
||||
Tabell över relevanta momssatser i EU (uppdateras 2025-2026, kontrollera vid behov):
|
||||
|
||||
| Land | Standardsats |
|
||||
|---|---|
|
||||
@@ -104,7 +104,7 @@ Mottagaren bokar på **6850 Inhyrd IT-personal**, drar ingående moms 2641.
|
||||
## Förskottsfakturering SaaS-prenumeration
|
||||
|
||||
```
|
||||
Period: 2026-01-01 — 2026-12-31
|
||||
Period: 2026-01-01 till 2026-12-31
|
||||
Avgift för årsprenumeration på [tjänst].
|
||||
Tjänsten levereras löpande under avtalsperioden.
|
||||
```
|
||||
@@ -115,9 +115,9 @@ Mottagaren bokar fakturan på **2972 Förutbetalda intäkter** (kreditsida) vid
|
||||
|
||||
1. **C-247/21 Luxury Trust Automobil (2022).** Saknad "reverse charge"-text kan inte rättas i efterhand. Verifiera fakturamallen innan första fakturan till EU B2B-kund.
|
||||
|
||||
2. **VAT-nr-format.** EU-länderna har olika format (DE 9 siffror, FR 11 tecken, NL 12 tecken inklusive "B01" etc.). VIES validerar formatet — om kunden ger ogiltigt nummer, fråga om uppdaterat eller behandla som B2C.
|
||||
2. **VAT-nr-format.** EU-länderna har olika format (DE 9 siffror, FR 11 tecken, NL 12 tecken inklusive "B01" etc.). VIES validerar formatet: om kunden ger ogiltigt nummer, fråga om uppdaterat eller behandla som B2C.
|
||||
|
||||
3. **Microsoft Ireland vs Microsoft US.** Olika kundavtal får olika faktureringsentiteter. Kontrollera fakturafoten varje månad — kan bytas vid avtalsändring.
|
||||
3. **Microsoft Ireland vs Microsoft US.** Olika kundavtal får olika faktureringsentiteter. Kontrollera fakturafoten varje månad: kan bytas vid avtalsändring.
|
||||
|
||||
4. **OSS-tröskeln gäller summan av varor + TBE-tjänster B2C inom EU.** Lätt att missa när man säljer både SaaS B2C och fysiska varor.
|
||||
|
||||
@@ -125,10 +125,10 @@ Mottagaren bokar fakturan på **2972 Förutbetalda intäkter** (kreditsida) vid
|
||||
|
||||
## Lagreferenser
|
||||
|
||||
- ML (2023:200) 17 kap — faktureringsskyldighet och fakturainnehåll
|
||||
- ML 6 kap 33§ — B2B-huvudregeln
|
||||
- ML 6 kap 56–58§§ + 62–63§§ — TBE-tjänster B2C och OSS-tröskeln
|
||||
- ML 22 kap — OSS-deklaration
|
||||
- 2006/112/EG art. 44, 196, 226 — placeringsregler och fakturainnehåll
|
||||
- EUD C-247/21 (2022) — reverse charge-text kan inte rättas
|
||||
- SKV ställningstagande dnr 202 460649-17/111 (2018-01-25) — VIES-validering bevisbörda
|
||||
- ML (2023:200) 17 kap: faktureringsskyldighet och fakturainnehåll
|
||||
- ML 6 kap 33§: B2B-huvudregeln
|
||||
- ML 6 kap 56-58§§ + 62-63§§: TBE-tjänster B2C och OSS-tröskeln
|
||||
- ML 22 kap: OSS-deklaration
|
||||
- 2006/112/EG art. 44, 196, 226: placeringsregler och fakturainnehåll
|
||||
- EUD C-247/21 (2022): reverse charge-text kan inte rättas
|
||||
- SKV ställningstagande dnr 202 460649-17/111 (2018-01-25): VIES-validering bevisbörda
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# Software capitalization — K3, K2, IFRS
|
||||
# Software capitalization: K3, K2, IFRS
|
||||
|
||||
## K3 (BFNAR 2012:1) kap 18 — internt upparbetade immateriella tillgångar
|
||||
## K3 (BFNAR 2012:1) kap 18: internt upparbetade immateriella tillgångar
|
||||
|
||||
**18.7 Principval.** Företaget **väljer** mellan:
|
||||
- **Aktiveringsmodellen** — utgifter aktiveras när alla kriterier i 18.12 uppfylls
|
||||
- **Kostnadsföringsmodellen** — alla utgifter kostnadsförs löpande
|
||||
- **Aktiveringsmodellen**: utgifter aktiveras när alla kriterier i 18.12 uppfylls
|
||||
- **Kostnadsföringsmodellen**: alla utgifter kostnadsförs löpande
|
||||
|
||||
Valet är en redovisningsprincip; tillämpas konsekvent över alla projekt och alla år, ändring kräver byte av redovisningsprincip (K3 10.6).
|
||||
|
||||
@@ -37,43 +37,43 @@ Får **inte** aktiveras:
|
||||
|
||||
Avskrivningstid = **nyttjandeperiod**. Om nyttjandeperiod inte kan tillförlitligt fastställas → **5 år** (ÅRL 4 kap 4§ 2 st). Linjär metod är norm för programvara.
|
||||
|
||||
## K2 (BFNAR 2016:10) punkt 10.4 — aktiveringsförbud
|
||||
## K2 (BFNAR 2016:10) punkt 10.4: aktiveringsförbud
|
||||
|
||||
> "Ett företag får inte aktivera utgifter för egenupparbetade immateriella anläggningstillgångar."
|
||||
|
||||
**Konsekvens.** K2-bolag kostnadsför all egen utvecklingstid direkt. **Förvärvade** immateriella tillgångar (köpt mjukvara, köpta licenser) får aktiveras enligt 10.6–10.18.
|
||||
**Konsekvens.** K2-bolag kostnadsför all egen utvecklingstid direkt. **Förvärvade** immateriella tillgångar (köpt mjukvara, köpta licenser) får aktiveras enligt 10.6-10.18.
|
||||
|
||||
**Tvingar K3-val** för SaaS-bolag som vill kapitalisera. K3-val utlöser i sin tur:
|
||||
- Revisionsplikt över gränsvärdena (omsättning ≥ 3 MSEK, balansomslutning ≥ 1,5 MSEK, anställda ≥ 3 — två av tre i två år)
|
||||
- Revisionsplikt över gränsvärdena (omsättning ≥ 3 MSEK, balansomslutning ≥ 1,5 MSEK, anställda ≥ 3, två av tre i två år)
|
||||
- Fond för utvecklingsutgifter (ÅRL 4 kap 2§)
|
||||
- Uppskjuten skatt (K3 29)
|
||||
- Större notapparat
|
||||
|
||||
## IAS 38 / RFR 2 — noterade bolag
|
||||
## IAS 38 / RFR 2: noterade bolag
|
||||
|
||||
IAS 38.57 gör aktivering **tvingande** när kriterierna uppfylls (skillnad mot K3 där aktivering är frivilligt principval). Sex kriterier i IAS 38.57 är i sak identiska med K3 18.12.
|
||||
|
||||
**IFRS 15** — intäktsredovisning. Tillåter inte färdigställandemetoden — intäkter ska redovisas över tid när art. 35-kriterier uppfylls, eller vid en tidpunkt (kontrollövergång).
|
||||
**IFRS 15**: intäktsredovisning. Tillåter inte färdigställandemetoden: intäkter ska redovisas över tid när art. 35-kriterier uppfylls, eller vid en tidpunkt (kontrollövergång).
|
||||
|
||||
## Fond för utvecklingsutgifter — ÅRL 4 kap 2§
|
||||
## Fond för utvecklingsutgifter: ÅRL 4 kap 2§
|
||||
|
||||
Aktivering enligt K3 18 **tvingar** överföring från fritt EK till bunden fond **2089 Fond för utvecklingsutgifter** med belopp motsvarande aktiveringen. Fonden upplöses i takt med avskrivning/nedskrivning eller försäljning av tillgången.
|
||||
|
||||
**3:12-implikation.** Aktiverade 5 MSEK utvecklingsutgifter → 5 MSEK låst i 2089 → utdelningsbara medel minskar omedelbart. För fåmansbolag med ägare som vill maximera utdelning enligt 3:12 är detta en direkt kostnad.
|
||||
|
||||
**Strategiskt val:** vissa SaaS-bolag väljer K2 eller K3 + kostnadsföringsmodellen specifikt för att hålla fritt EK ofångat. Inverkar negativt på balansomslutningen och kan påverka bolagets attraktivitet vid extern finansiering — investerare vill se aktivering för att se "tillgångsbasen" i mjukvaran.
|
||||
**Strategiskt val:** vissa SaaS-bolag väljer K2 eller K3 + kostnadsföringsmodellen specifikt för att hålla fritt EK ofångat. Inverkar negativt på balansomslutningen och kan påverka bolagets attraktivitet vid extern finansiering: investerare vill se aktivering för att se "tillgångsbasen" i mjukvaran.
|
||||
|
||||
## Successiv vinstavräkning
|
||||
|
||||
### K3 kap 23
|
||||
|
||||
**23.17–23.18 huvudregel.** När utfallet kan mätas tillförlitligt: intäkter och utgifter periodiseras efter färdigställandegrad (input-method med kostnader eller output-method med milstolpar).
|
||||
**23.17-23.18 huvudregel.** När utfallet kan mätas tillförlitligt: intäkter och utgifter periodiseras efter färdigställandegrad (input-method med kostnader eller output-method med milstolpar).
|
||||
|
||||
**23.31 alternativregeln** (färdigställandemetoden) — tillåten i juridisk person för:
|
||||
**23.31 alternativregeln** (färdigställandemetoden): tillåten i juridisk person för:
|
||||
- Bygg
|
||||
- Anläggning
|
||||
- Hantverk
|
||||
- **Konsultverksamhet** (uttryckligen — IT-konsult kvalificerar)
|
||||
- **Konsultverksamhet** (uttryckligen, IT-konsult kvalificerar)
|
||||
|
||||
I koncernredovisning enligt K3 är endast successiv vinstavräkning tillåten.
|
||||
|
||||
@@ -81,13 +81,13 @@ I koncernredovisning enligt K3 är endast successiv vinstavräkning tillåten.
|
||||
|
||||
### K2 kap 6
|
||||
|
||||
**Löpande räkning (6.16–6.18):** successiv vinstavräkning är **obligatorisk**. Intäktsredovisas i takt med fakturering, kostnader matchas.
|
||||
**Löpande räkning (6.16-6.18):** successiv vinstavräkning är **obligatorisk**. Intäktsredovisas i takt med fakturering, kostnader matchas.
|
||||
|
||||
**Fastpris (6.19–6.20):** **val** mellan:
|
||||
**Fastpris (6.19-6.20):** **val** mellan:
|
||||
- Huvudregel: successiv vinstavräkning
|
||||
- Alternativregel: färdigställandemetoden (intäkt vid leverans)
|
||||
|
||||
### Skattemässig synk (IL 17 kap 23–32§§)
|
||||
### Skattemässig synk (IL 17 kap 23-32§§)
|
||||
|
||||
Pågående arbeten skattemässigt:
|
||||
- Tjänsteuppdrag till fast pris → kan tas upp enligt **färdigställandemetoden** (IL 17 kap 26§)
|
||||
@@ -140,10 +140,10 @@ Upplös motsvarande del av 2089.
|
||||
|
||||
## Lagreferenser
|
||||
|
||||
- BFNAR 2012:1 (K3) kap 18 — immateriella anläggningstillgångar
|
||||
- BFNAR 2016:10 (K2) kap 10 — immateriella tillgångar (aktiveringsförbud i 10.4)
|
||||
- ÅRL (1995:1554) 4 kap 2§ — fond för utvecklingsutgifter
|
||||
- ÅRL 4 kap 4§ — avskrivning av immateriell anläggningstillgång
|
||||
- IAS 38 — internt upparbetade immateriella tillgångar (RFR 2)
|
||||
- IFRS 15 — intäktsredovisning från kundkontrakt
|
||||
- IL (1999:1229) 17 kap 23–32§§ — pågående arbeten
|
||||
- BFNAR 2012:1 (K3) kap 18: immateriella anläggningstillgångar
|
||||
- BFNAR 2016:10 (K2) kap 10: immateriella tillgångar (aktiveringsförbud i 10.4)
|
||||
- ÅRL (1995:1554) 4 kap 2§: fond för utvecklingsutgifter
|
||||
- ÅRL 4 kap 4§: avskrivning av immateriell anläggningstillgång
|
||||
- IAS 38: internt upparbetade immateriella tillgångar (RFR 2)
|
||||
- IFRS 15: intäktsredovisning från kundkontrakt
|
||||
- IL (1999:1229) 17 kap 23-32§§: pågående arbeten
|
||||
|
||||
@@ -40,53 +40,53 @@ estimated_tokens: 9800
|
||||
version: 1
|
||||
---
|
||||
|
||||
# Reklambyrå och marknadsföring — vertikal compliance-atom
|
||||
# Reklambyrå och marknadsföring: vertikal compliance-atom
|
||||
|
||||
## 1. När denna skill används
|
||||
|
||||
Tillämpas när bokföringsobjektet bedriver verksamhet under SNI 73.11 (Reklambyråverksamhet), 73.12 (Mediebyråverksamhet och annonsförsäljning), 70.21 (PR och kommunikation) eller 74.10 (Specialiserad designverksamhet). Triggas också av blandade kreativa konsultverksamheter där intäkter består av en kombination av kreativt arvode, mediainköp för kunds räkning, royalty/licens och influencer-/produktionsarvoden. Vid renodlad bemanning, eventproduktion utan kreativt innehåll, eller publicistisk verksamhet (dagstidning, etermedia) — använd annan vertikal.
|
||||
Tillämpas när bokföringsobjektet bedriver verksamhet under SNI 73.11 (Reklambyråverksamhet), 73.12 (Mediebyråverksamhet och annonsförsäljning), 70.21 (PR och kommunikation) eller 74.10 (Specialiserad designverksamhet). Triggas också av blandade kreativa konsultverksamheter där intäkter består av en kombination av kreativt arvode, mediainköp för kunds räkning, royalty/licens och influencer-/produktionsarvoden. Vid renodlad bemanning, eventproduktion utan kreativt innehåll, eller publicistisk verksamhet (dagstidning, etermedia): använd annan vertikal.
|
||||
|
||||
## 2. Typiska arbetsflödesmönster
|
||||
|
||||
**Faktureringsrytm**: Tre grundmönster förekommer parallellt och måste hållas isär bokföringsmässigt. **Retainer-arvode** faktureras månatligen i förskott eller efterskott och redovisas i normalfallet som löpande räkning enligt 17 kap 26 § IL (intäkt = fakturerat belopp, frikoppling från redovisning enligt RÅ 2006 ref. 28). **Kampanj-/projektarvode till fast pris** sträcker sig ofta över 2–6 månader och kräver successiv vinstavräkning enligt K3 kap 23.18 eller färdigställandemetoden enligt K3 23.31 / K2 6.22 (juridisk person, konsultrörelse i 17 kap 23 § IL). **Media payout** följer mediets faktureringscykel (ofta månatlig per kanal) och kräver separat avstämning mot kundens kampanjbudget.
|
||||
**Faktureringsrytm**: Tre grundmönster förekommer parallellt och måste hållas isär bokföringsmässigt. **Retainer-arvode** faktureras månatligen i förskott eller efterskott och redovisas i normalfallet som löpande räkning enligt 17 kap 26 § IL (intäkt = fakturerat belopp, frikoppling från redovisning enligt RÅ 2006 ref. 28). **Kampanj-/projektarvode till fast pris** sträcker sig ofta över 2-6 månader och kräver successiv vinstavräkning enligt K3 kap 23.18 eller färdigställandemetoden enligt K3 23.31 / K2 6.22 (juridisk person, konsultrörelse i 17 kap 23 § IL). **Media payout** följer mediets faktureringscykel (ofta månatlig per kanal) och kräver separat avstämning mot kundens kampanjbudget.
|
||||
|
||||
**Kostnadsrytm**: Mediainköp dominerar volymen och måste klassificeras månadsvis som principal-inköp (vidarefaktureras med marginal) eller utlägg (genomgångspost). Frilansararvoden från svenska F-skattare bokas på 6559 Övrig konsultverksamhet (eller 6550). SaaS- och AI-prenumerationer (Adobe Creative Cloud, ChatGPT Teams, Midjourney, Figma, Claude) bokförs löpande på **5420 Programvaror**; externa AI-konsulttjänster eller API-användning på **6540 IT-tjänster**. Stockfoto- och fontlicenser bokförs på **6910 Licensavgifter och royalties**.
|
||||
|
||||
**Avstämningstiming**: Pågående arbeten på löpande räkning (1620 Upparbetad men ej fakturerad intäkt / 2450 Fakturerad men ej upparbetad intäkt) stäms av månatligen. Mediainköpsavräkning mot kund görs vid kampanjavslut eller månatligen vid längre kampanjer.
|
||||
|
||||
**Kollektivavtal**: Samtliga fyra SNI-koder omfattas av **Gröna avtalet** — Tjänstemannaavtalet mellan Almega Tjänsteföretagen/Medieföretagen och Unionen/Akademikerförbunden (Akavia kontaktförbund). Innevarande period **2025-05-01 — 2027-04-30**, avtalsvärde 6,4 % (löneökningar 5,5 %, arbetstidsförkortning 0,5 %, flexpension 0,4 %). Almega Kompetensföretagen tillämpas inte om byrån inte bedriver bemanningsverksamhet. Chefer omfattas av Ledaravtalet mellan Almega och Ledarna.
|
||||
**Kollektivavtal**: Samtliga fyra SNI-koder omfattas av **Gröna avtalet**: Tjänstemannaavtalet mellan Almega Tjänsteföretagen/Medieföretagen och Unionen/Akademikerförbunden (Akavia kontaktförbund). Innevarande period **2025-05-01 till 2027-04-30**, avtalsvärde 6,4 % (löneökningar 5,5 %, arbetstidsförkortning 0,5 %, flexpension 0,4 %). Almega Kompetensföretagen tillämpas inte om byrån inte bedriver bemanningsverksamhet. Chefer omfattas av Ledaravtalet mellan Almega och Ledarna.
|
||||
|
||||
## 3. BAS 2025-kontomönster
|
||||
|
||||
Verifierat mot BAS 2025 (Kontoplan-BAS-2025.xlsx, bas.se). Notera att BAS 2025 har bytt terminologi från **"skattskyldighet" till "betalningsskyldighet"** på samtliga moms-konton 2614/2624/2634/2642/2647/4415–4417/4425–4427 — kontonumren oförändrade men kontonamnen är nya per 2025-01-01.
|
||||
Verifierat mot BAS 2025 (Kontoplan-BAS-2025.xlsx, bas.se). Notera att BAS 2025 har bytt terminologi från **"skattskyldighet" till "betalningsskyldighet"** på samtliga moms-konton 2614/2624/2634/2642/2647/4415-4417/4425-4427: kontonumren oförändrade men kontonamnen är nya per 2025-01-01.
|
||||
|
||||
| Konto | BAS 2025-namn | Vertikalspecifik kontext |
|
||||
|---|---|---|
|
||||
| **1040** | Licenser | Förvärvade licenser till mjukvara/varumärken som aktiveras (ej egenupparbetade — förbjudet i K2 10.4, stopplista K3 18.5 för internt upparbetade varumärken). |
|
||||
| **1040** | Licenser | Förvärvade licenser till mjukvara/varumärken som aktiveras (ej egenupparbetade, förbjudet i K2 10.4, stopplista K3 18.5 för internt upparbetade varumärken). |
|
||||
| **1620** | Upparbetad men ej fakturerad intäkt | Löpande räkning-uppdrag där arbete utförts men ej fakturerats vid balansdagen; alternativmetoden enligt K2/K3. |
|
||||
| **1471** | Pågående arbeten, nedlagda kostnader | Fast pris-uppdrag (kampanjproduktion) vid färdigställandemetoden — aktiverade utgifter per uppdrag, ej kvittning mellan uppdrag (K2 6.24 efter BFNAR 2025:1). |
|
||||
| **1471** | Pågående arbeten, nedlagda kostnader | Fast pris-uppdrag (kampanjproduktion) vid färdigställandemetoden: aktiverade utgifter per uppdrag, ej kvittning mellan uppdrag (K2 6.24 efter BFNAR 2025:1). |
|
||||
| **2450** | Fakturerad men ej upparbetad intäkt | Spegelbild av 1620; à conto/förskott vid retainer eller fast pris (jfr 17 kap 28 § IL). |
|
||||
| **2614** | Utgående moms, omvänd betalningsskyldighet, 25 % | Google Ads (Google Ireland), Meta Ads, TikTok, LinkedIn — beräknad utgående moms vid tjänsteförvärv från utländsk beskattningsbar person enligt 6 kap 33 § + 16 kap ML 2023:200, rapporteras ruta 30. |
|
||||
| **2614** | Utgående moms, omvänd betalningsskyldighet, 25 % | Google Ads (Google Ireland), Meta Ads, TikTok, LinkedIn: beräknad utgående moms vid tjänsteförvärv från utländsk beskattningsbar person enligt 6 kap 33 § + 16 kap ML 2023:200, rapporteras ruta 30. |
|
||||
| **2645** | Beräknad ingående moms på förvärv från utlandet | Motpost till 2614; rapporteras ruta 48 (full avdragsrätt för momspliktig byråverksamhet). |
|
||||
| **3308** | Försäljning tjänster till annat EU-land | B2B-fakturering till EU-kund med omvänd betalningsskyldighet (kundens land), ruta 39 + periodisk sammanställning. |
|
||||
| **3305** | Försäljning tjänster till land utanför EU | B2B-export till t.ex. UK, US, Norge, ruta 40. |
|
||||
| **3922** | Licensintäkter och royalties | **Inte 3070** — i BAS 2025 ligger royalty-intäkter på 3922 under huvudgrupp 3920 Provisionsintäkter, licensintäkter och royalties. |
|
||||
| **3921** | Provisionsintäkter | Mediabyråprovision (agency commission) när byrån är agent — ren nettoredovisning. |
|
||||
| **3922** | Licensintäkter och royalties | **Inte 3070**: i BAS 2025 ligger royalty-intäkter på 3922 under huvudgrupp 3920 Provisionsintäkter, licensintäkter och royalties. |
|
||||
| **3921** | Provisionsintäkter | Mediabyråprovision (agency commission) när byrån är agent: ren nettoredovisning. |
|
||||
| **3996** | Erhållna reklambidrag | Marknadsföringsbidrag från leverantörer/varumärken. |
|
||||
| **4531** | Inköp av tjänster från ett land utanför EU, 25 % moms | Kopplingskonto för rapportering ruta 22 (TikTok från icke-EU, Adobe US, OpenAI US). |
|
||||
| **4535** | Inköp av tjänster från annat EU-land, 25 % | Kopplingskonto ruta 21 (Google Ireland, Meta Ireland, LinkedIn Ireland, Spotify Ireland). |
|
||||
| **5420** | Programvaror | SaaS- och AI-prenumerationer (Adobe CC, ChatGPT Teams, Midjourney, Claude Pro, Figma). |
|
||||
| **5970** | Film-, radio-, TV- och Internetreklam | Byråns egna mediainköp för egen marknadsföring (inte kundens kampanjer). |
|
||||
| **5980** | PR, institutionell reklam och sponsring | **Sponsringsutgifter med dokumenterad motprestation** — separera avdragsgill del från eventuell gåvodel (jfr RÅ 2000 ref. 31). |
|
||||
| **6071** | Representation, avdragsgill | OBS: I BAS är 6071 *avdragsgill* och 6072 *ej avdragsgill* — vanligt invertfel. Måltidsrepresentation 2025 endast moms-avdragsgill (60 kr/person ink. moms), inte inkomstskattemässigt. |
|
||||
| **5980** | PR, institutionell reklam och sponsring | **Sponsringsutgifter med dokumenterad motprestation**: separera avdragsgill del från eventuell gåvodel (jfr RÅ 2000 ref. 31). |
|
||||
| **6071** | Representation, avdragsgill | OBS: I BAS är 6071 *avdragsgill* och 6072 *ej avdragsgill*: vanligt invertfel. Måltidsrepresentation 2025 endast moms-avdragsgill (60 kr/person ink. moms), inte inkomstskattemässigt. |
|
||||
| **6072** | Representation, ej avdragsgill | Den del av sponsringspaket eller kundbjudningar som inte uppfyller motprestationskrav. |
|
||||
| **6540** | IT-tjänster | Externa molntjänster, AI-API-användning (OpenAI API, Anthropic API), DevOps. |
|
||||
| **6559** | Övrig konsultverksamhet | **Frilansande kreatörer med F-skatt** (copywriters, art directors, foto, motion designers). |
|
||||
| **6860** | Inhyrd marknads- och försäljningspersonal | Bemanningsföretag för marknadsfunktioner. |
|
||||
| **6910** | Licensavgifter och royalties | **Inte 4070** — royaltykostnader (stockfoto, fonter, musik, varumärkeslicens, royalty till upphovsman) ligger i klass 6, inte klass 4. |
|
||||
| **6910** | Licensavgifter och royalties | **Inte 4070**: royaltykostnader (stockfoto, fonter, musik, varumärkeslicens, royalty till upphovsman) ligger i klass 6, inte klass 4. |
|
||||
| **7331** | Skattefria bilersättningar | Resor till kundpresentationer/inspelningsplatser (18,50 kr/mil 2025). |
|
||||
|
||||
Konton som **inte** används för denna vertikal trots vanliga missförstånd: 1060 (Hyresrätter, tomträtter — *inte* licenser), 7610 (Utbildning — *inte* frilansare), 7690 (Övriga personalkostnader — *inte* frilansare). Frilansare hör alltid till klass 6, inte klass 7.
|
||||
Konton som **inte** används för denna vertikal trots vanliga missförstånd: 1060 (Hyresrätter, tomträtter, *inte* licenser), 7610 (Utbildning, *inte* frilansare), 7690 (Övriga personalkostnader, *inte* frilansare). Frilansare hör alltid till klass 6, inte klass 7.
|
||||
|
||||
## 4. Regelmässiga gränsfall
|
||||
|
||||
@@ -94,73 +94,73 @@ Konton som **inte** används för denna vertikal trots vanliga missförstånd: 1
|
||||
|
||||
**Omvänd betalningsskyldighet på utländska digitala annonseringstjänster.** Google Ads (Google Ireland Ltd), Meta Ads (Meta Platforms Ireland Ltd), TikTok Ads (TikTok Ireland), LinkedIn Marketing Solutions (LinkedIn Ireland), X/Twitter Ads omfattas alla av huvudregel B2B i **6 kap 33 § ML 2023:200**: tjänsten är omsatt i Sverige när köparen är beskattningsbar person etablerad här. Betalningsskyldigheten övergår enligt **16 kap ML 2023:200** (motsvarar gamla 1 kap 2 § första stycket 2 ML 1994:200) till svenska köparen. Säljarens faktura ska vara utan moms och innehålla notering "Reverse charge / Omvänd betalningsskyldighet" samt svenska köparens VAT-nummer. Byrån redovisar **25 % utgående moms i ruta 30, beskattningsunderlag i ruta 21 (EU-säljare) eller 22 (icke-EU), ingående moms i ruta 48**. Nettoeffekt = 0 vid full avdragsrätt. Konton: 2614 + 2645 med motkonto 4535 (EU) eller 4531 (icke-EU). Skatteverkets vägledning: skatteverket.se/foretag/moms/sarskildamomsregler/handelmedandralander/momsreglerforutlandskaforetagare. EU-rättslig grund: art. 196 i mervärdesskattedirektivet 2006/112/EG.
|
||||
|
||||
**Mediainköp — utlägg vs vidarefakturering.** Skatteverkets utlägg-doktrin (skatteverket.se/foretag/moms/sarskildamomsregler/utlaggochvidarefakturering) kräver **tre kumulativa villkor** för att mediainköp ska klassas som genomgångspost: (a) slutkunden har eget betalningsansvar mot mediet, (b) inget vinstpålägg, (c) bokförs på balanskonto, inte i resultaträkningen. Underliggande mediafaktura ska vara utställd till slutkunden (eller "c/o byrån"). Vid utlägg har byrån **ingen avdragsrätt för ingående moms** — fakturakopian ska vidareöverlämnas till slutkunden som drar av. I praktiken uppfyller typiska mediabyråmodeller sällan villkoren eftersom byrån är avtalspart mot mediet — det är då **vidarefakturering** (avdrag för ingående moms, påslag av 25 % utgående moms vid vidarefakturering) eller **kostnadskomponent** i en sammansatt byråtjänst. Beskattningsunderlag enligt 8 kap ML 2023:200.
|
||||
**Mediainköp: utlägg vs vidarefakturering.** Skatteverkets utlägg-doktrin (skatteverket.se/foretag/moms/sarskildamomsregler/utlaggochvidarefakturering) kräver **tre kumulativa villkor** för att mediainköp ska klassas som genomgångspost: (a) slutkunden har eget betalningsansvar mot mediet, (b) inget vinstpålägg, (c) bokförs på balanskonto, inte i resultaträkningen. Underliggande mediafaktura ska vara utställd till slutkunden (eller "c/o byrån"). Vid utlägg har byrån **ingen avdragsrätt för ingående moms**: fakturakopian ska vidareöverlämnas till slutkunden som drar av. I praktiken uppfyller typiska mediabyråmodeller sällan villkoren eftersom byrån är avtalspart mot mediet: det är då **vidarefakturering** (avdrag för ingående moms, påslag av 25 % utgående moms vid vidarefakturering) eller **kostnadskomponent** i en sammansatt byråtjänst. Beskattningsunderlag enligt 8 kap ML 2023:200.
|
||||
|
||||
**Royalty och licensavgifter — moms.** Generell skattesats **25 % enligt 9 kap 2 § ML 2023:200**. Reducerad sats 6 % för vissa upphovsrättsöverlåtelser enligt 1, 4 eller 5 §§ URL i 9 kap ML 2023:200 (motsvarar gamla 7 kap 1 § tredje stycket 8 ML 1994:200) — men **reklamalster är uttryckligen undantagna från 6 %-satsen**. Reklamfilm, reklamfoton, copy, layouts och kampanjmaterial som upplåts eller överlåts utlöser därför alltid 25 % moms även när royalty/licensavgift utgör ersättning. Licens (upplåtelse) och fullständig överlåtelse behandlas momsmässigt identiskt. Vid royalty till utländsk rättighetshavare: omvänd betalningsskyldighet 25 % (B2B, 6 kap 33 § ML), Sverige tar inte ut kupongskatt på royalty.
|
||||
**Royalty och licensavgifter: moms.** Generell skattesats **25 % enligt 9 kap 2 § ML 2023:200**. Reducerad sats 6 % för vissa upphovsrättsöverlåtelser enligt 1, 4 eller 5 §§ URL i 9 kap ML 2023:200 (motsvarar gamla 7 kap 1 § tredje stycket 8 ML 1994:200): men **reklamalster är uttryckligen undantagna från 6 %-satsen**. Reklamfilm, reklamfoton, copy, layouts och kampanjmaterial som upplåts eller överlåts utlöser därför alltid 25 % moms även när royalty/licensavgift utgör ersättning. Licens (upplåtelse) och fullständig överlåtelse behandlas momsmässigt identiskt. Vid royalty till utländsk rättighetshavare: omvänd betalningsskyldighet 25 % (B2B, 6 kap 33 § ML), Sverige tar inte ut kupongskatt på royalty.
|
||||
|
||||
**Influencer-marketing — moms.** Tre statusscenarier: **(1) privatperson / hobby** (omsättning ≤ 80 000 kr enligt 18 kap 2 § ML 2023:200) — ingen moms, byrån gör skatteavdrag 30 % och betalar arbetsgivaravgifter om influencern saknar F-skatt; **(2) F-skattad / momsregistrerad svensk** — 25 % moms på marknadsföringstjänst, avdragsgill för byrån; **(3) utländsk beskattningsbar person** — omvänd betalningsskyldighet 25 % enligt 16 kap ML 2023:200. **Barter (varor mot exponering)** utgör byte = två omsättningar enligt Skatteverkets generella tolkning: företaget anses ha sålt produkten till marknadsvärde med 25 % moms, influencern har sålt marknadsföringstjänst till samma värde. Skatteverket har bedrivit specialgranskning av branschen 2024–2025; portal skatteverket.se/influencer. Inget enskilt numrerat ställningstagande dedikerat enbart till "influencer-moms" har publicerats — frågan styrs av generella momsprinciper.
|
||||
**Influencer-marketing: moms.** Tre statusscenarier: **(1) privatperson / hobby** (omsättning ≤ 80 000 kr enligt 18 kap 2 § ML 2023:200): ingen moms, byrån gör skatteavdrag 30 % och betalar arbetsgivaravgifter om influencern saknar F-skatt; **(2) F-skattad / momsregistrerad svensk**: 25 % moms på marknadsföringstjänst, avdragsgill för byrån; **(3) utländsk beskattningsbar person**: omvänd betalningsskyldighet 25 % enligt 16 kap ML 2023:200. **Barter (varor mot exponering)** utgör byte = två omsättningar enligt Skatteverkets generella tolkning: företaget anses ha sålt produkten till marknadsvärde med 25 % moms, influencern har sålt marknadsföringstjänst till samma värde. Skatteverket har bedrivit specialgranskning av branschen 2024-2025; portal skatteverket.se/influencer. Inget enskilt numrerat ställningstagande dedikerat enbart till "influencer-moms" har publicerats: frågan styrs av generella momsprinciper.
|
||||
|
||||
**Sponsring och moms.** Ingående moms avdragsgill enligt **13 kap 6 § ML 2023:200** endast i den utsträckning utgiften hänförs till momspliktig verksamhet och uppfyller följande **kumulativa villkor** (Skatteverkets ställningstagande dnr 130 702489-04/113, **2005-06-27**, fortfarande gällande per Rättslig vägledning edition 2025.3): (i) dokumenterad motprestation i skriftligt sponsoravtal, (ii) motprestationen värderad till marknadsvärde, (iii) motprestationen faktiskt utnyttjad, (iv) varje del av sponsringspaketet bedöms separat (reklamskyltar = avdragsgillt; biljetter/representation = begränsat; rena gåvor = inget avdrag), (v) ren goodwill-/imagesponsring utan motprestation = gåva = inget momsavdrag. Kompletterande skrivelse om kultursponsring: dnr 131 476491-09/111, 2009-05-20.
|
||||
|
||||
**OSS — sällan tillämpligt.** OSS enligt 22 kap ML 2023:200 aktualiseras endast om byrån säljer digitala tjänster B2C till privatpersoner i andra EU-länder (t.ex. egna kurser, mallpaket, prenumerationer) och överskrider tröskeln **99 680 kr (10 000 EUR) per kalenderår sammanlagt**. Typiska B2B-byråtjänster är inte OSS-relevanta. **Flagga vid produktiserade B2C-erbjudanden**.
|
||||
**OSS: sällan tillämpligt.** OSS enligt 22 kap ML 2023:200 aktualiseras endast om byrån säljer digitala tjänster B2C till privatpersoner i andra EU-länder (t.ex. egna kurser, mallpaket, prenumerationer) och överskrider tröskeln **99 680 kr (10 000 EUR) per kalenderår sammanlagt**. Typiska B2B-byråtjänster är inte OSS-relevanta. **Flagga vid produktiserade B2C-erbjudanden**.
|
||||
|
||||
### 4.2 Bokföring unik för vertikalen
|
||||
|
||||
**Principal vs agent — K3 kap 23 / IFRS 15 B34–B38.** Avgörande för om mediainköp ska bruttoredovisas (inköp + intäkt) eller nettoredovisas (endast provision = 3921). **K3 punkt 23.2**: endast inflöde "för egen räkning" är intäkt. Vid agentrelation redovisas endast förmedlingsersättning. **IFRS 15 B37-indikatorer på huvudmannaskap** (relevant även som vägledning under K3 och vid RFR 2): (1) primärt ansvar mot kund för leveransen, (2) lager-/avbokningsrisk på medieutrymmet, (3) prissättningsfrihet, (4) kreditrisk mot kund, (5) substituerings-/kontrollmöjlighet. **Mediabyrå är principal** vid eget inköp i eget namn med påslag/marginal, egen kreditrisk och prissättningsfrihet → bruttoredovisning. **Agent** vid fast byråprovision, inköp i kundens namn eller utan kredit-/prissättningsrisk → endast provision intäktsredovisas (3921). Felklassificering påverkar omsättning, momsbas och ratios väsentligt.
|
||||
**Principal vs agent: K3 kap 23 / IFRS 15 B34-B38.** Avgörande för om mediainköp ska bruttoredovisas (inköp + intäkt) eller nettoredovisas (endast provision = 3921). **K3 punkt 23.2**: endast inflöde "för egen räkning" är intäkt. Vid agentrelation redovisas endast förmedlingsersättning. **IFRS 15 B37-indikatorer på huvudmannaskap** (relevant även som vägledning under K3 och vid RFR 2): (1) primärt ansvar mot kund för leveransen, (2) lager-/avbokningsrisk på medieutrymmet, (3) prissättningsfrihet, (4) kreditrisk mot kund, (5) substituerings-/kontrollmöjlighet. **Mediabyrå är principal** vid eget inköp i eget namn med påslag/marginal, egen kreditrisk och prissättningsfrihet → bruttoredovisning. **Agent** vid fast byråprovision, inköp i kundens namn eller utan kredit-/prissättningsrisk → endast provision intäktsredovisas (3921). Felklassificering påverkar omsättning, momsbas och ratios väsentligt.
|
||||
|
||||
**K2 (BFNAR 2016:10) — förbud mot egenupparbetade immateriella tillgångar.** Punkt **10.4**: byrå som tillämpar K2 får **aldrig** redovisa internt upparbetade varumärken, kampanjkoncept, kreativa idéer, varumärkesstrategier, logotyper eller säljdrivande hemsidor som tillgång — alltid direkt kostnad. Smitto-regel 10.4 andra stycket: förvärvad immateriell tillgång som är avsedd att utvecklas vidare blir egenupparbetad och får inte aktiveras.
|
||||
**K2 (BFNAR 2016:10): förbud mot egenupparbetade immateriella tillgångar.** Punkt **10.4**: byrå som tillämpar K2 får **aldrig** redovisa internt upparbetade varumärken, kampanjkoncept, kreativa idéer, varumärkesstrategier, logotyper eller säljdrivande hemsidor som tillgång: alltid direkt kostnad. Smitto-regel 10.4 andra stycket: förvärvad immateriell tillgång som är avsedd att utvecklas vidare blir egenupparbetad och får inte aktiveras.
|
||||
|
||||
**K3 (BFNAR 2012:1) — valbar aktivering men stopplista 18.5.** Företaget väljer mellan kostnadsföringsmodellen (18.7) och aktiveringsmodellen vid sex kumulativa kriterier (18.12). **Stopplista 18.5** förbjuder dock alltid aktivering av: internt upparbetade varumärken, utgivningsrätter, kundregister och etableringsutgifter. Vid aktivering krävs avsättning till fond för utvecklingsutgifter enligt **4 kap 2 § andra stycket + 4 kap 8 § ÅRL** (1995:1554). I praktiken aktiverar reklam-/mediabyråer sällan något — kreativa koncept för kund hanteras som tjänsteuppdrag (se nedan), och eget kampanjmaterial faller på stopplistan eller saknar tillförlitligt mätbara framtida ekonomiska fördelar.
|
||||
**K3 (BFNAR 2012:1): valbar aktivering men stopplista 18.5.** Företaget väljer mellan kostnadsföringsmodellen (18.7) och aktiveringsmodellen vid sex kumulativa kriterier (18.12). **Stopplista 18.5** förbjuder dock alltid aktivering av: internt upparbetade varumärken, utgivningsrätter, kundregister och etableringsutgifter. Vid aktivering krävs avsättning till fond för utvecklingsutgifter enligt **4 kap 2 § andra stycket + 4 kap 8 § ÅRL** (1995:1554). I praktiken aktiverar reklam-/mediabyråer sällan något: kreativa koncept för kund hanteras som tjänsteuppdrag (se nedan), och eget kampanjmaterial faller på stopplistan eller saknar tillförlitligt mätbara framtida ekonomiska fördelar.
|
||||
|
||||
**Pågående arbeten — löpande räkning vs fast pris.** Definitionen i **17 kap 25 § IL** + K2 6.13: löpande räkning = ersättning grundas "uteslutande eller så gott som uteslutande" på på-förhand-bestämt arvode per tidsenhet, faktisk tidsåtgång och faktiska utgifter. Annars fast pris. **Reklam-/mediabyrå räknas som konsultrörelse enligt 17 kap 23 § IL** vilket aktiverar särskilda regler. **17 kap 26 § IL** (löpande räkning): värdet behöver inte tas upp som tillgång; intäkt = fakturerat under beskattningsåret. Frikoppling redovisning–beskattning bekräftad i **RÅ 2006 ref. 28** och Skatterättsnämnden 2010. **17 kap 27 § IL** (fast pris): lägst av anskaffningsvärdet och nettoförsäljningsvärdet, ej slutredovisade uppdrag. **17 kap 28 § IL**: förskott/à conto vid fast pris bokförs som skuld (2450), inte intäkt. Bokföringsmässig huvudregel = successiv vinstavräkning (K3 23.18; K2 6.16); alternativregel i K2 6.22 / K3 23.31 tillåter juridisk person använda färdigställandemetoden konsekvent. **K2 6.24 efter BFNAR 2025:1**: kvittning förbjuden mellan olika uppdrag — uppdrag med positivt saldo redovisas som tillgång, negativt som skuld, separat per uppdrag. Srf U 14 (2020-08-25) reglerar bruttoredovisning; Srf U 15 definierar "väsentligen fullgjort" från kundaccept-/realisationsperspektiv.
|
||||
**Pågående arbeten: löpande räkning vs fast pris.** Definitionen i **17 kap 25 § IL** + K2 6.13: löpande räkning = ersättning grundas "uteslutande eller så gott som uteslutande" på på-förhand-bestämt arvode per tidsenhet, faktisk tidsåtgång och faktiska utgifter. Annars fast pris. **Reklam-/mediabyrå räknas som konsultrörelse enligt 17 kap 23 § IL** vilket aktiverar särskilda regler. **17 kap 26 § IL** (löpande räkning): värdet behöver inte tas upp som tillgång; intäkt = fakturerat under beskattningsåret. Frikoppling redovisning-beskattning bekräftad i **RÅ 2006 ref. 28** och Skatterättsnämnden 2010. **17 kap 27 § IL** (fast pris): lägst av anskaffningsvärdet och nettoförsäljningsvärdet, ej slutredovisade uppdrag. **17 kap 28 § IL**: förskott/à conto vid fast pris bokförs som skuld (2450), inte intäkt. Bokföringsmässig huvudregel = successiv vinstavräkning (K3 23.18; K2 6.16); alternativregel i K2 6.22 / K3 23.31 tillåter juridisk person använda färdigställandemetoden konsekvent. **K2 6.24 efter BFNAR 2025:1**: kvittning förbjuden mellan olika uppdrag: uppdrag med positivt saldo redovisas som tillgång, negativt som skuld, separat per uppdrag. Srf U 14 (2020-08-25) reglerar bruttoredovisning; Srf U 15 definierar "väsentligen fullgjort" från kundaccept-/realisationsperspektiv.
|
||||
|
||||
**Kommissionärsförhållanden.** Civilrätten finns i **Kommissionslag (2009:865)** — gamla Lag (1914:45) om kommission **upphävdes 2009-10-01** (ofta felciterat i äldre handböcker). Mediabyrå som köper annonsutrymme i eget namn för annonsörens räkning kan vara handelskommissionär enligt 1 §; tredje man (mediet) får enligt 24 § endast krav mot kommissionären, inte kommittenten. Skatterättsligt är **IL 36 kap "Kommissionärsförhållanden"** ett separat konstrukt med sex kumulativa villkor i 36 kap 3 § (skriftligt avtal, uteslutande för kommittentens räkning, samma räkenskapsår, koncernbidragsrätt enligt 35 kap m.m.) — sammanfaller inte med civilrättslig kommission. Momsmässigt har den tidigare möjligheten att flytta momsskyldighet (gamla 6 kap 7 § GML) tagits bort i ML 2023:200; kommissionären är alltid betalningsskyldig för utgående moms, med momsgrupp som möjlig lösning.
|
||||
**Kommissionärsförhållanden.** Civilrätten finns i **Kommissionslag (2009:865)**: gamla Lag (1914:45) om kommission **upphävdes 2009-10-01** (ofta felciterat i äldre handböcker). Mediabyrå som köper annonsutrymme i eget namn för annonsörens räkning kan vara handelskommissionär enligt 1 §; tredje man (mediet) får enligt 24 § endast krav mot kommissionären, inte kommittenten. Skatterättsligt är **IL 36 kap "Kommissionärsförhållanden"** ett separat konstrukt med sex kumulativa villkor i 36 kap 3 § (skriftligt avtal, uteslutande för kommittentens räkning, samma räkenskapsår, koncernbidragsrätt enligt 35 kap m.m.): sammanfaller inte med civilrättslig kommission. Momsmässigt har den tidigare möjligheten att flytta momsskyldighet (gamla 6 kap 7 § GML) tagits bort i ML 2023:200; kommissionären är alltid betalningsskyldig för utgående moms, med momsgrupp som möjlig lösning.
|
||||
|
||||
**RFR 2 / IFRS 15**: Om byrån är dotterbolag i noterad koncern tillämpas IFRS 15 direkt — principal-/agent-bedömning sker enligt B34–B38, intäktsredovisning enligt 5-stegsmodellen, performance obligation-identifiering kritisk vid kombinerade kreativa + media-uppdrag.
|
||||
**RFR 2 / IFRS 15**: Om byrån är dotterbolag i noterad koncern tillämpas IFRS 15 direkt: principal-/agent-bedömning sker enligt B34-B38, intäktsredovisning enligt 5-stegsmodellen, performance obligation-identifiering kritisk vid kombinerade kreativa + media-uppdrag.
|
||||
|
||||
### 4.3 Sektorlagar
|
||||
|
||||
**Upphovsrättslag (1960:729, URL).** Sverige saknar **uttrycklig presumtionsregel** för reklambyrå-uppdrag — 31 § URL gäller förlagsavtal, inte reklam (vanlig felcitering). Förhållandet regleras genom 27–28 §§ URL (avtalsfrihet om överlåtelse, begränsning av rätt att ändra/vidareöverlåta), branschpraxis enligt **NJA 2010 s. 559** (avtalad användning på produktförpackning utvidgas till marknadsföring "på vedertaget sätt") och tumregeln i **AD 2002 nr 87** (arbetsgivaren får inom sitt verksamhetsområde utnyttja verk skapade av anställd som ett led i arbetsuppgifter). **40 a § URL** är den enda kodifierade arbetstagar-presumtionen och gäller endast datorprogram. **39 § URL** stadgar filmpresumtion. **DSM-direktivet (EU) 2019/790** implementerat genom **Lag (2022:1712)**, i kraft **2023-01-01**, infogade bl.a. 15 a–15 c §§ URL (TDM-undantag relevant för AI-träning, med opt-out på "lämpligt sätt"), 29 § URL (skälig ersättning + bästsäljarklausul), 29 d–29 e §§ (hävningsrätt utom filmverk), 48 b–48 d §§ (presspublikationsrätt, art. 15 DSM) och 52 i–52 u §§ (OCSSP-ansvar, art. 17 DSM).
|
||||
**Upphovsrättslag (1960:729, URL).** Sverige saknar **uttrycklig presumtionsregel** för reklambyrå-uppdrag: 31 § URL gäller förlagsavtal, inte reklam (vanlig felcitering). Förhållandet regleras genom 27-28 §§ URL (avtalsfrihet om överlåtelse, begränsning av rätt att ändra/vidareöverlåta), branschpraxis enligt **NJA 2010 s. 559** (avtalad användning på produktförpackning utvidgas till marknadsföring "på vedertaget sätt") och tumregeln i **AD 2002 nr 87** (arbetsgivaren får inom sitt verksamhetsområde utnyttja verk skapade av anställd som ett led i arbetsuppgifter). **40 a § URL** är den enda kodifierade arbetstagar-presumtionen och gäller endast datorprogram. **39 § URL** stadgar filmpresumtion. **DSM-direktivet (EU) 2019/790** implementerat genom **Lag (2022:1712)**, i kraft **2023-01-01**, infogade bl.a. 15 a-15 c §§ URL (TDM-undantag relevant för AI-träning, med opt-out på "lämpligt sätt"), 29 § URL (skälig ersättning + bästsäljarklausul), 29 d-29 e §§ (hävningsrätt utom filmverk), 48 b-48 d §§ (presspublikationsrätt, art. 15 DSM) och 52 i-52 u §§ (OCSSP-ansvar, art. 17 DSM).
|
||||
|
||||
**A-SINK — Lag (1991:591) om särskild inkomstskatt för utomlands bosatta artister m.fl.** Skattesats **15 % definitiv enligt 9 § A-SINK**, oförändrad 2025–2026. "Artistisk verksamhet" definieras i 3 § som **personligt framträdande inför publik eller vid ljud-/bildupptagning med sång, musik, dans, teater, cirkus eller liknande**. Scenpersonal, tekniska biträden, regissörer och koreografer omfattas inte — för dem gäller SINK. **Influencers**: ingen publicerad Skatteverkets ställningstagande placerar influencers under A-SINK; rådande praxis behandlar dem som näringsverksamhet (svensk F-skatt) eller SINK om utomlands bosatta — eftersom social-media-innehåll inte är personligt framträdande inför publik i traditionell mening. **Voice actors/dubbning**: troligen A-SINK (ljud-/bildupptagning inom teater/liknande). **Modeller**: SINK, inte A-SINK. Tax treaty (OECD modellavtal art. 17) ger normalt Sverige källskatterätt för artister — A-SINK består. Betalaren (byrån) gör 15 %-avdrag vid utbetalning och rapporterar på **individnivå i arbetsgivardeklarationen (AGI)** månadsvis enligt skatteförfarandelagen (2011:1244).
|
||||
**A-SINK: Lag (1991:591) om särskild inkomstskatt för utomlands bosatta artister m.fl.** Skattesats **15 % definitiv enligt 9 § A-SINK**, oförändrad 2025-2026. "Artistisk verksamhet" definieras i 3 § som **personligt framträdande inför publik eller vid ljud-/bildupptagning med sång, musik, dans, teater, cirkus eller liknande**. Scenpersonal, tekniska biträden, regissörer och koreografer omfattas inte: för dem gäller SINK. **Influencers**: ingen publicerad Skatteverkets ställningstagande placerar influencers under A-SINK; rådande praxis behandlar dem som näringsverksamhet (svensk F-skatt) eller SINK om utomlands bosatta: eftersom social-media-innehåll inte är personligt framträdande inför publik i traditionell mening. **Voice actors/dubbning**: troligen A-SINK (ljud-/bildupptagning inom teater/liknande). **Modeller**: SINK, inte A-SINK. Tax treaty (OECD modellavtal art. 17) ger normalt Sverige källskatterätt för artister: A-SINK består. Betalaren (byrån) gör 15 %-avdrag vid utbetalning och rapporterar på **individnivå i arbetsgivardeklarationen (AGI)** månadsvis enligt skatteförfarandelagen (2011:1244).
|
||||
|
||||
**SINK — Lag (1991:586) om särskild inkomstskatt för utomlands bosatta.** Skattesats **25 % under 2025**, **22,5 % från 2026-01-01** (Lag 2025:1355), **20 % från 2027-01-01** (Lag 2025:1356). Tillämpas på utländska kreativa konsulter som inte är artister (copywriters, regissörer, art directors, models, influencers utan personligt scenframträdande). Kräver SINK-beslut från Skatteverket per arbetsgivare och inkomstår.
|
||||
**SINK: Lag (1991:586) om särskild inkomstskatt för utomlands bosatta.** Skattesats **25 % under 2025**, **22,5 % från 2026-01-01** (Lag 2025:1355), **20 % från 2027-01-01** (Lag 2025:1356). Tillämpas på utländska kreativa konsulter som inte är artister (copywriters, regissörer, art directors, models, influencers utan personligt scenframträdande). Kräver SINK-beslut från Skatteverket per arbetsgivare och inkomstår.
|
||||
|
||||
**EU AI Act — förordning (EU) 2024/1689.** I kraft 2024-08-01. Tidsplan: förbjudna AI-praktiker + AI-litteracitetskrav (art. 4) gäller från **2025-02-02**; GPAI-skyldigheter från **2025-08-02**; full tillämpning **2026-08-02**; högrisk-AI i reglerade produkter från 2027-08-02 (justerat genom AI Omnibus, politisk överenskommelse 2026-05-07). **Operativ relevans för byråer**: art. 50 transparens — deployers av GPAI för deepfake/syntetiskt innehåll måste märka AI-genererat material från 2026-08-02; art. 4 kräver personalutbildning sedan 2025-02-02; loggning av GPAI-output i kampanjer.
|
||||
**EU AI Act: förordning (EU) 2024/1689.** I kraft 2024-08-01. Tidsplan: förbjudna AI-praktiker + AI-litteracitetskrav (art. 4) gäller från **2025-02-02**; GPAI-skyldigheter från **2025-08-02**; full tillämpning **2026-08-02**; högrisk-AI i reglerade produkter från 2027-08-02 (justerat genom AI Omnibus, politisk överenskommelse 2026-05-07). **Operativ relevans för byråer**: art. 50 transparens: deployers av GPAI för deepfake/syntetiskt innehåll måste märka AI-genererat material från 2026-08-02; art. 4 kräver personalutbildning sedan 2025-02-02; loggning av GPAI-output i kampanjer.
|
||||
|
||||
**Kontrolluppgifter.** Royalty till juridisk person eller F-skattad enskild näringsidkare: **KU70 (SKV 2316) "Näringsbidrag och royalty"**, deadline **31 januari året efter inkomståret**. Royalty till privatperson som engångsersättning för konstnärligt arbete → KU10 (inkomst av tjänst). Royalty till utomlands bosatt utan svensk beskattning → KU70 med utländskt TIN. A-SINK rapporteras **inte** på separat KU utan på individnivå i månatlig AGI.
|
||||
|
||||
### 4.4 Praxis och Skatteverkets ställningstaganden
|
||||
|
||||
**RÅ 2000 ref. 31 I (Procordia/Operan)** — grundbulten för sponsring. Aktiebolagspresumtion under 16 kap 1 § IL gäller, men gåvoförbudet i 9 kap 2 § andra stycket IL är lex specialis. Test: krav på **direkt motprestation** eller **stark anknytning** mellan sponsorns och den sponsrades verksamheter (indirekt omkostnad). Utfall: skönsmässig uppdelning, ca hälften avdragsgillt. **RÅ 2000 ref. 31 II (Falcon/Pilgrimsfalken)** — full avdragsrätt vid stark verksamhetsanknytning (falksymbol som varumärke sedan 1896).
|
||||
**RÅ 2000 ref. 31 I (Procordia/Operan)**: grundbulten för sponsring. Aktiebolagspresumtion under 16 kap 1 § IL gäller, men gåvoförbudet i 9 kap 2 § andra stycket IL är lex specialis. Test: krav på **direkt motprestation** eller **stark anknytning** mellan sponsorns och den sponsrades verksamheter (indirekt omkostnad). Utfall: skönsmässig uppdelning, ca hälften avdragsgillt. **RÅ 2000 ref. 31 II (Falcon/Pilgrimsfalken)**: full avdragsrätt vid stark verksamhetsanknytning (falksymbol som varumärke sedan 1896).
|
||||
|
||||
**HFD 2018 ref. 55 (Arla Foods, klimatkompensation)** — **inte** HFD 2018 ref. 11 (vanlig felcitering). HFD biföll Arlas avdrag för ~5,8 MSEK i klimatkompensation 2013 eftersom utgifterna specifikt kompenserade utsläpp från bolagets ekologiska produkter — klassad som **marknadsföringskostnad enligt 16 kap 1 § IL**, inte gåva. Åtskild från **HFD 2014 ref. 62 (Saltå Kvarn)** där generell trädplantering i Uganda saknade motprestation och direkt anknytning.
|
||||
**HFD 2018 ref. 55 (Arla Foods, klimatkompensation)**: **inte** HFD 2018 ref. 11 (vanlig felcitering). HFD biföll Arlas avdrag för ~5,8 MSEK i klimatkompensation 2013 eftersom utgifterna specifikt kompenserade utsläpp från bolagets ekologiska produkter: klassad som **marknadsföringskostnad enligt 16 kap 1 § IL**, inte gåva. Åtskild från **HFD 2014 ref. 62 (Saltå Kvarn)** där generell trädplantering i Uganda saknade motprestation och direkt anknytning.
|
||||
|
||||
**Kammarrätten i Göteborg, dom december 2024** — bolag medgavs avdrag för sponsring av Frölunda HC och Göteborgsoperan; Skatteverkets krav på dokumenterat datum och person för biljettnyttjande underkändes; Skatteverket kan inte kräva mer än motprestationens marknadsvärde med skäligt underlag.
|
||||
**Kammarrätten i Göteborg, dom december 2024**: bolag medgavs avdrag för sponsring av Frölunda HC och Göteborgsoperan; Skatteverkets krav på dokumenterat datum och person för biljettnyttjande underkändes; Skatteverket kan inte kräva mer än motprestationens marknadsvärde med skäligt underlag.
|
||||
|
||||
**Skatteverkets ställningstagande dnr 130 702489-04/113, 2005-06-27** (Riktlinjer för avdragsrätt för sponsring) — fortfarande gällande tolkningsstöd per Rättslig vägledning edition 2025.3. Kompletterande skrivelse om kultursponsring dnr 131 476491-09/111, 2009-05-20.
|
||||
**Skatteverkets ställningstagande dnr 130 702489-04/113, 2005-06-27** (Riktlinjer för avdragsrätt för sponsring): fortfarande gällande tolkningsstöd per Rättslig vägledning edition 2025.3. Kompletterande skrivelse om kultursponsring dnr 131 476491-09/111, 2009-05-20.
|
||||
|
||||
**SOU 2026:5 "Utvidgad avdragsrätt för sponsring m.m."** lämnades 2026-01-19. Förslag om ny **16 kap 11 § IL** som tillåter avdrag för utgifter "som kan antas få betydelse för näringsverksamhetens särskilda eller allmänna anseende ... om utgiften är kommersiellt betingad" — föreslås gälla från **2027-01-01**. **Inte gällande rätt 2026-05** — flagga för bevakning.
|
||||
**SOU 2026:5 "Utvidgad avdragsrätt för sponsring m.m."** lämnades 2026-01-19. Förslag om ny **16 kap 11 § IL** som tillåter avdrag för utgifter "som kan antas få betydelse för näringsverksamhetens särskilda eller allmänna anseende ... om utgiften är kommersiellt betingad": föreslås gälla från **2027-01-01**. **Inte gällande rätt 2026-05**: flagga för bevakning.
|
||||
|
||||
## 5. Tre felmönster med högst frekvens
|
||||
|
||||
**Felmönster 1 — Mediainköp bruttoredovisat när byrån är agent.** Reklambyrå med fast byråprovision på 5 % bokför hela mediainköpet (t.ex. 2 MSEK för en kampanj hos Bonnier) på 4-konto med motsvarande 3-konto-intäkt, vilket uppblåser omsättning, momsbas och resultatmått. **Rätt mönster**: när byrån saknar prissättningsfrihet, lager-/avbokningsrisk och primärt ansvar mot kunden för medieleveransen är den agent enligt K3 punkt 23.2 och IFRS 15 B37 — endast provisionen (100 000 kr) intäktsredovisas på 3921, mediakostnaden hanteras som genomgångspost eller utlägg om Skatteverkets tre kriterier är uppfyllda (faktura ställd till slutkund, inget påslag, balanskonto). Lagrum: K3 punkt 23.2; IFRS 15 B34–B38; Skatteverkets utlägg-vägledning; 5 kap + 8 kap ML 2023:200.
|
||||
**Felmönster 1: Mediainköp bruttoredovisat när byrån är agent.** Reklambyrå med fast byråprovision på 5 % bokför hela mediainköpet (t.ex. 2 MSEK för en kampanj hos Bonnier) på 4-konto med motsvarande 3-konto-intäkt, vilket uppblåser omsättning, momsbas och resultatmått. **Rätt mönster**: när byrån saknar prissättningsfrihet, lager-/avbokningsrisk och primärt ansvar mot kunden för medieleveransen är den agent enligt K3 punkt 23.2 och IFRS 15 B37: endast provisionen (100 000 kr) intäktsredovisas på 3921, mediakostnaden hanteras som genomgångspost eller utlägg om Skatteverkets tre kriterier är uppfyllda (faktura ställd till slutkund, inget påslag, balanskonto). Lagrum: K3 punkt 23.2; IFRS 15 B34-B38; Skatteverkets utlägg-vägledning; 5 kap + 8 kap ML 2023:200.
|
||||
|
||||
**Felmönster 2 — Google Ads/Meta Ads-fakturor bokförda utan omvänd betalningsskyldighet.** Faktura från Google Ireland på 50 000 kr bokförs som inhemsk kostnad utan momsberäkning, eller med felaktig svensk 25 % moms som dras av — leder till underrapportering av utgående moms i ruta 30 och felaktig avdragspost. **Rätt mönster**: bokföring på 4535 (motkonto 2440 leverantörsskuld), beräkning av 12 500 kr utgående moms 2614 (ruta 21 beskattningsunderlag, ruta 30 utgående moms) och motsvarande ingående moms 2645 (ruta 48). Säljarens faktura ska visa "Reverse charge" och svenska byråns VAT-nummer; saknas det = begär korrigerad faktura. Lagrum: 6 kap 33 § + 16 kap ML 2023:200; mervärdesskattedirektivet art. 196.
|
||||
**Felmönster 2: Google Ads/Meta Ads-fakturor bokförda utan omvänd betalningsskyldighet.** Faktura från Google Ireland på 50 000 kr bokförs som inhemsk kostnad utan momsberäkning, eller med felaktig svensk 25 % moms som dras av: leder till underrapportering av utgående moms i ruta 30 och felaktig avdragspost. **Rätt mönster**: bokföring på 4535 (motkonto 2440 leverantörsskuld), beräkning av 12 500 kr utgående moms 2614 (ruta 21 beskattningsunderlag, ruta 30 utgående moms) och motsvarande ingående moms 2645 (ruta 48). Säljarens faktura ska visa "Reverse charge" och svenska byråns VAT-nummer; saknas det = begär korrigerad faktura. Lagrum: 6 kap 33 § + 16 kap ML 2023:200; mervärdesskattedirektivet art. 196.
|
||||
|
||||
**Felmönster 3 — Sponsringsavdrag taget utan dokumenterad motprestation.** Byrå sponsrar idrottsklubb med 200 000 kr och bokför hela beloppet på 5980 med 25 % momsavdrag, utan skriftligt sponsoravtal som specificerar och värderar motprestationer (reklamskyltar, biljetter, exponering). Vid revision underkänns avdraget helt eller delvis och klassas som gåva enligt 9 kap 2 § andra stycket IL — både inkomstskatt- och momsavdrag återförs med skattetillägg. **Rätt mönster**: skriftligt sponsoravtal med specificerad motprestation, marknadsvärdering per komponent (jämförelse med reklamprislista, lokalhyra, biljettpris), separat hantering av eventuell representations- eller gåvodel (6072), dokumentation av faktiskt utnyttjande. Lagrum: 16 kap 1 § IL; 9 kap 2 § andra stycket IL; 13 kap 6 § ML 2023:200; Skatteverkets dnr 130 702489-04/113 (2005-06-27); RÅ 2000 ref. 31; HFD 2018 ref. 55.
|
||||
**Felmönster 3: Sponsringsavdrag taget utan dokumenterad motprestation.** Byrå sponsrar idrottsklubb med 200 000 kr och bokför hela beloppet på 5980 med 25 % momsavdrag, utan skriftligt sponsoravtal som specificerar och värderar motprestationer (reklamskyltar, biljetter, exponering). Vid revision underkänns avdraget helt eller delvis och klassas som gåva enligt 9 kap 2 § andra stycket IL: både inkomstskatt- och momsavdrag återförs med skattetillägg. **Rätt mönster**: skriftligt sponsoravtal med specificerad motprestation, marknadsvärdering per komponent (jämförelse med reklamprislista, lokalhyra, biljettpris), separat hantering av eventuell representations- eller gåvodel (6072), dokumentation av faktiskt utnyttjande. Lagrum: 16 kap 1 § IL; 9 kap 2 § andra stycket IL; 13 kap 6 § ML 2023:200; Skatteverkets dnr 130 702489-04/113 (2005-06-27); RÅ 2000 ref. 31; HFD 2018 ref. 55.
|
||||
|
||||
## 6. Öppna frågor — flaggas för manuell granskning
|
||||
## 6. Öppna frågor: flaggas för manuell granskning
|
||||
|
||||
**AI-genererat innehåll och upphovsrätt 2025–2026**: Inget svenskt PMD/PMÖD-avgörande har publicerats om upphovsrättsligt skydd för rent AI-genererade verk per 2026-05. Konsensus följer EU-praxis (Infopaq, Painer, Cofemel) att verkshöjd kräver mänsklig kreativ insats; AI-assisterade verk kan skyddas vid "icke obefintlig kreativ medverkan med direkt koppling till slutresultatet". Avtalsklausuler bör explicit reglera (a) AI-användning och disclosure, (b) garanti mot upphovsrättsintrång från träningsdata, (c) ägarskap av AI-genererade element, (d) TDM-opt-out enligt 15 a § andra stycket URL, (e) art. 50 AI Act-märkning från 2026-08-02. Pendant EU-domstolens mål **C-250/25** (Google/Gemini och presspublikationsrätt) väntas hösten 2026 och kan påverka 15 a § URL-tolkningen.
|
||||
**AI-genererat innehåll och upphovsrätt 2025-2026**: Inget svenskt PMD/PMÖD-avgörande har publicerats om upphovsrättsligt skydd för rent AI-genererade verk per 2026-05. Konsensus följer EU-praxis (Infopaq, Painer, Cofemel) att verkshöjd kräver mänsklig kreativ insats; AI-assisterade verk kan skyddas vid "icke obefintlig kreativ medverkan med direkt koppling till slutresultatet". Avtalsklausuler bör explicit reglera (a) AI-användning och disclosure, (b) garanti mot upphovsrättsintrång från träningsdata, (c) ägarskap av AI-genererade element, (d) TDM-opt-out enligt 15 a § andra stycket URL, (e) art. 50 AI Act-märkning från 2026-08-02. Pendant EU-domstolens mål **C-250/25** (Google/Gemini och presspublikationsrätt) väntas hösten 2026 och kan påverka 15 a § URL-tolkningen.
|
||||
|
||||
**A-SINK-gränsdragning för influencers**: Skatteverket har inte publicerat numrerat ställningstagande som placerar influencers under A-SINK. Specialgranskning 2024–2025 har inte resulterat i ny lagstiftning. Gränsdragningen mellan A-SINK (15 %, artister med personligt framträdande) och SINK (22,5 % från 2026) för utländska influencers är inte slutligt klarlagd — försiktighetsprincipen: behandla som SINK om aktiviteten inte involverar personligt scenframträdande inför publik.
|
||||
**A-SINK-gränsdragning för influencers**: Skatteverket har inte publicerat numrerat ställningstagande som placerar influencers under A-SINK. Specialgranskning 2024-2025 har inte resulterat i ny lagstiftning. Gränsdragningen mellan A-SINK (15 %, artister med personligt framträdande) och SINK (22,5 % från 2026) för utländska influencers är inte slutligt klarlagd: försiktighetsprincipen: behandla som SINK om aktiviteten inte involverar personligt scenframträdande inför publik.
|
||||
|
||||
**OSS-tillämpning på hybrida tjänster**: När byrån paketerar kreativa tjänster med digitala leveranser till privatpersoner i EU (t.ex. masterclass-serie, mallpaket, prenumeration) är klassificering som "elektronisk tjänst" vs "konsulttjänst" inte alltid uppenbar. Skatteverkets vägledning ger inte fullständig praxis för hybrid B2C-byråverksamhet.
|
||||
|
||||
**Sponsringsreformen 2027**: SOU 2026:5 föreslår uttrycklig avdragsregel i ny 16 kap 11 § IL från 2027-01-01. Övergångsperiod och retroaktivitet ännu inte beslutat. Bevaka prop. och riksdagsbehandling under 2026.
|
||||
|
||||
**BAS-utvecklingen**: BAS 2025 har bytt terminologi "skattskyldighet" → "betalningsskyldighet" på alla momskonton (2614, 2624, 2634, 2642, 2647, 4415–4417, 4425–4427) med oförändrade kontonummer. Bevaka BAS 2026-utgåvan för ytterligare ändringar relevanta för digitala annonsörer och AI-tjänster.
|
||||
**BAS-utvecklingen**: BAS 2025 har bytt terminologi "skattskyldighet" → "betalningsskyldighet" på alla momskonton (2614, 2624, 2634, 2642, 2647, 4415-4417, 4425-4427) med oförändrade kontonummer. Bevaka BAS 2026-utgåvan för ytterligare ändringar relevanta för digitala annonsörer och AI-tjänster.
|
||||
|
||||
---
|
||||
|
||||
@@ -168,9 +168,9 @@ Konton som **inte** används för denna vertikal trots vanliga missförstånd: 1
|
||||
|
||||
Token-budget för denna SKILL.md är hållen under 15k. Föreslagna overflow-ämnen för djupare detaljer (inga av dessa referensfiler är skapade ännu):
|
||||
|
||||
- **principal-vs-agent-mediainkop** — Beslutsmatris med IFRS 15 B37-indikatorer, K3 23.2-tillämpning, exempelposteringar för principal/agent/utlägg, mall för principal-/agent-analys per kund.
|
||||
- **a-sink-influencer-utlandsbetalningar** — A-SINK vs SINK-beslut, AGI-rapportering, skatteavtal (OECD art. 17), formulärflöden (SKV 520, SINK-ansökan), KU70 till utländska mottagare.
|
||||
- **sponsring-motprestationsbedomning** — Mall för sponsoravtal med marknadsvärdering per komponent, checklista för dokumentation, fullständig praxisgenomgång (RÅ 1976 ref. 127 I/II, RÅ 2000 ref. 31 I/II, HFD 2014 ref. 62, HFD 2018 ref. 55, KR Göteborg 2024-12), SOU 2026:5-bevakning.
|
||||
- **url-upphovsratt-byraavtal** — Branschmallar för upphovsrätts-överlåtelse i byrå-kundavtal, NJA 2010 s. 559-tolkning, DSM-direktivets §§ i URL (15 a–15 c, 29, 29 d–e, 48 b–d, 52 i–u), AD 2002 nr 87.
|
||||
- **ai-content-och-ai-act-byraer** — EU AI Act-tidslinje (art. 4, art. 50), TDM-opt-out under 15 a § URL, AI-klausulbibliotek för byråavtal, bokföring av AI-prenumerationer och API-konsumtion (5420 vs 6540), C-250/25-bevakning.
|
||||
- **pagaende-arbeten-konsultrorelse** — K2 6.13–6.24 och K3 23.18–23.37 jämförelse, IL 17 kap 23–32 §§, RÅ 2006 ref. 28 frikoppling, Srf U 14 + U 15, BFNAR 2025:1-kvittningsförbud, exempelflöden för retainer, kampanj fast pris och blandade uppdrag.
|
||||
- **principal-vs-agent-mediainkop**: Beslutsmatris med IFRS 15 B37-indikatorer, K3 23.2-tillämpning, exempelposteringar för principal/agent/utlägg, mall för principal-/agent-analys per kund.
|
||||
- **a-sink-influencer-utlandsbetalningar**: A-SINK vs SINK-beslut, AGI-rapportering, skatteavtal (OECD art. 17), formulärflöden (SKV 520, SINK-ansökan), KU70 till utländska mottagare.
|
||||
- **sponsring-motprestationsbedomning**: Mall för sponsoravtal med marknadsvärdering per komponent, checklista för dokumentation, fullständig praxisgenomgång (RÅ 1976 ref. 127 I/II, RÅ 2000 ref. 31 I/II, HFD 2014 ref. 62, HFD 2018 ref. 55, KR Göteborg 2024-12), SOU 2026:5-bevakning.
|
||||
- **url-upphovsratt-byraavtal**: Branschmallar för upphovsrätts-överlåtelse i byrå-kundavtal, NJA 2010 s. 559-tolkning, DSM-direktivets §§ i URL (15 a-15 c, 29, 29 d-e, 48 b-d, 52 i-u), AD 2002 nr 87.
|
||||
- **ai-content-och-ai-act-byraer**: EU AI Act-tidslinje (art. 4, art. 50), TDM-opt-out under 15 a § URL, AI-klausulbibliotek för byråavtal, bokföring av AI-prenumerationer och API-konsumtion (5420 vs 6540), C-250/25-bevakning.
|
||||
- **pagaende-arbeten-konsultrorelse**: K2 6.13-6.24 och K3 23.18-23.37 jämförelse, IL 17 kap 23-32 §§, RÅ 2006 ref. 28 frikoppling, Srf U 14 + U 15, BFNAR 2025:1-kvittningsförbud, exempelflöden för retainer, kampanj fast pris och blandade uppdrag.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
---
|
||||
id: vertical/software-saas-ai
|
||||
tier: vertical
|
||||
title: "Software, SaaS & AI-produktbolag (SNI 58.21–63.12)"
|
||||
title: "Software, SaaS & AI-produktbolag (SNI 58.21-63.12)"
|
||||
description: >
|
||||
Swedish bookkeeping for software, SaaS and AI product companies (SNI 58.21, 58.29, 62.01, 62.03, 63.11, 63.12). Use whenever a Swedish AB or EF has recurring digital product revenue, US/EU cloud and LLM vendors in the supplier ledger (AWS, OpenAI, Anthropic, Stripe, GitHub), runs personaloptioner or KPO programs, books förutbetalda intäkter for annual prepay (2979), capitalizes development costs under K3 chapter 18, files OSS-deklaration, or operates under a US Delaware parent with a Swedish opco. Trigger on indirect cues: GL containing 1010 plus 2089 plus 4531/4535, 3:12-reformen 2026, K2-vs-K3 choice for SaaS, omvänd betalningsskyldighet on API costs, EU AI Act conformity, transfer pricing for cost-plus dev shops. Distinct from konsult-it (hourly billing) — prefer this skill when subscription/usage-based digital product revenue dominates.
|
||||
Swedish bookkeeping for software, SaaS and AI product companies (SNI 58.21, 58.29, 62.01, 62.03, 63.11, 63.12). Use whenever a Swedish AB or EF has recurring digital product revenue, US/EU cloud and LLM vendors in the supplier ledger (AWS, OpenAI, Anthropic, Stripe, GitHub), runs personaloptioner or KPO programs, books förutbetalda intäkter for annual prepay (2979), capitalizes development costs under K3 chapter 18, files OSS-deklaration, or operates under a US Delaware parent with a Swedish opco. Trigger on indirect cues: GL containing 1010 plus 2089 plus 4531/4535, 3:12-reformen 2026, K2-vs-K3 choice for SaaS, omvänd betalningsskyldighet on API costs, EU AI Act conformity, transfer pricing for cost-plus dev shops. Distinct from konsult-it (hourly billing): prefer this skill when subscription/usage-based digital product revenue dominates.
|
||||
sni_prefixes: ["58.21", "58.29", "62.01", "62.03", "63.11", "63.12"]
|
||||
trigger_signals:
|
||||
text_patterns:
|
||||
@@ -48,7 +48,7 @@ Bolag med SNI 58.21/58.29/62.01/62.03/63.11/63.12 vars huvudsakliga intäkt är
|
||||
|
||||
**Faktureringskadens.** Dominerande mönster: månatlig eller årlig prenumeration förskottsfakturerad, ofta via Stripe/Adyen/Paddle. Sekundärt: usage-/seat-baserad efterskottsfakturering. Reseller- och marketplace-flöden (Apple App Store, Google Play, AWS Marketplace) kräver särskild momsanalys: plattformen är presumerad säljare till slutkund per Art. 9a EU-genomförandeförordning (EU) 282/2011, utvecklaren tillhandahåller B2B-tjänst till plattformen.
|
||||
|
||||
**Kostnadsrytm.** Molnberäkning, API och SaaS-prenumerationer dominerar OPEX och utgör typiskt 25–50% av kostnadsmassan. Övervägande del USD/EUR-fakturerat med valutaexponering. Månadsslut kräver upplupna kostnader på AWS/OpenAI/Anthropic eftersom invoices typiskt anländer 3–10 dagar in i efterföljande månad.
|
||||
**Kostnadsrytm.** Molnberäkning, API och SaaS-prenumerationer dominerar OPEX och utgör typiskt 25-50% av kostnadsmassan. Övervägande del USD/EUR-fakturerat med valutaexponering. Månadsslut kräver upplupna kostnader på AWS/OpenAI/Anthropic eftersom invoices typiskt anländer 3-10 dagar in i efterföljande månad.
|
||||
|
||||
**Avstämning.** Stripe payout-avstämning kritisk: Stripe Reporting till bankinflöde mot 1930, Stripe-avgift mot 6570, FX-effekt mot 7960/8330. Periodisering av förutbetalda intäkter månadsvis vid bokslut och i månadsbokslut för ARR/MRR-rapportering.
|
||||
|
||||
@@ -99,7 +99,7 @@ Verifierat mot BAS 2025 officiell kontoplan (bas.se/kontoplaner). Avvikelser fr
|
||||
|
||||
**Free trials/freemium.** Ingen intäktsbokning före betalningsförpliktelse uppstår (K3 23.2 + 2.18 grundkriterier). Konverteringstid till betald plan utlöser periodiseringsstart.
|
||||
|
||||
**Reseller-avtal principal vs agent.** Bruttoredovisningsprincipen K3 23.2 + 2.5–2.6. Provisionsbaserat uppdrag K2 6.9: netto. Bedömning sker enligt grundprinciper, ej IFRS 15 control-test.
|
||||
**Reseller-avtal principal vs agent.** Bruttoredovisningsprincipen K3 23.2 + 2.5-2.6. Provisionsbaserat uppdrag K2 6.9: netto. Bedömning sker enligt grundprinciper, ej IFRS 15 control-test.
|
||||
|
||||
**Skatteverket vägledning:** rattsligvagledning, Inkomstskatt, Näringsverksamhet, Uppdrag på löpande räkning resp. fast pris (https://www4.skatteverket.se/rattsligvagledning/edition/2023.16/324730.html).
|
||||
|
||||
@@ -111,7 +111,7 @@ Verifierat mot BAS 2025 officiell kontoplan (bas.se/kontoplaner). Avvikelser fr
|
||||
|
||||
**Fond för utvecklingsutgifter.** ÅRL 4 kap 2 §: aktiebolag som aktiverar måste föra över motsvarande belopp från fritt EK till **fond för utvecklingsutgifter** (bundet EK, konto 2089). ÅRL 4 kap 7 §: fonden får tas i anspråk endast för fondemission/nyemission eller förlusttäckning. ÅRL 4 kap 8 §: fonden minskas vid avskrivning/nedskrivning/avyttring med överföring till fritt EK.
|
||||
|
||||
**Avskrivningstid.** ÅRL 4 kap 4 § 2 st: om nyttjandeperiod inte kan fastställas tillförlitligt antas 5 år. I praktiken används 3–5 år för mjukvara.
|
||||
**Avskrivningstid.** ÅRL 4 kap 4 § 2 st: om nyttjandeperiod inte kan fastställas tillförlitligt antas 5 år. I praktiken används 3-5 år för mjukvara.
|
||||
|
||||
**Strategiskt K2 vs K3-val.** Bolag med betydande utvecklingsutgifter och optionsprogram bör välja K3 från start. **Kritisk förändring 2026:** Nya K2 1.1A g (BFNAR 2025:1, ikraft för räkenskapsår som inleds efter 2025-12-31) förbjuder K2 för bolag som förvärvat varor/tjänster mot aktierelaterade ersättningar under räkenskapsåret. SaaS-startups med personaloptioner kan inte längre välja K2.
|
||||
|
||||
@@ -127,12 +127,12 @@ Skatteverket: https://www4.skatteverket.se/rattsligvagledning/edition/2025.2/324
|
||||
|---|---|---|
|
||||
| B2B-tjänst inom EU (huvudregel) | **6 kap 33 §** | Omsatt i köparens land, omvänd betalningsskyldighet hos köparen. Krav VIES-validering av köparens VAT-nr; sparat verifikat. Periodisk sammanställning. Faktura: "reverse charge". Konto 3308 |
|
||||
| B2B-tjänst utanför EU | **6 kap 33 §** | Omsatt utomlands, ej svensk moms. Konto 3305. Faktura: "Outside scope of Swedish VAT" |
|
||||
| B2C digitala/elektroniska tjänster inom EU | **6 kap 56–57 §§**, tröskel 99 680 kr (10 000 EUR) i **6 kap 62–65 §§** | OSS-deklaration via Skatteverket (unionsordningen), destinationslandets momssats, **22 kap ML** |
|
||||
| B2C tjänster utanför EU | **6 kap 58–59 §§** | Utanför svensk moms |
|
||||
| B2C digitala/elektroniska tjänster inom EU | **6 kap 56-57 §§**, tröskel 99 680 kr (10 000 EUR) i **6 kap 62-65 §§** | OSS-deklaration via Skatteverket (unionsordningen), destinationslandets momssats, **22 kap ML** |
|
||||
| B2C tjänster utanför EU | **6 kap 58-59 §§** | Utanför svensk moms |
|
||||
|
||||
**OSS-valutaomräkning.** Beloppen redovisas i EUR. Vid annan transaktionsvaluta används **ECB-kursen för den SISTA dagen av redovisningsperioden** (kvartalet), eller nästa publicerade kurs om ECB inte publicerar den dagen. Detta följer EU:s momsdirektiv art. 366.
|
||||
|
||||
**App store / marketplace facilitator.** Skatteverkets tidigare ställningstagande 2014-12-04 dnr 131 664810-14/111 **upphävdes 2022-12-19 (dnr 8-2059749)** med motivering att EU-kommissionens förklarande anmärkningar och Skatteverkets rättsliga vägledning täcker frågan. Materiella regeln **kvarstår** via direkt tillämplig **art. 9a EU-genomförandeförordning 282/2011**: plattform (Apple App Store, Google Play) är presumerad säljare till slutkund om plattformen (a) godkänner debiteringen, (b) godkänner leveransen, eller (c) sätter allmänna villkor. Utvecklaren tillhandahåller B2B-tjänst till plattformen och tillämpar omvänd betalningsskyldighet (Apple Distribution Intl, IE-VAT; Google Commerce Ltd, IE-VAT), konto 3308 plus periodisk sammanställning. Marketplace facilitator för **varor** via elektroniskt gränssnitt: ML 2023:200 5 kap 4–6 §§.
|
||||
**App store / marketplace facilitator.** Skatteverkets tidigare ställningstagande 2014-12-04 dnr 131 664810-14/111 **upphävdes 2022-12-19 (dnr 8-2059749)** med motivering att EU-kommissionens förklarande anmärkningar och Skatteverkets rättsliga vägledning täcker frågan. Materiella regeln **kvarstår** via direkt tillämplig **art. 9a EU-genomförandeförordning 282/2011**: plattform (Apple App Store, Google Play) är presumerad säljare till slutkund om plattformen (a) godkänner debiteringen, (b) godkänner leveransen, eller (c) sätter allmänna villkor. Utvecklaren tillhandahåller B2B-tjänst till plattformen och tillämpar omvänd betalningsskyldighet (Apple Distribution Intl, IE-VAT; Google Commerce Ltd, IE-VAT), konto 3308 plus periodisk sammanställning. Marketplace facilitator för **varor** via elektroniskt gränssnitt: ML 2023:200 5 kap 4-6 §§.
|
||||
|
||||
Skatteverket: https://www4.skatteverket.se/rattsligvagledning/edition/2025.1/409182.html.
|
||||
|
||||
@@ -155,9 +155,9 @@ Skatteverket: https://www4.skatteverket.se/rattsligvagledning/edition/2025.1/409
|
||||
|
||||
VIES-validering av EU-leverantörers VAT-nummer ska göras periodiskt och dokumenteras (screenshot/timestamp). Stripe, Adyen, Paddle: betalningstjänst undantagen från moms (ML 10 kap 3 §, finansiell tjänst). Avgift bokas brutto på 6570 utan momsberäkning.
|
||||
|
||||
**Periodisering API-kostnader.** Matcha mot intäkt månadsvis. Vid betydande månads-end-cutoff: upplupna kostnader 2990 baserat på dashboard-rapporter (AWS Cost Explorer, OpenAI Usage). Verifikatet ska referera till underliggande rapport, faktura kommer 3–10 dagar in i nästa månad.
|
||||
**Periodisering API-kostnader.** Matcha mot intäkt månadsvis. Vid betydande månads-end-cutoff: upplupna kostnader 2990 baserat på dashboard-rapporter (AWS Cost Explorer, OpenAI Usage). Verifikatet ska referera till underliggande rapport, faktura kommer 3-10 dagar in i nästa månad.
|
||||
|
||||
**Momsdeklaration ruta-rapportering (verifierat oförändrat 2025–2026):**
|
||||
**Momsdeklaration ruta-rapportering (verifierat oförändrat 2025-2026):**
|
||||
- Inköp tjänster annat EU-land (4531): beskattningsunderlag i **ruta 21**, utgående moms 25% i **ruta 30**, ingående avdrag i **ruta 48**
|
||||
- Inköp tjänster utanför EU (4535): beskattningsunderlag i **ruta 22**, utgående moms 25% i **ruta 30**, ingående avdrag i **ruta 48**
|
||||
- Försäljning tjänster B2B annat EU-land (3308): **ruta 39** plus periodisk sammanställning
|
||||
@@ -165,7 +165,7 @@ VIES-validering av EU-leverantörers VAT-nummer ska göras periodiskt och dokume
|
||||
|
||||
### 4.5 Personaloptioner
|
||||
|
||||
**Kvalificerade personaloptioner, IL 11 a kap** (SFS 2017:1212, ikraft 2018-01-01; utvidgning prop. 2021/22:25, SFS 2021:1147, ikraft 2022-01-01). **Ingen ytterligare reform genomförd 2023–maj 2026.** 3:12-utredningens slutbetänkande väntades 2026-01-19 om KPO i 3:12-systemet; ingen prop. publicerad ännu (flaggad öppen fråga).
|
||||
**Kvalificerade personaloptioner, IL 11 a kap** (SFS 2017:1212, ikraft 2018-01-01; utvidgning prop. 2021/22:25, SFS 2021:1147, ikraft 2022-01-01). **Ingen ytterligare reform genomförd 2023-maj 2026.** 3:12-utredningens slutbetänkande väntades 2026-01-19 om KPO i 3:12-systemet; ingen prop. publicerad ännu (flaggad öppen fråga).
|
||||
|
||||
Aktuella villkor:
|
||||
- Medelantal anställda (koncern) under 150 (11 a kap 6 §)
|
||||
@@ -183,10 +183,10 @@ Effekt: skatte- och socialavgiftsbefrielse vid förvärv och utnyttjande; vinst
|
||||
|
||||
**Icke-kvalificerade personaloptioner**, IL 10 kap 11 §: förmånsbeskattning vid utnyttjande som lön (tjänsteinkomst), arbetsgivaravgifter på förmånsvärdet.
|
||||
|
||||
**Teckningsoptioner**, IL 41–44 kap: beroende på utformning antingen kapitalvinst- eller tjänstebeskattning per HFD-praxis.
|
||||
**Teckningsoptioner**, IL 41-44 kap: beroende på utformning antingen kapitalvinst- eller tjänstebeskattning per HFD-praxis.
|
||||
|
||||
**Bokföring K3 kap 26 "Aktierelaterade ersättningar":**
|
||||
- Egetkapitalreglerade (vanliga personaloptioner, KPO): kostnad redovisas över intjänandeperiod mot eget kapital (26.3, 26.5a, 26.6–26.7). Verkligt värde vid tilldelningstidpunkten, omvärderas ej. Endast antalet förväntat intjänade instrument justeras varje balansdag.
|
||||
- Egetkapitalreglerade (vanliga personaloptioner, KPO): kostnad redovisas över intjänandeperiod mot eget kapital (26.3, 26.5a, 26.6-26.7). Verkligt värde vid tilldelningstidpunkten, omvärderas ej. Endast antalet förväntat intjänade instrument justeras varje balansdag.
|
||||
- Kontantreglerade (syntetiska optioner, SARs): skuld baserad på aktiekurs, omvärderas (26.4, 26.5b).
|
||||
- Sociala avgifter på samma sätt som ersättningen (26.20).
|
||||
- Värderingsmodell (Black-Scholes, binomial) ej föreskriven i K3 men praxis.
|
||||
@@ -218,7 +218,7 @@ K10-blankett ska lämnas årligen av varje delägare som äger kvalificerade and
|
||||
|
||||
**Konvertibla skuldebrev (KVL)** regleras av **ABL 15 kap** (emissionsbeslut, riktade emissioner, registrering). Redovisning K3 BFNAR 2012:1 kap 22 "Finansiella instrument": konvertibel uppdelas i skuldkomponent (diskonterat kassaflöde till marknadsränta) och egetkapitalkomponent (residual). K2 saknar uppdelningskrav, redovisas som skuld till nominellt belopp.
|
||||
|
||||
**Investeraravdrag, IL 43 kap.** Oförändrade beloppsgränser 2024–maj 2026; mindre teknisk EU-statsstödsanpassning prop. 2023/24:80, ikraft 2024-07-01:
|
||||
**Investeraravdrag, IL 43 kap.** Oförändrade beloppsgränser 2024-maj 2026; mindre teknisk EU-statsstödsanpassning prop. 2023/24:80, ikraft 2024-07-01:
|
||||
- Avdrag 50% av betalningen för andelar vid bildande eller nyemission
|
||||
- Max underlag per fysisk person/år: **1 300 000 kr**, max avdrag 650 000 kr/år
|
||||
- Skatteeffekt 30% av avdraget = max 195 000 kr/år
|
||||
@@ -235,9 +235,9 @@ Skatteverket: https://www.skatteverket.se/privat/skatter/vardepapper/investerara
|
||||
|
||||
**US Delaware C-corp parent + svenskt opco** (YC-/Stripe Atlas-struktur). Vanlig vid YC, US VC-runda eller global enterprise-försäljning.
|
||||
|
||||
**Transfer pricing.** Korrigeringsregeln armlängdsprincipen **IL 14 kap 19–20 §§** (HFD 2016:45 Diligentia). Bedömning enligt OECD TPG. För svenskt opco som utvecklingscentrum: typiskt **cost-plus** med markup 5–12% beroende på funktion/risk; opcot bär kontraktsutvecklarrisk.
|
||||
**Transfer pricing.** Korrigeringsregeln armlängdsprincipen **IL 14 kap 19-20 §§** (HFD 2016:45 Diligentia). Bedömning enligt OECD TPG. För svenskt opco som utvecklingscentrum: typiskt **cost-plus** med markup 5-12% beroende på funktion/risk; opcot bär kontraktsutvecklarrisk.
|
||||
|
||||
**Dokumentationsskyldighet.** **39 kap 15–16 f §§ skatteförfarandelagen (2011:1244), SFL** (inte IL). Master file/local file-struktur per BEPS Action 13 (prop. 2016/17:47, ikraft för beskattningsår som börjar efter 2017-03-31). Undantag 39 kap 16 a § SFL: intressegemenskap med under 250 anställda och omsättning högst 450 MSEK eller balansomslutning högst 400 MSEK befrias från dokumentation. Land-för-land-rapportering 33 a kap SFL.
|
||||
**Dokumentationsskyldighet.** **39 kap 15-16 f §§ skatteförfarandelagen (2011:1244), SFL** (inte IL). Master file/local file-struktur per BEPS Action 13 (prop. 2016/17:47, ikraft för beskattningsår som börjar efter 2017-03-31). Undantag 39 kap 16 a § SFL: intressegemenskap med under 250 anställda och omsättning högst 450 MSEK eller balansomslutning högst 400 MSEK befrias från dokumentation. Land-för-land-rapportering 33 a kap SFL.
|
||||
|
||||
**Fast driftställe (PE-risk).** Bedömning per OECD modellavtal art. 5 och svenska skatteavtal. Risk att US parent har PE i Sverige om svenska anställda har avtalsmandat ("dependent agent PE"). Mitigera genom: skriftliga begränsningar, ingen avtalsslutning i Sverige för USA-räkning, separata kontrakt till svenskt opco.
|
||||
|
||||
@@ -245,7 +245,7 @@ Skatteverket: https://www4.skatteverket.se/rattsligvagledning/edition/2025.1/324
|
||||
|
||||
### 4.9 FoU-avdrag och växa-stöd
|
||||
|
||||
**FoU-avdrag på arbetsgivaravgifter.** **Lag (2023:747)** om särskilt avdrag vid beräkning av arbetsgivaravgifter och allmän löneavgift för personer som arbetar med FoU, ikraft 2024-01-01 (prop. 2023/24:14). Ersatte tidigare regler i socialavgiftslagen 2 kap 29–31 §§.
|
||||
**FoU-avdrag på arbetsgivaravgifter.** **Lag (2023:747)** om särskilt avdrag vid beräkning av arbetsgivaravgifter och allmän löneavgift för personer som arbetar med FoU, ikraft 2024-01-01 (prop. 2023/24:14). Ersatte tidigare regler i socialavgiftslagen 2 kap 29-31 §§.
|
||||
|
||||
- Avdrag = 20% av avgiftsunderlaget för FoU-personal
|
||||
- **Sammanlagt tak per koncern och kalendermånad: 3 MSEK** (1,5 MSEK från arbetsgivaravgifterna plus resterande från allmän löneavgift), 8 § lag 2023:747
|
||||
@@ -277,7 +277,7 @@ Ikraft 2024-08-01. Tillämpningsdatum staggrade per art. 113.
|
||||
| Tier | Originaldatum | Status maj 2026 |
|
||||
|---|---|---|
|
||||
| Förbjudna AI-praktiker (art. 5) plus AI-kompetens (art. 4) | 2025-02-02 | Tillämpas |
|
||||
| GPAI-modeller (art. 51–55), governance (kap VII), notified bodies (kap III §4), sanktioner (kap XII) | 2025-08-02 | Tillämpas |
|
||||
| GPAI-modeller (art. 51-55), governance (kap VII), notified bodies (kap III §4), sanktioner (kap XII) | 2025-08-02 | Tillämpas |
|
||||
| Annex III high-risk-system plus transparens (art. 50) | 2026-08-02 | **Skjuts upp till 2027-12-02** per Digital Omnibus-överenskommelse 2026-05-07 (preliminär, ej publicerad i OJEU) |
|
||||
| Annex I high-risk produktsäkerhet (art. 6(1)) | 2027-08-02 | **Skjuts upp till 2028-08-02** per Digital Omnibus |
|
||||
|
||||
@@ -387,7 +387,7 @@ Aktiveras när **API-leverantörer (OpenAI, Anthropic, Mistral, Cohere, Lambda L
|
||||
- Anthropic: workspaces usage report
|
||||
- AWS Bedrock: CloudWatch metrics per modell-ARN
|
||||
|
||||
Lagra kund-ID i request metadata och avstäm månadsvis. Allokering bokas via interna fördelningskonton (4910–4998-gruppen) eller direkt mot kund-/produkt-dimensioner i redovisningssystemet (Fortnox projektdimension, Visma kostnadsbärare).
|
||||
Lagra kund-ID i request metadata och avstäm månadsvis. Allokering bokas via interna fördelningskonton (4910-4998-gruppen) eller direkt mot kund-/produkt-dimensioner i redovisningssystemet (Fortnox projektdimension, Visma kostnadsbärare).
|
||||
|
||||
**COGS-attribution per kund.** Möjliggör verklig bruttomarginalsanalys per kund/plan, kritiskt för pricing och churn-modellering. Den månatliga matchningen API-cost mot intäkt sker via:
|
||||
1. Periodiserad intäkt månadsvis från 2979 till 3001/3305/3308
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: iso-27001-2022-compliance
|
||||
description: Authoritative reference for verifying ISO/IEC 27001:2022 compliance from a code repository. Use whenever a task involves auditing, automating, or generating evidence for ISO 27001 controls, the ISMS document set (Clauses 4-10), the Statement of Applicability (SoA), or Annex A controls (A.5 Organizational, A.6 People, A.7 Physical, A.8 Technological). Trigger on mentions of ISO 27001, ISO/IEC 27001, 27001:2022, ISMS, SoA, Annex A, "Statement of Applicability", a specific control identifier (A.5.x, A.6.x, A.7.x, A.8.x), Checkov/Trivy/Steampipe ISO compliance specs, the 2013-to-2022 control transition, NIST 800-53 / CIS Controls / SOC 2 crosswalks, agentic auditing of policy documents, or building CI/CD pipeline gates for security compliance. Trigger even when phrasing is indirect — "is our Terraform compliant", "scan our policies for audit readiness", "what does the standard require for cryptography", "map our controls to SOC 2", "build a compliance scanner" — these all qualify.
|
||||
description: Authoritative reference for verifying ISO/IEC 27001:2022 compliance from a code repository. Use whenever a task involves auditing, automating, or generating evidence for ISO 27001 controls, the ISMS document set (Clauses 4-10), the Statement of Applicability (SoA), or Annex A controls (A.5 Organizational, A.6 People, A.7 Physical, A.8 Technological). Trigger on mentions of ISO 27001, ISO/IEC 27001, 27001:2022, ISMS, SoA, Annex A, "Statement of Applicability", a specific control identifier (A.5.x, A.6.x, A.7.x, A.8.x), Checkov/Trivy/Steampipe ISO compliance specs, the 2013-to-2022 control transition, NIST 800-53 / CIS Controls / SOC 2 crosswalks, agentic auditing of policy documents, or building CI/CD pipeline gates for security compliance. Trigger even when phrasing is indirect ("is our Terraform compliant", "scan our policies for audit readiness", "what does the standard require for cryptography", "map our controls to SOC 2", "build a compliance scanner"), these all qualify.
|
||||
---
|
||||
|
||||
# ISO/IEC 27001:2022 Compliance Verification Skill
|
||||
@@ -9,8 +9,8 @@ description: Authoritative reference for verifying ISO/IEC 27001:2022 compliance
|
||||
|
||||
This skill provides authoritative, repository-grounded reference data for two distinct verification modes against ISO/IEC 27001:2022:
|
||||
|
||||
1. **Deterministic CI/CD scanning** — Pull-Request-time evaluation of code, IaC, and dependency manifests against Annex A.8 (Technological Controls).
|
||||
2. **Agentic auditing** — On-demand semantic review of ISMS policy documents (Clauses 4-10) and organizational controls (Annex A.5).
|
||||
1. **Deterministic CI/CD scanning**: Pull-Request-time evaluation of code, IaC, and dependency manifests against Annex A.8 (Technological Controls).
|
||||
2. **Agentic auditing**: On-demand semantic review of ISMS policy documents (Clauses 4-10) and organizational controls (Annex A.5).
|
||||
|
||||
The skill is designed for engineers building compliance automation, not for end-user training. It is a compliance oracle: when in doubt about what the standard actually requires, consult this skill rather than relying on memory.
|
||||
|
||||
@@ -18,7 +18,7 @@ The skill is designed for engineers building compliance automation, not for end-
|
||||
|
||||
ISO 27001:2022 is structurally bifurcated. Clauses 4-10 govern the management system (governance, scope, leadership, planning, operation, performance, improvement) and are expressed in natural-language documents. Annex A enumerates 93 security controls, the majority of which (the 34 in A.8) map directly to repository artifacts. Deterministic parsers handle A.8; LLM-based agentic auditors handle Clauses 4-10 and A.5. A.7 (Physical) and most of A.6 (People) sit out-of-repo and require evidence pointers, not direct verification.
|
||||
|
||||
## Routing — read this first
|
||||
## Routing: read this first
|
||||
|
||||
Before consulting any reference file, identify which mode the task requires:
|
||||
|
||||
@@ -31,7 +31,7 @@ Before consulting any reference file, identify which mode the task requires:
|
||||
|
||||
## The Statement of Applicability is the routing table
|
||||
|
||||
Never apply all 93 Annex A controls blindly. Compliance is governed by the organization's SoA (Clause 6.1.3d), which declares which controls are included, which are excluded, and the justification for each. A machine-readable SoA (`soa.json` or `soa.csv`, conventionally located at `.security/` or `ISMS/`) is the primary input to any compliance scan. If the SoA is missing, the first finding is always: "Cannot determine control applicability — Clause 6.1.3 violation."
|
||||
Never apply all 93 Annex A controls blindly. Compliance is governed by the organization's SoA (Clause 6.1.3d), which declares which controls are included, which are excluded, and the justification for each. A machine-readable SoA (`soa.json` or `soa.csv`, conventionally located at `.security/` or `ISMS/`) is the primary input to any compliance scan. If the SoA is missing, the first finding is always: "Cannot determine control applicability: Clause 6.1.3 violation."
|
||||
|
||||
A valid SoA contains four core elements per control:
|
||||
1. The control identifier and title.
|
||||
@@ -53,7 +53,7 @@ Every Annex A control falls into one of three categories. Be explicit about whic
|
||||
Structured parsing produces a binary outcome. Examples: A.8.24 (encryption flags in IaC), A.8.4 (branch protection rules), A.8.8 (CVEs in dependency manifests), A.8.28 (SAST presence in pipelines). These are the highest-leverage targets for automation.
|
||||
|
||||
### Agentic over policy artifacts
|
||||
Constrained LLM evaluation of natural-language documents. Examples: Clause 5.2 (Information Security Policy adequacy), Clause 9.3 (Management Review completeness), A.5.1 (Policies for information security), A.5.7 (Threat Intelligence — does the documented threat-intel process actually address the control intent?). The LLM produces "Observations" and "Potential Non-Conformities" for human validation. Never autonomous decisions.
|
||||
Constrained LLM evaluation of natural-language documents. Examples: Clause 5.2 (Information Security Policy adequacy), Clause 9.3 (Management Review completeness), A.5.1 (Policies for information security), A.5.7 (Threat Intelligence: does the documented threat-intel process actually address the control intent?). The LLM produces "Observations" and "Potential Non-Conformities" for human validation. Never autonomous decisions.
|
||||
|
||||
### Out-of-repo / evidence pointer
|
||||
Cannot be verified from the repository alone. Examples: A.7.x (all Physical Controls), A.6.1 (Screening), A.6.4 (Disciplinary process). The skill's job is to confirm that the policy exists AND that the policy contains a pointer (URL, API reference, named system of record) to the external evidence source. If both the policy and the pointer are absent, flag a documentation gap. Never claim the underlying control is "verified."
|
||||
@@ -71,7 +71,7 @@ The scanner must select sub-modules based on the Git diff to avoid running the f
|
||||
| `ISMS/**/*.md`, `ISMS/**/*.docx`, `*.md` policies | Agentic LLM auditor → Clauses 4-10, A.5.x |
|
||||
| `soa.json`, `soa.csv` | SoA structural validation → Clause 6.1.3 |
|
||||
|
||||
## Suppression and risk acceptance — the critical coupling
|
||||
## Suppression and risk acceptance: the critical coupling
|
||||
|
||||
Inline suppressions in scanner output (e.g., `# checkov:skip=CKV_AWS_19`) are legitimate only when paired with a documented, executive-approved Risk Register entry. The scanner must enforce this coupling:
|
||||
|
||||
@@ -82,12 +82,12 @@ Inline suppressions in scanner output (e.g., `# checkov:skip=CKV_AWS_19`) are le
|
||||
|
||||
This mechanism is the binding contract between developer behavior and GRC oversight. Without it, suppressions become a compliance laundering mechanism.
|
||||
|
||||
## Honest limitations — surface these proactively
|
||||
## Honest limitations: surface these proactively
|
||||
|
||||
Automated scanners cannot prove physical reality, behavioral compliance, or runtime state. When generating reports, label every finding with its verification scope:
|
||||
|
||||
- "Documentation Verified — Physical Validation Required" for A.7.x policies.
|
||||
- "Policy Verified — Behavioral Compliance Out of Scope" for A.6.3 (training), A.7.7 (clear desk).
|
||||
- "Documentation Verified: Physical Validation Required" for A.7.x policies.
|
||||
- "Policy Verified: Behavioral Compliance Out of Scope" for A.6.3 (training), A.7.7 (clear desk).
|
||||
- "Point-in-Time" for any deterministic check. Continuous runtime monitoring (A.8.16) is required to detect drift after merge.
|
||||
|
||||
For agentic AI workflows in the audited system itself, reference the OWASP Top 10 for Agentic Applications and demand heightened governance controls. Standard SOC 2 / ISO 27001 controls assume deterministic systems and are insufficient for autonomous agents.
|
||||
@@ -154,12 +154,12 @@ Every compliance scan output should follow this template so findings are auditor
|
||||
|
||||
## Reference files
|
||||
|
||||
- `references/annex-a-controls.md` — Full catalog of Annex A.5, A.6, A.7, A.8 with verification logic per control.
|
||||
- `references/new-controls-2022.md` — The 11 net-new controls in the 2022 revision and their automation implications.
|
||||
- `references/legacy-mapping.md` — 2013 → 2022 control identifier translation matrix.
|
||||
- `references/isms-clauses.md` — Clauses 4-10 mandatory documents and content expectations.
|
||||
- `references/violation-patterns.md` — Real-world code, configuration, and dependency violation patterns with detection logic.
|
||||
- `references/cross-framework-mapping.md` — NIST 800-53 Rev. 5, CIS Controls v8.1, SOC 2 TSC crosswalks.
|
||||
- `references/tool-orchestration.md` — Checkov / Trivy / Steampipe wrapping patterns, including custom YAML policies.
|
||||
- `references/agentic-prompts.md` — Constrained LLM prompts for policy and management review evaluation.
|
||||
- `references/limitations.md` — Catalog of what automation cannot verify and required disclaimers.
|
||||
- `references/annex-a-controls.md`: Full catalog of Annex A.5, A.6, A.7, A.8 with verification logic per control.
|
||||
- `references/new-controls-2022.md`: The 11 net-new controls in the 2022 revision and their automation implications.
|
||||
- `references/legacy-mapping.md`: 2013 → 2022 control identifier translation matrix.
|
||||
- `references/isms-clauses.md`: Clauses 4-10 mandatory documents and content expectations.
|
||||
- `references/violation-patterns.md`: Real-world code, configuration, and dependency violation patterns with detection logic.
|
||||
- `references/cross-framework-mapping.md`: NIST 800-53 Rev. 5, CIS Controls v8.1, SOC 2 TSC crosswalks.
|
||||
- `references/tool-orchestration.md`: Checkov / Trivy / Steampipe wrapping patterns, including custom YAML policies.
|
||||
- `references/agentic-prompts.md`: Constrained LLM prompts for policy and management review evaluation.
|
||||
- `references/limitations.md`: Catalog of what automation cannot verify and required disclaimers.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Agentic Prompts — Constrained LLM Evaluation of Policy Artifacts
|
||||
# Agentic Prompts: Constrained LLM Evaluation of Policy Artifacts
|
||||
|
||||
The deterministic scanner cannot evaluate the semantic adequacy of a policy document. For Clauses 4-10 and most A.5 controls, the skill must use a constrained LLM auditor.
|
||||
|
||||
@@ -6,13 +6,13 @@ These prompts are designed to:
|
||||
- Force the LLM into auditor role with explicit normative criteria.
|
||||
- Suppress hallucination by demanding citation of clause identifiers.
|
||||
- Output structured findings (Non-Conformity, Observation, Pass) that can be aggregated into reports.
|
||||
- Refuse autonomous certification — every output is "for human validation".
|
||||
- Refuse autonomous certification: every output is "for human validation".
|
||||
|
||||
The LLM operates in advisory mode only. It never closes findings, never approves documents, never overrides human reviewers.
|
||||
|
||||
---
|
||||
|
||||
## System prompt — base auditor persona
|
||||
## System prompt: base auditor persona
|
||||
|
||||
Use this as the system message for every agentic auditor invocation:
|
||||
|
||||
@@ -24,7 +24,7 @@ Your role:
|
||||
- Cite the specific Clause or Annex A control identifier for every finding.
|
||||
- Output findings in three categories: Non-Conformity (NC), Observation (OBS), Pass.
|
||||
- A Non-Conformity is a clear deviation from a normative requirement. An Observation is a weakness or improvement opportunity that does not (yet) breach a requirement.
|
||||
- Never make assumptions about content not present in the document. If a requirement is not addressed, the finding is "Requirement not addressed" — do not infer intent.
|
||||
- Never make assumptions about content not present in the document. If a requirement is not addressed, the finding is "Requirement not addressed": do not infer intent.
|
||||
- Flag generic, AI-generated, or boilerplate language as an Observation.
|
||||
- Output is advisory only. Human auditors make all final determinations.
|
||||
|
||||
@@ -129,7 +129,7 @@ Per-entry requirements:
|
||||
Cross-cutting requirements:
|
||||
- All accepted risks above threshold have executive sign-off.
|
||||
- Linked controls in SoA are marked as Included.
|
||||
- No orphan controls (controls in SoA marked Implemented but no Risk Register entry references them — possible compliance theater).
|
||||
- No orphan controls (controls in SoA marked Implemented but no Risk Register entry references them, possible compliance theater).
|
||||
|
||||
For each finding, output the Risk ID and the missing field.
|
||||
```
|
||||
@@ -275,7 +275,7 @@ The agentic auditor must never:
|
||||
2. Mark a control as "Implemented" based solely on policy review. Implementation requires technical evidence beyond the policy itself.
|
||||
3. Generate certification decisions. Certification is performed by accredited certification bodies.
|
||||
4. Apply checks to controls excluded by the SoA, unless asked to evaluate the exclusion justification itself.
|
||||
5. Hallucinate references. Every clause citation must be a real ISO 27001:2022 clause. If unsure, say "uncertain — human review".
|
||||
5. Hallucinate references. Every clause citation must be a real ISO 27001:2022 clause. If unsure, say "uncertain: human review".
|
||||
|
||||
Every agentic finding must carry `human_review_required: true`. The skill's report generator must surface this field prominently so that no automated CI/CD step interprets agentic findings as final.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Annex A Controls — Full Catalog with Verification Logic
|
||||
# Annex A Controls: Full Catalog with Verification Logic
|
||||
|
||||
ISO/IEC 27001:2022 Annex A contains 93 controls across four themes. This file is the authoritative per-control reference. Use it to look up exact control intent and the deterministic / agentic / out-of-repo verification logic for each.
|
||||
|
||||
@@ -6,10 +6,10 @@ ISO/IEC 27001:2022 Annex A contains 93 controls across four themes. This file is
|
||||
|
||||
| Theme | Range | Count | Primary mode |
|
||||
|---|---|---|---|
|
||||
| A.5 Organizational | A.5.1 – A.5.37 | 37 | Agentic |
|
||||
| A.6 People | A.6.1 – A.6.8 | 8 | Out-of-repo (evidence pointers) |
|
||||
| A.7 Physical | A.7.1 – A.7.14 | 14 | Out-of-repo (evidence pointers) |
|
||||
| A.8 Technological | A.8.1 – A.8.34 | 34 | Deterministic |
|
||||
| A.5 Organizational | A.5.1 to A.5.37 | 37 | Agentic |
|
||||
| A.6 People | A.6.1 to A.6.8 | 8 | Out-of-repo (evidence pointers) |
|
||||
| A.7 Physical | A.7.1 to A.7.14 | 14 | Out-of-repo (evidence pointers) |
|
||||
| A.8 Technological | A.8.1 to A.8.34 | 34 | Deterministic |
|
||||
|
||||
## Control attributes (2022 addition)
|
||||
|
||||
@@ -29,43 +29,43 @@ Primary verification mode: agentic. Most A.5 controls are evaluated by LLM revie
|
||||
|
||||
| ID | Title | Verification logic |
|
||||
|---|---|---|
|
||||
| A.5.1 | Policies for information security | Agentic — verify InfoSec_Policy.md exists, includes commitment to applicable requirements + continual improvement, signed by top management. |
|
||||
| A.5.2 | Information security roles and responsibilities | Agentic — RACI matrix or equivalent in policy documents. |
|
||||
| A.5.3 | Segregation of duties | Agentic + deterministic — policy text plus IAM role separation in IaC. |
|
||||
| A.5.4 | Management responsibilities | Agentic — leadership commitment language in policy. |
|
||||
| A.5.5 | Contact with authorities | Agentic — incident response plan references regulators (e.g., IMY for Sweden, Datainspektionen). |
|
||||
| A.5.6 | Contact with special interest groups | Agentic — documented memberships (CERT, ISAC, etc.). |
|
||||
| A.5.7 | Threat Intelligence (NEW 2022) | Deterministic-anchored — presence of SCA tooling (Trivy, Snyk, Dependabot) actively pulling vuln databases. |
|
||||
| A.5.8 | Information security in project management | Agentic — project lifecycle docs reference security gates. |
|
||||
| A.5.9 | Inventory of information and other associated assets | Deterministic — asset inventory file, CMDB reference, or IaC as the inventory source. |
|
||||
| A.5.10 | Acceptable use of information and other associated assets | Agentic — AUP exists and is acknowledged. |
|
||||
| A.5.11 | Return of assets | Out-of-repo — pointer to HR offboarding workflow. |
|
||||
| A.5.12 | Classification of information | Agentic — classification scheme documented; deterministic spot-checks for classification mark-up in files. |
|
||||
| A.5.13 | Labelling of information | Deterministic — regex check for classification labels in document headers. |
|
||||
| A.5.14 | Information transfer | Agentic — transfer policy; deterministic — TLS enforcement in IaC. |
|
||||
| A.5.15 | Access control | Agentic + deterministic — policy + IAM IaC + Steampipe runtime queries. |
|
||||
| A.5.16 | Identity management | Deterministic — IdP integration verified via Steampipe. |
|
||||
| A.5.17 | Authentication information | Deterministic — secret manager references in IaC; no hardcoded credentials. |
|
||||
| A.5.18 | Access rights | Deterministic — least-privilege IAM policies; periodic access review evidence. |
|
||||
| A.5.19 | Information security in supplier relationships | Agentic — supplier policy and contracts with security clauses. |
|
||||
| A.5.20 | Addressing information security within supplier agreements | Agentic — DPA/security addendum templates. |
|
||||
| A.5.21 | Managing information security in the ICT supply chain | Agentic + deterministic — SBOM generation in CI/CD. |
|
||||
| A.5.22 | Monitoring, review and change management of supplier services | Agentic — supplier review cadence documented. |
|
||||
| A.5.23 | Information security for use of cloud services (NEW 2022) | Deterministic — IaC alignment with cloud provider security baselines (CIS AWS, CIS Azure). |
|
||||
| A.5.24 | Information security incident management planning and preparation | Agentic — incident response plan exists. |
|
||||
| A.5.25 | Assessment and decision on information security events | Agentic — triage criteria documented. |
|
||||
| A.5.26 | Response to information security incidents | Agentic — runbooks exist. |
|
||||
| A.5.27 | Learning from information security incidents | Agentic — post-mortem template / blameless review process. |
|
||||
| A.5.28 | Collection of evidence | Agentic — forensic procedures documented. |
|
||||
| A.5.29 | Information security during disruption | Agentic — BCP exists. |
|
||||
| A.5.30 | ICT readiness for business continuity (NEW 2022) | Deterministic — multi-region/multi-AZ in IaC, backup automation. |
|
||||
| A.5.31 | Legal, statutory, regulatory and contractual requirements | Agentic — compliance register exists and lists applicable laws. |
|
||||
| A.5.32 | Intellectual property rights | Agentic — IP policy; deterministic — license scanner output. |
|
||||
| A.5.33 | Protection of records | Agentic — records retention schedule. |
|
||||
| A.5.34 | Privacy and protection of PII | Agentic — privacy policy; deterministic — data masking in code (links to A.8.11). |
|
||||
| A.5.35 | Independent review of information security | Agentic — internal audit log shows independent reviewers. |
|
||||
| A.5.36 | Compliance with policies, rules and standards for information security | Agentic — compliance assessment reports. |
|
||||
| A.5.37 | Documented operating procedures | Agentic — runbook directory exists. |
|
||||
| A.5.1 | Policies for information security | Agentic: verify InfoSec_Policy.md exists, includes commitment to applicable requirements + continual improvement, signed by top management. |
|
||||
| A.5.2 | Information security roles and responsibilities | Agentic: RACI matrix or equivalent in policy documents. |
|
||||
| A.5.3 | Segregation of duties | Agentic + deterministic: policy text plus IAM role separation in IaC. |
|
||||
| A.5.4 | Management responsibilities | Agentic: leadership commitment language in policy. |
|
||||
| A.5.5 | Contact with authorities | Agentic: incident response plan references regulators (e.g., IMY for Sweden, Datainspektionen). |
|
||||
| A.5.6 | Contact with special interest groups | Agentic: documented memberships (CERT, ISAC, etc.). |
|
||||
| A.5.7 | Threat Intelligence (NEW 2022) | Deterministic-anchored: presence of SCA tooling (Trivy, Snyk, Dependabot) actively pulling vuln databases. |
|
||||
| A.5.8 | Information security in project management | Agentic: project lifecycle docs reference security gates. |
|
||||
| A.5.9 | Inventory of information and other associated assets | Deterministic: asset inventory file, CMDB reference, or IaC as the inventory source. |
|
||||
| A.5.10 | Acceptable use of information and other associated assets | Agentic: AUP exists and is acknowledged. |
|
||||
| A.5.11 | Return of assets | Out-of-repo: pointer to HR offboarding workflow. |
|
||||
| A.5.12 | Classification of information | Agentic: classification scheme documented; deterministic spot-checks for classification mark-up in files. |
|
||||
| A.5.13 | Labelling of information | Deterministic: regex check for classification labels in document headers. |
|
||||
| A.5.14 | Information transfer | Agentic: transfer policy; deterministic: TLS enforcement in IaC. |
|
||||
| A.5.15 | Access control | Agentic + deterministic: policy + IAM IaC + Steampipe runtime queries. |
|
||||
| A.5.16 | Identity management | Deterministic: IdP integration verified via Steampipe. |
|
||||
| A.5.17 | Authentication information | Deterministic: secret manager references in IaC; no hardcoded credentials. |
|
||||
| A.5.18 | Access rights | Deterministic: least-privilege IAM policies; periodic access review evidence. |
|
||||
| A.5.19 | Information security in supplier relationships | Agentic: supplier policy and contracts with security clauses. |
|
||||
| A.5.20 | Addressing information security within supplier agreements | Agentic: DPA/security addendum templates. |
|
||||
| A.5.21 | Managing information security in the ICT supply chain | Agentic + deterministic: SBOM generation in CI/CD. |
|
||||
| A.5.22 | Monitoring, review and change management of supplier services | Agentic: supplier review cadence documented. |
|
||||
| A.5.23 | Information security for use of cloud services (NEW 2022) | Deterministic: IaC alignment with cloud provider security baselines (CIS AWS, CIS Azure). |
|
||||
| A.5.24 | Information security incident management planning and preparation | Agentic: incident response plan exists. |
|
||||
| A.5.25 | Assessment and decision on information security events | Agentic: triage criteria documented. |
|
||||
| A.5.26 | Response to information security incidents | Agentic: runbooks exist. |
|
||||
| A.5.27 | Learning from information security incidents | Agentic: post-mortem template / blameless review process. |
|
||||
| A.5.28 | Collection of evidence | Agentic: forensic procedures documented. |
|
||||
| A.5.29 | Information security during disruption | Agentic: BCP exists. |
|
||||
| A.5.30 | ICT readiness for business continuity (NEW 2022) | Deterministic: multi-region/multi-AZ in IaC, backup automation. |
|
||||
| A.5.31 | Legal, statutory, regulatory and contractual requirements | Agentic: compliance register exists and lists applicable laws. |
|
||||
| A.5.32 | Intellectual property rights | Agentic: IP policy; deterministic: license scanner output. |
|
||||
| A.5.33 | Protection of records | Agentic: records retention schedule. |
|
||||
| A.5.34 | Privacy and protection of PII | Agentic: privacy policy; deterministic: data masking in code (links to A.8.11). |
|
||||
| A.5.35 | Independent review of information security | Agentic: internal audit log shows independent reviewers. |
|
||||
| A.5.36 | Compliance with policies, rules and standards for information security | Agentic: compliance assessment reports. |
|
||||
| A.5.37 | Documented operating procedures | Agentic: runbook directory exists. |
|
||||
|
||||
---
|
||||
|
||||
@@ -75,14 +75,14 @@ Primary verification mode: out-of-repo. Verify policy + evidence pointer to HRIS
|
||||
|
||||
| ID | Title | Verification logic |
|
||||
|---|---|---|
|
||||
| A.6.1 | Screening | Out-of-repo — policy + pointer to HR vetting workflow. |
|
||||
| A.6.2 | Terms and conditions of employment | Out-of-repo — policy + pointer to contract templates with confidentiality clauses. |
|
||||
| A.6.3 | Information security awareness, education and training | Out-of-repo — policy + pointer to LMS API showing completion records. |
|
||||
| A.6.4 | Disciplinary process | Out-of-repo — policy + pointer to HR escalation procedure. |
|
||||
| A.6.5 | Responsibilities after termination or change of employment | Out-of-repo — policy + pointer to offboarding checklist. |
|
||||
| A.6.6 | Confidentiality or non-disclosure agreements | Out-of-repo — NDA template exists in repo or pointer. |
|
||||
| A.6.7 | Remote working | Agentic — remote work policy; deterministic — VPN/zero-trust enforcement in network config. |
|
||||
| A.6.8 | Information security event reporting | Agentic — reporting channel documented. |
|
||||
| A.6.1 | Screening | Out-of-repo: policy + pointer to HR vetting workflow. |
|
||||
| A.6.2 | Terms and conditions of employment | Out-of-repo: policy + pointer to contract templates with confidentiality clauses. |
|
||||
| A.6.3 | Information security awareness, education and training | Out-of-repo: policy + pointer to LMS API showing completion records. |
|
||||
| A.6.4 | Disciplinary process | Out-of-repo: policy + pointer to HR escalation procedure. |
|
||||
| A.6.5 | Responsibilities after termination or change of employment | Out-of-repo: policy + pointer to offboarding checklist. |
|
||||
| A.6.6 | Confidentiality or non-disclosure agreements | Out-of-repo: NDA template exists in repo or pointer. |
|
||||
| A.6.7 | Remote working | Agentic: remote work policy; deterministic: VPN/zero-trust enforcement in network config. |
|
||||
| A.6.8 | Information security event reporting | Agentic: reporting channel documented. |
|
||||
|
||||
---
|
||||
|
||||
@@ -92,20 +92,20 @@ Primary verification mode: out-of-repo. Cannot be verified from repository alone
|
||||
|
||||
| ID | Title | Verification logic |
|
||||
|---|---|---|
|
||||
| A.7.1 | Physical security perimeters | Out-of-repo — policy + facility diagram pointer. |
|
||||
| A.7.2 | Physical entry | Out-of-repo — policy + badge system reference. |
|
||||
| A.7.3 | Securing offices, rooms and facilities | Out-of-repo — policy. |
|
||||
| A.7.4 | Physical security monitoring (NEW 2022) | Out-of-repo — policy + CCTV/access log pointer. |
|
||||
| A.7.5 | Protecting against physical and environmental threats | Out-of-repo — policy + insurance + environmental monitoring. |
|
||||
| A.7.6 | Working in secure areas | Out-of-repo — policy. |
|
||||
| A.7.7 | Clear desk and clear screen | Out-of-repo — policy + screen lock GPO/MDM enforcement. |
|
||||
| A.7.8 | Equipment siting and protection | Out-of-repo — policy. |
|
||||
| A.7.9 | Security of assets off-premises | Out-of-repo — laptop/mobile policy + MDM pointer. |
|
||||
| A.7.10 | Storage media | Out-of-repo — media handling policy. |
|
||||
| A.7.11 | Supporting utilities | Out-of-repo — UPS/HVAC documentation. |
|
||||
| A.7.12 | Cabling security | Out-of-repo — facility documentation. |
|
||||
| A.7.13 | Equipment maintenance | Out-of-repo — maintenance log pointer. |
|
||||
| A.7.14 | Secure disposal or re-use of equipment | Out-of-repo — disposal policy + certificates of destruction pointer. |
|
||||
| A.7.1 | Physical security perimeters | Out-of-repo: policy + facility diagram pointer. |
|
||||
| A.7.2 | Physical entry | Out-of-repo: policy + badge system reference. |
|
||||
| A.7.3 | Securing offices, rooms and facilities | Out-of-repo: policy. |
|
||||
| A.7.4 | Physical security monitoring (NEW 2022) | Out-of-repo: policy + CCTV/access log pointer. |
|
||||
| A.7.5 | Protecting against physical and environmental threats | Out-of-repo: policy + insurance + environmental monitoring. |
|
||||
| A.7.6 | Working in secure areas | Out-of-repo: policy. |
|
||||
| A.7.7 | Clear desk and clear screen | Out-of-repo: policy + screen lock GPO/MDM enforcement. |
|
||||
| A.7.8 | Equipment siting and protection | Out-of-repo: policy. |
|
||||
| A.7.9 | Security of assets off-premises | Out-of-repo: laptop/mobile policy + MDM pointer. |
|
||||
| A.7.10 | Storage media | Out-of-repo: media handling policy. |
|
||||
| A.7.11 | Supporting utilities | Out-of-repo: UPS/HVAC documentation. |
|
||||
| A.7.12 | Cabling security | Out-of-repo: facility documentation. |
|
||||
| A.7.13 | Equipment maintenance | Out-of-repo: maintenance log pointer. |
|
||||
| A.7.14 | Secure disposal or re-use of equipment | Out-of-repo: disposal policy + certificates of destruction pointer. |
|
||||
|
||||
---
|
||||
|
||||
@@ -115,40 +115,40 @@ Primary verification mode: deterministic. This is where CI/CD scanner ROI is hig
|
||||
|
||||
| ID | Title | Verification logic |
|
||||
|---|---|---|
|
||||
| A.8.1 | User endpoint devices | Deterministic — MDM integration scripts; agentic — endpoint policy. |
|
||||
| A.8.2 | Privileged access rights | Deterministic — IAM IaC scanned for wildcard `Action: "*"` / `Resource: "*"`; Steampipe runtime check for over-privileged roles. |
|
||||
| A.8.3 | Information access restriction | Deterministic — RBAC middleware / route-level access control in app code. |
|
||||
| A.8.4 | Access to source code | Deterministic — branch protection rules in `.github/settings.yml`, mandatory code review, no direct push to main. |
|
||||
| A.8.5 | Secure authentication | Deterministic — MFA enforced in IdP config; HTTP basic auth deprecated; cookie/session security flags set. |
|
||||
| A.8.6 | Capacity management | Deterministic — autoscaling group definitions, resource limits in K8s manifests. |
|
||||
| A.8.7 | Protection against malware | Deterministic — endpoint protection deployment; container image vuln scanning (Trivy). |
|
||||
| A.8.8 | Management of technical vulnerabilities | Deterministic — SCA executes on every PR; CVE threshold enforced. |
|
||||
| A.8.9 | Configuration management (NEW 2022) | Deterministic — all infrastructure defined as code; drift detection. |
|
||||
| A.8.10 | Information deletion (NEW 2022) | Deterministic — lifecycle/retention policies in storage IaC. |
|
||||
| A.8.11 | Data masking (NEW 2022) | Deterministic — static analysis confirming hashing/tokenization on PII handlers. |
|
||||
| A.8.12 | Data leakage prevention (NEW 2022) | Deterministic — egress filtering rules, restrictive CORS, no public buckets. |
|
||||
| A.8.13 | Information backup | Deterministic — automated snapshot schedules, backup vault config. |
|
||||
| A.8.14 | Redundancy of information processing facilities | Deterministic — multi-AZ / multi-region in IaC. |
|
||||
| A.8.15 | Logging | Deterministic — log aggregation deployed; native cloud audit logs (CloudTrail) enabled. |
|
||||
| A.8.16 | Monitoring activities (NEW 2022) | Deterministic — alerting rules + webhooks defined. |
|
||||
| A.8.17 | Clock synchronization | Deterministic — NTP service uniformly configured. |
|
||||
| A.8.18 | Use of privileged utility programs | Deterministic — no `--privileged` containers; agentic — utility access policy. |
|
||||
| A.8.19 | Installation of software on operational systems | Deterministic — immutable infrastructure pattern enforced; CI/CD is the only path to production. |
|
||||
| A.8.20 | Network security | Deterministic — TLS 1.2+ minimums, WAF deployment in load balancers. |
|
||||
| A.8.21 | Security of network services | Deterministic — service definitions declare security profiles. |
|
||||
| A.8.22 | Segregation of networks | Deterministic — VPC subnets, route tables, K8s NetworkPolicy enforce isolation. |
|
||||
| A.8.23 | Web filtering (NEW 2022) | Deterministic — proxy / DNS firewall allow-deny lists. |
|
||||
| A.8.24 | Use of cryptography | Deterministic — encryption-at-rest flags, encryption-in-transit, no MD5/SHA-1, no hardcoded keys. |
|
||||
| A.8.25 | Secure development life cycle | Deterministic — Dev/Test/Prod environment isolation; security gates in pipeline. |
|
||||
| A.8.26 | Application security requirements | Agentic — review of ADRs / design docs for security constraints. |
|
||||
| A.8.27 | Secure system architecture and engineering principles | Agentic — review of architecture docs for zero-trust / defense-in-depth. |
|
||||
| A.8.28 | Secure coding (NEW 2022) | Deterministic — SAST in CI/CD scanning OWASP Top 10. |
|
||||
| A.8.29 | Security testing in development and acceptance | Deterministic — DAST + SAST mandatory pipeline steps. |
|
||||
| A.8.30 | Outsourced development | Deterministic — SCA on third-party libs; agentic — vendor management policy. |
|
||||
| A.8.31 | Separation of development, test and production environments | Deterministic — IaC variable files / account separation. |
|
||||
| A.8.32 | Change management | Deterministic — Git PR approval requirements; CODEOWNERS enforcement. |
|
||||
| A.8.33 | Test information | Deterministic — test directories scanned for unsanitized production data. |
|
||||
| A.8.34 | Protection of information systems during audit testing | Deterministic — read-only roles for scanners; no destructive test executions. |
|
||||
| A.8.1 | User endpoint devices | Deterministic: MDM integration scripts; agentic: endpoint policy. |
|
||||
| A.8.2 | Privileged access rights | Deterministic: IAM IaC scanned for wildcard `Action: "*"` / `Resource: "*"`; Steampipe runtime check for over-privileged roles. |
|
||||
| A.8.3 | Information access restriction | Deterministic: RBAC middleware / route-level access control in app code. |
|
||||
| A.8.4 | Access to source code | Deterministic: branch protection rules in `.github/settings.yml`, mandatory code review, no direct push to main. |
|
||||
| A.8.5 | Secure authentication | Deterministic: MFA enforced in IdP config; HTTP basic auth deprecated; cookie/session security flags set. |
|
||||
| A.8.6 | Capacity management | Deterministic: autoscaling group definitions, resource limits in K8s manifests. |
|
||||
| A.8.7 | Protection against malware | Deterministic: endpoint protection deployment; container image vuln scanning (Trivy). |
|
||||
| A.8.8 | Management of technical vulnerabilities | Deterministic: SCA executes on every PR; CVE threshold enforced. |
|
||||
| A.8.9 | Configuration management (NEW 2022) | Deterministic: all infrastructure defined as code; drift detection. |
|
||||
| A.8.10 | Information deletion (NEW 2022) | Deterministic: lifecycle/retention policies in storage IaC. |
|
||||
| A.8.11 | Data masking (NEW 2022) | Deterministic: static analysis confirming hashing/tokenization on PII handlers. |
|
||||
| A.8.12 | Data leakage prevention (NEW 2022) | Deterministic: egress filtering rules, restrictive CORS, no public buckets. |
|
||||
| A.8.13 | Information backup | Deterministic: automated snapshot schedules, backup vault config. |
|
||||
| A.8.14 | Redundancy of information processing facilities | Deterministic: multi-AZ / multi-region in IaC. |
|
||||
| A.8.15 | Logging | Deterministic: log aggregation deployed; native cloud audit logs (CloudTrail) enabled. |
|
||||
| A.8.16 | Monitoring activities (NEW 2022) | Deterministic: alerting rules + webhooks defined. |
|
||||
| A.8.17 | Clock synchronization | Deterministic: NTP service uniformly configured. |
|
||||
| A.8.18 | Use of privileged utility programs | Deterministic: no `--privileged` containers; agentic: utility access policy. |
|
||||
| A.8.19 | Installation of software on operational systems | Deterministic: immutable infrastructure pattern enforced; CI/CD is the only path to production. |
|
||||
| A.8.20 | Network security | Deterministic: TLS 1.2+ minimums, WAF deployment in load balancers. |
|
||||
| A.8.21 | Security of network services | Deterministic: service definitions declare security profiles. |
|
||||
| A.8.22 | Segregation of networks | Deterministic: VPC subnets, route tables, K8s NetworkPolicy enforce isolation. |
|
||||
| A.8.23 | Web filtering (NEW 2022) | Deterministic: proxy / DNS firewall allow-deny lists. |
|
||||
| A.8.24 | Use of cryptography | Deterministic: encryption-at-rest flags, encryption-in-transit, no MD5/SHA-1, no hardcoded keys. |
|
||||
| A.8.25 | Secure development life cycle | Deterministic: Dev/Test/Prod environment isolation; security gates in pipeline. |
|
||||
| A.8.26 | Application security requirements | Agentic: review of ADRs / design docs for security constraints. |
|
||||
| A.8.27 | Secure system architecture and engineering principles | Agentic: review of architecture docs for zero-trust / defense-in-depth. |
|
||||
| A.8.28 | Secure coding (NEW 2022) | Deterministic: SAST in CI/CD scanning OWASP Top 10. |
|
||||
| A.8.29 | Security testing in development and acceptance | Deterministic: DAST + SAST mandatory pipeline steps. |
|
||||
| A.8.30 | Outsourced development | Deterministic: SCA on third-party libs; agentic: vendor management policy. |
|
||||
| A.8.31 | Separation of development, test and production environments | Deterministic: IaC variable files / account separation. |
|
||||
| A.8.32 | Change management | Deterministic: Git PR approval requirements; CODEOWNERS enforcement. |
|
||||
| A.8.33 | Test information | Deterministic: test directories scanned for unsanitized production data. |
|
||||
| A.8.34 | Protection of information systems during audit testing | Deterministic: read-only roles for scanners; no destructive test executions. |
|
||||
|
||||
---
|
||||
|
||||
@@ -156,6 +156,6 @@ Primary verification mode: deterministic. This is where CI/CD scanner ROI is hig
|
||||
|
||||
1. The SoA tells you which subset applies. Filter this catalog by the SoA before scanning.
|
||||
2. For each in-scope control, route to the verification mode column.
|
||||
3. Deterministic controls map to specific Checkov / Trivy / Steampipe checks — see `tool-orchestration.md`.
|
||||
4. Agentic controls map to LLM prompts — see `agentic-prompts.md`.
|
||||
3. Deterministic controls map to specific Checkov / Trivy / Steampipe checks: see `tool-orchestration.md`.
|
||||
4. Agentic controls map to LLM prompts: see `agentic-prompts.md`.
|
||||
5. Out-of-repo controls require evidence pointer verification only.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Cross-Framework Mapping — NIST 800-53, CIS Controls, SOC 2
|
||||
# Cross-Framework Mapping: NIST 800-53, CIS Controls, SOC 2
|
||||
|
||||
A single ISO 27001 finding can be projected onto NIST SP 800-53 Rev. 5, CIS Controls v8.1, and SOC 2 Trust Services Criteria. Embedding these mappings into the scanner's data model lets a single scan produce dual- or quad-compliance reports.
|
||||
|
||||
@@ -20,12 +20,12 @@ The official NIST mapping uses an asterisk convention: an unmarked mapping means
|
||||
|---|---|---|
|
||||
| A.5.1 (Policies) | PL-1, PM-1 | Full |
|
||||
| A.5.2 (Roles) | PS-2, AC-1 | Full |
|
||||
| A.5.7 (Threat Intelligence) | PM-15, PM-16, RA-3, SI-5 | Partial — NIST is more prescriptive on TI sources |
|
||||
| A.5.9 (Inventory) | CM-8, PM-5 | Partial — NIST CM-8 demands more frequent reconciliation |
|
||||
| A.5.7 (Threat Intelligence) | PM-15, PM-16, RA-3, SI-5 | Partial: NIST is more prescriptive on TI sources |
|
||||
| A.5.9 (Inventory) | CM-8, PM-5 | Partial: NIST CM-8 demands more frequent reconciliation |
|
||||
| A.5.15 (Access control) | AC-1, AC-2, AC-3, AC-5, AC-6 | Full |
|
||||
| A.5.23 (Cloud security) | SA-9 (External system services), CA-3 | Partial |
|
||||
| A.5.30 (BC readiness) | CP-2, CP-7, CP-10 | Full |
|
||||
| A.5.34 (Privacy / PII) | PT-1 through PT-8 (Privacy family) | **Significant gap — see below** |
|
||||
| A.5.34 (Privacy / PII) | PT-1 through PT-8 (Privacy family) | **Significant gap: see below** |
|
||||
| A.6.1 (Screening) | PS-3 | Full |
|
||||
| A.6.3 (Awareness) | AT-1, AT-2 | Full |
|
||||
| A.7.1 (Physical perimeter) | PE-3 | Full |
|
||||
@@ -47,7 +47,7 @@ The official NIST mapping uses an asterisk convention: an unmarked mapping means
|
||||
| A.8.28 (Secure coding) | SA-11, SI-10 | Full |
|
||||
| A.8.32 (Change management) | CM-3, CM-4 | Full |
|
||||
|
||||
### Critical NIST gap — privacy
|
||||
### Critical NIST gap: privacy
|
||||
|
||||
NIST SP 800-53 Rev. 5 integrates a full Privacy (PT) control family directly into the catalog. ISO 27001 addresses privacy primarily through A.5.34 and points to ISO 27701 for full privacy management. Organizations claiming dual ISO 27001 + NIST 800-53 compliance must either:
|
||||
1. Adopt ISO 27701 in addition, OR
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# ISMS Clauses 4-10 — Mandatory Documents and Verification Logic
|
||||
# ISMS Clauses 4-10: Mandatory Documents and Verification Logic
|
||||
|
||||
ISO/IEC 27001:2022 is structurally bifurcated. Annex A enumerates security controls; Clauses 4-10 define the management system that must wrap them. Certification fails without a complete and operating Management System, regardless of how well Annex A controls are implemented technically.
|
||||
|
||||
@@ -8,7 +8,7 @@ The clauses are: Context (4), Leadership (5), Planning (6), Support (7), Operati
|
||||
|
||||
| Clause | Document | Filename convention | Verification logic |
|
||||
|---|---|---|---|
|
||||
| 4.3 | Scope of the ISMS | `ISMS_Scope.md` | Must define exact boundaries — included departments, locations, systems, exclusions with justification. |
|
||||
| 4.3 | Scope of the ISMS | `ISMS_Scope.md` | Must define exact boundaries: included departments, locations, systems, exclusions with justification. |
|
||||
| 5.2 | Information Security Policy | `InfoSec_Policy.md` | Must include framework for objectives, commitment to satisfy applicable requirements, commitment to continual improvement, top management approval. |
|
||||
| 6.1.2 | Risk Assessment Process | `Risk_Methodology.md` | Must define scoring matrix (impact × likelihood), risk acceptance thresholds, owner assignment criteria. |
|
||||
| 6.1.3 | Statement of Applicability | `SoA.json` / `SoA.csv` | Must contain four core elements per control: identifier, inclusion/exclusion statement, justification, implementation status. |
|
||||
@@ -23,7 +23,7 @@ The clauses are: Context (4), Leadership (5), Planning (6), Support (7), Operati
|
||||
| 10.1 | Continual improvement | (cross-cutting) | Evidence of corrective actions closing previous findings. |
|
||||
| 10.2 | Nonconformity and corrective action records | `NC_Log.md` or `NC_Register.xlsx` | Each NC must have root cause analysis, corrective action, effectiveness verification. |
|
||||
|
||||
## Clause 9.3 — Mandatory Management Review inputs
|
||||
## Clause 9.3: Mandatory Management Review inputs
|
||||
|
||||
This is the most commonly under-documented requirement. Management Review minutes must explicitly cover **all** of the following:
|
||||
|
||||
@@ -41,7 +41,7 @@ This is the most commonly under-documented requirement. Management Review minute
|
||||
|
||||
The agentic auditor must verify each of these is textually present. Output a per-input checklist showing pass/fail for each agenda item.
|
||||
|
||||
## Clause 7.5 — Documented Information requirements
|
||||
## Clause 7.5: Documented Information requirements
|
||||
|
||||
Every controlled document must satisfy:
|
||||
|
||||
@@ -91,4 +91,4 @@ The auditor must run cross-references:
|
||||
| Competency Matrix → InfoSec roles | Competency_Matrix | Roles defined in policies | Role exists in policy but no competency requirement defined. |
|
||||
| Suppression Risk IDs → Risk Register | Inline scanner suppressions | Risk_Register | Suppression references Risk ID that does not exist. |
|
||||
|
||||
These cross-checks are the highest-value agentic operations because they detect compliance theater — where every individual document looks fine but the documents are internally inconsistent.
|
||||
These cross-checks are the highest-value agentic operations because they detect compliance theater: where every individual document looks fine but the documents are internally inconsistent.
|
||||
|
||||
@@ -7,15 +7,15 @@ When scanning legacy repositories or evaluating SoAs that still reference 2013-e
|
||||
| Aspect | 2013 | 2022 |
|
||||
|---|---|---|
|
||||
| Control count | 114 | 93 |
|
||||
| Domains/themes | 14 domains (A.5–A.18) | 4 themes (A.5–A.8) |
|
||||
| Domains/themes | 14 domains (A.5-A.18) | 4 themes (A.5-A.8) |
|
||||
| Attribute system | None | 5 attribute dimensions per control |
|
||||
| Merged controls | — | 57 → 24 |
|
||||
| New controls | — | 11 net-new |
|
||||
| Retained (renamed/renumbered) | — | 58 |
|
||||
| Merged controls | N/A | 57 → 24 |
|
||||
| New controls | N/A | 11 net-new |
|
||||
| Retained (renamed/renumbered) | N/A | 58 |
|
||||
|
||||
## Common translation patterns
|
||||
|
||||
The 2013 controls A.5–A.18 do not map cleanly to A.5–A.8. The new themes are reorganized around governance level, not topical similarity to the old domains.
|
||||
The 2013 controls A.5-A.18 do not map cleanly to A.5-A.8. The new themes are reorganized around governance level, not topical similarity to the old domains.
|
||||
|
||||
| 2013 ID | 2013 Title | 2022 ID | 2022 Title | Notes |
|
||||
|---|---|---|---|---|
|
||||
@@ -28,7 +28,7 @@ The 2013 controls A.5–A.18 do not map cleanly to A.5–A.8. The new themes are
|
||||
| A.7 | Human resource security (entire domain) | A.6 | People (entire theme) | Restructured. |
|
||||
| A.8.1.1 | Inventory of assets | A.5.9 | Inventory of information and other associated assets | Renamed, broader. |
|
||||
| A.8.2 | Information classification | A.5.12, A.5.13 | Classification of information / Labelling | Split into two. |
|
||||
| A.9 | Access control (entire domain) | A.5.15–A.5.18, A.8.2–A.8.5 | Distributed across themes | Major restructure. |
|
||||
| A.9 | Access control (entire domain) | A.5.15-A.5.18, A.8.2-A.8.5 | Distributed across themes | Major restructure. |
|
||||
| A.9.1.1 | Access control policy | A.5.15 | Access control | Merged. |
|
||||
| A.9.2.1 | User registration and de-registration | A.5.16 | Identity management | Renamed. |
|
||||
| A.9.2.3 | Management of privileged access rights | A.8.2 | Privileged access rights | Renamed. |
|
||||
@@ -61,8 +61,8 @@ The 2013 controls A.5–A.18 do not map cleanly to A.5–A.8. The new themes are
|
||||
| A.14.2.7 | Outsourced development | A.8.30 | Outsourced development | Renumbered. |
|
||||
| A.14.2.8 | System security testing | A.8.29 | Security testing in development and acceptance | Renamed. |
|
||||
| A.14.3.1 | Protection of test data | A.8.33 | Test information | Renamed. |
|
||||
| A.15 | Supplier relationships | A.5.19–A.5.22 | Supplier-related controls | Restructured into Organizational. |
|
||||
| A.16 | Information security incident management | A.5.24–A.5.28 | Incident-related controls | Restructured. |
|
||||
| A.15 | Supplier relationships | A.5.19-A.5.22 | Supplier-related controls | Restructured into Organizational. |
|
||||
| A.16 | Information security incident management | A.5.24-A.5.28 | Incident-related controls | Restructured. |
|
||||
| A.17 | Information security aspects of business continuity | A.5.29, A.5.30, A.8.13, A.8.14 | Distributed | Restructured. |
|
||||
| A.18.1 | Compliance with legal and contractual requirements | A.5.31 | Legal, statutory, regulatory and contractual requirements | Compressed. |
|
||||
| A.18.1.3 | Protection of records | A.5.33 | Protection of records | Renumbered. |
|
||||
@@ -77,6 +77,6 @@ When parsing a SoA that uses 2013 identifiers:
|
||||
2. Apply the translation table above.
|
||||
3. Generate a warning: "SoA references 2013-era identifiers. Translation applied. Recommend updating SoA to 2022 identifiers."
|
||||
4. Run all checks against translated 2022 controls.
|
||||
5. Verify the 11 net-new controls (see `new-controls-2022.md`) are now addressed in the SoA — they will not have legacy equivalents.
|
||||
5. Verify the 11 net-new controls (see `new-controls-2022.md`) are now addressed in the SoA: they will not have legacy equivalents.
|
||||
|
||||
The translation is one-way and lossy. Several 2013 controls map to multiple 2022 controls (splits) and several 2022 controls absorb multiple 2013 controls (merges). When in doubt, apply the most restrictive interpretation.
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
The skill is an aid to certification, not a substitute. A scanner that overpromises destroys audit credibility. Surface these limitations in every report.
|
||||
|
||||
## Limitation 1 — Physical reality
|
||||
## Limitation 1: Physical reality
|
||||
|
||||
No code execution can verify physical reality. The scanner can confirm a policy says "server room doors must be locked" (A.7.2) or "premises shall be monitored" (A.7.4). It cannot confirm that any physical door is actually locked or that any actual camera is recording.
|
||||
|
||||
**Required disclaimer in reports**:
|
||||
> "Physical Controls (A.7.x) verified by documentation only. Physical validation requires on-site inspection and is out of scope for repository-based scanning."
|
||||
|
||||
## Limitation 2 — Behavioral compliance
|
||||
## Limitation 2: Behavioral compliance
|
||||
|
||||
Human behavior is opaque to scanners. Several controls require people to actually do things, not just for the documentation to require it.
|
||||
|
||||
@@ -23,7 +23,7 @@ Human behavior is opaque to scanners. Several controls require people to actuall
|
||||
**Required disclaimer**:
|
||||
> "Behavioral compliance is out of scope. Verification requires walkthroughs, interviews, and observation by human auditors."
|
||||
|
||||
## Limitation 3 — Point-in-time scans vs continuous compliance
|
||||
## Limitation 3: Point-in-time scans vs continuous compliance
|
||||
|
||||
A repository can pass all checks at PR-merge time and immediately drift out of compliance through:
|
||||
- Manual changes via cloud console (clickops).
|
||||
@@ -31,12 +31,12 @@ A repository can pass all checks at PR-merge time and immediately drift out of c
|
||||
- Configuration changes by SaaS vendors (e.g., default settings changing in a managed service).
|
||||
- Credentials rotated outside the documented process.
|
||||
|
||||
This violates A.8.9 (Configuration management) and A.8.16 (Monitoring) by definition. Mitigation requires continuous runtime monitoring (Steampipe queries on a schedule, AWS Config rules, Azure Policy, GCP Organization Policy) — not just CI/CD-time scans.
|
||||
This violates A.8.9 (Configuration management) and A.8.16 (Monitoring) by definition. Mitigation requires continuous runtime monitoring (Steampipe queries on a schedule, AWS Config rules, Azure Policy, GCP Organization Policy), not just CI/CD-time scans.
|
||||
|
||||
**Required disclaimer**:
|
||||
> "This is a point-in-time assessment of commit <sha>. Production state may have drifted from this commit. Continuous runtime monitoring (A.8.16) is required to detect post-merge drift."
|
||||
|
||||
## Limitation 4 — Document existence vs adequacy
|
||||
## Limitation 4: Document existence vs adequacy
|
||||
|
||||
The scanner can prove a file exists. It can apply LLM evaluation to assess whether the file's content meets normative requirements. It cannot prove that the document is current, that the listed approvers actually approved it, or that the procedures described are actually followed.
|
||||
|
||||
@@ -45,7 +45,7 @@ The agentic auditor produces "Observations" that require human validation. Adequ
|
||||
**Required disclaimer**:
|
||||
> "Agentic policy review is advisory. Findings labeled 'Observation' or 'Potential Non-Conformity' require validation by a qualified human auditor."
|
||||
|
||||
## Limitation 5 — Agentic AI in the audited system itself
|
||||
## Limitation 5: Agentic AI in the audited system itself
|
||||
|
||||
If the audited system uses AI agents in production (e.g., LLM-based workflows, autonomous decision-making, MCP-server-driven automation), traditional ISO 27001 controls are insufficient.
|
||||
|
||||
@@ -63,19 +63,19 @@ Reference: OWASP Top 10 for Agentic Applications, Agentic Trust Framework. The s
|
||||
**Required disclaimer when agentic AI detected**:
|
||||
> "This system uses agentic AI components. Standard ISO 27001:2022 controls do not adequately address probabilistic and autonomous system behavior. Reference OWASP Top 10 for Agentic Applications and supplement with agent-specific governance controls."
|
||||
|
||||
## Limitation 6 — Out-of-repo systems
|
||||
## Limitation 6: Out-of-repo systems
|
||||
|
||||
Many controls depend on systems outside the repository: HRIS, IdP, MDM, ticketing, badge access. The scanner can verify policy + evidence pointers, but not the state of external systems unless explicit API integration is configured (e.g., Steampipe with appropriate plugins).
|
||||
|
||||
When external API integration is unavailable, mark the control as "Documentation Verified — System of Record Not Queried" rather than "Verified".
|
||||
When external API integration is unavailable, mark the control as "Documentation Verified: System of Record Not Queried" rather than "Verified".
|
||||
|
||||
## Limitation 7 — SoA dependency
|
||||
## Limitation 7: SoA dependency
|
||||
|
||||
The scanner is only as accurate as the SoA. A SoA that excludes critical controls without justification will cause the scanner to skip checks that should be running. The agentic auditor must evaluate the SoA's exclusion justifications, but ultimately the SoA reflects organizational decisions that the scanner cannot override.
|
||||
|
||||
If the SoA is missing, malformed, or includes obviously inappropriate exclusions, generate a Clause 6.1.3 finding and refuse to issue a "compliant" verdict regardless of technical scan results.
|
||||
|
||||
## Limitation 8 — Certification body discretion
|
||||
## Limitation 8: Certification body discretion
|
||||
|
||||
ISO 27001 certification is issued by accredited certification bodies, not by automated tools. A clean scanner output is not a certificate. Certification bodies apply professional judgment, conduct interviews, perform sampling, and examine evidence in ways that cannot be fully automated.
|
||||
|
||||
@@ -84,16 +84,16 @@ The skill produces audit-defensible evidence and identifies probable findings. I
|
||||
**Required language**:
|
||||
> "This report is internal evidence to support the organization's information security management system. It is not an ISO 27001 certificate. Certification requires audit by an accredited certification body."
|
||||
|
||||
## Limitation 9 — Accuracy of cross-framework mappings
|
||||
## Limitation 9: Accuracy of cross-framework mappings
|
||||
|
||||
NIST 800-53 Rev. 5, CIS Controls v8.1, and SOC 2 TSC are independent frameworks. ISO 27001 mappings are approximations. A control passing in ISO does not automatically pass in another framework. Privacy is the largest gap (see `cross-framework-mapping.md`).
|
||||
|
||||
**Required disclaimer when generating dual-framework reports**:
|
||||
> "Cross-framework mappings are approximations. Each framework has unique requirements that may not be covered by ISO 27001 alone. Specifically, NIST 800-53 Rev. 5 Privacy (PT) family and SOC 2 Privacy criteria require supplementary controls beyond ISO 27001."
|
||||
|
||||
## Limitation 10 — False negatives in static analysis
|
||||
## Limitation 10: False negatives in static analysis
|
||||
|
||||
SAST tools have known false-negative rates. Custom detection patterns, novel vulnerabilities, business-logic flaws, and authorization bypasses often escape pattern matching. Achieving high pass rates on the scanner does not prove the absence of vulnerabilities — it proves the absence of detected vulnerabilities.
|
||||
SAST tools have known false-negative rates. Custom detection patterns, novel vulnerabilities, business-logic flaws, and authorization bypasses often escape pattern matching. Achieving high pass rates on the scanner does not prove the absence of vulnerabilities; it proves the absence of detected vulnerabilities.
|
||||
|
||||
A.8.29 (Security testing) requires testing methods beyond SAST: DAST, IAST, manual penetration testing, threat modeling. The scanner can verify these are scheduled and that reports exist; it cannot replace them.
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ The October 31, 2025 transition deadline has now passed, so any active certifica
|
||||
### A.8.16 Monitoring activities
|
||||
**Intent**: Monitor networks, systems, and applications for anomalous behavior to detect potential information security incidents.
|
||||
**Repository signal**: Alerting rules deployed via IaC. SIEM integration. Webhook integrations to incident response tooling (PagerDuty, Opsgenie). Anomaly detection on key metrics.
|
||||
**Common gap**: Logging exists (A.8.15) but nobody is alerted on anomalies. A.8.15 and A.8.16 are distinct — implement both.
|
||||
**Common gap**: Logging exists (A.8.15) but nobody is alerted on anomalies. A.8.15 and A.8.16 are distinct: implement both.
|
||||
|
||||
### A.8.23 Web filtering
|
||||
**Intent**: Manage access to external websites to reduce exposure to malicious content.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Tool Orchestration — Checkov, Trivy, Steampipe
|
||||
# Tool Orchestration: Checkov, Trivy, Steampipe
|
||||
|
||||
The skill must not reimplement what mature open-source security tools already do. Wrap them. The three primary engines together cover the full repository-and-runtime surface for ISO 27001:2022.
|
||||
|
||||
@@ -8,7 +8,7 @@ The skill must not reimplement what mature open-source security tools already do
|
||||
| Trivy | SCA, container, secret scanning | Filesystem, container images, dependency manifests | JSON / SARIF / table |
|
||||
| Steampipe | Live runtime querying | Cloud APIs, IdP APIs, GitHub API | SQL result sets |
|
||||
|
||||
Checkov and Trivy answer "what does the code say?" Steampipe answers "what is actually deployed?" Both questions matter — IaC drift means the code may be compliant while production isn't.
|
||||
Checkov and Trivy answer "what does the code say?" Steampipe answers "what is actually deployed?" Both questions matter: IaC drift means the code may be compliant while production isn't.
|
||||
|
||||
---
|
||||
|
||||
@@ -48,7 +48,7 @@ The wrapper script:
|
||||
|
||||
### Custom policies for ISO-specific patterns
|
||||
|
||||
Checkov supports custom policies in YAML for simple attribute checks and Python for graph-based checks. Example custom policy for A.8.24 — ensuring all EBS volumes are encrypted:
|
||||
Checkov supports custom policies in YAML for simple attribute checks and Python for graph-based checks. Example custom policy for A.8.24, ensuring all EBS volumes are encrypted:
|
||||
|
||||
```yaml
|
||||
metadata:
|
||||
@@ -157,13 +157,13 @@ SBOM generation directly evidences A.5.21 (Managing information security in the
|
||||
## Steampipe
|
||||
|
||||
### Why
|
||||
Checkov and Trivy operate on what's in the repo. Steampipe queries what's actually deployed. Drift between IaC and runtime is itself a Clause 8.1 (Operational planning) finding — and runtime queries are the only way to detect it.
|
||||
Checkov and Trivy operate on what's in the repo. Steampipe queries what's actually deployed. Drift between IaC and runtime is itself a Clause 8.1 (Operational planning) finding, and runtime queries are the only way to detect it.
|
||||
|
||||
Steampipe uses a Postgres-compatible SQL interface over plugins for AWS, Azure, GCP, GitHub, Microsoft Entra ID, Google Workspace, Okta, Slack, and dozens more.
|
||||
|
||||
### Key queries for ISO 27001 evidence
|
||||
|
||||
#### A.8.2 — Privileged access rights
|
||||
#### A.8.2: Privileged access rights
|
||||
```sql
|
||||
-- Find IAM users with admin policies attached
|
||||
SELECT u.name, p.policy_name
|
||||
@@ -173,7 +173,7 @@ JOIN aws_iam_policy p ON p.arn = a.policy_arn
|
||||
WHERE p.policy_name = 'AdministratorAccess';
|
||||
```
|
||||
|
||||
#### A.5.18 — Access rights review
|
||||
#### A.5.18: Access rights review
|
||||
```sql
|
||||
-- Find IAM users who haven't logged in for 90+ days
|
||||
SELECT name, password_last_used
|
||||
@@ -182,7 +182,7 @@ WHERE password_last_used < now() - interval '90 days'
|
||||
OR password_last_used IS NULL;
|
||||
```
|
||||
|
||||
#### A.8.5 — Secure authentication
|
||||
#### A.8.5: Secure authentication
|
||||
```sql
|
||||
-- Find IAM users without MFA
|
||||
SELECT name, mfa_enabled
|
||||
@@ -191,7 +191,7 @@ WHERE mfa_enabled = false
|
||||
AND password_enabled = true;
|
||||
```
|
||||
|
||||
#### A.5.15 — Access control (Microsoft Entra ID)
|
||||
#### A.5.15: Access control (Microsoft Entra ID)
|
||||
```sql
|
||||
-- Find guest users with privileged role assignments
|
||||
SELECT u.display_name, r.role_definition_name
|
||||
@@ -201,7 +201,7 @@ JOIN azuread_directory_role r ON r.id = a.role_definition_id
|
||||
WHERE u.user_type = 'Guest';
|
||||
```
|
||||
|
||||
#### A.8.4 — Source code access
|
||||
#### A.8.4: Source code access
|
||||
```sql
|
||||
-- Find GitHub repos without branch protection on main
|
||||
SELECT full_name, default_branch
|
||||
@@ -211,7 +211,7 @@ LEFT JOIN github_branch_protection b ON b.repository_full_name = r.full_name
|
||||
WHERE b.repository_full_name IS NULL;
|
||||
```
|
||||
|
||||
#### A.8.15 — Logging
|
||||
#### A.8.15: Logging
|
||||
```sql
|
||||
-- Find AWS regions where CloudTrail is not enabled
|
||||
SELECT region
|
||||
@@ -223,7 +223,7 @@ WHERE region NOT IN (
|
||||
|
||||
### Continuous evidence generation
|
||||
|
||||
Steampipe queries can be wrapped in [Powerpipe](https://powerpipe.io/) dashboards/benchmarks for continuous compliance evidence. Schedule them daily or hourly to maintain "operational effectiveness" evidence required for SOC 2 Type II — which goes beyond ISO 27001's point-in-time stance but is often required in dual-audit scenarios.
|
||||
Steampipe queries can be wrapped in [Powerpipe](https://powerpipe.io/) dashboards/benchmarks for continuous compliance evidence. Schedule them daily or hourly to maintain "operational effectiveness" evidence required for SOC 2 Type II, which goes beyond ISO 27001's point-in-time stance but is often required in dual-audit scenarios.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Violation Patterns — Code, Configuration, Dependency
|
||||
# Violation Patterns: Code, Configuration, Dependency
|
||||
|
||||
This file catalogs concrete violation patterns the scanner must detect. Patterns are organized by where they live in the repository: source code, infrastructure-as-code, or dependency manifests.
|
||||
|
||||
@@ -33,7 +33,7 @@ subprocess.call(f"git clone {repo_url}", shell=True)
|
||||
AWS_SECRET_KEY = "AKIAIOSFODNN7EXAMPLE"
|
||||
db_password = "p@ssw0rd123"
|
||||
```
|
||||
**Detection**: Entropy analysis + regex (Trivy secret scanner, gitleaks, truffleHog). Scan full Git history, not just current HEAD — secrets in old commits are still exposed.
|
||||
**Detection**: Entropy analysis + regex (Trivy secret scanner, gitleaks, truffleHog). Scan full Git history, not just current HEAD: secrets in old commits are still exposed.
|
||||
|
||||
### Weak cryptography
|
||||
**Controls violated**: A.8.24.
|
||||
@@ -51,7 +51,7 @@ crypto.createHash('md5') // Broken
|
||||
### Missing input validation on PII handlers
|
||||
**Controls violated**: A.8.11 (Data masking), A.5.34 (Privacy and protection of PII).
|
||||
**Pattern**: Functions that accept PII parameters and write them to logs, return them in error messages, or store them unencrypted.
|
||||
**Detection**: Tag-based SAST — annotate PII-handling functions and verify masking/redaction is applied before output sinks (logs, errors, storage).
|
||||
**Detection**: Tag-based SAST: annotate PII-handling functions and verify masking/redaction is applied before output sinks (logs, errors, storage).
|
||||
|
||||
### Insecure deserialization
|
||||
**Controls violated**: A.8.28.
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
---
|
||||
name: loop-design-scan
|
||||
description: Local loop that scans a given area of the Accounted UI against the locked design system (.claude/rules/design.md) for UX friction, visual inconsistency, missing states, motion gaps, and accessibility issues — rendering pages in Chrome — then files GitHub issues for approved findings. Run locally (needs npm run dev + Chrome). Usage: /loop-design-scan <area> (e.g. bookkeeping, invoices, settings).
|
||||
description: Local loop that scans a given area of the Accounted UI against the locked design system (.claude/rules/design.md) for UX friction, visual inconsistency, missing states, motion gaps, and accessibility issues (rendering pages in Chrome), then files GitHub issues for approved findings. Run locally (needs npm run dev + Chrome). Usage: /loop-design-scan <area> (e.g. bookkeeping, invoices, settings).
|
||||
---
|
||||
|
||||
# loop-design-scan
|
||||
|
||||
**Goal:** for one area of the app, surface concrete, design-system-grounded UI/UX improvements and file
|
||||
them as GitHub issues (deduped). This is the GitHub-Issues sibling of the `scout-design` skill (which
|
||||
targets Linear). Read `.claude/loops.md` first. **Runs locally** — it needs to render the UI.
|
||||
targets Linear). Read `.claude/loops.md` first. **Runs locally**: it needs to render the UI.
|
||||
|
||||
## Why local
|
||||
A headless cloud session can't see the UI. This loop starts `npm run dev` and drives Chrome to render
|
||||
@@ -39,12 +39,12 @@ Prefer the **`.claude/workflows/design-scan.js`** workflow: it fans out one agen
|
||||
skeptic agent per finding ("is this a real regression against the locked design system, or a nitpick?").
|
||||
Only findings that survive get filed. Cap **6 findings/run**; log the rest.
|
||||
|
||||
## 5. File issues (deduped — see loops.md)
|
||||
## 5. File issues (deduped: see loops.md)
|
||||
```
|
||||
Title: [design] <area>: <short problem>
|
||||
Labels: loop:auto, loop:design, enhancement
|
||||
Body: what's wrong (with file:line) · which design rule it breaks · concrete before→after · screenshot ref
|
||||
<!-- loop-fingerprint: <area>:<file>:<rule> -->
|
||||
```
|
||||
Dedupe against existing `loop:design` issues before filing. Do not auto-fix UI here — design changes
|
||||
Dedupe against existing `loop:design` issues before filing. Do not auto-fix UI here: design changes
|
||||
want human taste; file the ticket. (If asked to fix, use `/frontend-design` on an approved ticket.)
|
||||
|
||||
@@ -28,10 +28,10 @@ For each issue lacking a type label:
|
||||
- If resolved: comment with the PR/commit link, verify the fix exists in `main`, then close.
|
||||
- Conversely, if a merged PR said `Closes #N` but #N is still open, close it with a pointer.
|
||||
|
||||
## 3. Auto-fix small issues (propose-don't-merge) — cap 2 PRs/run
|
||||
## 3. Auto-fix small issues (propose-don't-merge): cap 2 PRs/run
|
||||
Pick issues that are **small, localized, and low-risk** (a clear bug in one file, a copy/label fix, a
|
||||
missing empty/loading state, a validation gap). **Never** auto-fix anything touching the bookkeeping
|
||||
engine, money math, migrations/triggers, auth, or compliance logic — those get `loop:needs-human`.
|
||||
engine, money math, migrations/triggers, auth, or compliance logic: those get `loop:needs-human`.
|
||||
- Branch `loop/issue-<n>`, minimal fix, run the **[`loop-verify`](../loop-verify/SKILL.md)** gate.
|
||||
- Open PR with body `Closes #<n>` + a one-line summary. Label `loop:auto`, `loop:triage`.
|
||||
- If the fix turns out larger/riskier than expected mid-way, abandon the branch and instead add a
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: loop-pr-ci-triage
|
||||
description: Proactive loop that watches open PRs in erp-mafia/accounted, fixes failing CI, and addresses actionable review-bot / reviewer comments — on the PR branch, never merging. Use on a schedule (cloud routine) or on-demand via /loop-pr-ci-triage. Follows dev_docs/loops.md (propose-don't-merge, dedupe, loop-verify gate).
|
||||
description: Proactive loop that watches open PRs in erp-mafia/accounted, fixes failing CI, and addresses actionable review-bot / reviewer comments, on the PR branch, never merging. Use on a schedule (cloud routine) or on-demand via /loop-pr-ci-triage. Follows dev_docs/loops.md (propose-don't-merge, dedupe, loop-verify gate).
|
||||
---
|
||||
|
||||
# loop-pr-ci-triage
|
||||
@@ -19,7 +19,7 @@ gh pr list --state open --json number,title,isDraft,headRefName,author,reviewDec
|
||||
Skip: drafts; PRs by `contributor:flagged`/`pr:flagged` authors; PRs already labeled `loop:needs-human`.
|
||||
Prioritize (cap **5 PRs/run**, log the rest):
|
||||
1. Failing CI that's a mechanical fix (lint, type error, snapshot, a flaky/needs-rerun check).
|
||||
2. Dependabot bumps failing `core-only` / `pg-real` (there is a live backlog — #730, #639, #638, #637).
|
||||
2. Dependabot bumps failing `core-only` / `pg-real` (there is a live backlog: #730, #639, #638, #637).
|
||||
3. Unresolved actionable review comments (from "The PR Agent", Superagent, or a human).
|
||||
|
||||
## 2. Diagnose each PR
|
||||
@@ -38,7 +38,7 @@ Prioritize (cap **5 PRs/run**, log the rest):
|
||||
|
||||
## 4. Dependabot specifics
|
||||
If a bump breaks the build/tests, the fix is usually a small code adaptation to the new API or a
|
||||
peer-dep pin. If the bump is a **major** version with wide breakage, don't force it — comment with the
|
||||
peer-dep pin. If the bump is a **major** version with wide breakage, don't force it: comment with the
|
||||
breaking changes found and label `loop:needs-human` instead of a risky rewrite.
|
||||
|
||||
## 5. Escalate / anti-thrash
|
||||
|
||||
@@ -10,13 +10,13 @@ obviously-trivial ones have a proposed fix PR. **Never merge.** Read `.claude/lo
|
||||
|
||||
Vercel project `erp-base` (`prj_zOvCFaOMXS166cUY5VYEGHKke00X`, team `team_WPj3QZgcSVRWZKcHJQB3wfv8`).
|
||||
|
||||
> **No error-aggregation service is wired up** (Sentry is NOT used — no `@sentry/*`, no config, despite
|
||||
> **No error-aggregation service is wired up** (Sentry is NOT used: no `@sentry/*`, no config, despite
|
||||
> leftover `SENTRY_*` names in `.env.local`/CLAUDE.md). The only source is **Vercel's own runtime logs /
|
||||
> observability**, which have short retention — this loop sees a *recent window*, not full history.
|
||||
> observability**, which have short retention: this loop sees a *recent window*, not full history.
|
||||
> **Run it LOCALLY** so the Vercel MCP is available; the cloud routine is disabled (see step 1).
|
||||
|
||||
## 1. Fetch errors from Vercel
|
||||
1. **Vercel MCP (primary, local runs):** `mcp__plugin_vercel_vercel__*` — authenticate if needed, then
|
||||
1. **Vercel MCP (primary, local runs):** `mcp__plugin_vercel_vercel__*`: authenticate if needed, then
|
||||
list recent **production** deployments and pull runtime logs / observability / error events. This is
|
||||
the clean path and is only present in a LOCAL session.
|
||||
2. **Vercel API (if a token exists):** with a `VERCEL_TOKEN` (from vercel.com/account/tokens),
|
||||
@@ -25,7 +25,7 @@ Vercel project `erp-base` (`prj_zOvCFaOMXS166cUY5VYEGHKke00X`, team `team_WPj3QZ
|
||||
"https://api.vercel.com/v6/deployments?projectId=prj_zOvCFaOMXS166cUY5VYEGHKke00X&teamId=team_WPj3QZgcSVRWZKcHJQB3wfv8&limit=5&target=production"
|
||||
# then pull runtime logs for the latest prod deployment id
|
||||
```
|
||||
This is the only path that works in a **cloud** routine — and only if `VERCEL_TOKEN` is set as a
|
||||
This is the only path that works in a **cloud** routine, and only if `VERCEL_TOKEN` is set as a
|
||||
secret on the cloud env. `VERCEL_OIDC_TOKEN` in `.env.local` is short-lived and NOT a usable API token.
|
||||
3. **Vercel CLI last resort:** `vercel logs <prod-deployment-url> --json` (v48 here; only a live tail).
|
||||
|
||||
@@ -37,7 +37,7 @@ Cluster raw log lines by **signature**: normalized message + top of stack + rout
|
||||
4xx, aborted requests, health checks). For each cluster capture: signature, first/last seen, count,
|
||||
sample stack, affected route/file.
|
||||
|
||||
## 3. Dedupe (mandatory — see loops.md)
|
||||
## 3. Dedupe (mandatory, see loops.md)
|
||||
Fingerprint = a stable hash of the normalized signature.
|
||||
```bash
|
||||
gh issue list --search "<fingerprint> in:body state:all" --json number,state
|
||||
@@ -52,12 +52,12 @@ Labels: loop:auto, loop:vercel, bug
|
||||
Body:
|
||||
**Signature:** … **Count / window:** … **First/last seen:** …
|
||||
**Route/file:** app/…:line **Sample stack:** (fenced) **Vercel:** <deployment/log link if available>
|
||||
**Likely cause:** <1–2 lines from reading the referenced code>
|
||||
**Likely cause:** <1-2 lines from reading the referenced code>
|
||||
<!-- loop-fingerprint: <hash> -->
|
||||
```
|
||||
Point at the suspected `file:line` by reading the code the stack references.
|
||||
|
||||
## 5. Trivial fix only (propose-don't-merge) — cap 2 PRs/run
|
||||
## 5. Trivial fix only (propose-don't-merge), cap 2 PRs/run
|
||||
Open a `loop/vercel-<hash>` fix PR **only** when the cause is unambiguous and low-risk (missing null
|
||||
guard, unhandled `undefined`, bad env read with an obvious default, a narrow type fix). Anything
|
||||
touching bookkeeping/money/migrations/auth → issue only, label `loop:needs-human`. Every fix passes the
|
||||
|
||||
@@ -3,15 +3,15 @@ name: loop-verify
|
||||
description: The self-verification gate every automated code change must pass before a loop opens a PR. Encodes Accounted's real CI commands (check:lint, vitest, pg-real, check:guards, no-extension-imports) plus the accounting guard rails and i18n sync. Invoke from any loop-* skill after making a fix and before pushing.
|
||||
---
|
||||
|
||||
# loop-verify — verification gate for automated changes
|
||||
# loop-verify: verification gate for automated changes
|
||||
|
||||
Never report a change as done, and never open a PR, based on "the edit applied" alone. Verify it
|
||||
the way our CI would. If any step fails, fix and rerun from the top — do not push partially
|
||||
the way our CI would. If any step fails, fix and rerun from the top: do not push partially
|
||||
verified work.
|
||||
|
||||
## 0. Guard rails first (hard stops — no fix is worth breaking these)
|
||||
## 0. Guard rails first (hard stops, no fix is worth breaking these)
|
||||
Read [Hard Rules](../../../CLAUDE.md#hard-rules). A change is **rejected outright** if it:
|
||||
- edits or deletes a `posted` journal entry (use `reverseEntry`/`correctEntry` — storno, never edit),
|
||||
- edits or deletes a `posted` journal entry (use `reverseEntry`/`correctEntry`, storno, never edit),
|
||||
- makes an entry that doesn't balance, or sets a voucher number manually,
|
||||
- writes to a locked/closed period, or deletes a retained document,
|
||||
- uses `toFixed()` for money (must be `Math.round(x * 100) / 100`), or treats account numbers as numbers (they are strings: `'1930'`).
|
||||
@@ -60,7 +60,7 @@ If you edited an atom `SKILL.md` run `npm run skills:check`; taxonomy inputs →
|
||||
## 5. i18n sync
|
||||
For any new/changed user-facing string, update **both** `messages/en.json` and `messages/sv.json`
|
||||
(mirror the same keys). See [i18n rule](../../rules/i18n.md) for "stays Swedish" surfaces
|
||||
(email/invoices/reports/salary) — those stay Swedish regardless of locale.
|
||||
(email/invoices/reports/salary): those stay Swedish regardless of locale.
|
||||
|
||||
## 6. Verdict
|
||||
- All required steps green → safe to push the `loop/*` branch and open the PR.
|
||||
|
||||
@@ -22,7 +22,7 @@ Creating a high-quality MCP server involves four main phases:
|
||||
#### 1.1 Understand Modern MCP Design
|
||||
|
||||
**API Coverage vs. Workflow Tools:**
|
||||
Balance comprehensive API endpoint coverage with specialized workflow tools. Workflow tools can be more convenient for specific tasks, while comprehensive coverage gives agents flexibility to compose operations. Performance varies by client—some clients benefit from code execution that combines basic tools, while others work better with higher-level workflows. When uncertain, prioritize comprehensive API coverage.
|
||||
Balance comprehensive API endpoint coverage with specialized workflow tools. Workflow tools can be more convenient for specific tasks, while comprehensive coverage gives agents flexibility to compose operations. Performance varies by client: some clients benefit from code execution that combines basic tools, while others work better with higher-level workflows. When uncertain, prioritize comprehensive API coverage.
|
||||
|
||||
**Tool Naming and Discoverability:**
|
||||
Clear, descriptive tool names help agents find the right tools quickly. Use consistent prefixes (e.g., `github_create_issue`, `github_list_repos`) and action-oriented naming.
|
||||
|
||||
@@ -21,7 +21,7 @@ per company.
|
||||
- **Modifier** = a structural attribute (form, ownership, employer status,
|
||||
multi-currency, blandad verksamhet, …).
|
||||
|
||||
A company will typically have **0–1 vertical** and **0–3 modifiers**.
|
||||
A company will typically have **0-1 vertical** and **0-3 modifiers**.
|
||||
|
||||
## Authoring contract
|
||||
|
||||
@@ -47,11 +47,11 @@ version: 1
|
||||
|
||||
## Suggested body sections
|
||||
|
||||
1. **When this applies** — the precise conditions the agent should look for.
|
||||
2. **Implications** — what changes in day-to-day bookkeeping.
|
||||
3. **Regulatory edge cases** — laws that fire because of this modifier.
|
||||
4. **BAS account patterns** — accounts that show up because of it.
|
||||
5. **References** — links to horizontals and into `references/*.md` files.
|
||||
1. **When this applies**: the precise conditions the agent should look for.
|
||||
2. **Implications**: what changes in day-to-day bookkeeping.
|
||||
3. **Regulatory edge cases**: laws that fire because of this modifier.
|
||||
4. **BAS account patterns**: accounts that show up because of it.
|
||||
5. **References**: links to horizontals and into `references/*.md` files.
|
||||
|
||||
## Adding / removing
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ id: modifier/holding-ab
|
||||
tier: modifier
|
||||
title: "Holdingbolag (rena ägar-/förvaltningsbolag)"
|
||||
description: >
|
||||
Modifier for Swedish holding-aktiebolag (typiskt SNI 64.20) — rena ägar-/förvaltningsbolag utan operativ omsättning vars resultat domineras av utdelning, koncernbidrag, ränteintäkter på koncerninterna lån och kapitalvinst på näringsbetingade andelar. Aktivera när AB:t har BAS 1310/1312/1330 dominerande i balansen utan 3xxx-omsättning, eller när transaktionerna rör näringsbetingade andelar (IL 24 kap 32–42 §§), koncernbidrag (IL 35 kap), ränteavdragsbegränsning (IL 24 kap 16–29 §§), aktieägartillskott, skalbolag, kupongskatt, holdingbolags momsavdrag eller kvalificerade andelar 3:12. Trigga även utan "holding-AB"-formuleringen: moderbolag, dotterbolag, koncern, förvärvsbolag, M&A-moms, reavinst på dotterbolagsförsäljning eller utdelning från dotter indikerar att modifern ska laddas. Påverkas av HFD 2023 ref. 41 (Volvo), HFD 2024 ref. 18 (Lamiflex), prop. 2025/26:20 (ränteavdrag) och SFS 2025:1361 (3:12).
|
||||
Modifier for Swedish holding-aktiebolag (typiskt SNI 64.20): rena ägar-/förvaltningsbolag utan operativ omsättning vars resultat domineras av utdelning, koncernbidrag, ränteintäkter på koncerninterna lån och kapitalvinst på näringsbetingade andelar. Aktivera när AB:t har BAS 1310/1312/1330 dominerande i balansen utan 3xxx-omsättning, eller när transaktionerna rör näringsbetingade andelar (IL 24 kap 32-42 §§), koncernbidrag (IL 35 kap), ränteavdragsbegränsning (IL 24 kap 16-29 §§), aktieägartillskott, skalbolag, kupongskatt, holdingbolags momsavdrag eller kvalificerade andelar 3:12. Trigga även utan "holding-AB"-formuleringen: moderbolag, dotterbolag, koncern, förvärvsbolag, M&A-moms, reavinst på dotterbolagsförsäljning eller utdelning från dotter indikerar att modifern ska laddas. Påverkas av HFD 2023 ref. 41 (Volvo), HFD 2024 ref. 18 (Lamiflex), prop. 2025/26:20 (ränteavdrag) och SFS 2025:1361 (3:12).
|
||||
sni_prefixes: ["64.20"]
|
||||
trigger_signals:
|
||||
ownership: "holding_structure"
|
||||
@@ -36,21 +36,21 @@ estimated_tokens: 11000
|
||||
version: 1
|
||||
---
|
||||
|
||||
# Holding-AB (SNI 64.20) — vertikalskill
|
||||
# Holding-AB (SNI 64.20): vertikalskill
|
||||
|
||||
## 1. När denna skill används
|
||||
|
||||
Aktivera när bolaget saknar operativ omsättning (3xxx ≈ 0) och resultatet drivs av 80xx-poster (utdelning från dotter, koncernbidrag, reavinst på andelar, ränta från koncernföretag). Typiskt: enmans-/familjeägt holding över ett eller flera operativa dotterbolag, PE-portföljbolag, eller styrnod i koncerntopp. **Avgränsa mot:** rent investmentföretag (IL 39 kap, kapitalförvaltning för fysiska delägare via värdepappersportfölj — SNI 64.30/64.99, ej koncernbidragsberättigat enligt 35 kap 3 § p. 1); operativt moderbolag med egen omsättning och central stab (faktiska 3xxx-intäkter — fallet faller i branschskill för operativ verksamhet, denna skill används sekundärt för koncernkonton). Skatterättsligt finns ingen särkategori "holding-AB" — alla regler nedan är allmänna AB-regler som i praktiken nästan uteslutande aktualiseras för holdingstrukturer.
|
||||
Aktivera när bolaget saknar operativ omsättning (3xxx ≈ 0) och resultatet drivs av 80xx-poster (utdelning från dotter, koncernbidrag, reavinst på andelar, ränta från koncernföretag). Typiskt: enmans-/familjeägt holding över ett eller flera operativa dotterbolag, PE-portföljbolag, eller styrnod i koncerntopp. **Avgränsa mot:** rent investmentföretag (IL 39 kap, kapitalförvaltning för fysiska delägare via värdepappersportfölj, SNI 64.30/64.99, ej koncernbidragsberättigat enligt 35 kap 3 § p. 1); operativt moderbolag med egen omsättning och central stab (faktiska 3xxx-intäkter, fallet faller i branschskill för operativ verksamhet, denna skill används sekundärt för koncernkonton). Skatterättsligt finns ingen särkategori "holding-AB": alla regler nedan är allmänna AB-regler som i praktiken nästan uteslutande aktualiseras för holdingstrukturer.
|
||||
|
||||
## 2. Typiska arbetsflöden
|
||||
|
||||
**Fakturering:** oftast ingen. Om aktiv förvaltning: månads-/kvartalsvis management fee till dotterbolag (25 % moms, konto 3740 eller motsv. omsättningskonto, motkonto 1510 mot dotter). **Värden måste vara armlängdsmässiga (IL 14 kap 19 §) och tjänsterna faktiskt utförda** — proforma management fee underkänns för både moms (HFD 2024 ref. 34 II) och inkomstskatt. Hyresfakturor om holdingen äger driftsfastighet och hyr ut till dotter (Marle Participations C-320/17 ger momsavdragsrätt).
|
||||
**Fakturering:** oftast ingen. Om aktiv förvaltning: månads-/kvartalsvis management fee till dotterbolag (25 % moms, konto 3740 eller motsv. omsättningskonto, motkonto 1510 mot dotter). **Värden måste vara armlängdsmässiga (IL 14 kap 19 §) och tjänsterna faktiskt utförda**: proforma management fee underkänns för både moms (HFD 2024 ref. 34 II) och inkomstskatt. Hyresfakturor om holdingen äger driftsfastighet och hyr ut till dotter (Marle Participations C-320/17 ger momsavdragsrätt).
|
||||
|
||||
**Kostnadsrytm:** revisorsarvode (årligen), redovisningsbyrå (löpande), juridisk rådgivning (oregelbundet), M&A-kostnader vid förvärv/avyttring (klumpsummor), finansiella kostnader på förvärvslån (löpande). M&A-moms är momsskillens kärnfråga (sektion 4a).
|
||||
|
||||
**Avstämning:** månadsvis avstämning av koncerninterna mellanhavanden (1660–1662 ↔ 2860–2862; 1320 ↔ motpartens 2353; 8260/8462 ↔ motpartens räntepost). Kvartalsvis upprättande av underlag för koncernredovisning om sådan ska upprättas (mindre koncern undantagen — ÅRL 7 kap 3 §, gränsvärden 50 anställda / 40 MSEK balansomslutning / 80 MSEK nettoomsättning per 2026, oförändrade trots SOU 2023:34). Årlig nedskrivningsprövning av andelar (ÅRL 4 kap 5 §; K3 27.3–27.13 indikatorbedömning; K2 19.8 schablon "lägsta av 25 000 kr eller 10 % av EK").
|
||||
**Avstämning:** månadsvis avstämning av koncerninterna mellanhavanden (1660-1662 ↔ 2860-2862; 1320 ↔ motpartens 2353; 8260/8462 ↔ motpartens räntepost). Kvartalsvis upprättande av underlag för koncernredovisning om sådan ska upprättas (mindre koncern undantagen, ÅRL 7 kap 3 §, gränsvärden 50 anställda / 40 MSEK balansomslutning / 80 MSEK nettoomsättning per 2026, oförändrade trots SOU 2023:34). Årlig nedskrivningsprövning av andelar (ÅRL 4 kap 5 §; K3 27.3-27.13 indikatorbedömning; K2 19.8 schablon "lägsta av 25 000 kr eller 10 % av EK").
|
||||
|
||||
**Lön:** typiskt ingen löpande lön. Styrelsearvode bokförs på 7240/7510. Om ägaren tar lön via holdingen för att uppnå **löneuttagskrav slopas dock från 2026** (IL 57 kap 19 § upphävd via SFS 2025:1361) — strategin "lön i holding för 3:12-utrymme" är delvis överspelad; löneunderlaget från dotterbolagens anställda räknas in i moderbolagets gränsbelopp (57 kap 16 §, civilrättslig dotterföretagsdefinition).
|
||||
**Lön:** typiskt ingen löpande lön. Styrelsearvode bokförs på 7240/7510. Om ägaren tar lön via holdingen för att uppnå **löneuttagskrav slopas dock från 2026** (IL 57 kap 19 § upphävd via SFS 2025:1361): strategin "lön i holding för 3:12-utrymme" är delvis överspelad; löneunderlaget från dotterbolagens anställda räknas in i moderbolagets gränsbelopp (57 kap 16 §, civilrättslig dotterföretagsdefinition).
|
||||
|
||||
## 3. BAS 2025-konton för holding-AB
|
||||
|
||||
@@ -63,7 +63,7 @@ Verifierat mot bas.se/kontoplaner/bas-2025. Ingen ändring i koncern-/holding-re
|
||||
| **1314** | Aktier i onoterade utländska koncernföretag | Onoterat utländskt dotter (LP, GmbH, Ltd). |
|
||||
| **1318** | Ackumulerade nedskrivningar av andelar i koncernföretag | Krediteras vid bestående värdenedgång; ackumulerat mot 1310-serien. |
|
||||
| **1320** | Långfristiga fordringar hos koncernföretag | Reverslån till dotter > 12 mån (cash pool, förvärvsfinansiering). |
|
||||
| **1330** | Andelar i intresseföretag, gemensamt styrda företag och övriga företag som det finns ett ägarintresse i | 20–50 % ägande utan koncernrelation. |
|
||||
| **1330** | Andelar i intresseföretag, gemensamt styrda företag och övriga företag som det finns ett ägarintresse i | 20-50 % ägande utan koncernrelation. |
|
||||
| **1336** | Andelar i övriga företag som det finns ett ägarintresse i | < 20 % strategiskt ägande (ej ren finansiell placering). |
|
||||
| **1338** | Ackumulerade nedskrivningar av andelar i intresseföretag … | Nedskrivningskonto 1330-gruppen. |
|
||||
| **1350** | Andelar och värdepapper i andra företag | Långsiktig portfölj utan ägarintresse (passiv placering). |
|
||||
@@ -80,54 +80,54 @@ Verifierat mot bas.se/kontoplaner/bas-2025. Ingen ändring i koncern-/holding-re
|
||||
| **8070 / 8072** | Nedskrivningar av andelar i och långfristiga fordringar hos koncernföretag / dotterföretag | **Bokföringsmässigt avdragsgill, skattemässigt ej** för andelar (skattemässig justering i INK2 ruta 4.7 b). |
|
||||
| **8080 / 8082** | Återföringar av nedskrivningar … / dotterföretag | Reversering enl. ÅRL 4 kap 5 § 3 st / K3 27.13. |
|
||||
| **8260 / 8262** | Ränteintäkter från långfristiga fordringar hos koncernföretag / dotterföretag | Ränta på 1320-reverser. Måste vara armlängdsmässig (IL 14 kap 19 §). |
|
||||
| **8460 / 8462** | Räntekostnader till koncernföretag / dotterföretag | Speglar motpartens 8260/8262. **Avdragsrätt prövas mot IL 24 kap 18–19 §§ + 21–29 §§.** |
|
||||
| **8460 / 8462** | Räntekostnader till koncernföretag / dotterföretag | Speglar motpartens 8260/8262. **Avdragsrätt prövas mot IL 24 kap 18-19 §§ + 21-29 §§.** |
|
||||
| **8820** | Erhållna koncernbidrag | Krediteras mot 1662/likvida i mottagande bolag. Bokslutsdisposition. |
|
||||
| **8830** | Lämnade koncernbidrag | Debiteras mot 2860/likvida i givande bolag. Bokslutsdisposition. |
|
||||
| **2091** | Balanserad vinst eller förlust | Ackumulerade utdelningsbara medel — typiskt stor post i etablerad holding. |
|
||||
| **2091** | Balanserad vinst eller förlust | Ackumulerade utdelningsbara medel, typiskt stor post i etablerad holding. |
|
||||
| **2098** | Vinst eller förlust från föregående år | Föregående års resultat före stämmobeslut. |
|
||||
|
||||
**Vanliga BAS-felval i holding-AB** (sett i Fortnox/Visma/Bokio-data): 8423 används felaktigt för "ränta till koncern" — det är ränta på skattekontot; korrekt är **8460/8462**. 8077 används felaktigt som "återföring nedskrivning" — det är *nedskrivning av lån till dotter*; återföring av nedskrivning av aktier i dotter är **8082**. 1380 används felaktigt för "långfristiga värdepappersinnehav" — det är **1350** (1380 = övriga långfristiga fordringar).
|
||||
**Vanliga BAS-felval i holding-AB** (sett i Fortnox/Visma/Bokio-data): 8423 används felaktigt för "ränta till koncern": det är ränta på skattekontot; korrekt är **8460/8462**. 8077 används felaktigt som "återföring nedskrivning": det är *nedskrivning av lån till dotter*; återföring av nedskrivning av aktier i dotter är **8082**. 1380 används felaktigt för "långfristiga värdepappersinnehav": det är **1350** (1380 = övriga långfristiga fordringar).
|
||||
|
||||
## 4. Reglerande särfall — högsta värdedensiteten
|
||||
## 4. Reglerande särfall: högsta värdedensiteten
|
||||
|
||||
### 4a. Moms — när är holdingbolaget skattskyldigt?
|
||||
### 4a. Moms: när är holdingbolaget skattskyldigt?
|
||||
|
||||
**Lagrum:** ML (2023:200), ikraft 2023-07-01 (ersätter ML 1994:200). Materiella regler oförändrade för holdingbolag. **4 kap 2 § ML** definierar beskattningsbar person (motsv. art. 9.1 momsdirektivet). **13 kap 6 § ML** reglerar avdrag (motsv. art. 168). **4 kap 7–14 §§ ML** reglerar mervärdesskattegrupp (motsv. gamla 6 a kap ML 1994:200).
|
||||
**Lagrum:** ML (2023:200), ikraft 2023-07-01 (ersätter ML 1994:200). Materiella regler oförändrade för holdingbolag. **4 kap 2 § ML** definierar beskattningsbar person (motsv. art. 9.1 momsdirektivet). **13 kap 6 § ML** reglerar avdrag (motsv. art. 168). **4 kap 7-14 §§ ML** reglerar mervärdesskattegrupp (motsv. gamla 6 a kap ML 1994:200).
|
||||
|
||||
**Tre lägen:**
|
||||
|
||||
| Profil | Status | Avdragsrätt |
|
||||
|---|---|---|
|
||||
| Passivt holding — enbart andelsinnehav, ingen fakturering till dotter | Ej beskattningsbar person (C-60/90 Polysar; C-28/16 MVM; HFD 2024 ref. 34 II) | **Noll.** Ingående moms bokförs som kostnad (inkl. moms på 6420 Revisor, 6530 Juridik, M&A-kostnader). |
|
||||
| Aktivt holding — fortlöpande momspliktig management fee, hyresupplåtelse, IT/HR/ekonomi-tjänster mot ersättning till dotter (eller dotterdotter — HFD 2024 ref. 18 Lamiflex) | Beskattningsbar person (C-142/99 Floridienne; C-320/17 Marle) | **Full**, även på M&A-kostnader och försäljningskostnader om de inte övervältras på köparen (HFD 2023 ref. 41 Volvo AB; C-16/00 Cibo). |
|
||||
| Blandat — vissa dotter aktiva, andra passiva, eller även PE-investeringsverksamhet | Delvis beskattningsbar | **Proportionell efter skälig grund** (Sonaecom C-42/19 p. 47; KRNG mål 5919-5220-23 efter återförvisning HFD 2023 ref. 41). |
|
||||
| Passivt holding: enbart andelsinnehav, ingen fakturering till dotter | Ej beskattningsbar person (C-60/90 Polysar; C-28/16 MVM; HFD 2024 ref. 34 II) | **Noll.** Ingående moms bokförs som kostnad (inkl. moms på 6420 Revisor, 6530 Juridik, M&A-kostnader). |
|
||||
| Aktivt holding: fortlöpande momspliktig management fee, hyresupplåtelse, IT/HR/ekonomi-tjänster mot ersättning till dotter (eller dotterdotter, HFD 2024 ref. 18 Lamiflex) | Beskattningsbar person (C-142/99 Floridienne; C-320/17 Marle) | **Full**, även på M&A-kostnader och försäljningskostnader om de inte övervältras på köparen (HFD 2023 ref. 41 Volvo AB; C-16/00 Cibo). |
|
||||
| Blandat: vissa dotter aktiva, andra passiva, eller även PE-investeringsverksamhet | Delvis beskattningsbar | **Proportionell efter skälig grund** (Sonaecom C-42/19 p. 47; KRNG mål 5919-5220-23 efter återförvisning HFD 2023 ref. 41). |
|
||||
|
||||
**M&A-kostnader vid förvärv:** avdragsrätt förutsätter **avsikt vid förvärvstillfället** att aktivt förvalta målbolaget (C-16/00 Cibo; HFD 2024 ref. 18). Avbrutet förvärv: avdrag kvarstår om avsikt styrkt (Ryanair C-249/17; Sonaecom C-42/19) men **faktisk skattefri användning av kapitalet (t.ex. lån vidare till koncern) går före ursprunglig avsikt** (Sonaecom p. 53–69).
|
||||
**M&A-kostnader vid förvärv:** avdragsrätt förutsätter **avsikt vid förvärvstillfället** att aktivt förvalta målbolaget (C-16/00 Cibo; HFD 2024 ref. 18). Avbrutet förvärv: avdrag kvarstår om avsikt styrkt (Ryanair C-249/17; Sonaecom C-42/19) men **faktisk skattefri användning av kapitalet (t.ex. lån vidare till koncern) går före ursprunglig avsikt** (Sonaecom p. 53-69).
|
||||
|
||||
**Försäljningskostnader vid avyttring av dotter:** undantagen finansiell tjänst enl. 10 kap 33 § ML. Direkt hänförliga kostnader ej avdragsgilla (C-4/94 BLP). Men: HFD 2023 ref. 41 fastslår att kostnader vid avyttring är **allmänna omkostnader** med full avdragsrätt om syftet är att effektivisera kvarvarande verksamhet och kostnaderna inte övervältras på köparen.
|
||||
|
||||
**Mervärdesskattegrupp (4 kap 7–14 §§ ML):** kräver (a) endast deltagare under FI-tillsyn med finansiella/försäkringsundantagna tjänster eller kommissionärsförhållande (4 kap 8 §); (b) svenskt fast etableringsställe (4 kap 9 §; jfr Skandia C-7/13, Danske Bank C-812/19); (c) alla tre samband — finansiellt + ekonomiskt + organisatoriskt (4 kap 10 §). **Passivt holding kan inte ingå** (är ej beskattningsbar person). Sällsynt utanför bank/försäkring.
|
||||
**Mervärdesskattegrupp (4 kap 7-14 §§ ML):** kräver (a) endast deltagare under FI-tillsyn med finansiella/försäkringsundantagna tjänster eller kommissionärsförhållande (4 kap 8 §); (b) svenskt fast etableringsställe (4 kap 9 §; jfr Skandia C-7/13, Danske Bank C-812/19); (c) alla tre samband: finansiellt + ekonomiskt + organisatoriskt (4 kap 10 §). **Passivt holding kan inte ingå** (är ej beskattningsbar person). Sällsynt utanför bank/försäkring.
|
||||
|
||||
**Management fee-prissättning:** efter **C-808/23 Högkullen (3 juli 2025)** och **HFD 2026-01-27 mål 3217-21** kan Skatteverket inte schablonmässigt omvärdera management fee till självkostnadsbas. Koncerninterna förvaltningstjänster är **inte ett enda odelbart tillhandahållande**; marknadsvärde ska bestämmas per tjänst med jämförbar marknadstransaktion som första metod (8 kap ML; art. 80 momsdirektivet). Skatteverkets ställningstagande 190430 (dnr 202 195456-19/111) om självkostnadsmetod är överspelat i sin schablonmässiga del. Sexåriga omprövningsbara perioder bör granskas.
|
||||
|
||||
**Skatteverket Rättslig vägledning:** "Holdingbolag – avdragsrätt för mervärdesskatt" (dnr 202 377677-17/111, uppdaterad 2024-03-21 efter HFD 2024 ref. 18) — `skatteverket.se/rattsligvagledning/365766.html`.
|
||||
**Skatteverket Rättslig vägledning:** "Holdingbolag: avdragsrätt för mervärdesskatt" (dnr 202 377677-17/111, uppdaterad 2024-03-21 efter HFD 2024 ref. 18): `skatteverket.se/rattsligvagledning/365766.html`.
|
||||
|
||||
### 4b. Bokföring — andelsvärdering, tillskott, koncernbidrag
|
||||
### 4b. Bokföring: andelsvärdering, tillskott, koncernbidrag
|
||||
|
||||
**Andelar i koncern/intresse — anskaffningsvärdemetoden:** ÅRL 4 kap 3 § + K2 BFNAR 2016:10 kap 11, 19 / K3 BFNAR 2012:1 kap 11. **Kapitalandelsmetoden får inte användas i juridisk person under K3** (endast i koncernredovisning, K3 14.3–14.5). Under K2 är kostnadsmetoden enda alternativet.
|
||||
**Andelar i koncern/intresse, anskaffningsvärdemetoden:** ÅRL 4 kap 3 § + K2 BFNAR 2016:10 kap 11, 19 / K3 BFNAR 2012:1 kap 11. **Kapitalandelsmetoden får inte användas i juridisk person under K3** (endast i koncernredovisning, K3 14.3-14.5). Under K2 är kostnadsmetoden enda alternativet.
|
||||
|
||||
**Nedskrivning:**
|
||||
- **K2 (19.8):** schablonregel — nedskrivning krävs om värdet understiger redovisat värde med mer än det lägsta av **25 000 kr eller 10 % av eget kapital vid årets ingång**. Värde noll → alltid ned till noll.
|
||||
- **K2 (19.8):** schablonregel: nedskrivning krävs om värdet understiger redovisat värde med mer än det lägsta av **25 000 kr eller 10 % av eget kapital vid årets ingång**. Värde noll → alltid ned till noll.
|
||||
- **K3 (kap 27):** **återvinningsvärde = max(nyttjandevärde, verkligt värde − försäljningskostnader)**. Nedskrivning till återvinningsvärde när detta understiger redovisat värde. Reversering tillåten (27.13), utom för goodwill.
|
||||
- ÅRL 4 kap 5 § 2 st: finansiell anläggningstillgång *får* skrivas ned till lägre värde på balansdagen även om värdenedgången inte är bestående (lägsta värdets princip).
|
||||
- **Skatterättsligt:** nedskrivning av andelar är **ej avdragsgill** om andelarna är näringsbetingade (justeras i INK2 ruta 4.7 b "Bokförda kostnader som ej ska dras av"). Återföring av sådan nedskrivning är **ej skattepliktig** (4.5 b).
|
||||
|
||||
**Aktieägartillskott — ovillkorat:**
|
||||
- **Givaren:** D 1310/1312 (ökar anskaffningsvärdet på andelarna — K2 19.5; K3 11.10–11.12) / K likvida eller 2860. Skattemässigt: ökar omkostnadsbeloppet vid framtida avyttring (44 kap 14 § IL).
|
||||
**Aktieägartillskott, ovillkorat:**
|
||||
- **Givaren:** D 1310/1312 (ökar anskaffningsvärdet på andelarna, K2 19.5; K3 11.10-11.12) / K likvida eller 2860. Skattemässigt: ökar omkostnadsbeloppet vid framtida avyttring (44 kap 14 § IL).
|
||||
- **Mottagaren:** D likvida / K **2093 Erhållna aktieägartillskott** (fritt eget kapital). Skattefritt.
|
||||
- Återbetalning = vinstutdelning (kräver utdelningsbara medel, ABL 17–18 kap; utdelningsbeskattas hos ägaren).
|
||||
- Återbetalning = vinstutdelning (kräver utdelningsbara medel, ABL 17-18 kap; utdelningsbeskattas hos ägaren).
|
||||
|
||||
**Aktieägartillskott — villkorat:**
|
||||
**Aktieägartillskott, villkorat:**
|
||||
- **Givaren:** D 1380 (fordran, inte ökning av andelsvärde) / K likvida. Förlust avdragsgill om verklig och definitiv (RÅ 2008 ref. 24), inte fångad av aktiefållan i 48 kap 26 § IL.
|
||||
- **Mottagaren:** identiskt med ovillkorat (K 2093).
|
||||
- Återbetalning skattefri hos givaren intill omkostnadsbeloppet (RÅ 1988 ref. 65; RÅ 2009 ref. 41).
|
||||
@@ -135,91 +135,91 @@ Verifierat mot bas.se/kontoplaner/bas-2025. Ingen ändring i koncern-/holding-re
|
||||
- **NY REGEL från räkenskapsår 2026:** Utfästelse om tillskott måste lämnas **senast på balansdagen** för att tillskottet ska redovisas på det året (BFN beslut 2025-06-16; tidigare regel om utfästelse mellan balansdag och årsredovisningens upprättande borttagen).
|
||||
- BFN U 97:2 är **upphävt** och inarbetat i K2/K3.
|
||||
|
||||
**Koncernbidrag — redovisning:**
|
||||
**Koncernbidrag, redovisning:**
|
||||
- **Givare:** D 8830 Lämnade koncernbidrag / K 2860 alt. likvida.
|
||||
- **Mottagare:** D 1660/1662 alt. likvida / K 8820 Erhållna koncernbidrag.
|
||||
- Klassificeras som **bokslutsdisposition** i RR (under finansiella poster, efter resultat efter finansiella poster). Alternativ redovisning direkt mot fritt eget kapital är tillåten enligt RFR 2 för noterade men i icke-noterad K3-miljö är 8820/8830 standard. K2 har enbart bokslutsdispositionsalternativet.
|
||||
- **Civilrättsligt krav:** koncernbidrag = värdeöverföring enl. ABL 17 kap 1 § + 3 § (beloppsspärr + försiktighetsregel). Kräver formellt beslut (oftast bolagsstämma); styrelseyttrande enl. ABL 18 kap 4 § är obligatoriskt och kan inte avtalas bort (NJA 2015 s. 359; HD T 5171-23, 2024).
|
||||
|
||||
**Koncernredovisning ÅRL 7 kap:** mindre koncerner undantagna (7 kap 3 §). **Gränsvärden 2026 (oförändrade): 50 anställda / 40 MSEK balansomslutning / 80 MSEK nettoomsättning** — koncern är "större" om mer än ett av villkoren uppfyllts två räkenskapsår i följd. Interna fordringar/skulder elimineras vid mätning. Subkoncern: 7 kap 2 § ger undantag om EES-moder upprättar konsoliderad redovisning enligt direktiv 2013/34/EU. **K2 förbjuder koncernredovisning** (BFNAR 2016:10 p. 1.1) — holding som är moder i större koncern måste tillämpa K3.
|
||||
**Koncernredovisning ÅRL 7 kap:** mindre koncerner undantagna (7 kap 3 §). **Gränsvärden 2026 (oförändrade): 50 anställda / 40 MSEK balansomslutning / 80 MSEK nettoomsättning**: koncern är "större" om mer än ett av villkoren uppfyllts två räkenskapsår i följd. Interna fordringar/skulder elimineras vid mätning. Subkoncern: 7 kap 2 § ger undantag om EES-moder upprättar konsoliderad redovisning enligt direktiv 2013/34/EU. **K2 förbjuder koncernredovisning** (BFNAR 2016:10 p. 1.1): holding som är moder i större koncern måste tillämpa K3.
|
||||
|
||||
**Kapitalförsäkring i holding-AB:** FAR RedR 9. Anskaffningsvärdesmetoden — premier bokförs som finansiell anläggningstillgång (1385); löpande värdestegring redovisas inte. Uttag intäktsförs som finansiell intäkt (8350 alt.). Avkastningsskatt enl. AvPL (skattepliktig i bolaget, ej moms). **NY REGEL 2026:** särskild löneskatt på pensionsåtagande säkerställt av KF beräknas på KF:s marknadsvärde om detta överstiger åtagandets redovisade värde (K2 16.17, K3 28.12A — BFN-ändring 2025-06-16).
|
||||
**Kapitalförsäkring i holding-AB:** FAR RedR 9. Anskaffningsvärdesmetoden: premier bokförs som finansiell anläggningstillgång (1385); löpande värdestegring redovisas inte. Uttag intäktsförs som finansiell intäkt (8350 alt.). Avkastningsskatt enl. AvPL (skattepliktig i bolaget, ej moms). **NY REGEL 2026:** särskild löneskatt på pensionsåtagande säkerställt av KF beräknas på KF:s marknadsvärde om detta överstiger åtagandets redovisade värde (K2 16.17, K3 28.12A, BFN-ändring 2025-06-16).
|
||||
|
||||
### 4c. Inkomstskatt — kärnan av denna skill
|
||||
### 4c. Inkomstskatt: kärnan av denna skill
|
||||
|
||||
**Näringsbetingade andelar — IL 24 kap 32–42 §§** (SFS 2003:224 ikraft 2003-07-01; numrering ändrad SFS 2018:1206 ikraft 2019-01-01):
|
||||
- **24 kap 32 § IL** — Definition: andel i AB/ek.för. ägd av svenskt AB som ej är investmentföretag, motsvarande EES-bolag, m.fl.
|
||||
- **24 kap 33 § IL** — Villkor (kapitaltillgång + ett av): (a) **onoterad andel** automatiskt näringsbetingad (inget röst-/innehavskrav); (b) marknadsnoterad andel kräver **≥ 10 % av rösterna**; (c) andel betingad av rörelse hos ägaren eller närstående företag.
|
||||
- **24 kap 35 § IL** — Utdelning på näringsbetingad andel tas inte upp till beskattning.
|
||||
- **24 kap 40 § IL** — Marknadsnoterad andel måste ha innehafts **≥ 1 år** vid utdelnings-/avyttringstillfället. Onoterad har inget innehavskrav.
|
||||
**Näringsbetingade andelar, IL 24 kap 32-42 §§** (SFS 2003:224 ikraft 2003-07-01; numrering ändrad SFS 2018:1206 ikraft 2019-01-01):
|
||||
- **24 kap 32 § IL**, Definition: andel i AB/ek.för. ägd av svenskt AB som ej är investmentföretag, motsvarande EES-bolag, m.fl.
|
||||
- **24 kap 33 § IL**, Villkor (kapitaltillgång + ett av): (a) **onoterad andel** automatiskt näringsbetingad (inget röst-/innehavskrav); (b) marknadsnoterad andel kräver **≥ 10 % av rösterna**; (c) andel betingad av rörelse hos ägaren eller närstående företag.
|
||||
- **24 kap 35 § IL**: Utdelning på näringsbetingad andel tas inte upp till beskattning.
|
||||
- **24 kap 40 § IL**: Marknadsnoterad andel måste ha innehafts **≥ 1 år** vid utdelnings-/avyttringstillfället. Onoterad har inget innehavskrav.
|
||||
|
||||
**Kapitalvinst — IL 25 a kap:**
|
||||
- **25 a kap 5 § IL** — Kapitalvinst på näringsbetingad andel tas inte upp; **kapitalförlust är aldrig avdragsgill** (med smala undantag i 5 § 2 st).
|
||||
- **25 a kap 19 § IL** — Avdragsförbud för förlust på tillgång vars underliggande tillgång är näringsbetingad andel. **HFD 2023 ref. 1**: gäller inte kapitalförlust på köpeskillingsrevers som uppkommit vid tidigare avyttring av näringsbetingade andelar (fordringen är inte själv underliggande näringsbetingad andel).
|
||||
**Kapitalvinst, IL 25 a kap:**
|
||||
- **25 a kap 5 § IL**: Kapitalvinst på näringsbetingad andel tas inte upp; **kapitalförlust är aldrig avdragsgill** (med smala undantag i 5 § 2 st).
|
||||
- **25 a kap 19 § IL**: Avdragsförbud för förlust på tillgång vars underliggande tillgång är näringsbetingad andel. **HFD 2023 ref. 1**: gäller inte kapitalförlust på köpeskillingsrevers som uppkommit vid tidigare avyttring av näringsbetingade andelar (fordringen är inte själv underliggande näringsbetingad andel).
|
||||
|
||||
**Skalbolagsregler — IL 25 a kap 9–18 §§ + SFL 27 kap 2 §:**
|
||||
- **25 a kap 9 §** — Vid avyttring av andel i skalbolag (eller återköp enl. 18 §) bortfaller skattefriheten — hela ersättningen tas upp som kapitalvinst.
|
||||
**Skalbolagsregler, IL 25 a kap 9-18 §§ + SFL 27 kap 2 §:**
|
||||
- **25 a kap 9 §**: Vid avyttring av andel i skalbolag (eller återköp enl. 18 §) bortfaller skattefriheten: hela ersättningen tas upp som kapitalvinst.
|
||||
- Skalbolagsdefinition: marknadsvärdet av likvida tillgångar > **jämförelsebeloppet** (halva ersättningen vid avyttring av samtliga andelar).
|
||||
- **25 a kap 12 § "ventilen"** — undantag om väsentligt inflytande inte går över eller särskilda skäl föreligger (skatten betalas, koncernbidragsrätt köpare/säljare).
|
||||
- **25 a kap 12 § "ventilen"**: undantag om väsentligt inflytande inte går över eller särskilda skäl föreligger (skatten betalas, koncernbidragsrätt köpare/säljare).
|
||||
- **Skalbolagsdeklaration:** inom **60 dagar** från avyttring (SFL 27 kap 4 §); säkerhet för slutlig skatt kan krävas.
|
||||
|
||||
**Koncernbidrag — IL 35 kap:**
|
||||
- **35 kap 1 § IL** — Avdrag hos givare, intäkt hos mottagare; **värdeöverföring senast på inkomstdeklarationsdagen** (kodifierat SFS 2016:1239 ikraft 2017-01-01).
|
||||
- **35 kap 2 § IL** — Moderföretag = svenskt AB/ek.för./sparbank/öms.försäkr./skattepliktig stiftelse-ideell förening som äger **> 90 %** av dotter.
|
||||
- **35 kap 2 a § IL** — EES-bolag som motsvarar svenskt jämställs om skattskyldigt i Sverige för verksamheten (svensk filial).
|
||||
- **35 kap 3 § IL** — Förutsättningar: ej privatbostadsföretag/investmentföretag; öppen redovisning; **dotter helägt under hela båda bolagens beskattningsår** (eller sedan verksamhet inleddes); mottagare ej hemvist utanför Sverige enligt skatteavtal; vid DF→MF: utdelning från DF får inte vara skattepliktig hos MF.
|
||||
- **35 kap 4–6 §§** — Slussning mellan systerbolag via MF; fusionsregel.
|
||||
**Koncernbidrag, IL 35 kap:**
|
||||
- **35 kap 1 § IL**: Avdrag hos givare, intäkt hos mottagare; **värdeöverföring senast på inkomstdeklarationsdagen** (kodifierat SFS 2016:1239 ikraft 2017-01-01).
|
||||
- **35 kap 2 § IL**: Moderföretag = svenskt AB/ek.för./sparbank/öms.försäkr./skattepliktig stiftelse-ideell förening som äger **> 90 %** av dotter.
|
||||
- **35 kap 2 a § IL**: EES-bolag som motsvarar svenskt jämställs om skattskyldigt i Sverige för verksamheten (svensk filial).
|
||||
- **35 kap 3 § IL**, Förutsättningar: ej privatbostadsföretag/investmentföretag; öppen redovisning; **dotter helägt under hela båda bolagens beskattningsår** (eller sedan verksamhet inleddes); mottagare ej hemvist utanför Sverige enligt skatteavtal; vid DF→MF: utdelning från DF får inte vara skattepliktig hos MF.
|
||||
- **35 kap 4-6 §§**: Slussning mellan systerbolag via MF; fusionsregel.
|
||||
- **Civilrättslig grund:** ABL 17 kap 1 § + 3 § (beloppsspärr + försiktighetsregel); ABL 18 kap 4 § styrelseyttrande obligatoriskt (NJA 2015 s. 359; HD T 5171-23, 2024).
|
||||
|
||||
**Ränteavdragsbegränsning — IL 24 kap (SFS 2018:1206, ikraft 2019-01-01):**
|
||||
**Ränteavdragsbegränsning, IL 24 kap (SFS 2018:1206, ikraft 2019-01-01):**
|
||||
|
||||
Generell EBITDA-regel:
|
||||
- **24 kap 21 § IL** — Tillämpningsområde: jur. pers. och svenska HB (HB med enbart fysiska ägare undantagna).
|
||||
- **24 kap 23 § IL** — Negativt räntenetto = avdragsgilla ränteutgifter − skattepliktiga ränteinkomster.
|
||||
- **24 kap 24 § IL** — **30 % av avdragsunderlag** (resultat före ränta, skatt, av- och nedskrivningar = "skattemässigt EBITDA"). Förenklingsregel 3 st: **5 MSEK** av negativt räntenetto får alltid dras av (per intressegemenskap; vid tillämpning får inget kvarstående räntenetto sparas).
|
||||
- **24 kap 26 § IL** — Carry forward **6 år**.
|
||||
- **24 kap 27–29 §§** — Beräkning, ägarförändringseffekter.
|
||||
- **24 kap 21 § IL**, Tillämpningsområde: jur. pers. och svenska HB (HB med enbart fysiska ägare undantagna).
|
||||
- **24 kap 23 § IL**: Negativt räntenetto = avdragsgilla ränteutgifter − skattepliktiga ränteinkomster.
|
||||
- **24 kap 24 § IL**: **30 % av avdragsunderlag** (resultat före ränta, skatt, av- och nedskrivningar = "skattemässigt EBITDA"). Förenklingsregel 3 st: **5 MSEK** av negativt räntenetto får alltid dras av (per intressegemenskap; vid tillämpning får inget kvarstående räntenetto sparas).
|
||||
- **24 kap 26 § IL**: Carry forward **6 år**.
|
||||
- **24 kap 27-29 §§**: Beräkning, ägarförändringseffekter.
|
||||
|
||||
Riktade regler (koncerninterna lån) — IL 24 kap 16–20 §§:
|
||||
- **24 kap 18 § 1 st** — Avdragsrätt om mottagaren hör hemma inom EES eller beskattas ≥ 10 % (tioprocentsregeln).
|
||||
- **24 kap 18 § 2 st "undantagsregeln"** — Ej avdrag om skuldförhållandet **uteslutande eller så gott som uteslutande** uppkommit för väsentlig skatteförmån.
|
||||
- **24 kap 19 § "förvärvsregeln"** — Skuld för koncerninternt förvärv av delägarrätt: avdrag bara om förvärvet är **väsentligen affärsmässigt motiverat** (organisatoriska skäl räcker ej — HFD 2022 ref. 49).
|
||||
Riktade regler (koncerninterna lån), IL 24 kap 16-20 §§:
|
||||
- **24 kap 18 § 1 st**: Avdragsrätt om mottagaren hör hemma inom EES eller beskattas ≥ 10 % (tioprocentsregeln).
|
||||
- **24 kap 18 § 2 st "undantagsregeln"**: Ej avdrag om skuldförhållandet **uteslutande eller så gott som uteslutande** uppkommit för väsentlig skatteförmån.
|
||||
- **24 kap 19 § "förvärvsregeln"**, Skuld för koncerninternt förvärv av delägarrätt: avdrag bara om förvärvet är **väsentligen affärsmässigt motiverat** (organisatoriska skäl räcker ej, HFD 2022 ref. 49).
|
||||
- **EU-rätt:** **C-484/19 Lexel (20 jan 2021)** underkände 2013 års undantagsregel; **HFD 2021 ref. 68** underkände 2019 års lydelse på samma grund; **HFD 2024 ref. 6 (22 jan 2024)** underkände 24 kap 19 § (förvärvsregeln) som EU-rättsstridig när koncernbidragsrätt funnits om båda bolagen varit svenska.
|
||||
- **2026 års reform:** prop. 2025/26:20 (bet. SkU8) — ny **24 kap 19 a § IL** för skuldförhållanden inom EES; omformulerade 18 § 2 st och 19 §; ikraft 2026-01-01.
|
||||
- **2026 års reform:** prop. 2025/26:20 (bet. SkU8): ny **24 kap 19 a § IL** för skuldförhållanden inom EES; omformulerade 18 § 2 st och 19 §; ikraft 2026-01-01.
|
||||
|
||||
**Kupongskatt — KupL (1970:624):**
|
||||
- **5 §** — 30 % på utdelning till begränsat skattskyldig fysisk/jur. person; reduceras genom skatteavtal (vanligen 15 %, 5 % eller 0 %).
|
||||
- **4 § 5 st** — Undantag enligt moder/dotterbolagsdirektivet 2011/96/EU: EU-juridisk person med ≥ 10 % andelskapital och som uppfyller direktivets art. 2.
|
||||
- **4 § 6–7 st** — Undantag för EES-bolag som motsvarar svenskt AB enligt IL 24 kap 32 § 1–4 och 33 § 1 st 1 eller 2; innehavstid ≥ 1 år.
|
||||
**Kupongskatt, KupL (1970:624):**
|
||||
- **5 §**: 30 % på utdelning till begränsat skattskyldig fysisk/jur. person; reduceras genom skatteavtal (vanligen 15 %, 5 % eller 0 %).
|
||||
- **4 § 5 st**, Undantag enligt moder/dotterbolagsdirektivet 2011/96/EU: EU-juridisk person med ≥ 10 % andelskapital och som uppfyller direktivets art. 2.
|
||||
- **4 § 6-7 st**: Undantag för EES-bolag som motsvarar svenskt AB enligt IL 24 kap 32 § 1-4 och 33 § 1 st 1 eller 2; innehavstid ≥ 1 år.
|
||||
|
||||
**Förbjudna lån — ABL 21 kap + IL 11 kap 45 §:**
|
||||
- **ABL 21 kap 1 §** — Förbud mot lån till aktieägare/närstående.
|
||||
- **ABL 21 kap 2 § 1 st p. 2** — **Koncernundantaget**: lån till annat företag i samma koncern är tillåtet (moder→dotter, dotter→moder, syster↔syster). Koncerndefinition ABL 1 kap 11 §. **2 st utvidgar till EES-moder.**
|
||||
- **IL 11 kap 45 §** — Fysisk låntagare beskattas för hela lånebeloppet i inkomstslaget tjänst. **IL 15 kap 3 §** — annan juridisk person än AB tar upp lånebeloppet som näringsverksamhet. **AB som låntagare är generellt undantagna** (SFS 2009:1412).
|
||||
**Förbjudna lån, ABL 21 kap + IL 11 kap 45 §:**
|
||||
- **ABL 21 kap 1 §**: Förbud mot lån till aktieägare/närstående.
|
||||
- **ABL 21 kap 2 § 1 st p. 2**, **Koncernundantaget**: lån till annat företag i samma koncern är tillåtet (moder→dotter, dotter→moder, syster↔syster). Koncerndefinition ABL 1 kap 11 §. **2 st utvidgar till EES-moder.**
|
||||
- **IL 11 kap 45 §**: Fysisk låntagare beskattas för hela lånebeloppet i inkomstslaget tjänst. **IL 15 kap 3 §**: annan juridisk person än AB tar upp lånebeloppet som näringsverksamhet. **AB som låntagare är generellt undantagna** (SFS 2009:1412).
|
||||
|
||||
**CFC — IL 39 a kap:**
|
||||
- **39 a kap 5 § IL** — Lågbeskattad om utländsk jur. pers. beskattas < 55 % av svenskt AB (med 20,6 % bolagsskatt → tröskel **≈ 11,33 %**).
|
||||
- **39 a kap 7 § + bilaga 39 a** — "Vita listan": undantagna områden/inkomstkategorier.
|
||||
- **39 a kap 7 a § IL** — EES-bolag undantas om de utgör **verklig etablering** med affärsmässigt motiverad verksamhet (efter C-196/04 Cadbury Schweppes, kodifierat SFS 2007:1254).
|
||||
**CFC, IL 39 a kap:**
|
||||
- **39 a kap 5 § IL**: Lågbeskattad om utländsk jur. pers. beskattas < 55 % av svenskt AB (med 20,6 % bolagsskatt → tröskel **≈ 11,33 %**).
|
||||
- **39 a kap 7 § + bilaga 39 a**, "Vita listan": undantagna områden/inkomstkategorier.
|
||||
- **39 a kap 7 a § IL**: EES-bolag undantas om de utgör **verklig etablering** med affärsmässigt motiverad verksamhet (efter C-196/04 Cadbury Schweppes, kodifierat SFS 2007:1254).
|
||||
|
||||
**Omstruktureringar — IL 23, 37, 38, 38 a, 42, 48 a, 49 kap:**
|
||||
- **IL 23 kap** Underprisöverlåtelser (NB: i 23 kap, inte 53 kap — 53 kap reglerar överlåtelser till utländska företag från fysiska personer).
|
||||
**Omstruktureringar, IL 23, 37, 38, 38 a, 42, 48 a, 49 kap:**
|
||||
- **IL 23 kap** Underprisöverlåtelser (NB: i 23 kap, inte 53 kap, 53 kap reglerar överlåtelser till utländska företag från fysiska personer).
|
||||
- **IL 37 kap** Kvalificerade fusioner och fissioner.
|
||||
- **IL 38 kap** Verksamhetsavyttring; **IL 38 a kap** Partiella fissioner.
|
||||
- **IL 42 kap 16 § Lex ASEA** — skattefri utdelning av samtliga aktier i dotterbolag om utdelande moder är marknadsnoterad och övriga villkor uppfyllda.
|
||||
- **IL 42 kap 16 § Lex ASEA**: skattefri utdelning av samtliga aktier i dotterbolag om utdelande moder är marknadsnoterad och övriga villkor uppfyllda.
|
||||
- **IL 48 a kap** Framskjuten beskattning vid andelsbyten (fysiska); **IL 49 kap** Uppskovsgrundande andelsbyten (juridiska).
|
||||
|
||||
**IL 35 a kap Koncernavdrag (slutliga förluster i EES-dotter)** — kodifiering av Marks & Spencer-doktrin (C-446/03), ikraft 2010-07-01 (SFS 2010:353). Krav: > 90 % helägt, **direkt ägt** (HFD 2019 not. 38 Holmen), inom EES, slutligt avvecklat, MF ej investmentföretag. Snäv praktisk tillämpning.
|
||||
**IL 35 a kap Koncernavdrag (slutliga förluster i EES-dotter)**: kodifiering av Marks & Spencer-doktrin (C-446/03), ikraft 2010-07-01 (SFS 2010:353). Krav: > 90 % helägt, **direkt ägt** (HFD 2019 not. 38 Holmen), inom EES, slutligt avvecklat, MF ej investmentföretag. Snäv praktisk tillämpning.
|
||||
|
||||
**3:12 — kvalificerade andelar IL 57 kap — STOR REFORM SFS 2025:1361 ikraft 2026-01-01:**
|
||||
- **57 kap 4 § IL** — Smitta mellan dotterbolag via holdingbolag: ägare verksam i ett dotter → holdingens andelar kvalificerade. "Samma eller likartad verksamhet"-rekvisitet smittar via överförda vinstmedel/kapital (RÅ 2010 ref. 11 I–V; HFD 2023 ref. 11 Intersport/Adelis; HFD 2024 ref. 51).
|
||||
- **57 kap 16 § IL (ny lydelse 2026)** — Löneunderlag = kontant ersättning till anställda i företaget **och dess dotterföretag** (civilrättslig definition); löner i dotterbolag räknas in i holdingens gränsbelopp (proportionerligt vid < 100 % ägande).
|
||||
- **57 kap 16 a § IL (ny 2026)** — Schablonavdrag **8 IBB per delägare** från löneunderlaget (≈ 644 800 kr 2026 baserat på IBB 80 600 kr).
|
||||
- **57 kap 17 § IL** — Lönebaserat utrymme = **50 %** av löneunderlaget efter schablonavdrag.
|
||||
- **57 kap 19 § IL UPPHÄVD 2026** — **Löneuttagskravet för delägaren slopas**. Ingen lägstanivå för ägares eller närståendes löneuttag krävs.
|
||||
**3:12, kvalificerade andelar IL 57 kap, STOR REFORM SFS 2025:1361 ikraft 2026-01-01:**
|
||||
- **57 kap 4 § IL**, Smitta mellan dotterbolag via holdingbolag: ägare verksam i ett dotter → holdingens andelar kvalificerade. "Samma eller likartad verksamhet"-rekvisitet smittar via överförda vinstmedel/kapital (RÅ 2010 ref. 11 I-V; HFD 2023 ref. 11 Intersport/Adelis; HFD 2024 ref. 51).
|
||||
- **57 kap 16 § IL (ny lydelse 2026)**: Löneunderlag = kontant ersättning till anställda i företaget **och dess dotterföretag** (civilrättslig definition); löner i dotterbolag räknas in i holdingens gränsbelopp (proportionerligt vid < 100 % ägande).
|
||||
- **57 kap 16 a § IL (ny 2026)**: Schablonavdrag **8 IBB per delägare** från löneunderlaget (≈ 644 800 kr 2026 baserat på IBB 80 600 kr).
|
||||
- **57 kap 17 § IL**: Lönebaserat utrymme = **50 %** av löneunderlaget efter schablonavdrag.
|
||||
- **57 kap 19 § IL UPPHÄVD 2026**: **Löneuttagskravet för delägaren slopas**. Ingen lägstanivå för ägares eller närståendes löneuttag krävs.
|
||||
- **Grundbelopp 4 IBB (322 400 kr 2026)** per företag fördelat efter ägarandel. Räntebaserat utrymme: SLR + 9 % på omkostnadsbelopp **överstigande 100 000 kr**. Uppräkning av sparat utdelningsutrymme **slopad**. Karenstid förkortad från 5 → 4 år (gäller utlösande händelser från 2027). 4 %-spärren (kapitalandelskravet) slopad.
|
||||
|
||||
### 4d. HFD och Skatteverket — senaste 5 åren (urval för holding-AB)
|
||||
### 4d. HFD och Skatteverket: senaste 5 åren (urval för holding-AB)
|
||||
|
||||
| Avgörande | Område | Holding |
|
||||
|---|---|---|
|
||||
@@ -228,59 +228,59 @@ Riktade regler (koncerninterna lån) — IL 24 kap 16–20 §§:
|
||||
| HFD 2021 ref. 66 | Koncernbidrag | Ändrad ägarstruktur inom koncern utlöser ej koncernbidragsspärr enl. 40 kap 10 § 3 st om bestämmande inflytande består. |
|
||||
| HFD 2021 ref. 68 | Ränteavdrag | 2019 års undantagsregel 24 kap 18 § 2 st EU-stridig vid svensk koncernbidragsrätt. |
|
||||
| HFD 2021 not. 10 | Ränteavdrag | Tillämpar Lexel C-484/19 på 2013 års regel. |
|
||||
| HFD 2022 ref. 49 | Ränteavdrag | 24 kap 19 § förvärvsregel — organisatoriska skäl räcker ej som affärsmässighet. |
|
||||
| HFD 2022 not. 3 | Näringsbetingade | Andelar i Liechtenstein-Anstalt näringsbetingade trots lågbeskattning — formell skattskyldighet räcker. |
|
||||
| HFD 2022 ref. 49 | Ränteavdrag | 24 kap 19 § förvärvsregel: organisatoriska skäl räcker ej som affärsmässighet. |
|
||||
| HFD 2022 not. 3 | Näringsbetingade | Andelar i Liechtenstein-Anstalt näringsbetingade trots lågbeskattning: formell skattskyldighet räcker. |
|
||||
| HFD 2023 ref. 1 | Näringsbetingade | Köpeskillingsrevers efter avyttring av nb-andelar omfattas inte av 25 a kap 19 § avdragsförbud. |
|
||||
| HFD 2023 ref. 11 ("Adelis") | 3:12 / utomståenderegeln | Förvärv genom nyemission i annat fåmansföretag → inte "samma eller likartad verksamhet" om vinstmedel ej överförts. |
|
||||
| HFD 2023 ref. 41 (Volvo AB) | Moms / aktieförsäljning | Aktivt holding har avdragsrätt för moms på försäljningskostnader om kostnaderna inte övervältras på köparen — allmänna omkostnader. |
|
||||
| HFD 2023 ref. 41 (Volvo AB) | Moms / aktieförsäljning | Aktivt holding har avdragsrätt för moms på försäljningskostnader om kostnaderna inte övervältras på köparen: allmänna omkostnader. |
|
||||
| HFD 2024 ref. 6 | Ränteavdrag | 24 kap 19 § förvärvsregel EU-stridig vid svensk koncernbidragsrätt → 2026-reform. |
|
||||
| HFD 2024 ref. 18 (Lamiflex) | Moms / aktieförvärv | Avdragsrätt vid förvärv av "rent" holding där förvaltningstjänster levereras till dotterdotter. |
|
||||
| HFD 2024 ref. 34 I–II | Moms / scheinmanagement | Bolag som inte fakturerar dotter och inte vidarefakturerar saknar ekonomisk verksamhet → ingen avdragsrätt; momsregistrering ger inte berättigade förväntningar. |
|
||||
| HFD 2024 ref. 51 | 3:12 / smitta | "Samma eller likartad verksamhet" — vinstmedel överförda från Z AB till Y AB → kvalificerade andelar i Y AB. |
|
||||
| HFD 2026-01-27 mål 3217-21 (Högkullen) | Moms / management fee | Underkänner Skatteverkets schablonmässiga omvärdering av management fee — efter EUD C-808/23. |
|
||||
| HFD 2024 ref. 34 I-II | Moms / scheinmanagement | Bolag som inte fakturerar dotter och inte vidarefakturerar saknar ekonomisk verksamhet → ingen avdragsrätt; momsregistrering ger inte berättigade förväntningar. |
|
||||
| HFD 2024 ref. 51 | 3:12 / smitta | "Samma eller likartad verksamhet": vinstmedel överförda från Z AB till Y AB → kvalificerade andelar i Y AB. |
|
||||
| HFD 2026-01-27 mål 3217-21 (Högkullen) | Moms / management fee | Underkänner Skatteverkets schablonmässiga omvärdering av management fee, efter EUD C-808/23. |
|
||||
| HD T 5171-23 (2024) | Koncernbidrag civilrätt | Försiktighetsregeln tillämpas med återhållsamhet; styrelseyttrande ABL 18 kap 4 § kan inte avtalas bort. |
|
||||
|
||||
**Skatteverkets ställningstaganden:**
|
||||
- "Holdingbolag – avdragsrätt för mervärdesskatt", dnr 202 377677-17/111 (uppdaterat 2024-03-21 efter HFD 2024 ref. 18).
|
||||
- "Avsnitt 4.2.4 om riskkapitalbolag upphör att gälla", 2024-02-02, dnr 8-2756161 — PE-investeringsverksamhet = icke-ekonomisk verksamhet.
|
||||
- "Holdingbolag: avdragsrätt för mervärdesskatt", dnr 202 377677-17/111 (uppdaterat 2024-03-21 efter HFD 2024 ref. 18).
|
||||
- "Avsnitt 4.2.4 om riskkapitalbolag upphör att gälla", 2024-02-02, dnr 8-2756161: PE-investeringsverksamhet = icke-ekonomisk verksamhet.
|
||||
- "När motsvarar en utländsk juridisk person ett svenskt AB vid tillämpning av reglerna om näringsbetingade andelar", 2022-10 (ersätter äldre); SICAV med variabelt kapital motsvarar ej svenskt AB; Jersey/Liechtenstein-Anstalt OK efter HFD 2022 not. 3.
|
||||
- "Koncernbidrag mellan svenskt företag och utländskt bolags fasta driftställe i Sverige när det utländska bolaget hör hemma utanför EES" — kräver diskrimineringsförbud i skatteavtal motsv. OECD-modellen art. 24.3.
|
||||
- "Förluster på fordringar på eget bolag", dnr 131 440547-09/111 — omvandling fordran ↔ villkorat tillskott = avyttring.
|
||||
- "Koncernbidrag mellan svenskt företag och utländskt bolags fasta driftställe i Sverige när det utländska bolaget hör hemma utanför EES": kräver diskrimineringsförbud i skatteavtal motsv. OECD-modellen art. 24.3.
|
||||
- "Förluster på fordringar på eget bolag", dnr 131 440547-09/111: omvandling fordran ↔ villkorat tillskott = avyttring.
|
||||
|
||||
## 5. De tre vanligaste felmönstren
|
||||
|
||||
**Felmönster 1 — Passivt holding drar av ingående moms på revisor och M&A-kostnader.**
|
||||
**Felmönster 1: Passivt holding drar av ingående moms på revisor och M&A-kostnader.**
|
||||
*Fel:* Holdingbolaget bokför ingående moms på 6420 Revisor, 6530 Juridik, M&A-konsulter på 2641 trots att bolaget aldrig fakturerar dotter (ingen management fee, ingen hyresupplåtelse). Skatteverket återkallar avdrag och påför skattetillägg.
|
||||
*Rätt:* Utan momspliktig omsättning är holdingbolaget **inte beskattningsbar person** (4 kap 2 § ML; C-60/90 Polysar; HFD 2024 ref. 34 II). Hela kostnaden inklusive moms bokförs på kostnadskontot — ingen del på 2641. Om avsikt finns att börja fakturera dotter måste det styrkas redan vid kostnadens uppkomst (HFD 2024 ref. 18).
|
||||
*Referens:* ML (2023:200) 4 kap 2 §, 13 kap 6 §; HFD 2024 ref. 34 I–II; Skatteverkets ställningstagande dnr 202 377677-17/111.
|
||||
*Rätt:* Utan momspliktig omsättning är holdingbolaget **inte beskattningsbar person** (4 kap 2 § ML; C-60/90 Polysar; HFD 2024 ref. 34 II). Hela kostnaden inklusive moms bokförs på kostnadskontot: ingen del på 2641. Om avsikt finns att börja fakturera dotter måste det styrkas redan vid kostnadens uppkomst (HFD 2024 ref. 18).
|
||||
*Referens:* ML (2023:200) 4 kap 2 §, 13 kap 6 §; HFD 2024 ref. 34 I-II; Skatteverkets ställningstagande dnr 202 377677-17/111.
|
||||
|
||||
**Felmönster 2 — Skattemässigt avdrag för kapitalförlust på näringsbetingade andelar.**
|
||||
**Felmönster 2: Skattemässigt avdrag för kapitalförlust på näringsbetingade andelar.**
|
||||
*Fel:* Moderbolag säljer dotter för 1 SEK efter förluståret, bokför kapitalförlust 4 200 000 SEK på 8022 och låter den slå igenom i skattepliktigt resultat. Eller skriver ned 1310 med 8072 och drar av nedskrivningen.
|
||||
*Rätt:* Kapitalförlust på näringsbetingad andel är **aldrig avdragsgill** (IL 25 a kap 5 § 2 st). Återlägg i INK2 ruta 4.7 b "Bokförda kostnader som ej ska dras av". Detsamma gäller nedskrivning. Spegelbild: kapitalvinst tas inte upp (4.7 a). Undantag finns för kapitalförlust på köpeskillingsrevers — HFD 2023 ref. 1 — som faller utanför avdragsförbudet i 25 a kap 19 §.
|
||||
*Rätt:* Kapitalförlust på näringsbetingad andel är **aldrig avdragsgill** (IL 25 a kap 5 § 2 st). Återlägg i INK2 ruta 4.7 b "Bokförda kostnader som ej ska dras av". Detsamma gäller nedskrivning. Spegelbild: kapitalvinst tas inte upp (4.7 a). Undantag finns för kapitalförlust på köpeskillingsrevers (HFD 2023 ref. 1) som faller utanför avdragsförbudet i 25 a kap 19 §.
|
||||
*Referens:* IL 25 a kap 5 § (SFS 2003:224); IL 25 a kap 19 §; HFD 2023 ref. 1.
|
||||
|
||||
**Felmönster 3 — Ränteavdragsbegränsning ignoreras vid förvärvslån.**
|
||||
**Felmönster 3: Ränteavdragsbegränsning ignoreras vid förvärvslån.**
|
||||
*Fel:* Holdingbolaget tar förvärvslån 50 MSEK (extern bank eller koncernintern) för att köpa dotter, betalar ränta 2,5 MSEK/år och bokför fullt avdrag på 8410/8460 utan beräkning av räntenetto, EBITDA-tak eller förvärvsregelns affärsmässighet. Vid revision av Skatteverket återförs miljonbelopp.
|
||||
*Rätt:* Beräkna negativt räntenetto enl. 24 kap 23 §. Pröva först **förenklingsregeln 5 MSEK** (24 kap 24 § 3 st) — om räntenettot är under tröskeln behövs ingen EBITDA-beräkning. Annars beräkna **avdragsunderlaget** (≈ skattemässigt EBITDA) och tillämpa **30 %-taket**. Vid **koncerninternt** lån: pröva ytterligare 24 kap 18 § (tioprocentsregel + skatteförmånsundantag) och 24 kap 19 § (förvärvsregel — "väsentligen affärsmässigt motiverat"). Beakta EU-rättens utveckling (Lexel C-484/19; HFD 2021 ref. 68; HFD 2024 ref. 6) och **nya 24 kap 19 a §** ikraft 2026-01-01 för EES-långivare. Kvarstående negativt räntenetto sparas 6 år (24 kap 26 §).
|
||||
*Referens:* IL 24 kap 21–29 §§ + 16–20 §§ (SFS 2018:1206 ikraft 2019-01-01); prop. 2025/26:20 (SkU8) ikraft 2026-01-01.
|
||||
*Rätt:* Beräkna negativt räntenetto enl. 24 kap 23 §. Pröva först **förenklingsregeln 5 MSEK** (24 kap 24 § 3 st): om räntenettot är under tröskeln behövs ingen EBITDA-beräkning. Annars beräkna **avdragsunderlaget** (≈ skattemässigt EBITDA) och tillämpa **30 %-taket**. Vid **koncerninternt** lån: pröva ytterligare 24 kap 18 § (tioprocentsregel + skatteförmånsundantag) och 24 kap 19 § (förvärvsregel, "väsentligen affärsmässigt motiverat"). Beakta EU-rättens utveckling (Lexel C-484/19; HFD 2021 ref. 68; HFD 2024 ref. 6) och **nya 24 kap 19 a §** ikraft 2026-01-01 för EES-långivare. Kvarstående negativt räntenetto sparas 6 år (24 kap 26 §).
|
||||
*Referens:* IL 24 kap 21-29 §§ + 16-20 §§ (SFS 2018:1206 ikraft 2019-01-01); prop. 2025/26:20 (SkU8) ikraft 2026-01-01.
|
||||
|
||||
## 6. Öppna frågor — flagga för mänsklig granskning
|
||||
## 6. Öppna frågor: flagga för mänsklig granskning
|
||||
|
||||
1. **2026 års ränteavdragsanpassning (prop. 2025/26:20, SkU8, nya 24 kap 19 a § IL).** Ikraftträdandet 2026-01-01 är bekräftat men Skatteverkets vägledning är ännu inte färdiguppdaterad per maj 2026; tillämpning på pågående lån från före 2026 kräver granskning av övergångsregler.
|
||||
2. **Skatteverkets omvärderingsställningstagande för koncerninterna tjänster (dnr 202 195456-19/111) efter Högkullen.** EUD C-808/23 (3 juli 2025) och HFD 2026-01-27 mål 3217-21 underkänner schablonmetoden men ny vägledning saknas. Omprövning av tidigare beslut inom 6-årsfristen bör övervägas men osäker praxis.
|
||||
3. **3:12-reformen SFS 2025:1361 — tillämpning första året.** Ikraftträdande 2026-01-01, men nya löneunderlagsregeln (civilrättslig dotterföretagsdefinition + schablonavdrag 8 IBB) saknar etablerad praxis; särskilt för holding med utländska dotterbolag (löner i utländska dotter — räknas de in?). Karenstidsförkortning 5→4 år gäller först från 2027.
|
||||
4. **PE-fonder / riskkapitalbolag som holding-AB.** Skatteverket har 2024-02-02 (dnr 8-2756161) återkallat tidigare ställningstagande och behandlar PE-investeringsverksamhet som icke-ekonomisk (begränsad momsavdragsrätt). Fördelningsnyckel mellan ekonomisk/icke-ekonomisk verksamhet är inte standardiserad — kostnadsbaserad fördelning godtas (KRNG mål 5919-5220-23 efter HFD 2023 ref. 41) men inget bindande prejudikat.
|
||||
3. **3:12-reformen SFS 2025:1361: tillämpning första året.** Ikraftträdande 2026-01-01, men nya löneunderlagsregeln (civilrättslig dotterföretagsdefinition + schablonavdrag 8 IBB) saknar etablerad praxis; särskilt för holding med utländska dotterbolag (löner i utländska dotter, räknas de in?). Karenstidsförkortning 5→4 år gäller först från 2027.
|
||||
4. **PE-fonder / riskkapitalbolag som holding-AB.** Skatteverket har 2024-02-02 (dnr 8-2756161) återkallat tidigare ställningstagande och behandlar PE-investeringsverksamhet som icke-ekonomisk (begränsad momsavdragsrätt). Fördelningsnyckel mellan ekonomisk/icke-ekonomisk verksamhet är inte standardiserad: kostnadsbaserad fördelning godtas (KRNG mål 5919-5220-23 efter HFD 2023 ref. 41) men inget bindande prejudikat.
|
||||
5. **Höjda gränsvärden för "större företag/koncern" (SOU 2023:34).** Förslag finns men inte ikraftträtt per maj 2026. Påverkar valet K2 vs K3 för moderbolag och koncernredovisningsplikt.
|
||||
|
||||
## Overflow-referenser
|
||||
|
||||
För djupare detaljer hänvisas till följande filer i `references/`:
|
||||
|
||||
- `references/naringsbetingade-andelar.md` — full §-genomgång IL 24 kap 32–42 §§ och 25 a kap inklusive skalbolagsdetaljer, ventilbedömning, jämförelsebeloppsberäkning.
|
||||
- `references/koncernbidrag.md` — IL 35 kap kompletta villkor (helägt, slussning, EES-filial), ABL 17–18 kap värdeöverföringsmekanik, NJA 2015 s. 359 + HD T 5171-23.
|
||||
- `references/ranteavdrag.md` — IL 24 kap 16–29 §§ beräkningsexempel (EBITDA-tak, förenklingsregel, kvarstående räntenetto), Lexel-doktrinens utveckling, ny 24 kap 19 a § 2026.
|
||||
- `references/moms-holdingbolag.md` — EU-praxis (Polysar→Högkullen), avdragsrätt vid förvärv/avyttring/avbrutet förvärv, mervärdesskattegrupp, Skatteverkets ställningstagande dnr 202 377677-17/111 i sin helhet, omvärdering management fee post-C-808/23.
|
||||
- `references/aktieagartillskott.md` — ovillkorat vs villkorat, RÅ 2009 ref. 41 omvandling, K2/K3-redovisning 2026, fordringsförluster.
|
||||
- `references/312-holding.md` — IL 57 kap reformen SFS 2025:1361 i detalj, smittobedömning via dotterbolag, löneunderlagsberäkning med schablonavdrag.
|
||||
- `references/kupongskatt-cfc.md` — KupL (1970:624) struktur, moder/dotterbolagsdirektivet implementering, IL 39 a kap CFC inklusive bilaga 39 a-uppdateringar.
|
||||
- `references/omstrukturering.md` — IL 23, 37, 38, 38 a, 42, 48 a, 49 kap för paketeringsförsäljningar och Lex ASEA.
|
||||
- `references/naringsbetingade-andelar.md`: full §-genomgång IL 24 kap 32-42 §§ och 25 a kap inklusive skalbolagsdetaljer, ventilbedömning, jämförelsebeloppsberäkning.
|
||||
- `references/koncernbidrag.md`: IL 35 kap kompletta villkor (helägt, slussning, EES-filial), ABL 17-18 kap värdeöverföringsmekanik, NJA 2015 s. 359 + HD T 5171-23.
|
||||
- `references/ranteavdrag.md`: IL 24 kap 16-29 §§ beräkningsexempel (EBITDA-tak, förenklingsregel, kvarstående räntenetto), Lexel-doktrinens utveckling, ny 24 kap 19 a § 2026.
|
||||
- `references/moms-holdingbolag.md`: EU-praxis (Polysar→Högkullen), avdragsrätt vid förvärv/avyttring/avbrutet förvärv, mervärdesskattegrupp, Skatteverkets ställningstagande dnr 202 377677-17/111 i sin helhet, omvärdering management fee post-C-808/23.
|
||||
- `references/aktieagartillskott.md`: ovillkorat vs villkorat, RÅ 2009 ref. 41 omvandling, K2/K3-redovisning 2026, fordringsförluster.
|
||||
- `references/312-holding.md`: IL 57 kap reformen SFS 2025:1361 i detalj, smittobedömning via dotterbolag, löneunderlagsberäkning med schablonavdrag.
|
||||
- `references/kupongskatt-cfc.md`: KupL (1970:624) struktur, moder/dotterbolagsdirektivet implementering, IL 39 a kap CFC inklusive bilaga 39 a-uppdateringar.
|
||||
- `references/omstrukturering.md`: IL 23, 37, 38, 38 a, 42, 48 a, 49 kap för paketeringsförsäljningar och Lex ASEA.
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# 3:12-reglerna i holdingstruktur — utvidgad referens
|
||||
# 3:12-reglerna i holdingstruktur: utvidgad referens
|
||||
|
||||
Ladda när uppgiften rör kvalificerade andelar i fåmansföretagshålligning, smitta mellan dotterbolag, löneunderlag, eller 2026-reformen SFS 2025:1361.
|
||||
|
||||
## 2026-reformen — SFS 2025:1361
|
||||
## 2026-reformen: SFS 2025:1361
|
||||
|
||||
Riksdagen antog 3 december 2025; **ikraft 2026-01-01** med undantag för karenstidsförkortning som gäller utlösande händelser från 2027.
|
||||
|
||||
@@ -22,7 +22,7 @@ Riksdagen antog 3 december 2025; **ikraft 2026-01-01** med undantag för karenst
|
||||
- Grundbelopp: 4 × 80 600 = **322 400 kr per företag**.
|
||||
- Schablonavdrag löneunderlag: 8 × 80 600 = **644 800 kr per delägare**.
|
||||
|
||||
### Löneunderlag — ny definition (57 kap 16 § ny lydelse)
|
||||
### Löneunderlag: ny definition (57 kap 16 § ny lydelse)
|
||||
- **Civilrättslig dotterföretagsdefinition** (ABL 1 kap 11 §): innehav som ger > 50 % röster eller bestämmande inflytande.
|
||||
- Löner i samtliga dotterbolag (svenska och utländska EES) räknas in i moderbolagets löneunderlag.
|
||||
- **Proportionerligt** vid < 100 % ägande: vid 70 % ägande räknas 70 % av dotterbolagets löner.
|
||||
@@ -35,19 +35,19 @@ Riksdagen antog 3 december 2025; **ikraft 2026-01-01** med undantag för karenst
|
||||
|
||||
## Smitta i holdingstruktur
|
||||
|
||||
### IL 57 kap 4 § — definition av kvalificerad andel
|
||||
### IL 57 kap 4 §: definition av kvalificerad andel
|
||||
Andel är kvalificerad om delägaren eller närstående under beskattningsåret eller något av föregående **fem (från 2027: fyra) beskattningsår** varit verksam i betydande omfattning i:
|
||||
- företaget,
|
||||
- annat fåmansföretag som bedriver **samma eller likartad verksamhet**,
|
||||
- annat fåmansföretag i samma koncern.
|
||||
|
||||
### "Samma eller likartad verksamhet" — smittobedömning
|
||||
### "Samma eller likartad verksamhet": smittobedömning
|
||||
Praxis: rekvisitet smittar via **överförda vinstmedel eller kapital** mellan fåmansföretag som bedriver samma eller likartad verksamhet.
|
||||
|
||||
| Avgörande | Princip |
|
||||
|---|---|
|
||||
| RÅ 2010 ref. 11 I-V | Smitta mellan fåmansföretag via överförda vinstmedel + samma slags verksamhet. |
|
||||
| HFD 2014 ref. 2 | Trädabolag — ackumulerade vinstmedel från aktivt fåmansföretag som överförts till passivt bolag → smittar; passiva bolagets andelar är kvalificerade i 5 år efter senaste aktivitet. |
|
||||
| HFD 2014 ref. 2 | Trädabolag: ackumulerade vinstmedel från aktivt fåmansföretag som överförts till passivt bolag → smittar; passiva bolagets andelar är kvalificerade i 5 år efter senaste aktivitet. |
|
||||
| HFD 2023 ref. 11 (Intersport/Adelis) | Förvärv genom nyemission i annat fåmansföretag → inte "samma eller likartad verksamhet" om vinstmedel inte överförts. |
|
||||
| HFD 2024 ref. 51 | Vinstmedel överförda från Z AB till Y AB → kvalificerade andelar i Y AB. |
|
||||
|
||||
@@ -59,16 +59,16 @@ Vid komplexa koncernstrukturer:
|
||||
- Holdingen kan vidare "smitta" en separat holding ovanför om vinstmedel överförs.
|
||||
- "Trädamodellen": ägaren går ur aktiv verksamhet, väntar 4 år (från 2027) → andelarna upphör vara kvalificerade.
|
||||
|
||||
## Utomståenderegeln — IL 57 kap 5 §
|
||||
## Utomståenderegeln: IL 57 kap 5 §
|
||||
|
||||
Om utomstående (ej närstående till någon verksam delägare) äger ≥ **30 %** av andelarna och har rätt till utdelning, gäller normalt **inte** 3:12 — utdelning och kapitalvinst beskattas i kapital till 25 %/30 % (näringsbetingad → 0 %, men det är fysisk delägare som vinner via utomstående).
|
||||
Om utomstående (ej närstående till någon verksam delägare) äger ≥ **30 %** av andelarna och har rätt till utdelning, gäller normalt **inte** 3:12: utdelning och kapitalvinst beskattas i kapital till 25 %/30 % (näringsbetingad → 0 %, men det är fysisk delägare som vinner via utomstående).
|
||||
|
||||
**Särskilda skäl mot tillämpning** (5 § 3 st):
|
||||
- Aktieslag A/B med olika rösträtt och utdelningsrätt (HFD 2021 ref. 40 Valedo).
|
||||
- Ägaravtal som ger faktiskt inflytande utöver formellt ägande.
|
||||
- Fondstrukturer där utomstående utdelningsrätt är begränsad (Skeppsbron Skatt 2024-11-13).
|
||||
|
||||
## Räntebaserat utrymme — IL 57 kap 11 §
|
||||
## Räntebaserat utrymme: IL 57 kap 11 §
|
||||
|
||||
Räntebaserat utrymme = (SLR + 9 %) × omkostnadsbeloppet på andelarna.
|
||||
|
||||
@@ -79,23 +79,23 @@ Räntebaserat utrymme = (SLR + 9 %) × omkostnadsbeloppet på andelarna.
|
||||
## Praktiska felmönster
|
||||
|
||||
**Felmönster A: Trädamodellen tillämpas utan vänta 4 år.**
|
||||
Ägaren lägger holdingen "vilande" och tar utdelning efter 3 år — andelarna är fortfarande kvalificerade. Krav: full karenstid (5 år före 2027 utlösande, 4 år för utlösande från 2027). Verksam i något annat fåmansföretag i samma eller likartad verksamhet bryter karenstiden.
|
||||
Ägaren lägger holdingen "vilande" och tar utdelning efter 3 år: andelarna är fortfarande kvalificerade. Krav: full karenstid (5 år före 2027 utlösande, 4 år för utlösande från 2027). Verksam i något annat fåmansföretag i samma eller likartad verksamhet bryter karenstiden.
|
||||
|
||||
**Felmönster B: Löneunderlag beräknas på koncernens konsoliderade löner utan proportionering.**
|
||||
Om holdingen äger 60 % av ett dotter — endast **60 % av dotterbolagets löner** räknas in. Felaktig 100 %-beräkning leder till för högt gränsbelopp.
|
||||
Om holdingen äger 60 % av ett dotter: endast **60 % av dotterbolagets löner** räknas in. Felaktig 100 %-beräkning leder till för högt gränsbelopp.
|
||||
|
||||
**Felmönster C: Schablonavdrag 8 IBB tillämpas på koncernnivå i stället för per delägare.**
|
||||
Schablonavdraget är **per delägare** — i ett företag med 3 verksamma delägare blir totalt avdrag 24 IBB = 1 934 400 kr 2026 från löneunderlaget innan det multipliceras med 50 %.
|
||||
Schablonavdraget är **per delägare**: i ett företag med 3 verksamma delägare blir totalt avdrag 24 IBB = 1 934 400 kr 2026 från löneunderlaget innan det multipliceras med 50 %.
|
||||
|
||||
**Felmönster D: Löneuttagskravet tillämpas felaktigt på 2026 års räkenskapsår.**
|
||||
Från 2026 ska inget löneuttagskrav prövas. Tidigare praxis (verifiera lönen, K10-bilaga med löneunderlagsberäkning) ändras — K10 förenklas men löneunderlaget måste fortfarande dokumenteras.
|
||||
Från 2026 ska inget löneuttagskrav prövas. Tidigare praxis (verifiera lönen, K10-bilaga med löneunderlagsberäkning) ändras: K10 förenklas men löneunderlaget måste fortfarande dokumenteras.
|
||||
|
||||
**Felmönster E: Smittobedömning ignorerar HFD 2024 ref. 51.**
|
||||
Vinstmedel överförda från ett fåmansföretag till ett annat smittar — även om bolagen formellt bedriver olika branscher kan rekvisitet "samma eller likartad verksamhet" uppfyllas via kapitalöverföring.
|
||||
Vinstmedel överförda från ett fåmansföretag till ett annat smittar: även om bolagen formellt bedriver olika branscher kan rekvisitet "samma eller likartad verksamhet" uppfyllas via kapitalöverföring.
|
||||
|
||||
## Lagrum och källor
|
||||
|
||||
- IL (1999:1229) 57 kap 1-35 §§ — ny lydelse SFS 2025:1361 ikraft 2026-01-01.
|
||||
- IL (1999:1229) 57 kap 1-35 §§: ny lydelse SFS 2025:1361 ikraft 2026-01-01.
|
||||
- ABL (2005:551) 1 kap 11 § (dotterföretagsdefinition).
|
||||
- HFD: RÅ 2010 ref. 11 I-V; HFD 2014 ref. 2; HFD 2021 ref. 40 (Valedo); HFD 2023 ref. 11 (Intersport/Adelis); HFD 2024 ref. 51.
|
||||
- Skatteverkets rättsliga vägledning "Beräkning av gränsbelopp" samt "Kvalificerade andelar".
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Aktieägartillskott — utvidgad referens
|
||||
# Aktieägartillskott: utvidgad referens
|
||||
|
||||
Ladda när uppgiften rör skillnaden ovillkorat/villkorat, omvandling, fordringsförluster, eller K2/K3-redovisning från 2026.
|
||||
|
||||
@@ -17,9 +17,9 @@ Aktieägartillskott är **inte reglerat i ABL** men civilrättsligt erkänt seda
|
||||
|
||||
### Villkorat tillskott
|
||||
- Återbetalningsrätt avtalad, ofta villkorad av framtida utdelningsbara medel.
|
||||
- Givaren har en **fordran** på framtida värdeöverföring — ej ägarstärkning.
|
||||
- Givaren har en **fordran** på framtida värdeöverföring: ej ägarstärkning.
|
||||
- **Givaren (AB):** D 1380 Andra långfristiga fordringar / K bank. Inte ökning av andelsvärde.
|
||||
- **Mottagaren:** D bank / K 2093 (samma som ovillkorat — civilrättsligt fritt EK).
|
||||
- **Mottagaren:** D bank / K 2093 (samma som ovillkorat, civilrättsligt fritt EK).
|
||||
- Återbetalning **skattefri** hos givaren intill omkostnadsbeloppet (RÅ 1988 ref. 65; RÅ 2009 ref. 41).
|
||||
- Återbetalning **över** omkostnadsbeloppet → skattepliktig kapitalvinst.
|
||||
|
||||
@@ -62,15 +62,15 @@ Om mottagaren går i konkurs/likvidation och villkorat tillskott aldrig återbet
|
||||
BFN beslut 2025-06-16:
|
||||
- **K2 19.5** och **K3 11.10-11.12**: Aktieägartillskott redovisas på det räkenskapsår **utfästelsen lämnas**. Utfästelsen måste vara lämnad **senast på balansdagen**.
|
||||
- Tillskott utfäst efter balansdagen redovisas först nästa räkenskapsår.
|
||||
- Effekt: möjligheten att "back-datera" tillskott till räddning av tekniska kapitaltäckning är borttagen — kontrollbalansräkningsfrågor måste hanteras före 31/12.
|
||||
- Effekt: möjligheten att "back-datera" tillskott till räddning av tekniska kapitaltäckning är borttagen: kontrollbalansräkningsfrågor måste hanteras före 31/12.
|
||||
|
||||
### Klassificering hos mottagaren
|
||||
- **2093 Erhållna aktieägartillskott** — fritt eget kapital. Visas under "Annat fritt eget kapital" i balansräkningen (K2 4.12; K3 18.5).
|
||||
- Skattefri inkomst — påverkar inte resultaträkningen, går direkt till EK.
|
||||
- **2093 Erhållna aktieägartillskott**: fritt eget kapital. Visas under "Annat fritt eget kapital" i balansräkningen (K2 4.12; K3 18.5).
|
||||
- Skattefri inkomst: påverkar inte resultaträkningen, går direkt till EK.
|
||||
|
||||
### Klassificering hos givaren
|
||||
- **Ovillkorat:** 1310/1312 Andelar i koncernföretag — ökar anskaffningsvärdet.
|
||||
- **Villkorat:** 1380 Andra långfristiga fordringar — separat fordring.
|
||||
- **Ovillkorat:** 1310/1312 Andelar i koncernföretag: ökar anskaffningsvärdet.
|
||||
- **Villkorat:** 1380 Andra långfristiga fordringar: separat fordring.
|
||||
|
||||
## Praktiska felmönster
|
||||
|
||||
@@ -81,10 +81,10 @@ Effekt: vid framtida avyttring av andelarna kommer omkostnadsbeloppet att vara f
|
||||
2093 är endast **mottagarens** konto. Givaren ska bokföra mot 1310/1312 (ovillkorat) eller 1380 (villkorat).
|
||||
|
||||
**Felmönster C: Återbetalning av ovillkorat tillskott bokförs som återbetalning av fordran.**
|
||||
Återbetalning av ovillkorat tillskott är **vinstutdelning** civilrättsligt — kräver utdelningsbara medel, stämmobeslut, utdelningsbeskattning hos ägaren. Bokförs som utdelning, inte som återbetalning av fordran.
|
||||
Återbetalning av ovillkorat tillskott är **vinstutdelning** civilrättsligt: kräver utdelningsbara medel, stämmobeslut, utdelningsbeskattning hos ägaren. Bokförs som utdelning, inte som återbetalning av fordran.
|
||||
|
||||
**Felmönster D: Villkorat tillskott räknas in i andelens omkostnadsbelopp.**
|
||||
Villkorat tillskott är **fordran** — det ökar inte omkostnadsbeloppet på aktierna. Vid avyttring av aktierna blir omkostnadsbeloppet enbart anskaffningsvärdet (eventuellt plus ovillkorade tillskott). Den villkorade fordringen avyttras separat.
|
||||
Villkorat tillskott är **fordran**: det ökar inte omkostnadsbeloppet på aktierna. Vid avyttring av aktierna blir omkostnadsbeloppet enbart anskaffningsvärdet (eventuellt plus ovillkorade tillskott). Den villkorade fordringen avyttras separat.
|
||||
|
||||
**Felmönster E: Skattekonsekvens av villkorat tillskott jämställs med ovillkorat.**
|
||||
Skattefri återbetalning av villkorat (RÅ 1988 ref. 65) finns inte för ovillkorat. Felblandning ger upptaxering hos givaren.
|
||||
@@ -96,4 +96,4 @@ Skattefri återbetalning av villkorat (RÅ 1988 ref. 65) finns inte för ovillko
|
||||
- HFD/RÅ: RÅ 1988 ref. 65; RÅ 2008 ref. 24; RÅ 2009 ref. 41.
|
||||
- Skatteverkets ställningstagande "Förluster på fordringar på eget bolag" dnr 131 440547-09/111.
|
||||
- Bokföring: K2 BFNAR 2016:10 punkt 19.5 (ny lydelse 2026); K3 BFNAR 2012:1 punkt 11.10-11.12 (ny lydelse 2026). BFN beslut 2025-06-16.
|
||||
- BFN U 97:2 — upphävd.
|
||||
- BFN U 97:2, upphävd.
|
||||
|
||||
@@ -1,35 +1,35 @@
|
||||
# Koncernbidrag — utvidgad referens
|
||||
# Koncernbidrag: utvidgad referens
|
||||
|
||||
Ladda när uppgiften specifikt rör koncernbidragens skatte- eller civilrättsliga mekanik, slussning, EES-filialer, eller bokföringsmässig klassificering.
|
||||
|
||||
## IL 35 kap — skattemässig avdragsrätt
|
||||
## IL 35 kap: skattemässig avdragsrätt
|
||||
|
||||
### 35 kap 1 § IL
|
||||
Avdrag hos givaren, intäkt hos mottagaren under förutsättning att **värdeöverföring** sker senast den dag inkomstdeklarationen ska lämnas (kodifierat SFS 2016:1239 ikraft 2017-01-01; tidigare praxis krävde överföring under räkenskapsåret).
|
||||
|
||||
### 35 kap 2 § IL — moderföretag
|
||||
### 35 kap 2 § IL: moderföretag
|
||||
Definition: svenskt AB, svensk ekonomisk förening, svensk sparbank, svensk ömsesidig försäkringsförening, eller svensk stiftelse/ideell förening som inte är skattebefriad. Ägande **> 90 %** av andelarna i dottern.
|
||||
|
||||
### 35 kap 2 a § IL — EES-bolag
|
||||
### 35 kap 2 a § IL: EES-bolag
|
||||
Utländskt EES-bolag som motsvarar svenskt AB jämställs om det är skattskyldigt i Sverige för verksamhet hos fast driftställe. **Skatteverkets ställningstagande:** EES-bolag utanför Sverige som äger svenskt dotter kan inte ge koncernbidrag till det svenska dottret om inte verksamheten bedrivs här (Marks & Spencer-doktrinen begränsad).
|
||||
|
||||
### 35 kap 3 § IL — förutsättningar (samtliga krävs)
|
||||
### 35 kap 3 § IL: förutsättningar (samtliga krävs)
|
||||
1. Varken givare eller mottagare är privatbostadsföretag eller **investmentföretag** (IL 39 kap).
|
||||
2. Koncernbidraget redovisas **öppet** i båda bolagens inkomstdeklarationer för samma taxeringsår.
|
||||
3. Dottern har varit **helägd (>90%) under hela båda bolagens beskattningsår**, eller sedan dottern började bedriva näringsverksamhet.
|
||||
4. Om mottagaren är moder och dottern är givare: utdelning under beskattningsåret från dottern till modern hade **inte varit skattepliktig** (näringsbetingad-test).
|
||||
5. Mottagarens hemvist enligt skatteavtal är inte i annan stat (utöver EES-filialundantag).
|
||||
|
||||
### 35 kap 4 § IL — fusionsregel
|
||||
### 35 kap 4 § IL: fusionsregel
|
||||
Koncernbidrag kan ges/tas trots att helägt-kravet inte är uppfyllt om bolagsstrukturen kan ledas tillbaka till en kvalificerad koncern via mellanled.
|
||||
|
||||
### 35 kap 5 § IL — slussning mellan systrar
|
||||
### 35 kap 5 § IL: slussning mellan systrar
|
||||
Bidrag mellan systrar (S1 och S2) godtas om bidrag genom MF (S1 → MF → S2) skulle ha varit avdragsgillt steg för steg. Vanlig konstruktion: undvik dubbel resultatpåverkan i mellanledet.
|
||||
|
||||
### 35 kap 6 § IL — fusionsfall
|
||||
### 35 kap 6 § IL: fusionsfall
|
||||
Specialregel vid fusion.
|
||||
|
||||
## Civilrättslig grund — ABL 17 + 18 kap
|
||||
## Civilrättslig grund: ABL 17 + 18 kap
|
||||
|
||||
### Värdeöverföringsdefinition (ABL 17 kap 1 §)
|
||||
Koncernbidrag = "annan affärshändelse som medför att bolagets förmögenhet minskar och inte har rent affärsmässig karaktär för bolaget" → värdeöverföring.
|
||||
@@ -40,10 +40,10 @@ Värdeöverföring får inte ske om det efter överföringen saknas full täckni
|
||||
### Försiktighetsregeln (ABL 17 kap 3 § 2 st)
|
||||
Värdeöverföring får ske endast om den med hänsyn till verksamhetens art, omfattning och risker, samt konsolideringsbehov, likviditet och ställning i övrigt framstår som **försvarlig**.
|
||||
|
||||
**HD T 5171-23 (2024):** Försiktighetsregeln tillämpas med **återhållsamhet** — styrelsens bedömning får ifrågasättas bara vid uppenbart oförsvarliga beslut. Standard för "försvarlig" är hög för aktivt försvar av beslutet, lägre för domstolens omprövning.
|
||||
**HD T 5171-23 (2024):** Försiktighetsregeln tillämpas med **återhållsamhet**: styrelsens bedömning får ifrågasättas bara vid uppenbart oförsvarliga beslut. Standard för "försvarlig" är hög för aktivt försvar av beslutet, lägre för domstolens omprövning.
|
||||
|
||||
### Styrelseyttrande (ABL 18 kap 4 §)
|
||||
Vid värdeöverföring som inte är ordinarie utdelning ska styrelsen avge yttrande över **förenligheten** med 17 kap 3 §. Yttrandet ska bifogas stämmoprotokollet. **NJA 2015 s. 359:** styrelseyttrandets formkrav är **tvingande** — kan inte avtalas bort, inte ens med enhälligt aktieägarbeslut. Underlåtenhet → värdeöverföringen kan återkallas via klandertalan.
|
||||
Vid värdeöverföring som inte är ordinarie utdelning ska styrelsen avge yttrande över **förenligheten** med 17 kap 3 §. Yttrandet ska bifogas stämmoprotokollet. **NJA 2015 s. 359:** styrelseyttrandets formkrav är **tvingande**: kan inte avtalas bort, inte ens med enhälligt aktieägarbeslut. Underlåtenhet → värdeöverföringen kan återkallas via klandertalan.
|
||||
|
||||
### Beslutsordning
|
||||
Vid värdeöverföring under räkenskapsåret som inte motsvarar utdelning på fastställd årsredovisning:
|
||||
@@ -69,7 +69,7 @@ Koncernbidrag periodiseras till samma räkenskapsår som det skattemässigt avse
|
||||
Tillåtet om det utländska EES-bolaget motsvarar svenskt AB och driftstället är skattskyldigt i Sverige för den verksamhet bidraget hänför sig till. **Skatteverkets ställningstagande "Koncernbidrag till svensk fast driftställe när huvudbolaget är utanför EES":** kräver diskrimineringsklausul i skatteavtal motsv. OECD-modellen art. 24.3.
|
||||
|
||||
### Koncernavdrag IL 35 a kap (slutliga förluster i EES-dotter)
|
||||
Separat regelverk efter Marks & Spencer C-446/03; ej koncernbidrag i traditionell mening. Kodifiering SFS 2010:353. Snäv: kräver direkt ägt EES-dotter, slutlig likvidation, modern är inte investmentföretag. **HFD 2019 not. 38 (Holmen):** avdrag medgavs inte för indirekt ägt dotter — direkt-kravet tolkas strikt.
|
||||
Separat regelverk efter Marks & Spencer C-446/03; ej koncernbidrag i traditionell mening. Kodifiering SFS 2010:353. Snäv: kräver direkt ägt EES-dotter, slutlig likvidation, modern är inte investmentföretag. **HFD 2019 not. 38 (Holmen):** avdrag medgavs inte för indirekt ägt dotter: direkt-kravet tolkas strikt.
|
||||
|
||||
## Praxis senaste 5 åren
|
||||
|
||||
@@ -79,7 +79,7 @@ Separat regelverk efter Marks & Spencer C-446/03; ej koncernbidrag i traditionel
|
||||
| HFD 2019 not. 38 (Holmen) | Direkt-kravet i 35 a kap koncernavdrag tolkas strikt. |
|
||||
| HD T 5171-23 (2024) | Försiktighetsregeln tillämpas med återhållsamhet; styrelseyttrande oavtalbart. |
|
||||
| NJA 2015 s. 359 | Styrelseyttrande ABL 18 kap 4 § är tvingande. |
|
||||
| HFD 2009 not. 33 | Värdeöverföring senast på inkomstdeklarationsdagen accepterad — sedermera kodifierad. |
|
||||
| HFD 2009 not. 33 | Värdeöverföring senast på inkomstdeklarationsdagen accepterad: sedermera kodifierad. |
|
||||
|
||||
## Praktiska felmönster
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# Kupongskatt och CFC — utvidgad referens
|
||||
# Kupongskatt och CFC: utvidgad referens
|
||||
|
||||
Ladda när uppgiften rör utdelning till utländsk ägare, källskatt vid utbetalning, eller utländska lågbeskattade dotterbolag.
|
||||
|
||||
## Kupongskatt — KupL (1970:624)
|
||||
## Kupongskatt: KupL (1970:624)
|
||||
|
||||
### Tillämpning
|
||||
Statlig **källskatt** på utdelning från svenskt AB/svensk värdepappersfond/svensk investmentförening till **begränsat skattskyldig** mottagare (KupL 1 §). Innehålls av bolaget vid utbetalning och betalas in till Skatteverket.
|
||||
@@ -10,7 +10,7 @@ Statlig **källskatt** på utdelning från svenskt AB/svensk värdepappersfond/s
|
||||
### Skattesats (KupL 5 §)
|
||||
**30 %** på utdelningens bruttobelopp. Reduceras genom dubbelbeskattningsavtal (typiskt 15 %, 10 %, 5 % eller 0 % beroende på avtal och ägarstruktur).
|
||||
|
||||
### Undantag — moder/dotterbolagsdirektivet
|
||||
### Undantag: moder/dotterbolagsdirektivet
|
||||
|
||||
**KupL 4 § 5 st:** Undantag enligt direktiv 2011/96/EU. Förutsättningar:
|
||||
- Mottagaren är **EU-juridisk person** enligt direktivets art. 2 (svensk motsvarighet: AB).
|
||||
@@ -27,8 +27,8 @@ Statlig **källskatt** på utdelning från svenskt AB/svensk värdepappersfond/s
|
||||
| Svensk holding → svensk dottermoder | Ingen kupongskatt | KupL 1 § |
|
||||
| Svensk holding → EU-moder med ≥ 10 % | 0 % | KupL 4 § 5 st |
|
||||
| Svensk holding → EES-moder utanför EU med ≥ 10 % | 0 % efter 1 års innehav | KupL 4 § 6-7 st |
|
||||
| Svensk holding → moder i tredje land (USA, UK, Schweiz) | Reducerat enligt skatteavtal — typiskt 5 % vid ≥ 10 % ägande | Skatteavtal |
|
||||
| Svensk holding → fysisk person utomlands | Reducerat enligt skatteavtal — typiskt 15 % | Skatteavtal |
|
||||
| Svensk holding → moder i tredje land (USA, UK, Schweiz) | Reducerat enligt skatteavtal: typiskt 5 % vid ≥ 10 % ägande | Skatteavtal |
|
||||
| Svensk holding → fysisk person utomlands | Reducerat enligt skatteavtal: typiskt 15 % | Skatteavtal |
|
||||
|
||||
### Återbetalning
|
||||
Vid felaktigt innehållen källskatt kan utländsk mottagare ansöka om återbetalning hos Skatteverket inom 5 år (KupL 27 §).
|
||||
@@ -45,30 +45,30 @@ Vid felaktigt innehållen källskatt kan utländsk mottagare ansöka om återbet
|
||||
|
||||
(Kontrollera aktuell version av respektive avtal.)
|
||||
|
||||
## CFC — IL 39 a kap
|
||||
## CFC: IL 39 a kap
|
||||
|
||||
### Tillämpningsområde — IL 39 a kap 2 §
|
||||
### Tillämpningsområde: IL 39 a kap 2 §
|
||||
Svensk obegränsat skattskyldig **delägare** (fysisk eller juridisk) i utländsk juridisk person beskattas löpande för sin andel av nettoresultatet om bolaget är **lågbeskattat**, oavsett om utdelning skett.
|
||||
|
||||
**Delägare:** > 25 % av kapital eller röster, ensam eller tillsammans med närstående/intressegemenskap.
|
||||
|
||||
### Lågbeskattning — IL 39 a kap 5 §
|
||||
### Lågbeskattning: IL 39 a kap 5 §
|
||||
Lågbeskattad om **utländsk skatt < 55 % av svensk bolagsskatt** på samma inkomst.
|
||||
|
||||
Svensk bolagsskatt 2026: **20,6 %**. Tröskel: 55 % × 20,6 % = **≈ 11,33 %**.
|
||||
|
||||
Beräkningen utgår från **hypotetisk svensk skatt** på inkomsten enligt svenska regler, jämfört med faktisk utländsk skatt på samma inkomst.
|
||||
|
||||
### Vita listan — IL 39 a kap 7 § + bilaga 39 a
|
||||
### Vita listan: IL 39 a kap 7 § + bilaga 39 a
|
||||
Bilaga 39 a anger länder och inkomstkategorier som **undantas** från CFC-beskattning. Listan har två kategorier:
|
||||
|
||||
**Sektion 1:** Stater där all inkomst hos juridisk person är undantagen (typiskt: EU-medlemsstater med normal bolagsskatt).
|
||||
|
||||
**Sektion 2:** Stater där inkomst undantas **utom** specifika inkomstkategorier (typiskt: stater med särskilda lågbeskattningsregimer för vissa typer av inkomst — patentboxar, holdingregimer, IP-regimer).
|
||||
**Sektion 2:** Stater där inkomst undantas **utom** specifika inkomstkategorier (typiskt: stater med särskilda lågbeskattningsregimer för vissa typer av inkomst, patentboxar, holdingregimer, IP-regimer).
|
||||
|
||||
Bilagan uppdateras löpande genom regeringsbeslut.
|
||||
|
||||
### EES-undantaget — IL 39 a kap 7 a §
|
||||
### EES-undantaget: IL 39 a kap 7 a §
|
||||
EES-bolag undantas från CFC-beskattning om de utgör **verklig etablering** med affärsmässigt motiverad verksamhet. Implementering av C-196/04 Cadbury Schweppes (Skatteverket vägledning baserat på SFS 2007:1254).
|
||||
|
||||
**Kriterier för "verklig etablering":**
|
||||
@@ -81,7 +81,7 @@ EES-bolag undantas från CFC-beskattning om de utgör **verklig etablering** med
|
||||
- Utvidgad definition av "lågbeskattad inkomst" till vissa passiva inkomstkategorier även om effektiv skatt ≥ 11,33 %.
|
||||
- Skärpta krav på substans i undantag.
|
||||
|
||||
### Hybridregler — IL 24 b kap (SFS 2019:1233)
|
||||
### Hybridregler: IL 24 b kap (SFS 2019:1233)
|
||||
Separat regelverk för **hybrida missmatchningar** (samma kostnad dras av i två länder, eller inkomst inkluderas inte i något land). Påverkar koncerninterna transaktioner med utländska dotter.
|
||||
|
||||
## Praktiska scenarier för holding-AB
|
||||
@@ -101,23 +101,23 @@ Om svensk holding flyttar säte/verklig ledning till annan EES-stat: utflyttning
|
||||
## Praktiska felmönster
|
||||
|
||||
**Felmönster A: Kupongskatt innehålls inte vid utdelning till nordisk moder.**
|
||||
Norden har inom Nordiska skatteavtalet 0 % källskatt vid > 10 % ägande, **men** innehållskravet i KupL gäller även när skattesatsen är 0 % — bolaget måste ha intyg från mottagaren om hemvist (typiskt formuläret K10 eller likvärdigt) före utbetalningen. Vid utebliven dokumentation: 30 % innehålls och återbetalning sker via mottagaren senare.
|
||||
Norden har inom Nordiska skatteavtalet 0 % källskatt vid > 10 % ägande, **men** innehållskravet i KupL gäller även när skattesatsen är 0 %: bolaget måste ha intyg från mottagaren om hemvist (typiskt formuläret K10 eller likvärdigt) före utbetalningen. Vid utebliven dokumentation: 30 % innehålls och återbetalning sker via mottagaren senare.
|
||||
|
||||
**Felmönster B: Verklig etablering antas finnas i lågskatteland utan substanstest.**
|
||||
Brevlådedotter på Cypern utan personal och kontor: inte verklig etablering → CFC-beskattning. Substanskrav: lokal personal som faktiskt fattar beslut, lokal infrastruktur, lokal närvaro.
|
||||
|
||||
**Felmönster C: Bilaga 39 a kontrolleras inte vid förvärv av utländskt dotter.**
|
||||
Bilagan uppdateras kvartalsvis/halvårsvis. Vid förvärv av utländskt dotter ska aktuell version av bilagan granskas — tidigare undantagna regimer kan ha lagts till på listan (typiskt: IP-regimer, holdingregimer som ändrats).
|
||||
Bilagan uppdateras kvartalsvis/halvårsvis. Vid förvärv av utländskt dotter ska aktuell version av bilagan granskas: tidigare undantagna regimer kan ha lagts till på listan (typiskt: IP-regimer, holdingregimer som ändrats).
|
||||
|
||||
**Felmönster D: Kupongskatt antas vara avdragsgill i bolaget.**
|
||||
Kupongskatt innehålls av bolaget för **mottagarens** räkning — det är inte bolagets egen kostnad utan en del av utdelningen som vidarebefordras till Skatteverket. Bokförs över balansräkningen (2710 Personalskatt → här används analogt 2710 eller specifik post för innehållen kupongskatt mot 1930 vid betalning), inte som kostnad i RR.
|
||||
Kupongskatt innehålls av bolaget för **mottagarens** räkning: det är inte bolagets egen kostnad utan en del av utdelningen som vidarebefordras till Skatteverket. Bokförs över balansräkningen (2710 Personalskatt → här används analogt 2710 eller specifik post för innehållen kupongskatt mot 1930 vid betalning), inte som kostnad i RR.
|
||||
|
||||
## Lagrum och källor
|
||||
|
||||
- KupL (1970:624) — kupongskatt.
|
||||
- IL (1999:1229) 39 a kap — CFC.
|
||||
- IL 24 b kap — hybridregler (SFS 2019:1233).
|
||||
- Direktiv 2011/96/EU — moder/dotterbolagsdirektivet.
|
||||
- KupL (1970:624): kupongskatt.
|
||||
- IL (1999:1229) 39 a kap: CFC.
|
||||
- IL 24 b kap: hybridregler (SFS 2019:1233).
|
||||
- Direktiv 2011/96/EU: moder/dotterbolagsdirektivet.
|
||||
- Direktiv 2016/1164/EU (ATAD).
|
||||
- C-196/04 Cadbury Schweppes.
|
||||
- Skatteverkets rättsliga vägledning "Beskattning av CFC-bolag och dess delägare" och "Kupongskatt".
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
# Moms för holdingbolag — utvidgad referens
|
||||
# Moms för holdingbolag: utvidgad referens
|
||||
|
||||
Ladda när uppgiften rör avdragsrätt för ingående moms i holdingbolag, M&A-kostnader, försäljning av dotter, mervärdesskattegrupp, eller omvärdering av management fee.
|
||||
|
||||
## Grundprincip — när är holding "beskattningsbar person"?
|
||||
## Grundprincip: när är holding "beskattningsbar person"?
|
||||
|
||||
ML (2023:200) 4 kap 2 § (motsv. art. 9.1 momsdirektivet 2006/112/EG): "den som självständigt bedriver en ekonomisk verksamhet, oberoende av dess syfte eller resultat".
|
||||
|
||||
**Enbart innehav av andelar är inte ekonomisk verksamhet** (C-60/90 Polysar; C-142/99 Floridienne; C-28/16 MVM; HFD 2024 ref. 34 II). Passivt holdingbolag är därför inte beskattningsbar person → inget momsavdrag.
|
||||
|
||||
**Aktivt holdingbolag** — som "direkt eller indirekt deltar i förvaltningen av dotterbolagen" genom att tillhandahålla momspliktiga tjänster (administrativa, ekonomiska, kommersiella, tekniska) mot ersättning — är beskattningsbar person (C-142/99 Floridienne; C-16/00 Cibo; C-320/17 Marle Participations).
|
||||
**Aktivt holdingbolag** (som "direkt eller indirekt deltar i förvaltningen av dotterbolagen" genom att tillhandahålla momspliktiga tjänster (administrativa, ekonomiska, kommersiella, tekniska) mot ersättning) är beskattningsbar person (C-142/99 Floridienne; C-16/00 Cibo; C-320/17 Marle Participations).
|
||||
|
||||
## EU-praxis — tidslinje
|
||||
## EU-praxis: tidslinje
|
||||
|
||||
| Mål | År | Princip |
|
||||
|---|---|---|
|
||||
@@ -28,15 +28,15 @@ ML (2023:200) 4 kap 2 § (motsv. art. 9.1 momsdirektivet 2006/112/EG): "den som
|
||||
| C-812/19 Danske Bank | 2021 | Filial och huvudkontor i olika medlemsstater = separata beskattningsbara personer om huvudkontor är medlem i momsgrupp. |
|
||||
| **C-808/23 Högkullen** | 2025-07-03 | Skatteverket kan inte schablonmässigt omvärdera management fee till självkostnad. Koncerninterna förvaltningstjänster är inte ett odelbart tillhandahållande; marknadsvärde per tjänst. |
|
||||
|
||||
## Svensk praxis — senaste 5 åren
|
||||
## Svensk praxis: senaste 5 åren
|
||||
|
||||
| Avgörande | Princip |
|
||||
|---|---|
|
||||
| HFD 2023 ref. 41 (Volvo AB) | Aktivt holdings försäljningskostnader för dotterandelar är allmänna omkostnader → full avdragsrätt om kostnaderna inte övervältras på köparen och syftet är att effektivisera kvarvarande verksamhet. |
|
||||
| HFD 2024 ref. 18 (Lamiflex) | Avdragsrätt vid förvärv av "rent" holding som förvaltar dotterdotter — kedjan moder → dotter → dotterdotter bryter inte avdragsrätten om förvaltningstjänster fakturerades nedåt i kedjan. |
|
||||
| HFD 2024 ref. 18 (Lamiflex) | Avdragsrätt vid förvärv av "rent" holding som förvaltar dotterdotter: kedjan moder → dotter → dotterdotter bryter inte avdragsrätten om förvaltningstjänster fakturerades nedåt i kedjan. |
|
||||
| HFD 2024 ref. 34 I-II | Bolag som inte fakturerade dotter och inte vidarefakturerade kostnader saknade ekonomisk verksamhet → ingen avdragsrätt; momsregistreringen i sig skapar inte berättigade förväntningar. |
|
||||
| HFD 2026-01-27 mål 3217-21 (Högkullen, slutligt avgörande) | Implementerar C-808/23. Schablonmässig omvärdering underkänd. |
|
||||
| KRNG mål 5919-5220-23 (2024-04-23) | Återförvisning efter HFD 2023 ref. 41 — fördelningsnyckel mellan momspliktig/skattefri verksamhet ska bestämmas på skälig grund (kostnadsbaserad nyckel godtagen). |
|
||||
| KRNG mål 5919-5220-23 (2024-04-23) | Återförvisning efter HFD 2023 ref. 41: fördelningsnyckel mellan momspliktig/skattefri verksamhet ska bestämmas på skälig grund (kostnadsbaserad nyckel godtagen). |
|
||||
|
||||
## Avdragsrätt i typiska situationer
|
||||
|
||||
@@ -46,12 +46,12 @@ ML (2023:200) 4 kap 2 § (motsv. art. 9.1 momsdirektivet 2006/112/EG): "den som
|
||||
| Aktivt holding, full förvaltning, momspliktig fee | Full | Cibo C-16/00; Marle C-320/17 |
|
||||
| Förvärvskostnader (DD, juridik, M&A-konsult) vid förvärv som leder till aktiv förvaltning | Full | Cibo C-16/00; HFD 2024 ref. 18 |
|
||||
| Förvärvskostnader, avbrutet förvärv, avsikt om aktiv förvaltning styrkt | Avdrag medges normalt | Ryanair C-249/17; Sonaecom C-42/19 (men beakta faktisk användning av kapital) |
|
||||
| Försäljningskostnader vid avyttring av dotter — direkt hänförliga, övervältras på köparen | Ingen | BLP C-4/94 |
|
||||
| Försäljningskostnader — allmänna omkostnader, inte övervältrade | Full (om aktiv förvaltning) | SKF C-29/08; HFD 2023 ref. 41 |
|
||||
| Försäljningskostnader vid avyttring av dotter: direkt hänförliga, övervältras på köparen | Ingen | BLP C-4/94 |
|
||||
| Försäljningskostnader: allmänna omkostnader, inte övervältrade | Full (om aktiv förvaltning) | SKF C-29/08; HFD 2023 ref. 41 |
|
||||
| Holding som blandat förvaltar aktivt (mgmt fee) och passivt (rent ägande) | Pro rata | Larentia C-108/14 |
|
||||
| PE-fond som investerar i portföljbolag utan systematisk förvaltning | Begränsad/ingen | Skatteverkets ställningstagande 2024-02-02 dnr 8-2756161 |
|
||||
|
||||
## Mervärdesskattegrupp — ML 4 kap 7-14 §§
|
||||
## Mervärdesskattegrupp: ML 4 kap 7-14 §§
|
||||
|
||||
**Förutsättningar:**
|
||||
- Endast deltagare som tillhandahåller eller mottar tjänster som **undantagna från skatteplikt** inom finansiell sektor (10 kap 33 § om financial services), eller medlemmar med kommissionärsförhållande (4 kap 8 §).
|
||||
@@ -60,7 +60,7 @@ ML (2023:200) 4 kap 2 § (motsv. art. 9.1 momsdirektivet 2006/112/EG): "den som
|
||||
|
||||
**Praktisk räckvidd:** sällsynt utanför banker, försäkringsbolag, börsmäklare. Passivt holding kan inte ingå (är inte beskattningsbar person).
|
||||
|
||||
## Omvärdering av management fee — efter Högkullen
|
||||
## Omvärdering av management fee: efter Högkullen
|
||||
|
||||
Före Högkullen tillämpade Skatteverket regelmässigt ML 7 kap 3 a § (gamla; nu 8 kap 6 § nya ML) för att omvärdera koncerninterna förvaltningstjänster till **självkostnadsbas** (samtliga koncernens overhead-kostnader som "kostnad för tillhandahållandet"). Skatteverkets ställningstagande 190430 (dnr 202 195456-19/111).
|
||||
|
||||
@@ -69,7 +69,7 @@ Efter **C-808/23 Högkullen (3 juli 2025) och HFD 2026-01-27 mål 3217-21:**
|
||||
- Schablonmässig "self-cost"-metod är inte förenlig med art. 80 momsdirektivet.
|
||||
- Skatteverkets ställningstagande 190430 är överspelat i sin schablonmässiga del.
|
||||
|
||||
**Praktisk konsekvens:** management fee 100 kkr/månad för administrativ tjänst kan inte ifrågasättas av Skatteverket bara för att holdingens totala kostnadsbas är högre — krävs konkret jämförbar marknadstransaktion. Omprövning av tidigare omvärderingsbeslut inom 6-årsfristen bör övervägas.
|
||||
**Praktisk konsekvens:** management fee 100 kkr/månad för administrativ tjänst kan inte ifrågasättas av Skatteverket bara för att holdingens totala kostnadsbas är högre: krävs konkret jämförbar marknadstransaktion. Omprövning av tidigare omvärderingsbeslut inom 6-årsfristen bör övervägas.
|
||||
|
||||
## Praktiska felmönster
|
||||
|
||||
@@ -77,22 +77,22 @@ Efter **C-808/23 Högkullen (3 juli 2025) och HFD 2026-01-27 mål 3217-21:**
|
||||
Skatteverket återkallar avdrag om förvärvet avbröts och inget aktivt förvaltningssyfte kan styrkas vid kostnadens uppkomst. Rätt: dokumentera avsikt i investment memorandum, term sheet, board minutes. Sonaecom C-42/19 öppnar för avdrag vid avbrutet förvärv men faktisk skattefri användning av kapital (lån vidare till koncern) eliminerar avdraget.
|
||||
|
||||
**Felmönster B: Försäljningskostnader bokförs som direkt hänförliga utan analys.**
|
||||
Säljarens M&A-rådgivare, vendor due diligence, juridik vid exit — bedöm om dessa **övervältras** på köparen (typiskt: explicit i SPA). Övervältras = ej allmänna omkostnader = inget avdrag. Övervältras inte = allmänna omkostnader → avdrag (HFD 2023 ref. 41).
|
||||
Säljarens M&A-rådgivare, vendor due diligence, juridik vid exit: bedöm om dessa **övervältras** på köparen (typiskt: explicit i SPA). Övervältras = ej allmänna omkostnader = inget avdrag. Övervältras inte = allmänna omkostnader → avdrag (HFD 2023 ref. 41).
|
||||
|
||||
**Felmönster C: Holding utan management fee men med "intern fakturering" antas vara aktiv.**
|
||||
"Internfakturering" mellan koncernbolag utan reell vederlag, eller fakturering som omedelbart kvittas via koncernbidrag/utdelning, klassas av Skatteverket som **fiktiv** (HFD 2024 ref. 34 II). Krävs faktisk betalning, marknadsmässig prissättning, dokumenterade tjänster.
|
||||
|
||||
**Felmönster D: PE-investeringsverksamhet inkluderas i "aktiv förvaltning".**
|
||||
Skatteverkets ställningstagande 2024-02-02 (dnr 8-2756161) återkallar tidigare ställningstagande och behandlar PE-investeringsverksamhet som **icke-ekonomisk** verksamhet — avdragsrätten begränsas till den del som hänför sig till portföljbolag där aktiv förvaltning faktiskt utförs.
|
||||
Skatteverkets ställningstagande 2024-02-02 (dnr 8-2756161) återkallar tidigare ställningstagande och behandlar PE-investeringsverksamhet som **icke-ekonomisk** verksamhet: avdragsrätten begränsas till den del som hänför sig till portföljbolag där aktiv förvaltning faktiskt utförs.
|
||||
|
||||
## Skatteverket — primära källor
|
||||
## Skatteverket: primära källor
|
||||
|
||||
- "Holdingbolag – avdragsrätt för mervärdesskatt", rättslig vägledning, dnr 202 377677-17/111 (uppdaterat 2024-03-21 efter HFD 2024 ref. 18) — `skatteverket.se/rattsligvagledning/365766.html`.
|
||||
- "Holdingbolag: avdragsrätt för mervärdesskatt", rättslig vägledning, dnr 202 377677-17/111 (uppdaterat 2024-03-21 efter HFD 2024 ref. 18): `skatteverket.se/rattsligvagledning/365766.html`.
|
||||
- "Avsnitt 4.2.4 om riskkapitalbolag upphör att gälla", 2024-02-02, dnr 8-2756161.
|
||||
- Mervärdesskattegrupp: `skatteverket.se/rattsligvagledning/393925.html`.
|
||||
|
||||
## Lagrum
|
||||
|
||||
- ML (2023:200) — ikraft 2023-07-01. Materiella regler för holding oförändrade jfr ML 1994:200.
|
||||
- ML (2023:200): ikraft 2023-07-01. Materiella regler för holding oförändrade jfr ML 1994:200.
|
||||
- ML 4 kap 2 § (beskattningsbar person), 4 kap 7-14 §§ (mervärdesskattegrupp), 8 kap 6 § (omvärdering), 10 kap 33 § (finansiella undantag), 13 kap 6 § (avdragsrätt).
|
||||
- Momsdirektivet 2006/112/EG art. 9 (beskattningsbar person), art. 80 (omvärdering), art. 168 (avdragsrätt), art. 11 (momsgrupp).
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# Näringsbetingade andelar och skalbolag — utvidgad referens
|
||||
# Näringsbetingade andelar och skalbolag: utvidgad referens
|
||||
|
||||
Ladda denna fil när uppgiften specifikt rör definitionen av näringsbetingade andelar, kapitalvinst/-förlust på dotterandelar, eller skalbolagsbedömning.
|
||||
|
||||
## IL 24 kap 32-42 §§ — komplett genomgång
|
||||
## IL 24 kap 32-42 §§: komplett genomgång
|
||||
|
||||
### 24 kap 32 § IL — ägarkrets
|
||||
### 24 kap 32 § IL: ägarkrets
|
||||
Andel är näringsbetingad endast om den ägs av:
|
||||
1. svenskt AB eller svensk ekonomisk förening som inte är investmentföretag,
|
||||
2. svensk stiftelse eller ideell förening som inte är skattebefriad,
|
||||
@@ -12,42 +12,42 @@ Andel är näringsbetingad endast om den ägs av:
|
||||
4. svensk ömsesidig försäkringsförening,
|
||||
5. utländsk juridisk person som hör hemma i EES och motsvarar något av ovanstående.
|
||||
|
||||
**HFD 2022 not. 3:** Liechtenstein-Anstalt (med EES-tillhörighet via EEA-avtalet) godtagen som motsvarighet trots låg beskattning — formell obegränsad skattskyldighet räcker.
|
||||
**HFD 2022 not. 3:** Liechtenstein-Anstalt (med EES-tillhörighet via EEA-avtalet) godtagen som motsvarighet trots låg beskattning: formell obegränsad skattskyldighet räcker.
|
||||
|
||||
**Skatteverket dnr 202-385227-22/111 (2022-10):** SICAV med variabelt kapital motsvarar **inte** svenskt AB (kapitalstrukturen avviker fundamentalt). Luxemburg SARL OK. Brittiska Ltd OK. Irländska DAC OK. Jersey Ltd OK om bolagsrätten motsvarar EES (efter HFD 2022 not. 3 enklare bedömning).
|
||||
|
||||
### 24 kap 33 § IL — kategoriseringsvillkor
|
||||
### 24 kap 33 § IL: kategoriseringsvillkor
|
||||
Andel måste vara kapitaltillgång hos ägaren, **plus** ett av:
|
||||
|
||||
| Villkor | Tröskel |
|
||||
|---|---|
|
||||
| Onoterad andel i svenskt AB/ek.för. eller motsv. utländskt EES-bolag | Automatiskt — **inget innehavskrav** |
|
||||
| Onoterad andel i svenskt AB/ek.för. eller motsv. utländskt EES-bolag | Automatiskt, **inget innehavskrav** |
|
||||
| Marknadsnoterad andel | **≥ 10 % av rösterna** i bolaget |
|
||||
| Betingad av rörelse hos ägaren/närstående företag | Bedömning per fall |
|
||||
|
||||
"Betingad av rörelse" — RÅ 2001 ref. 6: aktier i underleverantör betingade av eget rörelseinnehav om strategiskt samband.
|
||||
"Betingad av rörelse", RÅ 2001 ref. 6: aktier i underleverantör betingade av eget rörelseinnehav om strategiskt samband.
|
||||
|
||||
### 24 kap 35 § IL — utdelning skattefri
|
||||
### 24 kap 35 § IL: utdelning skattefri
|
||||
Utdelning på näringsbetingad andel tas inte upp. Gäller även utländsk utdelning (jfr 39 a kap CFC).
|
||||
|
||||
### 24 kap 40 § IL — innehavstid
|
||||
### 24 kap 40 § IL: innehavstid
|
||||
Marknadsnoterad andel: **≥ 1 år** vid utdelnings-/avyttringstillfället. Onoterad: inget innehavskrav. Beräknad bakåt från transaktionstidpunkt.
|
||||
|
||||
## IL 25 a kap — kapitalvinst/-förlust
|
||||
## IL 25 a kap: kapitalvinst/-förlust
|
||||
|
||||
### 25 a kap 5 § IL
|
||||
- **5 § 1 st:** kapitalvinst på näringsbetingad andel tas inte upp.
|
||||
- **5 § 2 st:** kapitalförlust på näringsbetingad andel är **inte avdragsgill**. Undantag: aktiefållans handelsbolagsregel.
|
||||
|
||||
### 25 a kap 19 § IL — avdragsförbud för "underliggande" tillgång
|
||||
### 25 a kap 19 § IL: avdragsförbud för "underliggande" tillgång
|
||||
Förlust på fordran/tillgång vars värde till väsentlig del bestäms av näringsbetingad andel är ej avdragsgill. Typfall: säljarrevers där köparen är dotterbolaget vars aktier är näringsbetingade.
|
||||
|
||||
**HFD 2023 ref. 1:** Köpeskillingsrevers efter avyttring av nb-andelar omfattas **inte** av 19 §. Fordringen är inte själv en näringsbetingad andel och dess värde bestäms av köparens betalningsförmåga, inte av målbolagets värde. → Förlust på säljarrevers är avdragsgill (om verklig och definitiv).
|
||||
|
||||
### Aktiefållan — IL 48 kap 26 §
|
||||
### Aktiefållan: IL 48 kap 26 §
|
||||
Kapitalförlust på delägarrätter som inte är näringsbetingade i AB → endast kvittas mot kapitalvinster på samma slag (rullning framåt). Påverkar inte näringsbetingade andelar direkt men relevant för portföljaktier (1350).
|
||||
|
||||
## Skalbolagsregler — IL 25 a kap 9-18 §§
|
||||
## Skalbolagsregler: IL 25 a kap 9-18 §§
|
||||
|
||||
### Definition (25 a kap 9 §)
|
||||
Skalbolag = AB/ek.för. där marknadsvärdet av **likvida tillgångar** > **jämförelsebeloppet**.
|
||||
@@ -59,7 +59,7 @@ Skalbolag = AB/ek.för. där marknadsvärdet av **likvida tillgångar** > **jäm
|
||||
- Vid annan andel: proportionell beräkning enligt 25 a kap 10 §.
|
||||
|
||||
### Konsekvens (25 a kap 9 §)
|
||||
Hela ersättningen tas upp som kapitalvinst — skattefriheten för näringsbetingade andelar bortfaller.
|
||||
Hela ersättningen tas upp som kapitalvinst: skattefriheten för näringsbetingade andelar bortfaller.
|
||||
|
||||
### Ventilen (25 a kap 12 §)
|
||||
Skalbolagsbeskattning sker inte om:
|
||||
@@ -74,17 +74,17 @@ Inom **60 dagar** från avyttring. Innehåll: balansräkning per avyttringsdagen
|
||||
## Praktiska felmönster (utöver SKILL.md huvuddokument)
|
||||
|
||||
**Felmönster A: Andelar i utländskt holding klassas felaktigt som icke-näringsbetingade.**
|
||||
Cypern Ltd, Malta Ltd, Luxemburg SARL — alla EES → motsvarar svenskt AB enligt 24 kap 32 § 5 p. Utdelning skattefri. Säljaren betalar ingen skatt på vinst. Skatteverket misstar sig ibland och beskattar.
|
||||
Cypern Ltd, Malta Ltd, Luxemburg SARL: alla EES → motsvarar svenskt AB enligt 24 kap 32 § 5 p. Utdelning skattefri. Säljaren betalar ingen skatt på vinst. Skatteverket misstar sig ibland och beskattar.
|
||||
|
||||
**Felmönster B: 1-årsregeln ignoreras vid marknadsnotering mitt under innehavet.**
|
||||
Innehavet börjar som onoterat (näringsbetingat utan tidskrav), bolaget IPO:as, säljs månad 6 efter notering. Vid avyttring är andelen marknadsnoterad → 24 kap 40 § 1-årskrav räknas baklänges från avyttringen. Innehavstiden under noterad period räknas, plus motsvarande tid som onoterad → totalt > 1 år → näringsbetingad. Detta missförstås ofta.
|
||||
|
||||
**Felmönster C: Skalbolagsdeklaration utelämnas vid avyttring av sovande bolag.**
|
||||
Säljaren tror att skalbolagsregeln bara gäller "tomma" bolag, men jämförelsebeloppstest baseras på marknadsvärden — ett bolag med 5 MSEK på bankkonto och inga rörelsetillgångar som säljs för 10 MSEK är skalbolag oavsett om det "är aktivt".
|
||||
Säljaren tror att skalbolagsregeln bara gäller "tomma" bolag, men jämförelsebeloppstest baseras på marknadsvärden: ett bolag med 5 MSEK på bankkonto och inga rörelsetillgångar som säljs för 10 MSEK är skalbolag oavsett om det "är aktivt".
|
||||
|
||||
## Lagrum och källor
|
||||
|
||||
- IL (1999:1229) 24 kap 32-42 §§ — SFS 2003:224 ikraft 2003-07-01, omnumrering SFS 2018:1206 ikraft 2019-01-01.
|
||||
- IL (1999:1229) 24 kap 32-42 §§: SFS 2003:224 ikraft 2003-07-01, omnumrering SFS 2018:1206 ikraft 2019-01-01.
|
||||
- IL 25 a kap 5, 9-18, 19 §§.
|
||||
- IL 48 kap 26 § aktiefållan.
|
||||
- SFL (2011:1244) 27 kap 2, 4, 5 §§.
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
# Omstruktureringar — utvidgad referens
|
||||
# Omstruktureringar: utvidgad referens
|
||||
|
||||
Ladda när uppgiften rör underprisöverlåtelser, fusioner, fissioner, verksamhetsavyttring, andelsbyten, eller Lex ASEA.
|
||||
|
||||
## IL 23 kap — Underprisöverlåtelser
|
||||
## IL 23 kap: Underprisöverlåtelser
|
||||
|
||||
Reglerar **överlåtelse av tillgång till underpris** mellan företag utan att utlösa uttagsbeskattning (IL 22 kap), om vissa villkor är uppfyllda.
|
||||
|
||||
### 23 kap 14-29 §§ — villkor
|
||||
### 23 kap 14-29 §§: villkor
|
||||
1. **Skattesubjektsvillkor** (14 §): båda parter är skattskyldiga för näringsverksamhet i Sverige.
|
||||
2. **Kvalifikationsvillkor** (15-16 §§): överlåtaren och förvärvaren är kvalificerade (AB, ek.för., HB, etc.).
|
||||
3. **Koncernbidragsvillkor** (17-19 §§): koncernbidragsrätt mellan parterna ska föreligga, **eller** något av specialundantagen.
|
||||
4. **Verksamhetsgrensvillkor** (20-22 §§): vid överlåtelse av enstaka tillgång ska överlåtaren själv kunna ge koncernbidrag till förvärvaren; vid överlåtelse av verksamhetsgren undantas detta krav.
|
||||
5. **Underskottsvillkor** (24-26 §§): underskott hos förvärvaren får inte utnyttjas mot vinstöverföring (skydd mot underskottshandel).
|
||||
6. **Kvalificerade andelar-villkor** (18-19 §§): vid överlåtelse till företag med kvalificerade andelar — särskilda villkor.
|
||||
6. **Kvalificerade andelar-villkor** (18-19 §§): vid överlåtelse till företag med kvalificerade andelar: särskilda villkor.
|
||||
|
||||
### Konsekvens om villkoren uppfylls
|
||||
- Ingen uttagsbeskattning hos överlåtaren (IL 22 kap 11 §).
|
||||
@@ -21,7 +21,7 @@ Reglerar **överlåtelse av tillgång till underpris** mellan företag utan att
|
||||
### Praktisk användning
|
||||
Typiskt: omstrukturering inom koncern där tillgång eller verksamhetsgren flyttas mellan bolag utan att utlösa moms eller inkomstskatt.
|
||||
|
||||
## IL 37 kap — Kvalificerade fusioner
|
||||
## IL 37 kap: Kvalificerade fusioner
|
||||
|
||||
### Definition (37 kap 1-4 §§)
|
||||
Fusion = överlåtande bolag upplöses, övertagande bolag tar emot alla tillgångar och skulder, aktieägare i överlåtande bolag får vederlag (typiskt aktier i övertagande bolag).
|
||||
@@ -33,14 +33,14 @@ Fusion = överlåtande bolag upplöses, övertagande bolag tar emot alla tillgå
|
||||
|
||||
### Konsekvens
|
||||
- Ingen uttagsbeskattning.
|
||||
- Kontinuitet i skattemässiga värden, sparat underskott (under förutsättning att underskottsspärr inte slår till — 40 kap).
|
||||
- Kontinuitet i skattemässiga värden, sparat underskott (under förutsättning att underskottsspärr inte slår till, 40 kap).
|
||||
- Koncernbidragsspärr enl. 40 kap 17-19 §§ kan begränsa utnyttjande.
|
||||
|
||||
### Bokföring
|
||||
- BFNAR 2003:2 (kvalificerad fusion) eller BFNAR 2020:5 (fusion av helägt dotterbolag).
|
||||
- Kontinuitetsprincip: övertagande bolag tar över bokföringsmässiga värden.
|
||||
|
||||
## IL 38 kap — Verksamhetsavyttring
|
||||
## IL 38 kap: Verksamhetsavyttring
|
||||
|
||||
Överlåtelse av en hel **verksamhetsgren** mot vederlag i form av aktier eller andelar i mottagande bolag.
|
||||
|
||||
@@ -48,14 +48,14 @@ Fusion = överlåtande bolag upplöses, övertagande bolag tar emot alla tillgå
|
||||
- Överlåtaren och förvärvaren är AB/ek.för./motsv. EES.
|
||||
- Vederlag i andelar i förvärvaren.
|
||||
- Förvärvaren övertar tillgångar **och** skulder hänförliga till verksamhetsgrenen.
|
||||
- Verksamhetsgren — fortsätter som självständig enhet hos förvärvaren.
|
||||
- Verksamhetsgren: fortsätter som självständig enhet hos förvärvaren.
|
||||
|
||||
### Konsekvens
|
||||
- Ingen uttagsbeskattning på överlåtelsen (38 kap 9 §).
|
||||
- Kontinuitet i skattemässiga värden hos förvärvaren.
|
||||
- Andelarna i förvärvaren erhållna som vederlag har omkostnadsbelopp = nettovärdet av överlåtna tillgångar minus skulder.
|
||||
|
||||
## IL 38 a kap — Partiella fissioner
|
||||
## IL 38 a kap: Partiella fissioner
|
||||
|
||||
Företag X "spinner ut" en verksamhetsgren till nytt bolag Y, vars aktier delas ut till X:s aktieägare.
|
||||
|
||||
@@ -69,7 +69,7 @@ Företag X "spinner ut" en verksamhetsgren till nytt bolag Y, vars aktier delas
|
||||
- Ingen utdelningsbeskattning hos aktieägarna.
|
||||
- Aktieägarna i X får andelar i Y med omkostnadsbelopp baserat på proportionerlig fördelning.
|
||||
|
||||
## IL 42 kap 16 § — Lex ASEA
|
||||
## IL 42 kap 16 §: Lex ASEA
|
||||
|
||||
Utdelning av **samtliga aktier i ett dotterbolag** till aktieägarna i ett **marknadsnoterat** moderbolag är **skattefri** för aktieägarna om vissa villkor är uppfyllda.
|
||||
|
||||
@@ -85,7 +85,7 @@ Utdelning av **samtliga aktier i ett dotterbolag** till aktieägarna i ett **mar
|
||||
|
||||
**Praktisk användning:** typiskt för noterade koncerner som spinner ut affärsområden till självständiga noterade bolag. Mindre relevant för privat holding men kan användas vid förberedelse för börsnotering.
|
||||
|
||||
## IL 48 a kap — Framskjuten beskattning vid andelsbyten (fysiska delägare)
|
||||
## IL 48 a kap: Framskjuten beskattning vid andelsbyten (fysiska delägare)
|
||||
|
||||
Fysisk person byter aktier i bolag A mot aktier i bolag B (typiskt: ägaren säljer sitt operativt aktiebolag till ett nybildat holding mot vederlag i holdingaktier).
|
||||
|
||||
@@ -102,11 +102,11 @@ Fysisk person byter aktier i bolag A mot aktier i bolag B (typiskt: ägaren säl
|
||||
|
||||
**Kvalificerade andelar:** om de avyttrade aktierna var kvalificerade enligt 57 kap är de nya också kvalificerade (kontinuitet).
|
||||
|
||||
## IL 49 kap — Uppskovsgrundande andelsbyten (juridiska delägare)
|
||||
## IL 49 kap: Uppskovsgrundande andelsbyten (juridiska delägare)
|
||||
|
||||
Liknande 48 a kap men för **juridiska personer** som säljare. Mindre praktisk relevans efter införandet av näringsbetingade andelar — om andelarna är näringsbetingade är försäljningen redan skattefri.
|
||||
Liknande 48 a kap men för **juridiska personer** som säljare. Mindre praktisk relevans efter införandet av näringsbetingade andelar: om andelarna är näringsbetingade är försäljningen redan skattefri.
|
||||
|
||||
## Skapande av holdingstruktur — typisk transaktionsväg
|
||||
## Skapande av holdingstruktur: typisk transaktionsväg
|
||||
|
||||
### Ren holdingbildning ovanför befintligt operativt AB
|
||||
1. Fysisk ägare X äger 100 % i Operativ AB (OperAB).
|
||||
@@ -126,19 +126,19 @@ Liknande 48 a kap men för **juridiska personer** som säljare. Mindre praktisk
|
||||
## Praktiska felmönster
|
||||
|
||||
**Felmönster A: Underprisöverlåtelse mellan systerbolag utan koncernbidragsrätt.**
|
||||
S1 överlåter tillgång till S2 till underpris. Koncernbidragsrätt mellan S1 och S2 finns genom slussning via MF — IL 23 kap 17 § kräver direkt koncernbidragsrätt eller specifikt undantag. Slussning räcker inte alltid → uttagsbeskattning utlöses. Lös genom att lyfta tillgången via MF i två steg, eller använd specialundantag i 23 kap 18 §.
|
||||
S1 överlåter tillgång till S2 till underpris. Koncernbidragsrätt mellan S1 och S2 finns genom slussning via MF: IL 23 kap 17 § kräver direkt koncernbidragsrätt eller specifikt undantag. Slussning räcker inte alltid → uttagsbeskattning utlöses. Lös genom att lyfta tillgången via MF i två steg, eller använd specialundantag i 23 kap 18 §.
|
||||
|
||||
**Felmönster B: Fusion mellan bolag med olika räkenskapsår utan kontroll av periodiseringsfond.**
|
||||
Periodiseringsfonder överförs vid kvalificerad fusion men måste återföras inom 6 år från avsättningsåret — fusionen ändrar inte återföringstidpunkten. Felaktig kontering kan leda till sen återföring och sanktioner.
|
||||
Periodiseringsfonder överförs vid kvalificerad fusion men måste återföras inom 6 år från avsättningsåret: fusionen ändrar inte återföringstidpunkten. Felaktig kontering kan leda till sen återföring och sanktioner.
|
||||
|
||||
**Felmönster C: Andelsbyte enligt 48 a kap utan kontroll av kontantvederlag.**
|
||||
Kontantvederlag får högst vara 10 % av aktiernas **nominella belopp** (inte marknadsvärde). Vid överskridande tillämpas inte framskjuten beskattning → fysisk ägare beskattas omedelbart för hela kapitalvinsten.
|
||||
|
||||
**Felmönster D: Lex ASEA-utdelning utan att bolaget är marknadsnoterat.**
|
||||
Lex ASEA kräver att utdelande bolag är marknadsnoterat. Onoterat privat holding kan inte använda Lex ASEA. För onoterad utdelning av dotterbolagsaktier: prövas som vanlig utdelning → näringsbetingad → skattefri för aktiebolag, men för fysisk ägare blir det utdelningsbeskattning. Lösning: partiell fission (IL 38 a kap) — inte begränsad till noterade bolag.
|
||||
Lex ASEA kräver att utdelande bolag är marknadsnoterat. Onoterat privat holding kan inte använda Lex ASEA. För onoterad utdelning av dotterbolagsaktier: prövas som vanlig utdelning → näringsbetingad → skattefri för aktiebolag, men för fysisk ägare blir det utdelningsbeskattning. Lösning: partiell fission (IL 38 a kap), inte begränsad till noterade bolag.
|
||||
|
||||
**Felmönster E: Skalbolagsregler ignoreras vid försäljning av "tomt" bolag efter paketering.**
|
||||
Efter paketeringsförsäljning kan ursprungsbolaget (säljaren) bli skalbolag — likvida tillgångar (köpeskillingen) > jämförelsebeloppet. Skalbolagsdeklaration krävs inom 60 dagar (SFL 27 kap 4 §) annars skalbolagsbeskattning.
|
||||
Efter paketeringsförsäljning kan ursprungsbolaget (säljaren) bli skalbolag: likvida tillgångar (köpeskillingen) > jämförelsebeloppet. Skalbolagsdeklaration krävs inom 60 dagar (SFL 27 kap 4 §) annars skalbolagsbeskattning.
|
||||
|
||||
## Lagrum och källor
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Ränteavdragsbegränsning — utvidgad referens
|
||||
# Ränteavdragsbegränsning: utvidgad referens
|
||||
|
||||
Ladda när uppgiften rör beräkning av räntenetto, EBITDA-tak, koncerninterna förvärvslån, eller den nya 24 kap 19 a § (2026).
|
||||
|
||||
@@ -6,22 +6,22 @@ Ladda när uppgiften rör beräkning av räntenetto, EBITDA-tak, koncerninterna
|
||||
|
||||
Sedan 2019-01-01 (SFS 2018:1206, prop. 2017/18:245) består svensk ränteavdragsbegränsning av två oberoende skikt:
|
||||
|
||||
1. **Generell EBITDA-regel** (IL 24 kap 21-29 §§) — gäller alla räntor, även externa.
|
||||
2. **Riktade regler för koncerninterna lån** (IL 24 kap 16-20 §§) — gäller endast intressegemenskap.
|
||||
1. **Generell EBITDA-regel** (IL 24 kap 21-29 §§): gäller alla räntor, även externa.
|
||||
2. **Riktade regler för koncerninterna lån** (IL 24 kap 16-20 §§): gäller endast intressegemenskap.
|
||||
|
||||
Båda måste passeras. Generell regel tillämpas på **avdragsgillt** räntenetto, alltså efter att riktade regler kan ha eliminerat vissa räntor.
|
||||
|
||||
## Generell EBITDA-regel — 24 kap 21-29 §§
|
||||
## Generell EBITDA-regel: 24 kap 21-29 §§
|
||||
|
||||
### 24 kap 21 § IL — tillämpningsområde
|
||||
### 24 kap 21 § IL: tillämpningsområde
|
||||
Juridiska personer och svenska handelsbolag. Handelsbolag med enbart fysiska delägare undantagna.
|
||||
|
||||
### 24 kap 23 § IL — räntenetto
|
||||
### 24 kap 23 § IL: räntenetto
|
||||
**Negativt räntenetto** = avdragsgilla ränteutgifter − skattepliktiga ränteinkomster.
|
||||
|
||||
Endast negativt räntenetto begränsas. Positivt räntenetto (mer ränteinkomster än -utgifter) är obegränsat.
|
||||
|
||||
### 24 kap 24 § IL — avdragstaket
|
||||
### 24 kap 24 § IL: avdragstaket
|
||||
|
||||
**Huvudregel (1 st):** Negativt räntenetto får dras av till **30 % av avdragsunderlaget**.
|
||||
|
||||
@@ -29,7 +29,7 @@ Endast negativt räntenetto begränsas. Positivt räntenetto (mer ränteinkomste
|
||||
|
||||
**Förenklingsregel (3 st):** Negativt räntenetto upp till **5 MSEK** får alltid dras av per **intressegemenskap** (för bolag i koncern: gemensamt tak; varje bolag kan inte använda 5 MSEK var). Om förenklingsregeln tillämpas får inget kvarstående räntenetto sparas till nästa år.
|
||||
|
||||
### 24 kap 26 § IL — sparat räntenetto
|
||||
### 24 kap 26 § IL: sparat räntenetto
|
||||
Kvarstående negativt räntenetto efter tillämpning av 30 %-taket sparas och kan dras av kommande **6 år**. Kan utnyttjas mot framtida överskott i avdragsunderlaget. Vid ägarförändring: spärrsregel enligt 27-29 §§.
|
||||
|
||||
### Beräkningsexempel
|
||||
@@ -51,63 +51,63 @@ Negativt räntenetto 3,5 MSEK < förenklingsregel 5 MSEK → **fullt avdrag** (m
|
||||
|
||||
Alternativt med 30 %-regel: 3 MSEK avdrag, 0,5 MSEK kvarstående negativt räntenetto sparas 6 år.
|
||||
|
||||
## Riktade regler — 24 kap 16-20 §§
|
||||
## Riktade regler: 24 kap 16-20 §§
|
||||
|
||||
### 24 kap 16 § IL — intressegemenskap
|
||||
### 24 kap 16 § IL: intressegemenskap
|
||||
Bolagen anses ingå i intressegemenskap om ett bolag direkt eller indirekt har ett **väsentligt inflytande** över det andra, eller om bolagen i huvudsak står under gemensam ledning.
|
||||
|
||||
### 24 kap 18 § IL — tioprocentsregeln + undantagsregeln
|
||||
### 24 kap 18 § IL: tioprocentsregeln + undantagsregeln
|
||||
|
||||
**1 st (tioprocentsregeln):** Räntekostnad till intressegemenskap är avdragsgill om motsvarande inkomst hade beskattats med **minst 10 %** hos mottagaren enligt lagstiftningen i mottagarens hemstat (hypotetiskt test — som om det vore enda inkomsten).
|
||||
**1 st (tioprocentsregeln):** Räntekostnad till intressegemenskap är avdragsgill om motsvarande inkomst hade beskattats med **minst 10 %** hos mottagaren enligt lagstiftningen i mottagarens hemstat (hypotetiskt test, som om det vore enda inkomsten).
|
||||
|
||||
**2 st (undantagsregeln):** Trots tioprocentsregeln är räntan inte avdragsgill om skuldförhållandet **uteslutande eller så gott som uteslutande** uppkommit för att intressegemenskapen ska få en **väsentlig skatteförmån**.
|
||||
|
||||
### 24 kap 19 § IL — förvärvsregeln
|
||||
### 24 kap 19 § IL: förvärvsregeln
|
||||
Räntekostnad på skuld som hänför sig till **koncerninternt förvärv av en delägarrätt** (typiskt: HoldCo lånar från koncernbolag för att köpa Target från annat koncernbolag) → avdrag bara om förvärvet är **väsentligen affärsmässigt motiverat**.
|
||||
|
||||
**HFD 2022 ref. 49:** Organisatoriska skäl (omstrukturering, "städa upp" koncernstruktur) räcker inte. Krävs affärsmässigt motiv såsom synergier, marknadstillträde, finansieringskrav från extern motpart.
|
||||
|
||||
### EU-rättens påverkan
|
||||
|
||||
**Lexel C-484/19 (20 jan 2021):** EU-domstolen underkände 2013 års lydelse av undantagsregeln som **etableringsfrihetsfientlig** — regeln användes selektivt mot transaktioner med utländska koncernbolag i situationer där svenska motsvarigheter inte skulle träffats.
|
||||
**Lexel C-484/19 (20 jan 2021):** EU-domstolen underkände 2013 års lydelse av undantagsregeln som **etableringsfrihetsfientlig**: regeln användes selektivt mot transaktioner med utländska koncernbolag i situationer där svenska motsvarigheter inte skulle träffats.
|
||||
|
||||
**HFD 2021 ref. 68:** Tillämpning av 2019 års lydelse av 24 kap 18 § 2 st på lån från belgiskt koncernbolag underkändes på samma EU-rättsliga grund som Lexel — koncernbidragsrätt skulle ha medgivits om båda bolagen varit svenska.
|
||||
**HFD 2021 ref. 68:** Tillämpning av 2019 års lydelse av 24 kap 18 § 2 st på lån från belgiskt koncernbolag underkändes på samma EU-rättsliga grund som Lexel: koncernbidragsrätt skulle ha medgivits om båda bolagen varit svenska.
|
||||
|
||||
**HFD 2024 ref. 6 (22 jan 2024):** Förvärvsregeln 24 kap 19 § underkändes som EU-stridig i en gränsöverskridande situation där koncernbidragsrätt skulle ha medgivits om både låntagare och långivare varit svenska. Skatteverket tvingades backa och regelverket reformeras.
|
||||
|
||||
### 2026 års reform — prop. 2025/26:20
|
||||
### 2026 års reform: prop. 2025/26:20
|
||||
|
||||
**Ikraft 2026-01-01** (bet. SkU8, antagen). Anpassningar:
|
||||
|
||||
- **Ny 24 kap 19 a § IL:** för skuldförhållanden inom EES — om koncernbidragsrätt mellan låntagare och långivare skulle ha funnits hade båda varit svenska AB, gäller särskild bedömning som inkorporerar EU-rättens proportionalitetskrav.
|
||||
- **Omformulering av 18 § 2 st och 19 §** — explicit anpassning till Lexel-doktrinen.
|
||||
- Övergångsbestämmelser för pågående lån — Skatteverkets vägledning ej färdig per maj 2026.
|
||||
- **Ny 24 kap 19 a § IL:** för skuldförhållanden inom EES, om koncernbidragsrätt mellan låntagare och långivare skulle ha funnits hade båda varit svenska AB, gäller särskild bedömning som inkorporerar EU-rättens proportionalitetskrav.
|
||||
- **Omformulering av 18 § 2 st och 19 §**: explicit anpassning till Lexel-doktrinen.
|
||||
- Övergångsbestämmelser för pågående lån: Skatteverkets vägledning ej färdig per maj 2026.
|
||||
|
||||
## Bokföring av ränteavdragsbegränsning
|
||||
|
||||
Ränteavdragsbegränsning är **endast skattemässig**. Bokföringsmässigt redovisas hela räntekostnaden som finansiell kostnad (8400-serien). Den ej avdragsgilla delen återförs i INK2:
|
||||
|
||||
- INK2S ruta 4.9 a "Ej avdragsgilla räntekostnader (negativt räntenetto)" — för 30 %-regeln.
|
||||
- INK2S ruta 4.9 b/4.16 — för riktade regler.
|
||||
- INK2S ruta 4.9 a "Ej avdragsgilla räntekostnader (negativt räntenetto)": för 30 %-regeln.
|
||||
- INK2S ruta 4.9 b/4.16: för riktade regler.
|
||||
- Kvarstående negativt räntenetto rapporteras i INK2 ruta 4.14 b och flyttas mellan år i bilaga N8 (Räntenettoavdrag).
|
||||
|
||||
## Praktiska felmönster
|
||||
|
||||
**Felmönster A: Förenklingsregeln tillämpas per bolag i koncern.**
|
||||
Fel: koncern med 4 bolag som vart för sig har 3 MSEK negativt räntenetto bokför 12 MSEK total avdrag under förenklingsregeln. Rätt: förenklingsregeln 5 MSEK gäller **per intressegemenskap** (24 kap 24 § 3 st) — koncernen får totalt 5 MSEK avdrag på förenklingsregelgrund. Återstoden måste passera 30 %-regeln eller sparas.
|
||||
Fel: koncern med 4 bolag som vart för sig har 3 MSEK negativt räntenetto bokför 12 MSEK total avdrag under förenklingsregeln. Rätt: förenklingsregeln 5 MSEK gäller **per intressegemenskap** (24 kap 24 § 3 st): koncernen får totalt 5 MSEK avdrag på förenklingsregelgrund. Återstoden måste passera 30 %-regeln eller sparas.
|
||||
|
||||
**Felmönster B: Avdragsunderlaget beräknas på koncernens konsoliderade EBITDA i stället för bolagets.**
|
||||
Beräkningen sker på **bolagets** enskilda resultat (juridisk person), inte koncernens. Koncernbidrag påverkar avdragsunderlaget (35 kap koncernbidrag → påverkar resultatet i båda bolagen).
|
||||
|
||||
**Felmönster C: Tioprocentsregeln antas räcka utan undantagsregeltest.**
|
||||
Tioprocentsregeln öppnar bara avdrag — undantagsregeln 18 § 2 st kan fortfarande eliminera det om skuldförhållandet uppkommit primärt av skatteskäl. Tioprocentsregeln är **nödvändigt men inte tillräckligt** villkor. Före 2026: undantagsregeln tillämpas restriktivt efter Lexel; från 2026: ny 19 a § styr.
|
||||
Tioprocentsregeln öppnar bara avdrag: undantagsregeln 18 § 2 st kan fortfarande eliminera det om skuldförhållandet uppkommit primärt av skatteskäl. Tioprocentsregeln är **nödvändigt men inte tillräckligt** villkor. Före 2026: undantagsregeln tillämpas restriktivt efter Lexel; från 2026: ny 19 a § styr.
|
||||
|
||||
**Felmönster D: Bokförd räntekostnad som inte är skatterättslig ränta inkluderas.**
|
||||
Skatterättsligt räntebegrepp (24 kap 2 §): ersättning för kredit. Garantiavgifter, ej; valutakursförluster, ej; kapitalrabatt på obligationer, ja. Felklassificering ger fel beräkning.
|
||||
|
||||
## Lagrum och källor
|
||||
|
||||
- IL (1999:1229) 24 kap 16-29 §§ — SFS 2018:1206 ikraft 2019-01-01.
|
||||
- IL (1999:1229) 24 kap 16-29 §§: SFS 2018:1206 ikraft 2019-01-01.
|
||||
- Prop. 2017/18:245 "Nya skatteregler för företagssektorn".
|
||||
- C-484/19 Lexel (EU-domstolen 20 jan 2021).
|
||||
- HFD 2021 ref. 68; HFD 2022 ref. 49; HFD 2024 ref. 6.
|
||||
|
||||
@@ -38,35 +38,35 @@ estimated_tokens: 4800
|
||||
version: 1
|
||||
---
|
||||
|
||||
# Swedish blandad verksamhet — moms-specifika regler
|
||||
# Swedish blandad verksamhet: moms-specifika regler
|
||||
|
||||
## 1. När denna skill ska användas
|
||||
|
||||
Aktiveras när huvudboken visar BÅDE momspliktig omsättning (3001/3002/3003/3913 med utgående moms 2611/2613) OCH momsfri omsättning (3004, 3911, undantagna tjänster per ML 10 kap NML) i samma juridiska person. Aktiveras också vid: registrerad frivillig beskattning för fastighetsupplåtelse (ML 12 kap NML); förvärv av investeringsvara ≥100 000 kr ingående moms (fastighet) eller ≥50 000 kr (lös egendom); holdingbolag med utdelningar + management fees; ideell förening med både bidragsfinansierad och momspliktig verksamhet; bostadsrättsförening med lokaluthyrning under frivillig beskattning. Skillen täcker INTE generella momsregler — se horisontal skill `swedish-vat`.
|
||||
Aktiveras när huvudboken visar BÅDE momspliktig omsättning (3001/3002/3003/3913 med utgående moms 2611/2613) OCH momsfri omsättning (3004, 3911, undantagna tjänster per ML 10 kap NML) i samma juridiska person. Aktiveras också vid: registrerad frivillig beskattning för fastighetsupplåtelse (ML 12 kap NML); förvärv av investeringsvara ≥100 000 kr ingående moms (fastighet) eller ≥50 000 kr (lös egendom); holdingbolag med utdelningar + management fees; ideell förening med både bidragsfinansierad och momspliktig verksamhet; bostadsrättsförening med lokaluthyrning under frivillig beskattning. Skillen täcker INTE generella momsregler: se horisontal skill `swedish-vat`.
|
||||
|
||||
## 2. Typiska arbetsflödesmönster
|
||||
|
||||
**Fakturering.** Två parallella fakturaströmmar måste hållas isär på radnivå. Tagga varje rad vid utfärdande: momspliktig (3001/3002/3003 + 2611/2621/2631 eller 3913 + 2613), momsfri inom Sverige (3004), undantagen (specifika konton per undantagskategori — sjukvård, utbildning, finansiella tjänster). Vid blandade kundkontrakt (t.ex. lokalhyra + bostadshyra till samma hyresgäst): separera per yta i avtalet och bokför per kostnadsställe.
|
||||
**Fakturering.** Två parallella fakturaströmmar måste hållas isär på radnivå. Tagga varje rad vid utfärdande: momspliktig (3001/3002/3003 + 2611/2621/2631 eller 3913 + 2613), momsfri inom Sverige (3004), undantagen (specifika konton per undantagskategori, sjukvård, utbildning, finansiella tjänster). Vid blandade kundkontrakt (t.ex. lokalhyra + bostadshyra till samma hyresgäst): separera per yta i avtalet och bokför per kostnadsställe.
|
||||
|
||||
**Kostnadshantering.** Varje leverantörsfaktura ska klassas i tre kategorier vid kontering:
|
||||
(a) **Direkt hänförlig till momspliktig verksamhet** → full avdrag på 2641;
|
||||
(b) **Direkt hänförlig till momsfri verksamhet** → momsen kostnadsförs (ingen 26xx);
|
||||
(c) **Gemensam kostnad** → hela momsen på 2649 löpande; vid bokslut/månadsavstämning splittras 2649 enligt aktuell fördelningsnyckel — avdragsgill del → 2650, resten → 6999.
|
||||
(c) **Gemensam kostnad** → hela momsen på 2649 löpande; vid bokslut/månadsavstämning splittras 2649 enligt aktuell fördelningsnyckel: avdragsgill del → 2650, resten → 6999.
|
||||
|
||||
Den vanligaste felklassificeringen är att (c) felaktigt behandlas som (a). Endast (c) får fördelningsnyckel.
|
||||
|
||||
**Avstämning.** Preliminär fördelningsnyckel används löpande under året (baserad på föregående års utfall eller budget). Vid bokslut görs **årlig avstämning** mot faktiskt utfall — slutlig fördelningsnyckel räknas på årsomsättning, retroaktiv justering bokförs i sista perioden. Detta är obligatoriskt; månadsvis "korrekt" fördelning utan slutlig årlig justering är inte tillåtet. Jämkning/justering av investeringsvaror redovisas i första redovisningsperioden EFTER räkenskapsårets utgång (ML 15 kap NML).
|
||||
**Avstämning.** Preliminär fördelningsnyckel används löpande under året (baserad på föregående års utfall eller budget). Vid bokslut görs **årlig avstämning** mot faktiskt utfall: slutlig fördelningsnyckel räknas på årsomsättning, retroaktiv justering bokförs i sista perioden. Detta är obligatoriskt; månadsvis "korrekt" fördelning utan slutlig årlig justering är inte tillåtet. Jämkning/justering av investeringsvaror redovisas i första redovisningsperioden EFTER räkenskapsårets utgång (ML 15 kap NML).
|
||||
|
||||
**Lönefördelning.** Specifikt för blandad verksamhet: när anställdas tid fördelas mellan momspliktig och momsfri verksamhetsgren utgör detta inte i sig en momsfråga, men tidredovisningen kan fungera som **alternativ fördelningsnyckel** ("tid") för gemensamma kostnader om omsättning ger ett missvisande resultat och den skattskyldige väljer att tillämpa skälig grund.
|
||||
|
||||
## 3. BAS 2025-konton specifika för blandad verksamhet
|
||||
|
||||
Verifierade mot bas.se BAS 2025. **Vanlig felaktig uppfattning att 2647 = blandad verksamhet är fel** — 2647 är "Ingående moms, omvänd betalningsskyldighet varor och tjänster i Sverige". **Blandad-verksamhet-kontot är 2649.**
|
||||
Verifierade mot bas.se BAS 2025. **Vanlig felaktig uppfattning att 2647 = blandad verksamhet är fel**: 2647 är "Ingående moms, omvänd betalningsskyldighet varor och tjänster i Sverige". **Blandad-verksamhet-kontot är 2649.**
|
||||
|
||||
| Konto | BAS 2025-namn | Användning vid blandad verksamhet |
|
||||
|---|---|---|
|
||||
| **2649** | Ingående moms, blandad verksamhet | Hela momsen på gemensamma kostnader debiteras 2649; splittas vid avstämning till 2650 + 6999 |
|
||||
| **6999** | Ingående moms, blandad verksamhet | Kostnadssida — den icke-avdragsgilla delen av 2649 |
|
||||
| **6999** | Ingående moms, blandad verksamhet | Kostnadssida: den icke-avdragsgilla delen av 2649 |
|
||||
| **2642** | Debiterad ingående moms i anslutning till frivillig betalningsskyldighet | Ingående moms hänförlig till frivillig beskattning för lokaluthyrning (12 kap NML) |
|
||||
| **2613** | Utgående moms för uthyrning, 25 % | Utgående moms på frivilligt momspliktig lokalhyra |
|
||||
| **2648** | Vilande ingående moms | Bokslutsmetod; även vid pågående jämkning under räkenskapsår |
|
||||
@@ -82,59 +82,59 @@ Verifierade mot bas.se BAS 2025. **Vanlig felaktig uppfattning att 2647 = blanda
|
||||
|
||||
## 4. Regelverk unikt för blandad verksamhet
|
||||
|
||||
### 4.1 Mervärdesskatt — kärnregler med dubbel paragrafhänvisning
|
||||
### 4.1 Mervärdesskatt: kärnregler med dubbel paragrafhänvisning
|
||||
|
||||
Ny ML (2023:200) trädde ikraft 1 juli 2023 och ersatte ML (1994:200). Terminologi: "jämkning" → "justering", "korrigeringstid" → "justeringsperiod", "jämkningshandling" → "justeringshandling". Substansen är i allt väsentligt oförändrad. Citera båda numreringarna i juridiska skrivelser; default till NML-numrering framåt.
|
||||
|
||||
**Proportionell avdragsrätt och fördelning efter skälig grund.** ML (1994:200) 8 kap 13 § och 14 § → ML (2023:200) **13 kap 29 § första och andra stycket**. Första stycket: vid gemensamma förvärv där avdragsrätt delvis saknas får avdrag endast göras för avdragsgill del. Andra stycket: om den avdragsgilla delen inte kan fastställas får uppdelning ske efter skälig grund.
|
||||
|
||||
**HFD 2023 ref. 45** (mål 7254–7255-22, meddelad 16 oktober 2023, "VW Finans-målet") är landmärket. HFD slog fast att (i) 13 kap 29 § ML inte uppfyller EU-direktivets krav på tydlighet/precision/klarhet för att införliva art. 173.2 c momsdirektivet 2006/112/EG; (ii) artiklarna **173.1 och 174 har direkt effekt** — den skattskyldige kan välja omsättningsbaserad pro rata-metod oavsett om Skatteverket anser att en annan metod (sektor, yta, tid) ger ett mer exakt resultat; (iii) HFD 2014 ref. 18 I:s formulering om "den fördelningsgrund som ger ett mer exakt resultat" kan inte längre användas MOT den skattskyldige. Skatteverket bekräftade i ställningstagande **dnr 8-2749853 (2024-02-02)** "Uppdelning av ingående mervärdesskatt" som ersatte tidigare dnr 131 446423-15/111. Tre HFD-domar 2025-06-24 (mål 7071-24, 7072-24, 7273-24) samt **HFD 2025 not. 29** bekräftade att direkt effekt gäller även när inköpet delvis omfattas av avdragsförbudet för stadigvarande bostad.
|
||||
**HFD 2023 ref. 45** (mål 7254-7255-22, meddelad 16 oktober 2023, "VW Finans-målet") är landmärket. HFD slog fast att (i) 13 kap 29 § ML inte uppfyller EU-direktivets krav på tydlighet/precision/klarhet för att införliva art. 173.2 c momsdirektivet 2006/112/EG; (ii) artiklarna **173.1 och 174 har direkt effekt**: den skattskyldige kan välja omsättningsbaserad pro rata-metod oavsett om Skatteverket anser att en annan metod (sektor, yta, tid) ger ett mer exakt resultat; (iii) HFD 2014 ref. 18 I:s formulering om "den fördelningsgrund som ger ett mer exakt resultat" kan inte längre användas MOT den skattskyldige. Skatteverket bekräftade i ställningstagande **dnr 8-2749853 (2024-02-02)** "Uppdelning av ingående mervärdesskatt" som ersatte tidigare dnr 131 446423-15/111. Tre HFD-domar 2025-06-24 (mål 7071-24, 7072-24, 7273-24) samt **HFD 2025 not. 29** bekräftade att direkt effekt gäller även när inköpet delvis omfattas av avdragsförbudet för stadigvarande bostad.
|
||||
|
||||
**EU-praxis som binder svensk tillämpning.**
|
||||
- C-4/94 BLP Group: "direkt och omedelbart samband"-testet.
|
||||
- C-16/00 Cibo Participations: aktivt holdingbolags förvärvskostnader = allmänna omkostnader; utdelningar är utanför momsens tillämpningsområde.
|
||||
- C-437/06 Securenta: tvåstegsavdrag — först fördelning mellan ekonomisk och icke-ekonomisk verksamhet, sedan pro rata.
|
||||
- C-437/06 Securenta: tvåstegsavdrag, först fördelning mellan ekonomisk och icke-ekonomisk verksamhet, sedan pro rata.
|
||||
- C-29/08 AB SKF: avdrag för rådgivning vid dotterbolagsavyttring kan medges som allmän omkostnad.
|
||||
- C-108/14 + C-109/14 Larentia + Minerva: managementholdingbolag har som huvudregel full avdragsrätt.
|
||||
- C-126/14 Sveda: avdrag möjligt även för anläggning som direkt används gratis av tredje man om den är medel för momspliktiga utgående transaktioner.
|
||||
- C-132/16 Iberdrola: avdrag för arbeten på tredje mans fastighet om nödvändiga för egen momspliktig verksamhet.
|
||||
- C-42/19 Sonaecom: avbruten förvärvstransaktion ger avdrag baserat på avsikt; faktisk momsfri användning bryter avdragsrätten.
|
||||
- C-787/18 Sögård Fastigheter: svensk regel om automatiskt övertagande av jämkningsskyldighet vid ren fastighetsöverlåtelse strider mot EU-rätten — bekräftat i HFD 2021 not. 26–27.
|
||||
- C-787/18 Sögård Fastigheter: svensk regel om automatiskt övertagande av jämkningsskyldighet vid ren fastighetsöverlåtelse strider mot EU-rätten: bekräftat i HFD 2021 not. 26-27.
|
||||
|
||||
**Frivillig beskattning för fastighetsupplåtelser.** ML (1994:200) 9 kap → ML (2023:200) **12 kap**, särskilt 12 kap 5 § (förutsättningar), 12 kap 18 § (anmälningsskyldighet), 12 kap 20–21 § (uppförandeskede). Förutsättning: stadigvarande uthyrning till hyresgäst med transaktioner som medför avdragsrätt (eller stat/kommun/kommunalförbund utan momspliktigt krav). Frivillig beskattning sker numera **genom att moms debiteras på fakturan** — ingen ansökan utom under uppförandeskede (blankett SKV 5704). Stadigvarande bostad är alltid undantagen.
|
||||
**Frivillig beskattning för fastighetsupplåtelser.** ML (1994:200) 9 kap → ML (2023:200) **12 kap**, särskilt 12 kap 5 § (förutsättningar), 12 kap 18 § (anmälningsskyldighet), 12 kap 20-21 § (uppförandeskede). Förutsättning: stadigvarande uthyrning till hyresgäst med transaktioner som medför avdragsrätt (eller stat/kommun/kommunalförbund utan momspliktigt krav). Frivillig beskattning sker numera **genom att moms debiteras på fakturan**: ingen ansökan utom under uppförandeskede (blankett SKV 5704). Stadigvarande bostad är alltid undantagen.
|
||||
|
||||
**Jämkning av investeringsvaror.** ML (1994:200) 8a kap → ML (2023:200) **15 kap**. Definition 15 kap 4 §: maskiner/inventarier med ingående moms ≥**50 000 kr**, fastigheter med ingående moms ≥**100 000 kr** under ett beskattningsår. Justeringsperiod 15 kap 10 §: **10 år** fastigheter, **5 år** lös egendom, räknas från det räkenskapsår tillgången förvärvades/togs i bruk. Utlösande händelser (15 kap 6–9 §§): ändrad användning, överlåtelse, övergång till/från frivillig beskattning, konkurs, övergång till skattebefrielse. Förenklingsregel: ingen jämkning om förändring i avdragsrätt <5 procentenheter. Full mekanik och worked examples i `references/jamkning-mechanics.md`.
|
||||
**Jämkning av investeringsvaror.** ML (1994:200) 8a kap → ML (2023:200) **15 kap**. Definition 15 kap 4 §: maskiner/inventarier med ingående moms ≥**50 000 kr**, fastigheter med ingående moms ≥**100 000 kr** under ett beskattningsår. Justeringsperiod 15 kap 10 §: **10 år** fastigheter, **5 år** lös egendom, räknas från det räkenskapsår tillgången förvärvades/togs i bruk. Utlösande händelser (15 kap 6-9 §§): ändrad användning, överlåtelse, övergång till/från frivillig beskattning, konkurs, övergång till skattebefrielse. Förenklingsregel: ingen jämkning om förändring i avdragsrätt <5 procentenheter. Full mekanik och worked examples i `references/jamkning-mechanics.md`.
|
||||
|
||||
**Övertagande av justeringsskyldighet.** 15 kap 20 § (verksamhetsöverlåtelse) och 15 kap 21 § (fastighetsöverlåtelse) NML. EFTER C-787/18 Sögård tillämpar Skatteverket INTE 15 kap 21 § på rena fastighetsöverlåtelser — säljaren slutjämkar för återstoden. Vid verksamhetsöverlåtelse (TOGC) gäller övertagande fortfarande. SKV ställningstagande **dnr 8-2349336 (2023-05-12)** "Jämkningshandling vid vissa fastighetsöverlåtelser" anger formkrav. Detaljer i `references/frivillig-skattskyldighet-fastighet.md`.
|
||||
**Övertagande av justeringsskyldighet.** 15 kap 20 § (verksamhetsöverlåtelse) och 15 kap 21 § (fastighetsöverlåtelse) NML. EFTER C-787/18 Sögård tillämpar Skatteverket INTE 15 kap 21 § på rena fastighetsöverlåtelser: säljaren slutjämkar för återstoden. Vid verksamhetsöverlåtelse (TOGC) gäller övertagande fortfarande. SKV ställningstagande **dnr 8-2349336 (2023-05-12)** "Jämkningshandling vid vissa fastighetsöverlåtelser" anger formkrav. Detaljer i `references/frivillig-skattskyldighet-fastighet.md`.
|
||||
|
||||
**Undantag från skatteplikt — sektorkonton.**
|
||||
**Undantag från skatteplikt: sektorkonton.**
|
||||
- Finansiella tjänster: ML 3 kap 9 § GML → **10 kap 33 § NML**.
|
||||
- Försäkring: 3 kap 10 § GML → **10 kap 32 § NML**.
|
||||
- Sjukvård: 3 kap 4–5 §§ GML → **10 kap 6–7 §§ NML**.
|
||||
- Utbildning: 3 kap 8 § GML → **10 kap 15–16 §§ NML** (uppdragsutbildning normalt momspliktig).
|
||||
- Sjukvård: 3 kap 4-5 §§ GML → **10 kap 6-7 §§ NML**.
|
||||
- Utbildning: 3 kap 8 § GML → **10 kap 15-16 §§ NML** (uppdragsutbildning normalt momspliktig).
|
||||
- Allmännyttiga ideella föreningar: 4 kap 8 § GML → **4 kap 6 § NML**. Avgörs via 7 kap 3 § IL (1999:1229).
|
||||
|
||||
### 4.2 Bokföringsregler unika för blandad verksamhet
|
||||
|
||||
BFL (1999:1078) 4 kap 2 § kräver att räkenskapsinformation är ordnad så att posternas samband med varandra utan svårighet kan följas. För blandad verksamhet betyder detta att verifikationer och kontoplaner måste vara så granulära att fördelning mellan momspliktig och momsfri verksamhetsgren kan rekonstrueras i efterhand — utan separation per kostnadsställe/projekt/lokal bryts god redovisningssed. BFNAR 2013:2 om bokföring kräver att varje affärshändelse bokförs så snart det kan ske; för blandad verksamhet innebär detta att klassificeringen (a/b/c per avsnitt 2 ovan) ska göras vid kontering, inte vid bokslut.
|
||||
BFL (1999:1078) 4 kap 2 § kräver att räkenskapsinformation är ordnad så att posternas samband med varandra utan svårighet kan följas. För blandad verksamhet betyder detta att verifikationer och kontoplaner måste vara så granulära att fördelning mellan momspliktig och momsfri verksamhetsgren kan rekonstrueras i efterhand: utan separation per kostnadsställe/projekt/lokal bryts god redovisningssed. BFNAR 2013:2 om bokföring kräver att varje affärshändelse bokförs så snart det kan ske; för blandad verksamhet innebär detta att klassificeringen (a/b/c per avsnitt 2 ovan) ska göras vid kontering, inte vid bokslut.
|
||||
|
||||
Periodiseringsfrågor: jämkningsbelopp periodiseras **inte** över räkenskapsåret utan redovisas i första redovisningsperioden efter räkenskapsårets utgång (ML 15 kap NML). Vid slutjämkning (försäljning, övergång till skattebefrielse) redovisas hela återstående beloppet i den period händelsen inträffar.
|
||||
|
||||
### 4.3 Sektorlagar som triggar momsfrihet
|
||||
|
||||
- **Fastighet:** JB 12 kap (hyreslagen) styr klassningen bostad vs lokal — bostad alltid momsfri och utesluter frivillig beskattning.
|
||||
- **Vård:** HSL (2017:30) och patientsäkerhetslagen avgör vem som är legitimerad vårdgivare och därmed omfattas av ML 10 kap 6–7 §§ NML. Personaluthyrning räknas inte som sjukvård efter HFD 2018 ref. 41, HFD 2020 ref. 5, HFD 2020 ref. 35.
|
||||
- **Fastighet:** JB 12 kap (hyreslagen) styr klassningen bostad vs lokal: bostad alltid momsfri och utesluter frivillig beskattning.
|
||||
- **Vård:** HSL (2017:30) och patientsäkerhetslagen avgör vem som är legitimerad vårdgivare och därmed omfattas av ML 10 kap 6-7 §§ NML. Personaluthyrning räknas inte som sjukvård efter HFD 2018 ref. 41, HFD 2020 ref. 5, HFD 2020 ref. 35.
|
||||
- **Utbildning:** Skollagen (2010:800) och högskolelagen (1992:1434) avgör vad som är grundläggande utbildning (momsfri per 10 kap 15 § NML). Uppdragsutbildning enligt förordning (2002:760) är momspliktig om inte beställaren själv bedriver utbildning där tjänsten ingår (10 kap 16 § NML).
|
||||
- **Finans:** Lagen om bank- och finansieringsrörelse (2004:297) — finansiell verksamhet undantagen per 10 kap 33 § NML.
|
||||
- **Finans:** Lagen om bank- och finansieringsrörelse (2004:297): finansiell verksamhet undantagen per 10 kap 33 § NML.
|
||||
|
||||
### 4.4 Relevanta Skatteverket-ställningstaganden (2020–2026)
|
||||
### 4.4 Relevanta Skatteverket-ställningstaganden (2020-2026)
|
||||
|
||||
| Dnr | Datum | Ämne |
|
||||
|---|---|---|
|
||||
| 8-2749853 | 2024-02-02 | Uppdelning av ingående mervärdesskatt (huvudställningstagande post-HFD 2023 ref. 45) |
|
||||
| (ej publikt verifierat) | ca 2025-10-15 | Ersättare till 8-2749853 efter HFD 2025 not. 29 (avdragsförbud stadigvarande bostad) |
|
||||
| 8-2596368 | 2023-10-19 | Avdragsrätt för mervärdesskatt på inköp vid försäljning av aktier i dotterbolag (post-Volvo) |
|
||||
| 202 377677-17/111 | 2017-12-19 | Holdingbolag – avdragsrätt (delvis överspelad; exempel 2 om riskkapitalbolag ersatt 2024-02-02 dnr 8-2756161) |
|
||||
| 202 377677-17/111 | 2017-12-19 | Holdingbolag: avdragsrätt (delvis överspelad; exempel 2 om riskkapitalbolag ersatt 2024-02-02 dnr 8-2756161) |
|
||||
| 8-2349336 | 2023-05-12 | Jämkningshandling vid vissa fastighetsöverlåtelser |
|
||||
| 8-2671490 | 2023-12-13 | Begreppet stadigvarande användning vid frivillig beskattning |
|
||||
| 8-3193742 | 2024-12-12 | Rättsfallskommentar SRN 35-24/I (uppdelning + avdragsförbud bostad) |
|
||||
@@ -149,39 +149,39 @@ Periodiseringsfrågor: jämkningsbelopp periodiseras **inte** över räkenskaps
|
||||
|
||||
**Kontering vid blandat innehav (aktiva + passiva):** Konsultfaktura 500 000 kr + moms 125 000 kr. Hela momsen → 2649. Vid bokslut: antag 80 % avdragsrätt enligt omsättningsbaserad fördelning på ekonomisk del. Bokföring: D 6999 25 000 / D 2650 100 000 / K 2649 125 000.
|
||||
|
||||
**Lag:** ML 13 kap 29 § NML; momsdirektivet art. 173–174; C-16/00, C-108/14, C-437/06, HFD 2017 ref. 20, HFD 2023 ref. 41, HFD 2023 ref. 45, HFD 2024 ref. 18. SKV dnr 8-2596368, dnr 202 377677-17/111 (delvis).
|
||||
**Lag:** ML 13 kap 29 § NML; momsdirektivet art. 173-174; C-16/00, C-108/14, C-437/06, HFD 2017 ref. 20, HFD 2023 ref. 41, HFD 2023 ref. 45, HFD 2024 ref. 18. SKV dnr 8-2596368, dnr 202 377677-17/111 (delvis).
|
||||
|
||||
### 5.2 Fastighetsbolag missar jämkning vid övergång till/från frivillig beskattning eller saknar jämkningshandling vid överlåtelse
|
||||
|
||||
**Fel:** (a) Bolag övergår från frivillig beskattning på en lokal till bostadsuthyrning utan att redovisa negativ jämkning. (b) Vid fastighetsförsäljning utfärdar säljaren ingen jämkningshandling till köparen, och båda parter antar att skyldigheten "övergår automatiskt". (c) Köpare antar att övertagande av jämkningsskyldighet sker vid ren fastighetsöverlåtelse (sant före Sögård, INTE sant nu).
|
||||
|
||||
**Rätt:** (a) Övergång från frivillig beskattning är jämkningsutlösande händelse (15 kap NML); negativ jämkning ska beräknas på återstoden av justeringsperioden och redovisas i första redovisningsperioden efter räkenskapsårets utgång. (b) Vid **verksamhetsöverlåtelse** (TOGC) övertar förvärvaren rättighet/skyldighet — jämkningshandling enligt 15 kap 22–23 § NML är obligatorisk med samtliga 9 punkter (ursprungsbelopp, avdragen del, tidpunkter, fördelning per lokal, tidigare ägare, parter, transaktionsart, momsregistreringsnummer, övrigt). (c) Vid **ren fastighetsöverlåtelse** övergår jämkningsskyldigheten INTE längre — säljaren slutjämkar för återstoden (HFD 2021 not. 26–27 efter C-787/18 Sögård; SKV dnr 8-2349336).
|
||||
**Rätt:** (a) Övergång från frivillig beskattning är jämkningsutlösande händelse (15 kap NML); negativ jämkning ska beräknas på återstoden av justeringsperioden och redovisas i första redovisningsperioden efter räkenskapsårets utgång. (b) Vid **verksamhetsöverlåtelse** (TOGC) övertar förvärvaren rättighet/skyldighet: jämkningshandling enligt 15 kap 22-23 § NML är obligatorisk med samtliga 9 punkter (ursprungsbelopp, avdragen del, tidpunkter, fördelning per lokal, tidigare ägare, parter, transaktionsart, momsregistreringsnummer, övrigt). (c) Vid **ren fastighetsöverlåtelse** övergår jämkningsskyldigheten INTE längre: säljaren slutjämkar för återstoden (HFD 2021 not. 26-27 efter C-787/18 Sögård; SKV dnr 8-2349336).
|
||||
|
||||
**Kontering exempel:** Lokal byggdes om för 500 000 kr ingående moms år 1 (100 % avdrag). År 5 övergår till bostadsuthyrning (avdragsrätt 0 %). Δ = 100 procentenheter; återstående år (inkl år 5) = 6; årligt jämkningsbelopp = 500 000 × 100 % × 1/10 = 50 000 kr; totalt återbetalas 300 000 kr över 6 år. Bokföring år 5: D 7820 (eller motkonto fastighet) 50 000 / K 2650 50 000.
|
||||
|
||||
**Lag:** ML 15 kap 4, 6–10, 12, 20–23 §§ NML (motsv. 8a kap 2, 4–8, 11–12, 15–17 §§ GML); ML 12 kap NML (frivillig beskattning); C-787/18; HFD 2021 not. 26–27; SKV dnr 8-2349336, dnr 8-2671490.
|
||||
**Lag:** ML 15 kap 4, 6-10, 12, 20-23 §§ NML (motsv. 8a kap 2, 4-8, 11-12, 15-17 §§ GML); ML 12 kap NML (frivillig beskattning); C-787/18; HFD 2021 not. 26-27; SKV dnr 8-2349336, dnr 8-2671490.
|
||||
|
||||
### 5.3 Fördelningsnyckel beräknas på fel basperiod eller inkluderar fel poster
|
||||
|
||||
**Fel:** (a) Bolag beräknar omsättningsbaserad fördelningsnyckel månadsvis utan slutlig årlig avstämning vid bokslut. (b) Utdelningar, ränteintäkter, fastighetsförsäljningar och bidrag inkluderas i nämnaren och späder ut den avdragsgilla andelen. (c) Bolag använder budget i stället för faktiskt utfall vid bokslut.
|
||||
|
||||
**Rätt:** (a) Preliminär nyckel löpande (baserad på föregående år eller budget), **slutlig årlig nyckel vid bokslut** med retroaktiv justering — detta är obligatoriskt enligt SKV rättslig vägledning. (b) Exkludera från fördelningsnyckel: utdelningar (utanför momsens tillämpningsområde per Cibo); ränteintäkter och fastighetstransaktioner om de är bitransaktioner (art. 174.2 momsdirektivet); kapitalvaror som används i verksamheten; bidrag som inte utgör ersättning för tjänst (C-126/14 Sveda kontrasterar mot bidrag som DEL av priset). (c) Faktiskt utfall styr; budget endast preliminärt. Slutlig fördelningsandel avrundas uppåt till heltal (art. 175 momsdirektivet).
|
||||
**Rätt:** (a) Preliminär nyckel löpande (baserad på föregående år eller budget), **slutlig årlig nyckel vid bokslut** med retroaktiv justering: detta är obligatoriskt enligt SKV rättslig vägledning. (b) Exkludera från fördelningsnyckel: utdelningar (utanför momsens tillämpningsområde per Cibo); ränteintäkter och fastighetstransaktioner om de är bitransaktioner (art. 174.2 momsdirektivet); kapitalvaror som används i verksamheten; bidrag som inte utgör ersättning för tjänst (C-126/14 Sveda kontrasterar mot bidrag som DEL av priset). (c) Faktiskt utfall styr; budget endast preliminärt. Slutlig fördelningsandel avrundas uppåt till heltal (art. 175 momsdirektivet).
|
||||
|
||||
**Kontering exempel:** Företag har årsomsättning momspliktig 8 mkr + momsfri 2 mkr + utdelning 5 mkr + räntor 200 tkr (bitransaktioner). Fördelningsnyckel = 8 / (8+2) = 80 %. Utdelning och räntor exkluderas helt. Gemensamma kostnader 1 000 000 kr + moms 250 000 kr på 2649 löpande. Bokslutsjustering: D 2650 200 000 / D 6999 50 000 / K 2649 250 000.
|
||||
|
||||
**Lag:** ML 13 kap 29 § NML; momsdirektivet art. 173.1, 174.1–2, 175; C-16/00, C-437/06, HFD 2023 ref. 45; SKV dnr 8-2749853 (och 2025-efterträdare).
|
||||
**Lag:** ML 13 kap 29 § NML; momsdirektivet art. 173.1, 174.1-2, 175; C-16/00, C-437/06, HFD 2023 ref. 45; SKV dnr 8-2749853 (och 2025-efterträdare).
|
||||
|
||||
## 6. Öppna frågor — flagga för manuell granskning
|
||||
## 6. Öppna frågor: flagga för manuell granskning
|
||||
|
||||
1. **Val mellan omsättningsbaserad och sektorbaserad fördelning för borderline holdingbolag** där management fees är låga relativt utdelningar och Skatteverket kan ifrågasätta omsättningsmetoden. Efter HFD 2023 ref. 45 kan den skattskyldige välja, men valet bör motiveras skriftligt och dokumenteras i momspolicy.
|
||||
2. **Bitransaktion vs huvudtransaktion** för enstaka stora finansiella transaktioner (t.ex. ett internt lån, en aktieförsäljning). Cibo och art. 174.2 ger inte tydlig gräns; beror på frekvens, omfattning, resursåtgång. Vid osäkerhet inhämta förhandsbesked från Skatterättsnämnden.
|
||||
3. **Nybyggnation där användning ännu inte fastställts.** Under uppförandeskede kan retroaktivt avdrag eller löpande avdrag vid frivillig beskattning bli aktuellt — val mellan dessa har stora konsekvenser för jämkning senare. Konsultera fastighetsmomsspecialist.
|
||||
4. **Status för SKV-ställningstagande hösten 2025** som ersätter dnr 8-2749853 efter HFD 2025 not. 29. Dnr inte publikt verifierat i forskningen — kontrollera Skatteverkets ställningstagandeindex innan ny rådgivning ges.
|
||||
5. **Pågående lagstiftningsarbete:** Dir. 2024:46 om utökad frivillig beskattning och nya justeringsregler (redovisas 2026-01-30); regeringens förslag 2025-12-04 om omsättningsmetod som lagstadgad huvudregel i ML — planerat ikraftträdande 1 januari 2027. Bevaka.
|
||||
3. **Nybyggnation där användning ännu inte fastställts.** Under uppförandeskede kan retroaktivt avdrag eller löpande avdrag vid frivillig beskattning bli aktuellt: val mellan dessa har stora konsekvenser för jämkning senare. Konsultera fastighetsmomsspecialist.
|
||||
4. **Status för SKV-ställningstagande hösten 2025** som ersätter dnr 8-2749853 efter HFD 2025 not. 29. Dnr inte publikt verifierat i forskningen: kontrollera Skatteverkets ställningstagandeindex innan ny rådgivning ges.
|
||||
5. **Pågående lagstiftningsarbete:** Dir. 2024:46 om utökad frivillig beskattning och nya justeringsregler (redovisas 2026-01-30); regeringens förslag 2025-12-04 om omsättningsmetod som lagstadgad huvudregel i ML: planerat ikraftträdande 1 januari 2027. Bevaka.
|
||||
|
||||
## Referensfiler
|
||||
|
||||
- `references/jamkning-mechanics.md` — Full ML 15 kap-mekanik med tre worked examples
|
||||
- `references/fordelningsnyckel-metoder.md` — Omsättning/yta/tid/sektor + HFD 2023 ref. 45 deep-dive
|
||||
- `references/holdingbolag-avdragsratt.md` — EU- och HFD-praxis, management fee-krav
|
||||
- `references/frivillig-skattskyldighet-fastighet.md` — Anmälan, krav, jämkning vid övergång
|
||||
- `references/jamkning-mechanics.md`: Full ML 15 kap-mekanik med tre worked examples
|
||||
- `references/fordelningsnyckel-metoder.md`: Omsättning/yta/tid/sektor + HFD 2023 ref. 45 deep-dive
|
||||
- `references/holdingbolag-avdragsratt.md`: EU- och HFD-praxis, management fee-krav
|
||||
- `references/frivillig-skattskyldighet-fastighet.md`: Anmälan, krav, jämkning vid övergång
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
# Fördelningsnyckel — metoder och val efter HFD 2023 ref. 45
|
||||
# Fördelningsnyckel: metoder och val efter HFD 2023 ref. 45
|
||||
|
||||
Lagstöd: ML 13 kap 29 § NML (motsv. 8 kap 13–14 § GML). EU-rätt: momsdirektivet art. 173–175. Skatteverket: ställningstagande dnr 8-2749853 (2024-02-02) "Uppdelning av ingående mervärdesskatt", med 2025-efterträdare efter HFD 2025 not. 29.
|
||||
Lagstöd: ML 13 kap 29 § NML (motsv. 8 kap 13-14 § GML). EU-rätt: momsdirektivet art. 173-175. Skatteverket: ställningstagande dnr 8-2749853 (2024-02-02) "Uppdelning av ingående mervärdesskatt", med 2025-efterträdare efter HFD 2025 not. 29.
|
||||
|
||||
## 1. Huvudregel efter HFD 2023 ref. 45 — direkt effekt av art. 173.1 och 174
|
||||
## 1. Huvudregel efter HFD 2023 ref. 45: direkt effekt av art. 173.1 och 174
|
||||
|
||||
HFD slog 2023-10-16 fast i mål 7254–7255-22 (VW Finans) att 13 kap 29 § ML inte uppfyller EU-domstolens krav på "tydlighet, precision och klarhet" för att införliva direktivets art. 173.2 c. Konsekvens: artiklarna 173.1 och 174 har **direkt effekt** — den skattskyldige kan välja **omsättningsbaserad pro rata** även när Skatteverket anser att en sektoriserad metod ger ett mer exakt resultat. Skatteverket kan inte mot den enskildes vilja tvinga fram annan metod.
|
||||
HFD slog 2023-10-16 fast i mål 7254-7255-22 (VW Finans) att 13 kap 29 § ML inte uppfyller EU-domstolens krav på "tydlighet, precision och klarhet" för att införliva direktivets art. 173.2 c. Konsekvens: artiklarna 173.1 och 174 har **direkt effekt**: den skattskyldige kan välja **omsättningsbaserad pro rata** även när Skatteverket anser att en sektoriserad metod ger ett mer exakt resultat. Skatteverket kan inte mot den enskildes vilja tvinga fram annan metod.
|
||||
|
||||
Den skattskyldige kan dock själv välja att tillämpa skälig grund (omsättning, yta, tid, sektor) om det är gynnsammare. Valet kan göras **per förvärv** — direkt effekt för vissa inköp, skälig grund för andra. Detta är post-2023 SKV-position.
|
||||
Den skattskyldige kan dock själv välja att tillämpa skälig grund (omsättning, yta, tid, sektor) om det är gynnsammare. Valet kan göras **per förvärv**: direkt effekt för vissa inköp, skälig grund för andra. Detta är post-2023 SKV-position.
|
||||
|
||||
HFD 2014 ref. 18 I:s formulering om att "den fördelningsgrund som ger ett mer exakt resultat" ska användas — denna formulering kan enligt HFD 2023 ref. 45 punkt 21 inte längre användas MOT den skattskyldige. Skälig grund-regeln finns kvar men är endast tillgänglig om den skattskyldige väljer den.
|
||||
HFD 2014 ref. 18 I:s formulering om att "den fördelningsgrund som ger ett mer exakt resultat" ska användas: denna formulering kan enligt HFD 2023 ref. 45 punkt 21 inte längre användas MOT den skattskyldige. Skälig grund-regeln finns kvar men är endast tillgänglig om den skattskyldige väljer den.
|
||||
|
||||
Tre HFD-domar 2025-06-24 (mål 7071-24, 7072-24, 7273-24) och HFD 2025 not. 29 bekräftade att direkt effekt gäller även när inköpet delvis omfattas av avdragsförbudet för stadigvarande bostad — vilket föranledde ett nytt SKV-ställningstagande hösten 2025.
|
||||
Tre HFD-domar 2025-06-24 (mål 7071-24, 7072-24, 7273-24) och HFD 2025 not. 29 bekräftade att direkt effekt gäller även när inköpet delvis omfattas av avdragsförbudet för stadigvarande bostad, vilket föranledde ett nytt SKV-ställningstagande hösten 2025.
|
||||
|
||||
## 2. Omsättningsbaserad metod (art. 174 momsdirektivet)
|
||||
|
||||
@@ -20,7 +20,7 @@ Tre HFD-domar 2025-06-24 (mål 7071-24, 7072-24, 7273-24) och HFD 2025 not. 29 b
|
||||
- Försäljning av kapitalvaror som används i verksamheten (för att undvika snedvridning vid sporadiska försäljningar).
|
||||
- **Bitransaktioner** av fastighetsmässig art.
|
||||
- **Bitransaktioner** av finansiell art (sporadiska räntor, enstaka lån).
|
||||
- **Utdelningar** (utanför momsens tillämpningsområde — Cibo C-16/00).
|
||||
- **Utdelningar** (utanför momsens tillämpningsområde, Cibo C-16/00).
|
||||
- **Bidrag** som inte utgör ersättning för en tjänst.
|
||||
|
||||
**Vad räknas som bitransaktion:** Bedöms utifrån frekvens, omfattning av investerade resurser, om transaktionerna är ett accessoarisk komplement till huvudverksamheten. EU-domstolen i Régie dauphinoise C-306/94 och NCC Construction Danmark C-174/08 ger ramar.
|
||||
@@ -36,7 +36,7 @@ Användbar när:
|
||||
- Holdingbolag med både aktivt förvaltade och passivt ägda dotterbolag.
|
||||
- Fastighetsbolag med både bostadsbestånd och kommersiellt bestånd.
|
||||
|
||||
## 4. Användningsbaserad metod — yta, tid, körsträcka, produktionskostnader (art. 173.2 c)
|
||||
## 4. Användningsbaserad metod: yta, tid, körsträcka, produktionskostnader (art. 173.2 c)
|
||||
|
||||
Tillåtet om den skattskyldige själv väljer det och metoden ger ett mer exakt resultat än omsättning. Exempel:
|
||||
- **Yta:** Fastighetsbolag fördelar gemensamma kostnader efter kvm per användning (bostad vs lokal).
|
||||
@@ -50,19 +50,19 @@ Användningsbaserad metod är **inte längre obligatorisk** efter HFD 2023 ref.
|
||||
|
||||
För passiva holdingbolag och bidragsfinansierade verksamheter där delar av verksamheten faller utanför momsens tillämpningsområde:
|
||||
|
||||
**Steg 1:** Fördelning mellan ekonomisk verksamhet och icke-ekonomisk verksamhet. Direktivet anger ingen metod — medlemsstaten bestämmer, men metoden ska objektivt återspegla faktisk användning. SKV accepterar omsättning + utdelningsvolym, kapitalbas, eller annan resursbaserad metod.
|
||||
**Steg 1:** Fördelning mellan ekonomisk verksamhet och icke-ekonomisk verksamhet. Direktivet anger ingen metod: medlemsstaten bestämmer, men metoden ska objektivt återspegla faktisk användning. SKV accepterar omsättning + utdelningsvolym, kapitalbas, eller annan resursbaserad metod.
|
||||
|
||||
**Steg 2:** Inom den ekonomiska delen tillämpas pro rata enligt art. 173–175 (avsnitt 2–4 ovan).
|
||||
**Steg 2:** Inom den ekonomiska delen tillämpas pro rata enligt art. 173-175 (avsnitt 2-4 ovan).
|
||||
|
||||
## 6. Strategisk valmatris
|
||||
|
||||
| Situation | Föredragen metod | Skäl |
|
||||
|---|---|---|
|
||||
| Holdingbolag med dominerande management fees, små utdelningar | Omsättning | Direkt effekt — högst avdrag, enkelt |
|
||||
| Holdingbolag med dominerande management fees, små utdelningar | Omsättning | Direkt effekt, högst avdrag, enkelt |
|
||||
| Holdingbolag med dominerande utdelningar, små management fees | Tvåstegsmetod + sektor | Securenta krävs; sektor inom ekonomisk del kan ge mer exakt fördelning |
|
||||
| Fastighetsbolag bostad/lokal | Yta | Ofta exakt; den skattskyldige väljer själv om det gynnsamt |
|
||||
| Vårdbolag med momsfri vård + momspliktig konsultverksamhet | Omsättning eller tid | Beror på relativa marginalerna |
|
||||
| Utbildningsföretag — grundutbildning + uppdragsutbildning | Omsättning | Enkel, ofta gynnsam |
|
||||
| Utbildningsföretag, grundutbildning + uppdragsutbildning | Omsättning | Enkel, ofta gynnsam |
|
||||
| Blandad verksamhet där omsättning ger missvisande låg avdragsandel | Den skattskyldige väljer skälig grund | Direkt effekt är en rättighet, inte en tvång |
|
||||
|
||||
## 7. Dokumentationskrav
|
||||
|
||||
+11
-11
@@ -1,6 +1,6 @@
|
||||
# Frivillig beskattning för fastighetsupplåtelser
|
||||
|
||||
Lagstöd: ML (2023:200) **12 kap** (NML), motsv. ML (1994:200) **9 kap** (GML). Centrala paragrafer: 12 kap 5 § (förutsättningar), 12 kap 10 § (uppförandeskede), 12 kap 12 § (upphörande), 12 kap 18 § (anmälningsskyldighet), 12 kap 20–21 § (uppförandeskede-ansökan). Skatteverkets rättsliga vägledning: "Frivillig beskattning vid lokaluthyrning". Centrala SKV-ställningstaganden: dnr 8-2671490 (2023-12-13) "Begreppet stadigvarande användning"; dnr 8-2349336 (2023-05-12) "Jämkningshandling vid vissa fastighetsöverlåtelser".
|
||||
Lagstöd: ML (2023:200) **12 kap** (NML), motsv. ML (1994:200) **9 kap** (GML). Centrala paragrafer: 12 kap 5 § (förutsättningar), 12 kap 10 § (uppförandeskede), 12 kap 12 § (upphörande), 12 kap 18 § (anmälningsskyldighet), 12 kap 20-21 § (uppförandeskede-ansökan). Skatteverkets rättsliga vägledning: "Frivillig beskattning vid lokaluthyrning". Centrala SKV-ställningstaganden: dnr 8-2671490 (2023-12-13) "Begreppet stadigvarande användning"; dnr 8-2349336 (2023-05-12) "Jämkningshandling vid vissa fastighetsöverlåtelser".
|
||||
|
||||
## 1. Förutsättningar (12 kap 5 § NML)
|
||||
|
||||
@@ -10,7 +10,7 @@ Frivillig beskattning får tillämpas om hyresvärden för **stadigvarande anvä
|
||||
|
||||
För kategori 2 krävs INTE att hyresgästens verksamhet är momspliktig.
|
||||
|
||||
**Stadigvarande användning** kräver normalt hyresavtal om minst **ett år** (SKV dnr 8-2671490 efter HFD 2023 ref. 24). Frivillig beskattning kan tillämpas även när flera hyresgäster delar yta utan ensamrätt till specifik yta, förutsatt att samtliga bedriver momspliktig verksamhet. SKV anser dock att frivillig beskattning **inte** är möjlig om hyresvärden själv samnyttjar ytan — denna restriktion är ifrågasatt i KRSU 2984-22.
|
||||
**Stadigvarande användning** kräver normalt hyresavtal om minst **ett år** (SKV dnr 8-2671490 efter HFD 2023 ref. 24). Frivillig beskattning kan tillämpas även när flera hyresgäster delar yta utan ensamrätt till specifik yta, förutsatt att samtliga bedriver momspliktig verksamhet. SKV anser dock att frivillig beskattning **inte** är möjlig om hyresvärden själv samnyttjar ytan: denna restriktion är ifrågasatt i KRSU 2984-22.
|
||||
|
||||
**Frivillig beskattning är inte möjlig för stadigvarande bostad** (12 kap 4 § NML).
|
||||
|
||||
@@ -18,11 +18,11 @@ För kategori 2 krävs INTE att hyresgästens verksamhet är momspliktig.
|
||||
|
||||
Sedan 1 januari 2014 (gäller även under NML från 1 juli 2023): **Frivillig beskattning påbörjas genom att moms debiteras på hyresfakturan**. Ingen ansökan krävs i normalfallet.
|
||||
|
||||
**Undantag — uppförandeskede:** Före uthyrningen påbörjats (under byggnation/renovering) krävs särskild ansökan på blankett SKV 5704. Beslut om frivillig beskattning under uppförandeskede ger löpande avdragsrätt på byggkostnader (12 kap 10 § NML).
|
||||
**Undantag, uppförandeskede:** Före uthyrningen påbörjats (under byggnation/renovering) krävs särskild ansökan på blankett SKV 5704. Beslut om frivillig beskattning under uppförandeskede ger löpande avdragsrätt på byggkostnader (12 kap 10 § NML).
|
||||
|
||||
**Per lokal-bedömning:** Frivillig beskattning bestäms lokal för lokal. Samma fastighet kan ha frivillig beskattning på en lokal och inte på en annan.
|
||||
|
||||
## 3. Anmälningsskyldighet (12 kap 18 § NML + 7 kap 1–4 §§ SFL)
|
||||
## 3. Anmälningsskyldighet (12 kap 18 § NML + 7 kap 1-4 §§ SFL)
|
||||
|
||||
Hyresvärden ska anmäla till Skatteverket vid:
|
||||
- Förändringar som påverkar omfattningen av frivillig beskattning.
|
||||
@@ -37,9 +37,9 @@ Frivillig beskattning upphör när:
|
||||
- Hyresgästens verksamhet upphör att medföra avdragsrätt.
|
||||
- Fastigheten överlåts (utom vid TOGC där förvärvaren övertar).
|
||||
|
||||
**Konsekvens:** Upphörande är justeringsutlösande händelse (15 kap NML) — negativ justering av tidigare gjorda avdrag för återstoden av justeringsperioden.
|
||||
**Konsekvens:** Upphörande är justeringsutlösande händelse (15 kap NML): negativ justering av tidigare gjorda avdrag för återstoden av justeringsperioden.
|
||||
|
||||
## 5. Retroaktivt avdrag (12 kap 16–17 § NML, motsv. 9 kap 8 § GML)
|
||||
## 5. Retroaktivt avdrag (12 kap 16-17 § NML, motsv. 9 kap 8 § GML)
|
||||
|
||||
Vid övergång till frivillig beskattning på lokal som ännu inte tagits i bruk får hyresvärden göra **retroaktivt avdrag** för ingående moms på kostnader för ny-, till- eller ombyggnad som uppkommit före frivillig beskattning. Hela momsen dras omedelbart.
|
||||
|
||||
@@ -57,11 +57,11 @@ Positiv justering på återstoden av justeringsperioden. Beräknas på ursprungs
|
||||
|
||||
Negativ justering på återstoden av justeringsperioden. Se Exempel B i jamkning-mechanics.md.
|
||||
|
||||
### 6.3 Fastighetsöverlåtelse — kritisk distinktion efter Sögård (C-787/18)
|
||||
### 6.3 Fastighetsöverlåtelse: kritisk distinktion efter Sögård (C-787/18)
|
||||
|
||||
**Verksamhetsöverlåtelse (TOGC, art. 19 momsdirektivet):** Förvärvaren övertar både rättighet och skyldighet att justera enligt 15 kap 20 § NML. Säljaren utfärdar justeringshandling enligt 15 kap 22–23 § NML.
|
||||
**Verksamhetsöverlåtelse (TOGC, art. 19 momsdirektivet):** Förvärvaren övertar både rättighet och skyldighet att justera enligt 15 kap 20 § NML. Säljaren utfärdar justeringshandling enligt 15 kap 22-23 § NML.
|
||||
|
||||
**Ren fastighetsöverlåtelse:** Efter C-787/18 Sögård Fastigheter och HFD 2021 not. 26–27 tillämpar Skatteverket **inte** automatisk övergång till köparen. Säljaren **slutjämkar** för återstoden av justeringsperioden i transaktionsperioden. Köparens framtida användning är säljaren ovidkommande.
|
||||
**Ren fastighetsöverlåtelse:** Efter C-787/18 Sögård Fastigheter och HFD 2021 not. 26-27 tillämpar Skatteverket **inte** automatisk övergång till köparen. Säljaren **slutjämkar** för återstoden av justeringsperioden i transaktionsperioden. Köparens framtida användning är säljaren ovidkommande.
|
||||
|
||||
Distinktionen ligger i om en verksamhet (inkl personal, kontrakt, goodwill, organisation) övergår, eller om det är ett rent fastighetsförvärv. Bedömningen görs in casu.
|
||||
|
||||
@@ -70,8 +70,8 @@ Distinktionen ligger i om en verksamhet (inkl personal, kontrakt, goodwill, orga
|
||||
## 7. Praktisk checklista vid fastighetsförvärv eller -försäljning
|
||||
|
||||
1. Klassificera transaktionen: TOGC eller ren fastighetsöverlåtelse?
|
||||
2. För TOGC: säkerställ justeringshandling enligt 15 kap 22–23 § NML med samtliga 9 informationspunkter (se jamkning-mechanics.md p. 6).
|
||||
3. För ren fastighetsöverlåtelse: säljaren slutjämkar — beräkna belopp, redovisa i transaktionsperioden.
|
||||
2. För TOGC: säkerställ justeringshandling enligt 15 kap 22-23 § NML med samtliga 9 informationspunkter (se jamkning-mechanics.md p. 6).
|
||||
3. För ren fastighetsöverlåtelse: säljaren slutjämkar, beräkna belopp, redovisa i transaktionsperioden.
|
||||
4. Anmäl till Skatteverket vid överlåtelse av fastighet med frivillig beskattning (12 kap 18 § NML).
|
||||
5. Köparens bedömning: planeras momspliktig hyresgäst? → överväg att påbörja frivillig beskattning vid första hyresfakturering eller söka uppförandeskede.
|
||||
6. Arkivera justeringshandling och underlag i 7 år efter justeringsperiodens slut (= upp till 17 år efter förvärvet för fastigheter; 9 kap 1 § 2 st SFF).
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Holdingbolag — avdragsrätt för ingående moms
|
||||
# Holdingbolag: avdragsrätt för ingående moms
|
||||
|
||||
## 1. Grundindelning
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
**C-60/90 Polysar (1991):** Rent passivt ägande är inte ekonomisk verksamhet.
|
||||
|
||||
**C-4/94 BLP Group (1995):** "Direct and immediate link"-testet. Konsultkostnader vid momsfri aktieförsäljning gav inte avdrag — det yttre syftet (momspliktig rörelse i koncernen) är irrelevant. Modifierad senare av AB SKF men grundprincipen står.
|
||||
**C-4/94 BLP Group (1995):** "Direct and immediate link"-testet. Konsultkostnader vid momsfri aktieförsäljning gav inte avdrag: det yttre syftet (momspliktig rörelse i koncernen) är irrelevant. Modifierad senare av AB SKF men grundprincipen står.
|
||||
|
||||
**C-16/00 Cibo Participations (2001):** Aktivt holdingbolag som tillhandahåller momspliktiga tjänster till dotterbolag bedriver ekonomisk verksamhet. Förvärvskostnader för andelar är **allmänna omkostnader** → avdragsrätt. Utdelningar är utanför momsens tillämpningsområde och ska inte ingå i pro rata. "Cibo-doktrinen".
|
||||
|
||||
@@ -26,19 +26,19 @@
|
||||
|
||||
**C-42/19 Sonaecom (2020):** Vid avbrutet förvärv styrs avdragsrätten av den objektiva avsikten. Men när det upplånade kapitalet faktiskt används i en momsfri utgående transaktion (utlåning till moderbolaget) bryts sambandet och avdragsrätten går förlorad.
|
||||
|
||||
**C-437/06 Securenta (2008):** Tvåstegsmodell vid blandad ekonomisk + icke-ekonomisk verksamhet — först fördelning mellan ekonomisk och icke-ekonomisk (medlemsstatens diskretion), sedan pro rata.
|
||||
**C-437/06 Securenta (2008):** Tvåstegsmodell vid blandad ekonomisk + icke-ekonomisk verksamhet: först fördelning mellan ekonomisk och icke-ekonomisk (medlemsstatens diskretion), sedan pro rata.
|
||||
|
||||
## 3. Svensk HFD-praxis
|
||||
|
||||
**HFD 2014 ref. 18 (I och II):** Skälig grund vid blandad verksamhet. "Uppdelningen ska så långt som möjligt motsvara resursförbrukningen." Senare delvis nedtonad av HFD 2023 ref. 45.
|
||||
|
||||
**HFD 2017 ref. 20 ("Sveaskog"):** Mål 5311–5312-15. Moderbolag med skogsrörelse + dotterbolagsförvaltning sålde dotterbolagsaktier som ett led i omstrukturering för att frigöra kapital till egen momspliktig verksamhet. **Avdrag medgavs** för konsultkostnaderna som allmänna omkostnader. Bröt med RÅ 2010 ref. 56 SKF och RÅ 2003 ref. 36.
|
||||
**HFD 2017 ref. 20 ("Sveaskog"):** Mål 5311-5312-15. Moderbolag med skogsrörelse + dotterbolagsförvaltning sålde dotterbolagsaktier som ett led i omstrukturering för att frigöra kapital till egen momspliktig verksamhet. **Avdrag medgavs** för konsultkostnaderna som allmänna omkostnader. Bröt med RÅ 2010 ref. 56 SKF och RÅ 2003 ref. 36.
|
||||
|
||||
**HFD 2021 ref. 52 ("VicMik"):** Skatteverkets registrering är inte konstitutiv för avdragsrätt, men ett bolag som registrerats i god tro kan inte med retroaktiv verkan nekas avdrag enbart pga att verksamheten inte uppfyller kraven på ekonomisk verksamhet (skydd för berättigade förväntningar). Senare begränsad av HFD 2024 ref. 34 I–II.
|
||||
**HFD 2021 ref. 52 ("VicMik"):** Skatteverkets registrering är inte konstitutiv för avdragsrätt, men ett bolag som registrerats i god tro kan inte med retroaktiv verkan nekas avdrag enbart pga att verksamheten inte uppfyller kraven på ekonomisk verksamhet (skydd för berättigade förväntningar). Senare begränsad av HFD 2024 ref. 34 I-II.
|
||||
|
||||
**HFD 2023 ref. 41 ("AB Volvo"):** Mål 1041–1043-22. Bekräftade Sveaskog-doktrinen för försäljning av dotterbolagsaktier som led i omstrukturering. SKV ställningstagande dnr 8-2596368 (2023-10-19) implementerar.
|
||||
**HFD 2023 ref. 41 ("AB Volvo"):** Mål 1041-1043-22. Bekräftade Sveaskog-doktrinen för försäljning av dotterbolagsaktier som led i omstrukturering. SKV ställningstagande dnr 8-2596368 (2023-10-19) implementerar.
|
||||
|
||||
**HFD 2023 ref. 45 ("VW Finans"):** Mål 7254–7255-22. Direkt effekt av art. 173.1/174 momsdirektivet. Skatteverket kan inte mot den skattskyldiges vilja tvinga fram sektoriserad metod.
|
||||
**HFD 2023 ref. 45 ("VW Finans"):** Mål 7254-7255-22. Direkt effekt av art. 173.1/174 momsdirektivet. Skatteverket kan inte mot den skattskyldiges vilja tvinga fram sektoriserad metod.
|
||||
|
||||
**HFD 2024 ref. 18 ("Lamiflex"):** Mål 3204-23. Moderbolag har avdragsrätt även när management fees endast faktureras till dotterdotterbolag (inte direkta dotterbolag). SKV rättsfallskommentar 2024-03-21.
|
||||
|
||||
@@ -47,9 +47,9 @@
|
||||
För att klassas som aktivt och få avdragsrätt krävs:
|
||||
|
||||
1. **Avtal om management fees** med dotterbolagen, undertecknat innan eller i samband med förvärvet.
|
||||
2. **Faktisk fakturering** mot ersättning — symbolisk eller noll-fakturering räcker inte.
|
||||
3. **Tjänsterna ska vara momspliktiga** — administrativa, finansiella, kommersiella, tekniska. Inte rena ägartillsynsfunktioner.
|
||||
4. **Marknadsmässig prissättning** — annars risk för uttagsbeskattning och underkännande som ekonomisk verksamhet.
|
||||
2. **Faktisk fakturering** mot ersättning: symbolisk eller noll-fakturering räcker inte.
|
||||
3. **Tjänsterna ska vara momspliktiga**: administrativa, finansiella, kommersiella, tekniska. Inte rena ägartillsynsfunktioner.
|
||||
4. **Marknadsmässig prissättning**: annars risk för uttagsbeskattning och underkännande som ekonomisk verksamhet.
|
||||
5. **Tjänsterna ska faktiskt utföras** med dokumentation (tidsredovisning, rapporter, mötesprotokoll).
|
||||
|
||||
Om endast vissa dotterbolag erhåller management → bolaget bedriver **blandad verksamhet**: aktivt avseende fakturerade, passivt avseende övriga. Tvåstegsmodell krävs.
|
||||
@@ -58,18 +58,18 @@ Om endast vissa dotterbolag erhåller management → bolaget bedriver **blandad
|
||||
|
||||
| Dnr | Datum | Status | Innehåll |
|
||||
|---|---|---|---|
|
||||
| 202 377677-17/111 | 2017-12-19 | Delvis överspelad | Holdingbolag avdragsrätt — exempel 2 (riskkapitalbolag) ersatt 2024-02-02 dnr 8-2756161 |
|
||||
| 202 377677-17/111 | 2017-12-19 | Delvis överspelad | Holdingbolag avdragsrätt, exempel 2 (riskkapitalbolag) ersatt 2024-02-02 dnr 8-2756161 |
|
||||
| 8-2596368 | 2023-10-19 | Aktuell | Avdrag vid försäljning av dotterbolagsaktier (post-Volvo) |
|
||||
| 8-2756161 | 2024-02-02 | Aktuell | Riskkapitalbolag — ersätter del av 202 377677-17/111 |
|
||||
| 8-2756161 | 2024-02-02 | Aktuell | Riskkapitalbolag, ersätter del av 202 377677-17/111 |
|
||||
|
||||
## 6. Beräkningsexempel — blandat holdingbolag
|
||||
## 6. Beräkningsexempel: blandat holdingbolag
|
||||
|
||||
Företag M äger 3 dotterbolag. M tillhandahåller management till D1 (aktiv förvaltning, momspliktiga tjänster 5 mkr/år). M äger D2 och D3 passivt utan management.
|
||||
|
||||
Steg 1 — Fördelning ekonomisk/icke-ekonomisk (Securenta):
|
||||
Steg 1: Fördelning ekonomisk/icke-ekonomisk (Securenta):
|
||||
- Antag baserat på resursanalys: 70 % ekonomisk verksamhet (avseende D1) / 30 % icke-ekonomisk (passivt ägande D2+D3).
|
||||
|
||||
Steg 2 — Pro rata inom ekonomisk del (Cibo):
|
||||
Steg 2: Pro rata inom ekonomisk del (Cibo):
|
||||
- All ekonomisk omsättning är momspliktig (5 mkr management fee) → 100 % avdragsrätt inom ekonomisk del.
|
||||
|
||||
Total avdragsrätt på gemensamma kostnader = 70 % × 100 % = **70 %**.
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
# Jämkning (justering) av ingående moms på investeringsvaror
|
||||
|
||||
Lagstöd: ML (2023:200) **15 kap** (NML), motsv. ML (1994:200) **8a kap** (GML). EU-rätt: momsdirektivet 2006/112/EG art. 184–192. Skatteverkets rättsliga vägledning under "Mervärdesskatt → Avdragsrätt → Justering av avdrag". Terminologi i NML: "justering" istället för "jämkning"; "justeringsperiod" istället för "korrigeringstid"; "justeringshandling" istället för "jämkningshandling". Substansen är oförändrad.
|
||||
Lagstöd: ML (2023:200) **15 kap** (NML), motsv. ML (1994:200) **8a kap** (GML). EU-rätt: momsdirektivet 2006/112/EG art. 184-192. Skatteverkets rättsliga vägledning under "Mervärdesskatt → Avdragsrätt → Justering av avdrag". Terminologi i NML: "justering" istället för "jämkning"; "justeringsperiod" istället för "korrigeringstid"; "justeringshandling" istället för "jämkningshandling". Substansen är oförändrad.
|
||||
|
||||
## 1. Investeringsvara — definition och tröskelvärden (15 kap 4 § NML)
|
||||
## 1. Investeringsvara: definition och tröskelvärden (15 kap 4 § NML)
|
||||
|
||||
| Typ | Tröskelvärde ingående moms | Motsvarande anskaffning exkl moms |
|
||||
|---|---|---|
|
||||
| Maskiner, inventarier, anläggningstillgångar (lös egendom) | ≥ **50 000 kr** per vara | ≥ 200 000 kr |
|
||||
| Fastighet — ny-, till- eller ombyggnad | ≥ **100 000 kr** summerat under räkenskapsåret | ≥ 400 000 kr |
|
||||
| Fastighet: ny-, till- eller ombyggnad | ≥ **100 000 kr** summerat under räkenskapsåret | ≥ 400 000 kr |
|
||||
| Uttagsbeskattad fastighet/lägenhet | ≥ 100 000 kr | ≥ 400 000 kr |
|
||||
| Hyresrätt/bostadsrätt där hyresgäst/innehavare utfört byggåtgärd | ≥ 100 000 kr | ≥ 400 000 kr |
|
||||
|
||||
@@ -22,15 +22,15 @@ Förvärv av tjänster med direkt samband med ny-/till-/ombyggnad räknas in i b
|
||||
|
||||
I justeringsperioden räknas ALLTID in det räkenskapsår då åtgärden/förvärvet skedde och det räkenskapsår då händelsen inträffar.
|
||||
|
||||
## 3. Justeringsutlösande händelser (15 kap 6–9 §§ NML)
|
||||
## 3. Justeringsutlösande händelser (15 kap 6-9 §§ NML)
|
||||
|
||||
1. Avdragsrätten **ökar** (ändrad användning till mer momspliktig verksamhet).
|
||||
2. Avdragsrätten **minskar** (ändrad användning till mer momsfri verksamhet).
|
||||
3. Avyttring av lös egendom där tidigare förvärv endast delvis medfört avdragsrätt och försäljningen är skattepliktig.
|
||||
4. Fastighetsöverlåtelse under justeringsperioden (säljaren slutjämkar efter Sögård — köpare övertar EJ vid ren fastighetsöverlåtelse).
|
||||
5. Verksamhetsöverlåtelse (TOGC) inklusive investeringsvara — förvärvaren övertar via justeringshandling (15 kap 20 §).
|
||||
6. Övergång till frivillig beskattning (12 kap NML) — positiv justering.
|
||||
7. Frivillig beskattning upphör — negativ justering.
|
||||
4. Fastighetsöverlåtelse under justeringsperioden (säljaren slutjämkar efter Sögård; köpare övertar EJ vid ren fastighetsöverlåtelse).
|
||||
5. Verksamhetsöverlåtelse (TOGC) inklusive investeringsvara: förvärvaren övertar via justeringshandling (15 kap 20 §).
|
||||
6. Övergång till frivillig beskattning (12 kap NML), positiv justering.
|
||||
7. Frivillig beskattning upphör, negativ justering.
|
||||
8. Konkurs.
|
||||
9. Övergång till skattebefrielse för småföretagare.
|
||||
10. Hyresgäst lämnar lokal där hyresgästen gjort avdrag enligt slussningsregeln.
|
||||
@@ -39,7 +39,7 @@ I justeringsperioden räknas ALLTID in det räkenskapsår då åtgärden/förvä
|
||||
|
||||
**Undantag:** Uttagsbeskattning sker i stället; justeringsperioden har gått ut.
|
||||
|
||||
## 4. Beräkningsformel (15 kap 12, 16–19 §§ NML)
|
||||
## 4. Beräkningsformel (15 kap 12, 16-19 §§ NML)
|
||||
|
||||
**Årligt justeringsbelopp (löpande vid ändrad användning):**
|
||||
|
||||
@@ -55,47 +55,47 @@ där N = 10 (fastighet) eller 5 (lös egendom).
|
||||
Slutjustering = Ursprungsbelopp × Δ avdragsrätt × (återstående år inkl innevarande / N)
|
||||
```
|
||||
|
||||
**KRITISKT:** "Ursprungsbelopp" = **total ingående moms vid förvärvet/byggåtgärden**, inte "ursprungligen avdragen moms". Detta är avgörande för positiv justering — även om 0 % drogs av vid förvärvet kan ändrad användning till 100 % momspliktig verksamhet ge rätt till positiv justering beräknat på hela ursprungsbeloppet.
|
||||
**KRITISKT:** "Ursprungsbelopp" = **total ingående moms vid förvärvet/byggåtgärden**, inte "ursprungligen avdragen moms". Detta är avgörande för positiv justering: även om 0 % drogs av vid förvärvet kan ändrad användning till 100 % momspliktig verksamhet ge rätt till positiv justering beräknat på hela ursprungsbeloppet.
|
||||
|
||||
**Spärregel vid försäljning av lös egendom (motsv. 8a kap 9 § GML):** Positivt justeringsbelopp får inte överstiga utgående momsen på försäljningen (25 % av priset exkl moms).
|
||||
|
||||
## 5. Tre worked examples
|
||||
|
||||
### Exempel A — Verksamhetsöverlåtelse + senare ändrad användning hos förvärvaren
|
||||
### Exempel A: Verksamhetsöverlåtelse + senare ändrad användning hos förvärvaren
|
||||
|
||||
Företag A bygger om industrifastighet år 1 för 4 000 000 kr + moms 1 000 000 kr. 100 % avdrag (frivillig beskattning, momspliktig hyresgäst).
|
||||
|
||||
- Ursprungsbelopp = **1 000 000 kr**, justeringsperiod 10 år (år 1–10).
|
||||
- År 4: A säljer som **verksamhetsöverlåtelse** till B (TOGC, art. 19 momsdirektivet). B fortsätter momspliktig uthyrning. A utfärdar justeringshandling. A justerar inte. B övertar med återstående period år 4–10 (7 år).
|
||||
- Ursprungsbelopp = **1 000 000 kr**, justeringsperiod 10 år (år 1-10).
|
||||
- År 4: A säljer som **verksamhetsöverlåtelse** till B (TOGC, art. 19 momsdirektivet). B fortsätter momspliktig uthyrning. A utfärdar justeringshandling. A justerar inte. B övertar med återstående period år 4-10 (7 år).
|
||||
- År 6: B börjar använda 40 % av ytan till bostadsuthyrning (momsfri). Avdragsrätt 100 % → 60 %. Δ = **40 procentenheter**.
|
||||
- Årligt justeringsbelopp hos B = 1 000 000 × 40 % × 1/10 = **40 000 kr/år negativ justering** i 5 år (år 6–10) = totalt **200 000 kr återbetalas**.
|
||||
- Årligt justeringsbelopp hos B = 1 000 000 × 40 % × 1/10 = **40 000 kr/år negativ justering** i 5 år (år 6-10) = totalt **200 000 kr återbetalas**.
|
||||
- Redovisning i första period efter respektive räkenskapsårs utgång.
|
||||
|
||||
### Exempel B — Lokal omvandlas till bostäder mitt i justeringsperioden
|
||||
### Exempel B: Lokal omvandlas till bostäder mitt i justeringsperioden
|
||||
|
||||
Fastighetsbolag bygger om kontorslokal år 1, 2 000 000 kr + moms 500 000 kr; 100 % avdrag (frivillig beskattning). År 5 omvandlas lokalen till bostadsuthyrning (momsfri).
|
||||
|
||||
- Ursprungsbelopp = **500 000 kr**, justeringsperiod 10 år.
|
||||
- Δ avdragsrätt = 100 − 0 = **100 procentenheter**.
|
||||
- Återstående år inkl år 5 = **6 år** (år 5–10).
|
||||
- Återstående år inkl år 5 = **6 år** (år 5-10).
|
||||
- Årligt belopp = 500 000 × 100 % × 1/10 = **50 000 kr/år**.
|
||||
- Totalt **300 000 kr återbetalas** över 6 år.
|
||||
- Bokföring varje år: D 7820 (eller fastighetskostnad) 50 000 / K 2650 50 000. Redovisas i första redovisningsperiod efter räkenskapsårets utgång.
|
||||
- Frivillig beskattning för lokalen upphör automatiskt — separat justeringsgrundande händelse men i praktiken samma beräkning.
|
||||
- Frivillig beskattning för lokalen upphör automatiskt: separat justeringsgrundande händelse men i praktiken samma beräkning.
|
||||
|
||||
### Exempel C — Lokal som tidigare hyrdes momsfritt får momspliktig hyresgäst (positiv justering)
|
||||
### Exempel C: Lokal som tidigare hyrdes momsfritt får momspliktig hyresgäst (positiv justering)
|
||||
|
||||
Bolag äger lokal sedan år 1. Byggåtgärd år 1 för 1 600 000 kr + moms 400 000 kr. Hyresgästen var momsfri → 0 % avdrag drogs vid byggåtgärden. År 3 byter hyresgäst till momspliktigt företag och bolaget beviljas/påbörjar frivillig beskattning.
|
||||
|
||||
- Ursprungsbelopp = **400 000 kr** (oavsett att inget drogs av).
|
||||
- Δ avdragsrätt = 100 − 0 = **100 procentenheter ökning**.
|
||||
- Återstående år inkl år 3 = **8 år** (år 3–10).
|
||||
- Återstående år inkl år 3 = **8 år** (år 3-10).
|
||||
- Årligt belopp = 400 000 × 100 % × 1/10 = **40 000 kr/år positiv justering**.
|
||||
- Totalt **320 000 kr ytterligare avdrag** över 8 år.
|
||||
|
||||
**Alternativ:** Retroaktivt avdrag enligt 12 kap NML (motsv. 9 kap 8 § GML) om lokalen ännu inte tagits i bruk — hela momsen dras omedelbart, men då sker ingen justering för dessa kostnader därefter. Val mellan justering och retroaktivt avdrag är strategiskt och ofta gynnsamt för retroaktivt avdrag när investeringen är stor och frivillig beskattning kommer tidigt.
|
||||
**Alternativ:** Retroaktivt avdrag enligt 12 kap NML (motsv. 9 kap 8 § GML) om lokalen ännu inte tagits i bruk: hela momsen dras omedelbart, men då sker ingen justering för dessa kostnader därefter. Val mellan justering och retroaktivt avdrag är strategiskt och ofta gynnsamt för retroaktivt avdrag när investeringen är stor och frivillig beskattning kommer tidigt.
|
||||
|
||||
## 6. Justeringshandling — obligatoriskt innehåll (15 kap 22–23 §§ NML, SKV dnr 8-2349336)
|
||||
## 6. Justeringshandling: obligatoriskt innehåll (15 kap 22-23 §§ NML, SKV dnr 8-2349336)
|
||||
|
||||
1. Ursprungsbelopp (ingående moms på förvärvet/åtgärden).
|
||||
2. Del av ursprungsbeloppet som överlåtaren efter eventuell tidigare justering gjort avdrag för.
|
||||
|
||||
@@ -7,7 +7,7 @@ description: >
|
||||
tillsammans äger > 50%) klassas som fåmansbolag och omfattas av 3:12-reglerna.
|
||||
Den enskilda ägaren är samtidigt anställd ("verksam i betydande omfattning") och
|
||||
styr själv balansen mellan lön och utdelning. Avgörande för ekonomin men trivialt
|
||||
i löpande bokföring — modifern flaggar för agenten att 3:12, gränsbelopp, K10
|
||||
i löpande bokföring: modifern flaggar för agenten att 3:12, gränsbelopp, K10
|
||||
och löneunderlagsregeln måste vara med i rådgivningen.
|
||||
trigger_signals:
|
||||
ownership: "single_shareholder"
|
||||
@@ -25,19 +25,19 @@ version: 1
|
||||
The active company is an aktiebolag where one natural person owns > 50% of
|
||||
the shares. This is the most common form among Accounted's AB users. The owner
|
||||
is typically also a full-time anställd in the company and "verksam i betydande
|
||||
omfattning" — which triggers 3:12-reglerna (53 kap. IL).
|
||||
omfattning", which triggers 3:12-reglerna (53 kap. IL).
|
||||
|
||||
This modifier composes with:
|
||||
- [[horizontal/swedish-tax-planning]] — for 3:12, gränsbelopp, löneunderlag detail
|
||||
- [[horizontal/swedish-payroll]] — for owner-as-employee salary mechanics
|
||||
- [[horizontal/swedish-year-end-closing]] — for resultatdisposition (lön vs. utdelning)
|
||||
- [[horizontal/swedish-financial-reporting]] — för K2/K3-årsredovisning
|
||||
- [[horizontal/swedish-tax-planning]]: for 3:12, gränsbelopp, löneunderlag detail
|
||||
- [[horizontal/swedish-payroll]]: for owner-as-employee salary mechanics
|
||||
- [[horizontal/swedish-year-end-closing]]: for resultatdisposition (lön vs. utdelning)
|
||||
- [[horizontal/swedish-financial-reporting]]: för K2/K3-årsredovisning
|
||||
|
||||
## Implications
|
||||
|
||||
1. **Lön vs. utdelning**: ägaren styr själv. Under gränsbeloppet beskattas
|
||||
utdelning som kapital (20%). Över gränsbeloppet beskattas det överskjutande
|
||||
som tjänsteinkomst (kommunal + statlig + arbetsgivaravgifter — högsta marginalskatt).
|
||||
som tjänsteinkomst (kommunal + statlig + arbetsgivaravgifter, högsta marginalskatt).
|
||||
Lön ger socialförsäkringsrätt och pension; utdelning gör det inte.
|
||||
2. **Löneunderlagsregeln** (3:12-reglernas favorit): genom att ägaren tar ut
|
||||
minst en viss årslön (cirka 6 IBB + 5% av total löneunderlag, max 9,6 IBB)
|
||||
|
||||
@@ -20,10 +20,10 @@ Use this skill instead of training data whenever working on OSS license scanning
|
||||
|
||||
The skill draws from four upstream truth sources. Always pin against a version, never trust a mirror.
|
||||
|
||||
* **SPDX License List** — `spdx/license-list-XML` (governance, source XML) and `spdx/license-list-data` (machine-readable JSON, RDFa, HTML, plaintext distributions). Ingest `licenses.json` and `exceptions.json` from `license-list-data` releases (semantic versioning, `vX.Y` or `vX.Y.Z`). Pin to a specific release for auditability.
|
||||
* **OSADL FOSS License Compatibility Matrix** — `matrix.json` (associative), `matrixseq.json` (indexed), `matrixseqexpl.json` (indexed with textual legal explanations). Ingest at scanner sync time, not at scan time.
|
||||
* **FSF compatibility logic** — encoded in this skill (see `references/compatibility-and-copyleft.md`). Cross-reference against the FSF's published compatibility tables for GPL-family transitions.
|
||||
* **REUSE Specification** — FSFE-maintained. The `reuse` linter is the canonical conformance tool; do not roll your own.
|
||||
* **SPDX License List**: `spdx/license-list-XML` (governance, source XML) and `spdx/license-list-data` (machine-readable JSON, RDFa, HTML, plaintext distributions). Ingest `licenses.json` and `exceptions.json` from `license-list-data` releases (semantic versioning, `vX.Y` or `vX.Y.Z`). Pin to a specific release for auditability.
|
||||
* **OSADL FOSS License Compatibility Matrix**: `matrix.json` (associative), `matrixseq.json` (indexed), `matrixseqexpl.json` (indexed with textual legal explanations). Ingest at scanner sync time, not at scan time.
|
||||
* **FSF compatibility logic**: encoded in this skill (see `references/compatibility-and-copyleft.md`). Cross-reference against the FSF's published compatibility tables for GPL-family transitions.
|
||||
* **REUSE Specification**: FSFE-maintained. The `reuse` linter is the canonical conformance tool; do not roll your own.
|
||||
|
||||
## When to consult which reference
|
||||
|
||||
@@ -49,7 +49,7 @@ Pure script logic. No reasoning required.
|
||||
* Presence and exact path of `LICENSE`, `NOTICE`, `LICENSES/` directory, `.reuse/dep5`.
|
||||
* SPDX identifier headers in source files (REUSE conformance via the `reuse` linter).
|
||||
* Manifest parsing (`pom.xml`, `build.gradle`, `package.json`, `package-lock.json`, `go.mod`, `Cargo.toml`, `requirements.txt`, `Pipfile.lock`) cross-referenced against the local `licenses.json` snapshot.
|
||||
* Version-to-license mapping for components that have changed license over time (e.g., MongoDB ≥ 4.0.3 → SSPL, Elasticsearch 7.11–7.16 → SSPL/Elastic, Redis ≥ 7.4 → RSALv2/SSPL, Terraform > 1.5.5 → BSL 1.1).
|
||||
* Version-to-license mapping for components that have changed license over time (e.g., MongoDB ≥ 4.0.3 → SSPL, Elasticsearch 7.11-7.16 → SSPL/Elastic, Redis ≥ 7.4 → RSALv2/SSPL, Terraform > 1.5.5 → BSL 1.1).
|
||||
* OSADL matrix lookup for declared license pairs.
|
||||
* `isOsiApproved` / `isFsfLibre` boolean gates from the SPDX JSON.
|
||||
* SBOM generation in SPDX or CycloneDX format.
|
||||
@@ -61,10 +61,10 @@ If a check can be expressed as "does file X contain string Y" or "does pair (A,
|
||||
|
||||
Required when the legal trigger depends on facts about the host application that no manifest exposes.
|
||||
|
||||
* **AGPL Section 13** — does the host expose modified AGPL code "remotely through a computer network"? Reading `Dockerfile`, `docker-compose.yml`, `kubernetes/`, deployment manifests, and `README.md` to determine whether the application is internal-only, air-gapped, or user-facing.
|
||||
* **SSPL Section 13** — does the host offer the SSPL component "as a service to third parties"? The Service Source Code definition is sweeping (management, UI, APIs, automation, monitoring, backup, storage, hosting). Requires reading architecture docs.
|
||||
* **BSL 1.1 competitive offering** — does the host constitute a product that "competes with HashiCorp's commercial offerings"? Pure business-logic question.
|
||||
* **Dual-license selection** — when a dependency offers a choice (e.g., MPL-2.0 OR Apache-2.0), the project's outbound license and intended distribution must be reconciled with the choice. Encode the choice in `.ort.yml` once resolved so it does not require reasoning on every scan.
|
||||
* **AGPL Section 13**: does the host expose modified AGPL code "remotely through a computer network"? Reading `Dockerfile`, `docker-compose.yml`, `kubernetes/`, deployment manifests, and `README.md` to determine whether the application is internal-only, air-gapped, or user-facing.
|
||||
* **SSPL Section 13**: does the host offer the SSPL component "as a service to third parties"? The Service Source Code definition is sweeping (management, UI, APIs, automation, monitoring, backup, storage, hosting). Requires reading architecture docs.
|
||||
* **BSL 1.1 competitive offering**: does the host constitute a product that "competes with HashiCorp's commercial offerings"? Pure business-logic question.
|
||||
* **Dual-license selection**: when a dependency offers a choice (e.g., MPL-2.0 OR Apache-2.0), the project's outbound license and intended distribution must be reconciled with the choice. Encode the choice in `.ort.yml` once resolved so it does not require reasoning on every scan.
|
||||
* **REUSE-style license choice** for files whose origin or intent is genuinely ambiguous.
|
||||
|
||||
The agent's reasoning must be logged to a tamper-evident audit trail (commit-pinned input, prompt, model, output). The decision becomes the verifiable artifact.
|
||||
@@ -75,10 +75,10 @@ See `references/agentic-prompts.md` for prompt templates that produce structured
|
||||
|
||||
No script, no agent, no commit-bound artifact can resolve these. Generate evidence pointers (URLs, ticket references, document hashes) that link to external systems.
|
||||
|
||||
* **Commercial supplier indemnification** — vendor contracts representing OSS-clean deliverables and indemnifying OSS-related IP claims.
|
||||
* **M&A and cyber insurance OSS warranties** — the SBOM and triaged conflict log are the input; the warranty document is the artifact.
|
||||
* **Shadow SaaS / SaaS-to-SaaS OAuth** — IdP logs, SaaS Management Platform (Zylo, BetterCloud) data; not in the repo.
|
||||
* **End-user-facing attribution UIs** — the LICENSE file is in the repo, but whether the deployed product surfaces it to users (Apache 2.0 §4(d), MIT attribution preservation) requires UI inspection.
|
||||
* **Commercial supplier indemnification**: vendor contracts representing OSS-clean deliverables and indemnifying OSS-related IP claims.
|
||||
* **M&A and cyber insurance OSS warranties**: the SBOM and triaged conflict log are the input; the warranty document is the artifact.
|
||||
* **Shadow SaaS / SaaS-to-SaaS OAuth**: IdP logs, SaaS Management Platform (Zylo, BetterCloud) data; not in the repo.
|
||||
* **End-user-facing attribution UIs**: the LICENSE file is in the repo, but whether the deployed product surfaces it to users (Apache 2.0 §4(d), MIT attribution preservation) requires UI inspection.
|
||||
|
||||
Document the pointer, not the content. The compliance program is evidenced by the chain of pointers, not by duplicating external systems into the repo.
|
||||
|
||||
@@ -88,16 +88,16 @@ The scanner must run on the right diffs and stay quiet on the rest.
|
||||
|
||||
### Trigger on any of:
|
||||
|
||||
* Manifest changes — `pom.xml`, `build.gradle`, `package.json`, `package-lock.json`, `go.mod`, `go.sum`, `Cargo.toml`, `Cargo.lock`, `requirements.txt`, `Pipfile.lock`, `pyproject.toml`, `composer.json`, `Gemfile.lock`.
|
||||
* Policy changes — `.ort.yml`, `.reuse/dep5`, `LICENSES/*`, `rules.kts`, `.whitesource`, scanner configuration. Forces a full repository re-baseline.
|
||||
* Manifest changes: `pom.xml`, `build.gradle`, `package.json`, `package-lock.json`, `go.mod`, `go.sum`, `Cargo.toml`, `Cargo.lock`, `requirements.txt`, `Pipfile.lock`, `pyproject.toml`, `composer.json`, `Gemfile.lock`.
|
||||
* Policy changes: `.ort.yml`, `.reuse/dep5`, `LICENSES/*`, `rules.kts`, `.whitesource`, scanner configuration. Forces a full repository re-baseline.
|
||||
* Large uncommented code blocks introduced without a corresponding manifest change. Signals copy-paste; trigger snippet scanning.
|
||||
* Dependency lockfile bumps even with no manifest change (transitive shifts).
|
||||
* New `LICENSE`, `NOTICE`, or top-level legal file changes.
|
||||
|
||||
### Suppress / downgrade severity for:
|
||||
|
||||
* `/test`, `/tests`, `/__tests__`, `/spec`, `/mocks` — typically not distributed; copyleft distribution triggers do not apply. AGPL and SSPL network-use triggers may still apply if the test harness itself becomes a service.
|
||||
* `.github/workflows/`, `.gitlab-ci.yml`, internal build tooling — not distributed to end users.
|
||||
* `/test`, `/tests`, `/__tests__`, `/spec`, `/mocks`: typically not distributed; copyleft distribution triggers do not apply. AGPL and SSPL network-use triggers may still apply if the test harness itself becomes a service.
|
||||
* `.github/workflows/`, `.gitlab-ci.yml`, internal build tooling: not distributed to end users.
|
||||
* Generated code directories explicitly listed in `.ort.yml` `excludes` (with a reasoned justification).
|
||||
* Vendored documentation and example assets clearly marked as illustrative.
|
||||
|
||||
@@ -107,9 +107,9 @@ Suppression is configuration, not silence. Encode every suppression in `.ort.yml
|
||||
|
||||
The recommended architecture is a three-layer pipeline:
|
||||
|
||||
1. **Sync layer (scheduled, cached)** — Fetch SPDX `licenses.json`, OSADL matrix JSON, and any vendor advisory feeds. Pin versions in `.compliance/sources.lock`.
|
||||
2. **PR-time scanner (deterministic)** — ScanCode (via Docker) for source-level detection; ORT analyzer + scanner + evaluator for dependency-tree evaluation; the `reuse` linter for header conformance; SCANOSS for snippet detection if license budget allows. Output structured JSON, fail the build on hard violations, post a PR comment summarizing soft findings.
|
||||
3. **On-demand agentic auditor** — Invoked manually or on flagged dependencies. Reads the committed scan output plus repository policy artifacts (`README.md`, `architecture.md`, deployment manifests). Produces structured JSON with reasoning chain. Persists to an audit log keyed by commit SHA + prompt hash.
|
||||
1. **Sync layer (scheduled, cached)**: Fetch SPDX `licenses.json`, OSADL matrix JSON, and any vendor advisory feeds. Pin versions in `.compliance/sources.lock`.
|
||||
2. **PR-time scanner (deterministic)**: ScanCode (via Docker) for source-level detection; ORT analyzer + scanner + evaluator for dependency-tree evaluation; the `reuse` linter for header conformance; SCANOSS for snippet detection if license budget allows. Output structured JSON, fail the build on hard violations, post a PR comment summarizing soft findings.
|
||||
3. **On-demand agentic auditor**: Invoked manually or on flagged dependencies. Reads the committed scan output plus repository policy artifacts (`README.md`, `architecture.md`, deployment manifests). Produces structured JSON with reasoning chain. Persists to an audit log keyed by commit SHA + prompt hash.
|
||||
|
||||
This separation is important: the deterministic layer must be fast and binary, the agentic layer must be slow and reasoned. Mixing them produces a scanner that is both flaky and slow.
|
||||
|
||||
@@ -119,7 +119,7 @@ Every scanner run produces, at minimum:
|
||||
|
||||
* **SBOM** in SPDX 2.3 or CycloneDX 1.5 (preferably both). The SBOM is the lingua franca for downstream consumers (M&A diligence, cyber insurance, OpenChain conformance).
|
||||
* **Violations report** in JSON with a stable schema (eval ID, severity, license identifier, package coordinate, path, rule that fired, suppression status, evidence pointer).
|
||||
* **Attribution bundle** — concatenated `LICENSE` and `NOTICE` content for every distributed dependency, suitable for shipping in product about-screens or `THIRD_PARTY_NOTICES.md`.
|
||||
* **Attribution bundle**: concatenated `LICENSE` and `NOTICE` content for every distributed dependency, suitable for shipping in product about-screens or `THIRD_PARTY_NOTICES.md`.
|
||||
* **Audit trail entry** for every agentic decision, with commit SHA, scanned input hash, prompt, model identifier, and structured output.
|
||||
|
||||
The SBOM and the audit trail together are the evidence packet. Everything else is derived.
|
||||
@@ -128,12 +128,12 @@ The SBOM and the audit trail together are the evidence packet. Everything else i
|
||||
|
||||
State these limits explicitly to consumers of the skill, in PR comments and in audit-package documentation.
|
||||
|
||||
* **Dynamic linking and obfuscation** — SCA cannot see what is dynamically linked into a binary at runtime, nor can it identify obfuscated Java (ProGuard, R8) or stripped native binaries.
|
||||
* **Reachability ≠ obligation** — A copyleft dependency reached only on a dead code path is still distributed and still triggers obligations. Do not let runtime SCA reachability filters quietly suppress legal risk.
|
||||
* **Snippet false positives** — Boilerplate, autogenerated stubs, and standard algorithms produce constant noise. Confidence thresholds and persisted triage decisions in `.ort.yml` are the only way to keep alert fatigue manageable.
|
||||
* **License-change events** — A dependency licensed permissively today may relicense tomorrow (Redis 2024, HashiCorp 2023, Elastic 2021/2024). Continuous monitoring of upstream license metadata is required; a one-time scan ages out fast.
|
||||
* **Stack Overflow CC-SA** — Up to 33% of identified license conflicts in enterprise audits trace to Stack Overflow snippet pasting. Snippet scanning is the only line of defense.
|
||||
* **The agent is non-deterministic** — Two runs of the same agentic prompt against the same input may differ. Pin model versions, log prompts, and treat the audit log as the artifact rather than the model output itself.
|
||||
* **Dynamic linking and obfuscation**: SCA cannot see what is dynamically linked into a binary at runtime, nor can it identify obfuscated Java (ProGuard, R8) or stripped native binaries.
|
||||
* **Reachability ≠ obligation**: A copyleft dependency reached only on a dead code path is still distributed and still triggers obligations. Do not let runtime SCA reachability filters quietly suppress legal risk.
|
||||
* **Snippet false positives**: Boilerplate, autogenerated stubs, and standard algorithms produce constant noise. Confidence thresholds and persisted triage decisions in `.ort.yml` are the only way to keep alert fatigue manageable.
|
||||
* **License-change events**: A dependency licensed permissively today may relicense tomorrow (Redis 2024, HashiCorp 2023, Elastic 2021/2024). Continuous monitoring of upstream license metadata is required; a one-time scan ages out fast.
|
||||
* **Stack Overflow CC-SA**: Up to 33% of identified license conflicts in enterprise audits trace to Stack Overflow snippet pasting. Snippet scanning is the only line of defense.
|
||||
* **The agent is non-deterministic**: Two runs of the same agentic prompt against the same input may differ. Pin model versions, log prompts, and treat the audit log as the artifact rather than the model output itself.
|
||||
|
||||
## Skill scope boundaries
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ The deterministic scanner identifies the presence of a high-risk license. It can
|
||||
|
||||
## Prompt template: SSPL §13 service-source-code evaluation
|
||||
|
||||
**When to invoke**: scanner has identified an SSPL-licensed component (MongoDB ≥ 4.0.3, Elasticsearch 7.11–7.16 / 7.16+ partial, Redis ≥ 7.4 dual SSPL, etc.) in a repository that may offer the component's functionality as a service.
|
||||
**When to invoke**: scanner has identified an SSPL-licensed component (MongoDB ≥ 4.0.3, Elasticsearch 7.11-7.16 / 7.16+ partial, Redis ≥ 7.4 dual SSPL, etc.) in a repository that may offer the component's functionality as a service.
|
||||
|
||||
**Inputs to provide**: same as AGPL template, plus the Service Source Code definition language from SSPL §13.
|
||||
|
||||
|
||||
@@ -22,9 +22,9 @@ Sync the matrix on a scheduled cadence (daily is sufficient) and pin the snapsho
|
||||
|
||||
A pairwise lookup returns one of:
|
||||
|
||||
* **Compatible** — combination is permitted.
|
||||
* **Incompatible** — combination violates one or both licenses; the matrix gives the contradiction reason in `matrixseqexpl.json`.
|
||||
* **Conditional** — combination is permitted only if specific conditions are met (e.g., dynamic linking, system library exception). Requires reading the explanation field.
|
||||
* **Compatible**: combination is permitted.
|
||||
* **Incompatible**: combination violates one or both licenses; the matrix gives the contradiction reason in `matrixseqexpl.json`.
|
||||
* **Conditional**: combination is permitted only if specific conditions are met (e.g., dynamic linking, system library exception). Requires reading the explanation field.
|
||||
|
||||
### Tooling
|
||||
|
||||
@@ -32,7 +32,7 @@ A pairwise lookup returns one of:
|
||||
|
||||
* Compatibility verification across an entire dependency tree (input: SPDX SBOM).
|
||||
* Candidate outbound license suggestion given a set of inbound licenses.
|
||||
* Policy file evaluation — supply your organization's outbound license and a list of disallowed licenses; `flict` returns a verdict.
|
||||
* Policy file evaluation: supply your organization's outbound license and a list of disallowed licenses; `flict` returns a verdict.
|
||||
|
||||
Wrap `flict` as a CI step rather than reimplementing matrix lookup logic in scanner code.
|
||||
|
||||
@@ -60,8 +60,8 @@ MIT, BSD-2-Clause, BSD-3-Clause, ISC, Apache 2.0 (with the patent-clause caveat
|
||||
|
||||
The Lesser GPL is the only mainstream copyleft that allows proprietary code to use the LGPL component without the proprietary code becoming LGPL-licensed. The mechanism depends on linking:
|
||||
|
||||
* **Dynamic linking** (proprietary code calls LGPL library at runtime) — proprietary code remains proprietary; user must be able to relink against a modified LGPL library.
|
||||
* **Static linking** (LGPL library compiled into proprietary binary) — proprietary code must allow the user to substitute a modified library, typically by shipping object files or statically linkable artifacts.
|
||||
* **Dynamic linking** (proprietary code calls LGPL library at runtime): proprietary code remains proprietary; user must be able to relink against a modified LGPL library.
|
||||
* **Static linking** (LGPL library compiled into proprietary binary): proprietary code must allow the user to substitute a modified library, typically by shipping object files or statically linkable artifacts.
|
||||
|
||||
The scanner cannot determine link model from manifests alone. Surface the LGPL finding with a flag for human review of the build configuration, or use agentic reasoning over the `Makefile` / `CMakeLists.txt` / `Cargo.toml` link configuration.
|
||||
|
||||
@@ -71,7 +71,7 @@ GPLv2 and GPLv3 both contain a "system library" exception: a GPL-incompatible li
|
||||
|
||||
## Copyleft contamination policy
|
||||
|
||||
If the scanner detects a strong copyleft license (GPL, AGPL, EUPL, OSL, CDDL with linking restrictions) in any dependency — direct or transitive — within a repository flagged for proprietary commercial distribution, the pipeline should:
|
||||
If the scanner detects a strong copyleft license (GPL, AGPL, EUPL, OSL, CDDL with linking restrictions) in any dependency (direct or transitive) within a repository flagged for proprietary commercial distribution, the pipeline should:
|
||||
|
||||
1. Fail the build on the PR with a clear, specific error message naming the dependency, the license, and the contamination path.
|
||||
2. Block the merge.
|
||||
@@ -90,7 +90,7 @@ Consequences if triggered:
|
||||
|
||||
* The full corresponding source of the modified AGPL component must be made available to every user who interacts with the running service over a network.
|
||||
* "Corresponding source" includes scripts to control installation and modifications, per GPLv3 definition incorporated by reference.
|
||||
* Internal proprietary backend code that has been combined with the AGPL component is potentially within the scope of "Corresponding Source" — this is the contamination risk.
|
||||
* Internal proprietary backend code that has been combined with the AGPL component is potentially within the scope of "Corresponding Source": this is the contamination risk.
|
||||
|
||||
### Detection
|
||||
|
||||
@@ -165,8 +165,8 @@ This is not deterministic. The scanner detects the BSL component (deterministic)
|
||||
|
||||
Significant license-change events have spawned forks designed to preserve permissive licensing:
|
||||
|
||||
* **OpenTofu** — fork of Terraform, MPL 2.0, hosted under the Linux Foundation.
|
||||
* **OpenBao** — fork of Vault, MPL 2.0.
|
||||
* **OpenTofu**: fork of Terraform, MPL 2.0, hosted under the Linux Foundation.
|
||||
* **OpenBao**: fork of Vault, MPL 2.0.
|
||||
|
||||
Where a fork is viable and feature-complete, the cleanest resolution to a BSL finding is migration to the fork.
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ OSS license compliance findings are inputs to multiple security and compliance f
|
||||
|
||||
## NIST 800-53 Rev. 5
|
||||
|
||||
National Institute of Standards and Technology Special Publication 800-53 Revision 5 — security and privacy controls for federal information systems and supporting commercial infrastructure (FedRAMP, CMMC).
|
||||
National Institute of Standards and Technology Special Publication 800-53 Revision 5: security and privacy controls for federal information systems and supporting commercial infrastructure (FedRAMP, CMMC).
|
||||
|
||||
| Control | Name | OSS compliance mapping | Evidence artifact |
|
||||
|---------|------|------------------------|-------------------|
|
||||
@@ -22,7 +22,7 @@ National Institute of Standards and Technology Special Publication 800-53 Revisi
|
||||
|
||||
## CIS Critical Security Controls v8.1
|
||||
|
||||
Center for Internet Security Critical Security Controls v8.1 — prioritized, actionable safeguards.
|
||||
Center for Internet Security Critical Security Controls v8.1: prioritized, actionable safeguards.
|
||||
|
||||
| Safeguard | Name | OSS compliance mapping | Evidence artifact |
|
||||
|-----------|------|------------------------|-------------------|
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Scanners and Tooling: ScanCode, ORT, SCANOSS, FossID
|
||||
|
||||
Building a scanner from scratch is the wrong default. Mature OSS scanners have invested years in license matching corpora, regression test suites, and ecosystem-specific package manager integration. The skill author's job is orchestration, policy, and reporting — not reimplementing matching.
|
||||
Building a scanner from scratch is the wrong default. Mature OSS scanners have invested years in license matching corpora, regression test suites, and ecosystem-specific package manager integration. The skill author's job is orchestration, policy, and reporting, not reimplementing matching.
|
||||
|
||||
## ScanCode Toolkit
|
||||
|
||||
@@ -25,11 +25,11 @@ docker run --rm \
|
||||
> scancode_results.json
|
||||
```
|
||||
|
||||
Cache the Docker layer in CI (`actions/cache`, GitLab `cache:`, etc.) — the image is large and uncached pulls add minutes per run.
|
||||
Cache the Docker layer in CI (`actions/cache`, GitLab `cache:`, etc.): the image is large and uncached pulls add minutes per run.
|
||||
|
||||
### Output structure
|
||||
|
||||
ScanCode JSON contains `files[]` with per-file `licenses[]`, `copyrights[]`, and `package_data[]`. The downstream scanner consumes this as input — it should not re-derive license findings from raw source.
|
||||
ScanCode JSON contains `files[]` with per-file `licenses[]`, `copyrights[]`, and `package_data[]`. The downstream scanner consumes this as input: it should not re-derive license findings from raw source.
|
||||
|
||||
For SBOM generation, prefer `scancode-toolkit`'s `--spdx-tv` or `--spdx-rdf` outputs for SPDX, or chain through `cyclonedx-cli` for CycloneDX.
|
||||
|
||||
@@ -41,11 +41,11 @@ ORT is the orchestration layer the skill should build on. It composes multiple s
|
||||
|
||||
ORT decomposes the workflow into discrete tools, each consuming the previous tool's JSON output:
|
||||
|
||||
1. **Analyzer** — resolves dependency trees from package manifests. Ecosystem-aware (Maven, npm, Cargo, etc.). Produces an `analyzer-result.json`.
|
||||
2. **Scanner** — fetches sources and runs configured per-package scanners (ScanCode, Fossology). Produces `scan-result.yml`.
|
||||
3. **Advisor** (optional) — queries security advisory databases for known vulnerabilities.
|
||||
4. **Evaluator** — applies user-defined policy rules in Kotlin script (`rules.kts`) against the combined analyzer + scanner data.
|
||||
5. **Reporter** — produces SBOMs (SPDX, CycloneDX), notice files, HTML reports, and developer-friendly summaries.
|
||||
1. **Analyzer**: resolves dependency trees from package manifests. Ecosystem-aware (Maven, npm, Cargo, etc.). Produces an `analyzer-result.json`.
|
||||
2. **Scanner**: fetches sources and runs configured per-package scanners (ScanCode, Fossology). Produces `scan-result.yml`.
|
||||
3. **Advisor** (optional): queries security advisory databases for known vulnerabilities.
|
||||
4. **Evaluator**: applies user-defined policy rules in Kotlin script (`rules.kts`) against the combined analyzer + scanner data.
|
||||
5. **Reporter**: produces SBOMs (SPDX, CycloneDX), notice files, HTML reports, and developer-friendly summaries.
|
||||
|
||||
This decomposition lets the CI pipeline cache intermediate outputs, rerun only the policy layer when `rules.kts` changes, and ship the same reports to multiple downstream audiences.
|
||||
|
||||
@@ -53,11 +53,11 @@ This decomposition lets the CI pipeline cache intermediate outputs, rerun only t
|
||||
|
||||
Per-repository configuration sits in `.ort.yml` at the repository root. Key sections:
|
||||
|
||||
* **`excludes.paths`** — path globs to exclude from analysis (vendored examples, generated code). Each exclude has a `reason` field; never silently exclude.
|
||||
* **`excludes.scopes`** — exclude scopes like `test`, `devDependencies`. Use carefully; license obligations may apply to artifacts produced from devDependency tooling.
|
||||
* **`curations`** — corrections to upstream metadata (a known-bad declared license overridden with the actual license).
|
||||
* **`license_choices`** — for dual-licensed dependencies, record the choice made (e.g., for `MIT OR Apache-2.0`, the project chose `Apache-2.0`).
|
||||
* **`resolutions`** — triaged decisions on findings the scanner produced; mark a snippet match as "false positive, boilerplate" with reason.
|
||||
* **`excludes.paths`**: path globs to exclude from analysis (vendored examples, generated code). Each exclude has a `reason` field; never silently exclude.
|
||||
* **`excludes.scopes`**: exclude scopes like `test`, `devDependencies`. Use carefully; license obligations may apply to artifacts produced from devDependency tooling.
|
||||
* **`curations`**: corrections to upstream metadata (a known-bad declared license overridden with the actual license).
|
||||
* **`license_choices`**: for dual-licensed dependencies, record the choice made (e.g., for `MIT OR Apache-2.0`, the project chose `Apache-2.0`).
|
||||
* **`resolutions`**: triaged decisions on findings the scanner produced; mark a snippet match as "false positive, boilerplate" with reason.
|
||||
|
||||
`.ort.yml` is the durable artifact of compliance triage. Treat it as code: review changes, require justification, never delete entries silently.
|
||||
|
||||
@@ -71,7 +71,7 @@ ORT evaluates compliance via Kotlin script. Skill authors should ship a baseline
|
||||
* Allowed license combinations against outbound license.
|
||||
* Severity grading: `ERROR` blocks merge, `WARNING` produces PR comment.
|
||||
|
||||
Kotlin script is more powerful than YAML rules for this purpose — it can compose conditions, traverse the dependency graph, and emit structured violation objects. Resist the urge to reinvent it in a less expressive language.
|
||||
Kotlin script is more powerful than YAML rules for this purpose: it can compose conditions, traverse the dependency graph, and emit structured violation objects. Resist the urge to reinvent it in a less expressive language.
|
||||
|
||||
### CLI invocation
|
||||
|
||||
@@ -123,11 +123,11 @@ Snippet scanners flag boilerplate, autogenerated stubs, and standard algorithms
|
||||
|
||||
### Mitigation patterns
|
||||
|
||||
1. **Confidence thresholds** — most scanners expose a confidence score; require ≥ 80% match before raising a finding to a blocking severity.
|
||||
2. **Persisted triage** — `.ort.yml` `snippet_choices` (or equivalent) records every triaged decision. The scanner respects the decision on subsequent runs.
|
||||
3. **Boilerplate corpus** — maintain an internal allow list of known-boilerplate snippet hashes (autogenerated API stubs, common algorithm implementations, vendor SDKs).
|
||||
4. **PR-comment severity tiering** — block on hard violations only; surface soft findings as informational PR comments without failing the build.
|
||||
5. **Periodic full audits** — rerun the scanner with low thresholds quarterly, off the critical path. Triage findings into `.ort.yml` rather than at PR time.
|
||||
1. **Confidence thresholds**: most scanners expose a confidence score; require ≥ 80% match before raising a finding to a blocking severity.
|
||||
2. **Persisted triage**: `.ort.yml` `snippet_choices` (or equivalent) records every triaged decision. The scanner respects the decision on subsequent runs.
|
||||
3. **Boilerplate corpus**: maintain an internal allow list of known-boilerplate snippet hashes (autogenerated API stubs, common algorithm implementations, vendor SDKs).
|
||||
4. **PR-comment severity tiering**: block on hard violations only; surface soft findings as informational PR comments without failing the build.
|
||||
5. **Periodic full audits**: rerun the scanner with low thresholds quarterly, off the critical path. Triage findings into `.ort.yml` rather than at PR time.
|
||||
|
||||
The goal is not zero alerts. The goal is that every alert that reaches a developer represents a decision worth making.
|
||||
|
||||
@@ -135,19 +135,19 @@ The goal is not zero alerts. The goal is that every alert that reaches a develop
|
||||
|
||||
State these in PR comments and audit-package documentation:
|
||||
|
||||
* **Dynamic linking** — runtime-linked libraries (system libraries, OS-provided runtimes) are invisible to source-level scanning. If the deployment payload includes an OS image, the OS layer must be scanned separately.
|
||||
* **Obfuscation** — Java code processed by ProGuard or R8 strips function signatures, dead code, and class names. Snippet matching against obfuscated artifacts is unreliable. Scan pre-obfuscation source.
|
||||
* **Reachability ≠ legal obligation** — runtime SCA tools can suppress findings on unreachable code paths. From a legal perspective, distribution of the code triggers obligations regardless of reachability. Do not allow a security-oriented reachability filter to suppress license findings.
|
||||
* **Native binaries without symbols** — stripped C/C++/Rust binaries are largely opaque. Scan source, not stripped artifacts.
|
||||
* **Licensed-by-reference** — a `README.md` "this is MIT" with no license text is detectable but not actionable; the scanner should flag for human resolution.
|
||||
* **License changes mid-version-range** — a dependency that flipped licenses across versions requires lockfile-pinned version-aware scanning. Bare manifest scans can miss this.
|
||||
* **Dynamic linking**: runtime-linked libraries (system libraries, OS-provided runtimes) are invisible to source-level scanning. If the deployment payload includes an OS image, the OS layer must be scanned separately.
|
||||
* **Obfuscation**: Java code processed by ProGuard or R8 strips function signatures, dead code, and class names. Snippet matching against obfuscated artifacts is unreliable. Scan pre-obfuscation source.
|
||||
* **Reachability ≠ legal obligation**: runtime SCA tools can suppress findings on unreachable code paths. From a legal perspective, distribution of the code triggers obligations regardless of reachability. Do not allow a security-oriented reachability filter to suppress license findings.
|
||||
* **Native binaries without symbols**: stripped C/C++/Rust binaries are largely opaque. Scan source, not stripped artifacts.
|
||||
* **Licensed-by-reference**: a `README.md` "this is MIT" with no license text is detectable but not actionable; the scanner should flag for human resolution.
|
||||
* **License changes mid-version-range**: a dependency that flipped licenses across versions requires lockfile-pinned version-aware scanning. Bare manifest scans can miss this.
|
||||
|
||||
## When to run which scanner
|
||||
|
||||
| Stage | Scanner | Cost | Catches |
|
||||
|-------|---------|------|---------|
|
||||
| Pre-commit / IDE | `reuse` linter | Negligible | Missing SPDX headers in new files. |
|
||||
| PR-time fast | ORT analyzer + curated `rules.kts` | Seconds–low minutes | Manifest-level new dependencies, banned licenses. |
|
||||
| PR-time fast | ORT analyzer + curated `rules.kts` | Seconds to low minutes | Manifest-level new dependencies, banned licenses. |
|
||||
| PR-time deep | ORT analyzer + ScanCode scanner + evaluator | Minutes | License findings in actual fetched source, NOTICE compliance, attribution gaps. |
|
||||
| Periodic / nightly | ORT + SCANOSS snippet | Tens of minutes | Copy-pasted snippets, transitive shifts. |
|
||||
| Pre-release | Full ORT + SCANOSS + manual triage | Hours | Final SBOM, attribution bundle, audit packet. |
|
||||
|
||||
@@ -8,8 +8,8 @@ The deterministic detection layer of any OSS compliance scanner rests on the SPD
|
||||
|
||||
Two repositories under the SPDX organization, with distinct roles:
|
||||
|
||||
* **`spdx/license-list-XML`** — the governance and authoring repository. Contains the source XML schema for every license and exception. Maintained by the SPDX Legal Team. Do **not** parse this directly from a scanner; the XML is structured for human curation, not machine evaluation.
|
||||
* **`spdx/license-list-data`** — the downstream distribution repository. Compiled from `license-list-XML` into stable machine-readable formats: JSON, RDFa, HTML, plaintext. This is what the scanner ingests.
|
||||
* **`spdx/license-list-XML`**: the governance and authoring repository. Contains the source XML schema for every license and exception. Maintained by the SPDX Legal Team. Do **not** parse this directly from a scanner; the XML is structured for human curation, not machine evaluation.
|
||||
* **`spdx/license-list-data`**: the downstream distribution repository. Compiled from `license-list-XML` into stable machine-readable formats: JSON, RDFa, HTML, plaintext. This is what the scanner ingests.
|
||||
|
||||
Both repositories release under semantic versioning tags (`vX.Y` or `vX.Y.Z`). Pin to a specific release in `.compliance/sources.lock` so two runs of the scanner against the same commit always evaluate against the same license catalog.
|
||||
|
||||
@@ -17,8 +17,8 @@ Both repositories release under semantic versioning tags (`vX.Y` or `vX.Y.Z`). P
|
||||
|
||||
Pull two arrays from `license-list-data`:
|
||||
|
||||
* `licenses.json` — every active and deprecated license entry.
|
||||
* `exceptions.json` — every license exception (e.g., `Classpath-exception-2.0`, `LLVM-exception`, `Autoconf-exception-2.0`).
|
||||
* `licenses.json`: every active and deprecated license entry.
|
||||
* `exceptions.json`: every license exception (e.g., `Classpath-exception-2.0`, `LLVM-exception`, `Autoconf-exception-2.0`).
|
||||
|
||||
Per-entry fields the scanner must consume:
|
||||
|
||||
@@ -42,8 +42,8 @@ License texts in the wild differ from canonical text by typography, formatting,
|
||||
|
||||
The XML schema marks regions of license text with attributes that the matcher must respect:
|
||||
|
||||
* **Omittable text** — visually styled blue in HTML; tagged via `altParagraphType` in the XML. Can be absent from a candidate without disqualifying the match. Common for optional preambles or address blocks.
|
||||
* **Replaceable text** — visually styled red in HTML; represents fields like copyright holder name, year, project title. The matcher must capture these via wildcard / placeholder logic, not literal matching.
|
||||
* **Omittable text**: visually styled blue in HTML; tagged via `altParagraphType` in the XML. Can be absent from a candidate without disqualifying the match. Common for optional preambles or address blocks.
|
||||
* **Replaceable text**: visually styled red in HTML; represents fields like copyright holder name, year, project title. The matcher must capture these via wildcard / placeholder logic, not literal matching.
|
||||
|
||||
### Equivalent words
|
||||
|
||||
@@ -59,10 +59,10 @@ A single component may declare a compound license. The expression syntax must be
|
||||
|
||||
### Operators
|
||||
|
||||
* `OR` — disjunction. `(MIT OR Apache-2.0)` means the consumer chooses one. The scanner must record the **chosen** license; an unresolved `OR` is a finding requiring agentic resolution or `.ort.yml` curation.
|
||||
* `AND` — conjunction. All terms apply simultaneously.
|
||||
* `WITH` — appends a standardized exception. `GPL-2.0-only WITH Classpath-exception-2.0` means GPLv2 with the linking exception. Look up the exception in `exceptions.json`.
|
||||
* `+` — "or any later version". `GPL-2.0+` means GPLv2 or any later GPL. Operationally this is dangerous: future GPL versions cannot be evaluated for compatibility today, so policy should treat `+` as a flag for review.
|
||||
* `OR`: disjunction. `(MIT OR Apache-2.0)` means the consumer chooses one. The scanner must record the **chosen** license; an unresolved `OR` is a finding requiring agentic resolution or `.ort.yml` curation.
|
||||
* `AND`: conjunction. All terms apply simultaneously.
|
||||
* `WITH`: appends a standardized exception. `GPL-2.0-only WITH Classpath-exception-2.0` means GPLv2 with the linking exception. Look up the exception in `exceptions.json`.
|
||||
* `+`: "or any later version". `GPL-2.0+` means GPLv2 or any later GPL. Operationally this is dangerous: future GPL versions cannot be evaluated for compatibility today, so policy should treat `+` as a flag for review.
|
||||
|
||||
### Suffixed identifiers
|
||||
|
||||
@@ -100,9 +100,9 @@ The REUSE specification (FSFE) makes file-level license attribution machine-read
|
||||
|
||||
The `reuse` linter checks three things:
|
||||
|
||||
1. **Bulk metadata** — `REUSE.toml` (current spec) or `.reuse/dep5` (legacy DEP-5 syntax) for directories where per-file headers are impractical (assets, generated files).
|
||||
2. **File-level identifiers** — every source file carries a header comment with `SPDX-FileCopyrightText:` and `SPDX-License-Identifier:` lines. Format depends on the file's comment syntax.
|
||||
3. **License texts** — `LICENSES/` directory at the repository root containing the unaltered text of every license referenced anywhere in the codebase.
|
||||
1. **Bulk metadata**: `REUSE.toml` (current spec) or `.reuse/dep5` (legacy DEP-5 syntax) for directories where per-file headers are impractical (assets, generated files).
|
||||
2. **File-level identifiers**: every source file carries a header comment with `SPDX-FileCopyrightText:` and `SPDX-License-Identifier:` lines. Format depends on the file's comment syntax.
|
||||
3. **License texts**: `LICENSES/` directory at the repository root containing the unaltered text of every license referenced anywhere in the codebase.
|
||||
|
||||
### Enforcement integration
|
||||
|
||||
@@ -116,8 +116,8 @@ REUSE conformance is a high bar for older codebases. If a repository ships only
|
||||
|
||||
Patterns that produce false negatives in naive scanners:
|
||||
|
||||
* **License in subdirectory** — Many projects place `LICENSE.txt` next to `README.md` in a subdirectory rather than the repo root. Recursive scanning is required.
|
||||
* **License inside header comment** — Some projects (especially smaller libraries) embed the entire license in a top-of-file comment with no separate `LICENSE` file.
|
||||
* **License by reference** — A `README.md` line "Licensed under MIT" with no actual license text. Scanner should detect the reference but flag the missing canonical text.
|
||||
* **Dual-licensed files with single header** — A file declaring `SPDX-License-Identifier: MIT OR Apache-2.0` is dual-licensed; downstream choice must be recorded, not silently defaulted.
|
||||
* **License changed mid-repo** — A package that flipped license between versions (Redis pre/post 7.4, Elastic pre/post 7.11) requires version-specific resolution. Lockfile-based version pinning is the input; the scanner must not default to `HEAD`.
|
||||
* **License in subdirectory**: Many projects place `LICENSE.txt` next to `README.md` in a subdirectory rather than the repo root. Recursive scanning is required.
|
||||
* **License inside header comment**: Some projects (especially smaller libraries) embed the entire license in a top-of-file comment with no separate `LICENSE` file.
|
||||
* **License by reference**: A `README.md` line "Licensed under MIT" with no actual license text. Scanner should detect the reference but flag the missing canonical text.
|
||||
* **Dual-licensed files with single header**: A file declaring `SPDX-License-Identifier: MIT OR Apache-2.0` is dual-licensed; downstream choice must be recorded, not silently defaulted.
|
||||
* **License changed mid-repo**: A package that flipped license between versions (Redis pre/post 7.4, Elastic pre/post 7.11) requires version-specific resolution. Lockfile-based version pinning is the input; the scanner must not default to `HEAD`.
|
||||
|
||||
@@ -6,7 +6,7 @@ What developers believe is in the codebase rarely matches what is actually there
|
||||
|
||||
### Hidden licenses and Gist contamination
|
||||
|
||||
The default developer assumption — "no LICENSE file means public domain" — is wrong. Licenses appear in:
|
||||
The default developer assumption ("no LICENSE file means public domain") is wrong. Licenses appear in:
|
||||
|
||||
* Subdirectories rather than the repository root.
|
||||
* Top-of-file header comments rather than separate license files.
|
||||
@@ -24,7 +24,7 @@ All publicly-posted Stack Overflow code is licensed CC BY-SA (Creative Commons A
|
||||
* Derivative works must carry the same license.
|
||||
* Attribution is required.
|
||||
|
||||
In a proprietary codebase, this functions as a copyleft contamination vector. Enterprise audits routinely find that 20–33% of identified license conflicts trace to Stack Overflow snippet pasting.
|
||||
In a proprietary codebase, this functions as a copyleft contamination vector. Enterprise audits routinely find that 20-33% of identified license conflicts trace to Stack Overflow snippet pasting.
|
||||
|
||||
The scanner's defense is the same: snippet matching against the Stack Overflow code corpus.
|
||||
|
||||
@@ -71,7 +71,7 @@ The "corresponding source" potentially includes proprietary code that has been c
|
||||
|
||||
### "Internal tool" misclassification
|
||||
|
||||
A team treats an AGPL- or SSPL-licensed tool as "internal use only" — exempt from §13 because no external users interact with it. The classification holds **only** if the deployment is genuinely internal:
|
||||
A team treats an AGPL- or SSPL-licensed tool as "internal use only": exempt from §13 because no external users interact with it. The classification holds **only** if the deployment is genuinely internal:
|
||||
|
||||
* No external customers, partners, or contractors interact with it over a network.
|
||||
* The "service" is not exposed via VPN, partner API, or shared infrastructure.
|
||||
@@ -86,11 +86,11 @@ Orange, a major telecommunications carrier, was ordered to pay **€800,000 in d
|
||||
|
||||
Notable features:
|
||||
|
||||
* **€150,000 of the award was moral damages** — a French legal concept, but a clear signal that courts treat OSS licensing violations as more than contractual breach.
|
||||
* **€150,000 of the award was moral damages**: a French legal concept, but a clear signal that courts treat OSS licensing violations as more than contractual breach.
|
||||
* The case originated in 2005 and litigated for nearly two decades. Compliance programs that assume "no one will sue" are betting against a 20-year time horizon.
|
||||
* The defendant was a sophisticated commercial entity, not a hobbyist; sophistication did not mitigate liability.
|
||||
|
||||
### GitHub Copilot class action (US, 2022–ongoing)
|
||||
### GitHub Copilot class action (US, 2022-ongoing)
|
||||
|
||||
`DOE 1 et al. v. GitHub, Inc., Microsoft Corporation, OpenAI`, Northern District of California. Plaintiffs allege Copilot reproduces licensed code without preserving attribution or licensing terms. Theories include DMCA §1202 (removal of copyright management information), open-source license breach, and tortious interference.
|
||||
|
||||
@@ -104,11 +104,11 @@ Older precedent, but the relevant lesson is durable: a vendor that distributes c
|
||||
|
||||
These patterns evade purely automated detection. Document them and feed them into agentic review:
|
||||
|
||||
* **Renamed and refactored snippets** — sufficient transformation evades fingerprint matching but may still be derivative.
|
||||
* **License declared in commit message only** — has no legal force; the file content governs.
|
||||
* **License declared in pull-request body** — same; the merged file content governs.
|
||||
* **License inferred from project context** — "the rest of this repo is MIT, so this file is too" is not a license. SPDX header per file is the clean answer.
|
||||
* **License changed in upstream upstream** — a transitive of a transitive flipped license; the lockfile pin protected you, until the next dependency update.
|
||||
* **Renamed and refactored snippets**: sufficient transformation evades fingerprint matching but may still be derivative.
|
||||
* **License declared in commit message only**: has no legal force; the file content governs.
|
||||
* **License declared in pull-request body**: same; the merged file content governs.
|
||||
* **License inferred from project context**: "the rest of this repo is MIT, so this file is too" is not a license. SPDX header per file is the clean answer.
|
||||
* **License changed in upstream upstream**: a transitive of a transitive flipped license; the lockfile pin protected you, until the next dependency update.
|
||||
|
||||
## Internal organizational patterns
|
||||
|
||||
|
||||
@@ -106,10 +106,10 @@ For each approved finding, create a Linear issue using the `mcp__claude_ai_Linea
|
||||
- **description**: Markdown formatted:
|
||||
```markdown
|
||||
## Problem
|
||||
{What's wrong — current state}
|
||||
{What's wrong, current state}
|
||||
|
||||
## Proposed Change
|
||||
{What it should be — desired state}
|
||||
{What it should be, desired state}
|
||||
|
||||
## Implementation
|
||||
**File(s):** {file paths}
|
||||
@@ -130,6 +130,6 @@ After creating tickets, list them with their Linear identifiers so the user can
|
||||
- Be specific. "The button looks off" is not actionable. "The primary button in InvoiceForm uses `rounded-lg` while all other forms use `rounded-md`" is.
|
||||
- Reference exact Tailwind classes, component names, and line numbers.
|
||||
- Don't flag things that are intentional design choices documented in CLAUDE.md.
|
||||
- Don't suggest adding features — only flag design/UX issues with what already exists.
|
||||
- Don't suggest adding features, only flag design/UX issues with what already exists.
|
||||
- Keep findings focused on visual design, interaction design, and frontend polish. Not code quality or architecture.
|
||||
- If a component is very small or trivial (e.g., a simple redirect page), skip it.
|
||||
|
||||
@@ -7,9 +7,9 @@ description: "Generate Supabase database migrations for the Accounted project wi
|
||||
|
||||
## Migration Numbering
|
||||
|
||||
Early migrations used the sequential series `20240101000001`–`20240101000038`; the project has long since moved to real timestamps. **New migrations use a current UTC timestamp** `YYYYMMDDHHMMSS_description.sql` (e.g. `20260603120000_add_x.sql`). Never reuse or back-date a number.
|
||||
Early migrations used the sequential series `20240101000001`-`20240101000038`; the project has long since moved to real timestamps. **New migrations use a current UTC timestamp** `YYYYMMDDHHMMSS_description.sql` (e.g. `20260603120000_add_x.sql`). Never reuse or back-date a number.
|
||||
|
||||
## New Table — Complete Template
|
||||
## New Table: Complete Template
|
||||
|
||||
Accounted is multi-tenant: company-scoped business data is owned by `company_id` and secured with the `user_company_ids()` RLS helper (NOT `auth.uid() = user_id`). Every new company-scoped table requires ALL of these. Missing any is a bug.
|
||||
|
||||
@@ -27,7 +27,7 @@ CREATE TABLE public.tablename (
|
||||
-- 2. RLS
|
||||
ALTER TABLE public.tablename ENABLE ROW LEVEL SECURITY;
|
||||
|
||||
-- 3. All four CRUD policies — scope to the user's companies
|
||||
-- 3. All four CRUD policies: scope to the user's companies
|
||||
CREATE POLICY "view own-company tablename"
|
||||
ON public.tablename FOR SELECT USING (company_id IN (SELECT user_company_ids()));
|
||||
CREATE POLICY "insert own-company tablename"
|
||||
@@ -89,15 +89,15 @@ ALTER TABLE public.journal_entries
|
||||
));
|
||||
```
|
||||
|
||||
## Protected Triggers — NEVER Modify
|
||||
## Protected Triggers: NEVER Modify
|
||||
|
||||
Migration `20240101000017` defines legally-required triggers:
|
||||
- `enforce_journal_entry_immutability` — blocks edits/deletes on posted/reversed entries
|
||||
- `enforce_journal_entry_line_immutability` — blocks line mods on committed entries
|
||||
- `enforce_period_lock` — blocks writes to closed/locked periods
|
||||
- `block_document_deletion` — prevents deletion of docs linked to committed entries
|
||||
- `enforce_retention_journal_entries` — 7-year retention
|
||||
- `set_committed_at` / `calculate_retention_expiry` — auto-set timestamps
|
||||
- `enforce_journal_entry_immutability`: blocks edits/deletes on posted/reversed entries
|
||||
- `enforce_journal_entry_line_immutability`: blocks line mods on committed entries
|
||||
- `enforce_period_lock`: blocks writes to closed/locked periods
|
||||
- `block_document_deletion`: prevents deletion of docs linked to committed entries
|
||||
- `enforce_retention_journal_entries`: 7-year retention
|
||||
- `set_committed_at` / `calculate_retention_expiry`: auto-set timestamps
|
||||
|
||||
## Apply
|
||||
|
||||
@@ -105,9 +105,9 @@ Use `mcp__plugin_supabase_supabase__apply_migration` with snake_case `name`. Nev
|
||||
|
||||
## Common Mistakes
|
||||
|
||||
1. Missing `ENABLE ROW LEVEL SECURITY` — table publicly accessible
|
||||
2. Missing DELETE policy — users can't remove own records
|
||||
3. Missing `updated_at` trigger — column never updates
|
||||
4. Missing audit trigger — no audit trail
|
||||
5. Hardcoded UUIDs in data migrations — use subqueries
|
||||
1. Missing `ENABLE ROW LEVEL SECURITY`: table publicly accessible
|
||||
2. Missing DELETE policy: users can't remove own records
|
||||
3. Missing `updated_at` trigger: column never updates
|
||||
4. Missing audit trigger: no audit trail
|
||||
5. Hardcoded UUIDs in data migrations: use subqueries
|
||||
6. Forgetting `source_type` CHECK expansion for new entry generators
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
---
|
||||
name: supportmail-to-ticket
|
||||
description: "Triage Accounted customer support emails and turn them into GitHub issues in the erp-mafia/gnubok repo. Use this skill whenever the user invokes /supportmail-to-ticket (with or without a number argument), or asks to 'triage support mail', 'turn support emails into tickets', 'process Accounted support', 'check the support inbox and file issues', or any similar phrasing involving the Accounted support mailbox. Also trigger this skill if the user mentions [Accounted support] emails and wants them converted into actionable work — even if they don't use the exact slash command."
|
||||
description: "Triage Accounted customer support emails and turn them into GitHub issues in the erp-mafia/gnubok repo. Use this skill whenever the user invokes /supportmail-to-ticket (with or without a number argument), or asks to 'triage support mail', 'turn support emails into tickets', 'process Accounted support', 'check the support inbox and file issues', or any similar phrasing involving the Accounted support mailbox. Also trigger this skill if the user mentions [Accounted support] emails and wants them converted into actionable work, even if they don't use the exact slash command."
|
||||
---
|
||||
|
||||
# supportmail-to-ticket
|
||||
|
||||
Triage `[Accounted support]` emails from Gmail, cross-reference them against the local erp-base codebase, and draft GitHub issues for the `erp-mafia/gnubok` repo — with inline user approval before anything gets created.
|
||||
Triage `[Accounted support]` emails from Gmail, cross-reference them against the local erp-base codebase, and draft GitHub issues for the `erp-mafia/gnubok` repo, with inline user approval before anything gets created.
|
||||
|
||||
## Invocation
|
||||
|
||||
@@ -22,17 +22,17 @@ If the user phrases the request in natural language ("triage the last 5 support
|
||||
|
||||
## Required tools
|
||||
|
||||
Before running anything, verify these are available. If any is missing, stop and tell the user which one to configure — do not attempt workarounds.
|
||||
Before running anything, verify these are available. If any is missing, stop and tell the user which one to configure. Do not attempt workarounds.
|
||||
|
||||
- **Gmail MCP** — `search_threads`, `get_thread`
|
||||
- **GitHub CLI (`gh`)** — used via `bash_tool` for all GitHub operations. Verify with `gh --version` and `gh auth status`. If either fails, stop and say: *"I need the GitHub CLI (gh) installed and authenticated. Install from https://cli.github.com/ and run `gh auth login`, then retry. This skill uses gh as a hard requirement — there is no MCP fallback."* Do not proceed without it.
|
||||
- **Filesystem MCP** pointing at `C:\Users\emilm\projects\erp-base` — the skill is explicitly designed around local code search. If the filesystem tool is not available or the path doesn't resolve, stop and say: *"I need the Filesystem MCP configured with access to `C:\Users\emilm\projects\erp-base`. Please set it up in Claude Desktop's MCP config and retry."* Do not fall back to remote code search — the user has asked for local-only.
|
||||
- **Gmail MCP**: `search_threads`, `get_thread`
|
||||
- **GitHub CLI (`gh`)**: used via `bash_tool` for all GitHub operations. Verify with `gh --version` and `gh auth status`. If either fails, stop and say: *"I need the GitHub CLI (gh) installed and authenticated. Install from https://cli.github.com/ and run `gh auth login`, then retry. This skill uses gh as a hard requirement: there is no MCP fallback."* Do not proceed without it.
|
||||
- **Filesystem MCP** pointing at `C:\Users\emilm\projects\erp-base`: the skill is explicitly designed around local code search. If the filesystem tool is not available or the path doesn't resolve, stop and say: *"I need the Filesystem MCP configured with access to `C:\Users\emilm\projects\erp-base`. Please set it up in Claude Desktop's MCP config and retry."* Do not fall back to remote code search: the user has asked for local-only.
|
||||
|
||||
## Workflow
|
||||
|
||||
Follow these five phases in order. Do not skip phase 4 (approval).
|
||||
|
||||
### Phase 1 — Fetch emails
|
||||
### Phase 1: Fetch emails
|
||||
|
||||
Call Gmail `search_threads` with:
|
||||
|
||||
@@ -47,13 +47,13 @@ For each returned thread, call `get_thread` with `messageFormat: FULL_CONTENT` t
|
||||
- Full body text of the first message (this is the customer's actual complaint)
|
||||
- Any reply messages (if the team has already responded, mention that but still propose a ticket unless the reply clearly resolves it)
|
||||
|
||||
**Do not extract, store, or display the customer's email address anywhere.** Tickets are fully anonymized — the sender address must never appear in chat output, issue bodies, or issue comments. Use the Gmail thread ID alone as the correlation identifier.
|
||||
**Do not extract, store, or display the customer's email address anywhere.** Tickets are fully anonymized: the sender address must never appear in chat output, issue bodies, or issue comments. Use the Gmail thread ID alone as the correlation identifier.
|
||||
|
||||
### Phase 2 — Codebase analysis (local only)
|
||||
### Phase 2: Codebase analysis (local only)
|
||||
|
||||
For each email, analyze the complaint and search the local codebase at `C:\Users\emilm\projects\erp-base`.
|
||||
|
||||
**Step 2a — Extract search terms from the email.** From the customer's message, pull:
|
||||
**Step 2a: Extract search terms from the email.** From the customer's message, pull:
|
||||
|
||||
- Domain nouns (e.g., "SIE", "import", "bank", "fiscal year", "bokslut", "moms", "verifikat")
|
||||
- Quoted error strings or UI labels
|
||||
@@ -61,23 +61,23 @@ For each email, analyze the complaint and search the local codebase at `C:\Users
|
||||
|
||||
The emails are often in Swedish. Translate/expand Swedish terms to likely code identifiers (examples: `importera` → `import`, `räkenskapsår` → `fiscalYear`/`fiscal_year`, `bank` → `bank`, `SIE-fil` → `sie`/`SIE`, `verifikat` → `verification`/`voucher`, `moms` → `vat`/`tax`).
|
||||
|
||||
**Step 2b — Search.** Use the filesystem tool to run targeted searches. Prefer grep-style or directory reads over reading whole files. For each search term:
|
||||
**Step 2b: Search.** Use the filesystem tool to run targeted searches. Prefer grep-style or directory reads over reading whole files. For each search term:
|
||||
|
||||
- Search filenames and paths first (fast, high signal)
|
||||
- Then search file contents, case-insensitive
|
||||
- Focus on `.ts`, `.tsx`, `.js`, `.py`, `.go`, `.rs`, `.java`, `.kt` — whatever extensions actually exist in the repo (check with a directory listing first if unsure)
|
||||
- Focus on `.ts`, `.tsx`, `.js`, `.py`, `.go`, `.rs`, `.java`, `.kt`, whatever extensions actually exist in the repo (check with a directory listing first if unsure)
|
||||
- Skip `node_modules`, `dist`, `build`, `.git`, `.next`, `target`
|
||||
|
||||
Collect up to ~5 most relevant file paths per email, with a line number or function name if you can identify one. Don't dump search results wholesale — synthesize.
|
||||
Collect up to ~5 most relevant file paths per email, with a line number or function name if you can identify one. Don't dump search results wholesale, synthesize.
|
||||
|
||||
**Step 2c — Severity heuristic.**
|
||||
**Step 2c: Severity heuristic.**
|
||||
|
||||
- **high**: core function broken (import fails completely, data loss risk, cannot log in, money/accounting math wrong, multiple users reporting same issue in this batch)
|
||||
- **medium**: feature partially broken, workaround exists, affects one customer, UX friction in a common flow
|
||||
- **low**: cosmetic, feature request, documentation gap, edge case
|
||||
- **feature**: customer is asking for something that doesn't exist yet (use label `feature`, priority is less relevant)
|
||||
|
||||
### Phase 3 — Draft tickets
|
||||
### Phase 3: Draft tickets
|
||||
|
||||
For each email, produce one draft issue. Output format per ticket (inline in chat):
|
||||
|
||||
@@ -88,17 +88,17 @@ Labels: <from: bug, feature, report, improvement, error + priority label>
|
||||
Priority: <high | medium | low>
|
||||
|
||||
Description:
|
||||
<2–4 sentence summary of the customer's problem in your own words. State the observed behavior and expected behavior if you can infer it.>
|
||||
<2-4 sentence summary of the customer's problem in your own words. State the observed behavior and expected behavior if you can infer it.>
|
||||
|
||||
Relevant code:
|
||||
- path/to/file.ts:line — short note on why this is relevant
|
||||
- path/to/other.ts — short note
|
||||
(If nothing found locally, say "No direct match in codebase — investigation needed" and suggest where to start looking.)
|
||||
- path/to/file.ts:line: short note on why this is relevant
|
||||
- path/to/other.ts: short note
|
||||
(If nothing found locally, say "No direct match in codebase: investigation needed" and suggest where to start looking.)
|
||||
|
||||
Next steps:
|
||||
- Concrete first thing a developer should do
|
||||
- Second concrete step
|
||||
- (2–4 steps total, specific not vague)
|
||||
- (2-4 steps total, specific not vague)
|
||||
|
||||
Customer email (anonymized):
|
||||
<The full body of the customer's first message, with all personal names AND email addresses replaced by `x`. See the anonymization rules below.>
|
||||
@@ -106,24 +106,24 @@ Customer email (anonymized):
|
||||
Gmail thread ID: <threadId>
|
||||
```
|
||||
|
||||
**Anonymization rules — applied to the email body before it goes into the ticket**:
|
||||
**Anonymization rules, applied to the email body before it goes into the ticket**:
|
||||
|
||||
The goal: strip anything that identifies the **specific customer or their employer**. Keep everything else — competitor tools, banks, authorities, domain terms — because that's operational context the developer needs.
|
||||
The goal: strip anything that identifies the **specific customer or their employer**. Keep everything else (competitor tools, banks, authorities, domain terms) because that's operational context the developer needs.
|
||||
|
||||
- **Replace personal first and last names with `x`**. Example: *"Hey this is amazing. My name is Emil and I do bla bla"* → *"Hey this is amazing. My name is x and I do bla bla"*. Handles greetings (*"Hej Anna,"* → *"Hej x,"*) and signatures (*"/Lars Andersson"* → *"/x"*).
|
||||
- **Replace the customer's employer / own company name with `x`**, wherever it appears — body text, signatures, "jag jobbar på …", "vi på …", org numbers attributed to the sender, `@company.com` email domains. Also redact names of their direct clients or other companies they identify themselves through. Example: *"Jag jobbar på Capnos och behöver ta bort Capnos"* → *"Jag jobbar på x och behöver ta bort x"*.
|
||||
- **Do NOT redact** (these are not identifying — they're context):
|
||||
- **Replace the customer's employer / own company name with `x`**, wherever it appears: body text, signatures, "jag jobbar på …", "vi på …", org numbers attributed to the sender, `@company.com` email domains. Also redact names of their direct clients or other companies they identify themselves through. Example: *"Jag jobbar på Capnos och behöver ta bort Capnos"* → *"Jag jobbar på x och behöver ta bort x"*.
|
||||
- **Do NOT redact** (these are not identifying, they're context):
|
||||
- **Accounted itself**
|
||||
- **Swedish authorities / standard bodies**: Skatteverket, Bolagsverket, Försäkringskassan, Bankgirot, BFN
|
||||
- **Accounting / ERP providers and competitors**: Fortnox, Visma, Bokio, SpeedLedger, BL/Björn Lundén, Briox, etc.
|
||||
- **Banks by name**: Swedbank, SEB, Handelsbanken, Nordea, etc. (unless clearly the customer's *own* company — rare)
|
||||
- **Banks by name**: Swedbank, SEB, Handelsbanken, Nordea, etc. (unless clearly the customer's *own* company, rare)
|
||||
- **File formats / protocols / standards**: SIE, K2, K3, BAS, PSD2, Peppol, BFNAR
|
||||
- **Generic domain terms**: moms, verifikat, räkenskapsår, etc.
|
||||
- **Replace every email address with `x@x`**, including the sender's address, any `Från: <email>` or `From: <email>` header line inside the body, CC/BCC lines, and addresses mentioned in the body text. Do this before any other processing of the body.
|
||||
- **Replace phone numbers with `x`** (Swedish and international formats).
|
||||
- **Replace any internal identifier that ties the ticket to a specific account**: user UUIDs (e.g. `User ID: d36ff376-...`), session IDs, customer IDs. Replace the value with `x` but keep the label so the field structure is still readable.
|
||||
- **Never include Gmail URLs** (`https://mail.google.com/mail/u/.../#inbox/<id>`) anywhere in the issue body. The Gmail thread ID alone, as a plain identifier, is the only correlation allowed — it shows up once at the bottom as `**Gmail thread ID:** \`<id>\``. No `Original support thread: <URL>` line.
|
||||
- **Never output the customer's email address anywhere** — not in the chat preview, not in the GitHub issue body, not in issue comments, not in the summary.
|
||||
- **Never include Gmail URLs** (`https://mail.google.com/mail/u/.../#inbox/<id>`) anywhere in the issue body. The Gmail thread ID alone, as a plain identifier, is the only correlation allowed: it shows up once at the bottom as `**Gmail thread ID:** \`<id>\``. No `Original support thread: <URL>` line.
|
||||
- **Never output the customer's email address anywhere**: not in the chat preview, not in the GitHub issue body, not in issue comments, not in the summary.
|
||||
- **Keep** product names we build around, domain terms, error messages, account numbers, SIE references, dates, and amounts.
|
||||
- If unsure whether a capitalized word identifies the *customer or their employer* specifically, redact it. If it's clearly a third-party tool, bank, or authority, keep it. False positives on names/employers are harmless; leaked identifiers aren't.
|
||||
|
||||
@@ -144,15 +144,15 @@ If a duplicate is found, replace that ticket block with:
|
||||
|
||||
```
|
||||
━━━ Ticket N of M ━━━ [DUPLICATE]
|
||||
Matches existing issue: #<number> — <existing title>
|
||||
Matches existing issue: #<number>, <existing title>
|
||||
URL: <issue url>
|
||||
Gmail thread ID: <threadId>
|
||||
Suggested action: add a comment to the existing issue linking this new customer report.
|
||||
```
|
||||
|
||||
Run the `gh issue list` call **once** at the start of phase 3 and reuse its results across all drafts — don't call it per ticket.
|
||||
Run the `gh issue list` call **once** at the start of phase 3 and reuse its results across all drafts: don't call it per ticket.
|
||||
|
||||
### Phase 4 — Approval (inline, required)
|
||||
### Phase 4: Approval (inline, required)
|
||||
|
||||
After presenting all drafts, ask:
|
||||
|
||||
@@ -169,7 +169,7 @@ Wait for the user's response. **Do not create issues until they reply.** If the
|
||||
|
||||
Parse their response per ticket. Apply edits to the draft. If they reject a ticket, drop it silently. If they ask to comment on an existing issue instead of creating new, add that to the action list.
|
||||
|
||||
### Phase 5 — Create on GitHub
|
||||
### Phase 5: Create on GitHub
|
||||
|
||||
For each approved ticket, use the `gh` CLI via `bash_tool`.
|
||||
|
||||
@@ -181,8 +181,8 @@ cat > /tmp/issue-body-<N>.md <<'EOF'
|
||||
<description paragraph>
|
||||
|
||||
## Relevant code
|
||||
- path/to/file.ts:line — note
|
||||
- path/to/other.ts — note
|
||||
- path/to/file.ts:line: note
|
||||
- path/to/other.ts: note
|
||||
|
||||
## Next steps
|
||||
- Step 1
|
||||
@@ -205,7 +205,7 @@ gh issue create \
|
||||
--label "<label1>" --label "<label2>"
|
||||
```
|
||||
|
||||
The command prints the new issue's URL on success — capture it for the summary. Use `--json number,url` + `gh issue create ... | cat` if you need to parse the result programmatically; otherwise the stdout URL is fine.
|
||||
The command prints the new issue's URL on success: capture it for the summary. Use `--json number,url` + `gh issue create ... | cat` if you need to parse the result programmatically; otherwise the stdout URL is fine.
|
||||
|
||||
**Commenting on an existing issue** (for duplicates where the user chose "comment on existing"):
|
||||
|
||||
@@ -218,22 +218,22 @@ gh issue comment <issue-number> \
|
||||
**Label notes**:
|
||||
|
||||
- Available labels in this skill: `bug`, `feature`, `report`, `improvement`, `error`, plus priority (`priority:high`, `priority:medium`, `priority:low`).
|
||||
- If `gh issue create` fails with an error mentioning an unknown label (exit code non-zero, stderr contains `"could not add label"` or `"not found"`), retry the command without that `--label` flag and tell the user which labels are missing so they can create them manually — do **not** attempt to create labels automatically.
|
||||
- You can check available labels once at the start of phase 5 with: `gh label list --repo erp-mafia/gnubok --limit 100 --json name` — useful if multiple label errors happen in a row.
|
||||
- If `gh issue create` fails with an error mentioning an unknown label (exit code non-zero, stderr contains `"could not add label"` or `"not found"`), retry the command without that `--label` flag and tell the user which labels are missing so they can create them manually: do **not** attempt to create labels automatically.
|
||||
- You can check available labels once at the start of phase 5 with: `gh label list --repo erp-mafia/gnubok --limit 100 --json name`, useful if multiple label errors happen in a row.
|
||||
|
||||
**Project board**: Issues are created in the `erp-mafia/gnubok` repo. The Accounted project board (`erp-mafia/projects/...`) aggregates issues but adding to a project via `gh` requires `gh project item-add` with the project number and GraphQL scopes that may not be in the current auth token. After creating issues, output the project URL once and remind the user they may want to drag the new issues onto the board. Example wording: *"Issues created. If you want them on the Accounted project board, you'll need to add them manually at https://github.com/orgs/erp-mafia/projects — or run `gh project item-add` if you have project scopes on your token."*
|
||||
**Project board**: Issues are created in the `erp-mafia/gnubok` repo. The Accounted project board (`erp-mafia/projects/...`) aggregates issues but adding to a project via `gh` requires `gh project item-add` with the project number and GraphQL scopes that may not be in the current auth token. After creating issues, output the project URL once and remind the user they may want to drag the new issues onto the board. Example wording: *"Issues created. If you want them on the Accounted project board, you'll need to add them manually at https://github.com/orgs/erp-mafia/projects, or run `gh project item-add` if you have project scopes on your token."*
|
||||
|
||||
### Phase 6 — Summary
|
||||
### Phase 6: Summary
|
||||
|
||||
End with a compact summary:
|
||||
|
||||
```
|
||||
Created 2 issues:
|
||||
- #47 Fix SIE import failure for first fiscal year — https://github.com/erp-mafia/gnubok/issues/47
|
||||
- #48 Investigate bank import for banks without BankID — https://github.com/erp-mafia/gnubok/issues/48
|
||||
- #47 Fix SIE import failure for first fiscal year: https://github.com/erp-mafia/gnubok/issues/47
|
||||
- #48 Investigate bank import for banks without BankID: https://github.com/erp-mafia/gnubok/issues/48
|
||||
|
||||
Commented on 1 existing:
|
||||
- #42 — added new customer report
|
||||
- #42: added new customer report
|
||||
|
||||
Skipped: 0
|
||||
```
|
||||
@@ -253,6 +253,6 @@ Skipped: 0
|
||||
- Titles are imperative ("Fix X", "Investigate Y", "Add Z"), not declarative ("X is broken").
|
||||
- Titles ≤ 80 characters. No emoji. No brackets.
|
||||
- Descriptions are ≤ 4 sentences. Describe what the customer sees and what should happen instead.
|
||||
- Next steps are concrete — "Check `importSie()` for silent catch blocks on line 142", not "Investigate the import code".
|
||||
- Paste the customer's email body verbatim into the `Customer email (anonymized)` section, with personal names replaced by `x`. No Gmail link — the ticket should be self-contained.
|
||||
- Next steps are concrete: "Check `importSie()` for silent catch blocks on line 142", not "Investigate the import code".
|
||||
- Paste the customer's email body verbatim into the `Customer email (anonymized)` section, with personal names replaced by `x`. No Gmail link: the ticket should be self-contained.
|
||||
- If the email is in Swedish, the summary/description/next steps are in English, but the anonymized email body stays in its original language. Keep domain terms that match the code (`SIE`, `verifikat` if the code uses that spelling, etc.).
|
||||
|
||||
@@ -29,7 +29,7 @@ Use the table below to decide which reference file(s) to read. Multiple files of
|
||||
|
||||
These are short enough to inline; the references expand each.
|
||||
|
||||
**Legal status (April 2026):** B2G mandatory since **1 April 2019** (Lag 2018:1277). B2B **voluntary**. B2C uses bank rails / Kivra, not Peppol. ViDA cross-border B2B mandate hard date: **1 July 2030**. Domestic mandate inquiry: **Dir. 2026:9 issued 5 Feb 2026, final report 30 Nov 2027**. Realistic Swedish domestic mandate window: **2029–2031** on a Belgium-style decentralised Peppol model.
|
||||
**Legal status (April 2026):** B2G mandatory since **1 April 2019** (Lag 2018:1277). B2B **voluntary**. B2C uses bank rails / Kivra, not Peppol. ViDA cross-border B2B mandate hard date: **1 July 2030**. Domestic mandate inquiry: **Dir. 2026:9 issued 5 Feb 2026, final report 30 Nov 2027**. Realistic Swedish domestic mandate window: **2029-2031** on a Belgium-style decentralised Peppol model.
|
||||
|
||||
**Wire format:** Peppol BIS Billing 3.0, UBL 2.1 syntax, EN 16931 semantic. CustomizationID = `urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0`. ProfileID = `urn:fdc:peppol.eu:2017:poacc:billing:01:1.0`. Current release: **Billing 3.0.20 (November 2025)**. BIS 4.0 / PINT convergence in late 2025 / early 2026.
|
||||
|
||||
@@ -39,7 +39,7 @@ These are short enough to inline; the references expand each.
|
||||
|
||||
**Identifier formats:** Swedish orgnr → `schemeID="0007"`, 10 digits no dash. Swedish VAT ID → `SE` + 10 digits + `01` (e.g. `SE556732100001`), prefix mandatory (BR-CO-9). For sole proprietors **DIGG recommends GLN (`0088`) over personnummer (`0007`) for GDPR**.
|
||||
|
||||
**Swedish payment encoding (SE-R-011):** PaymentMeansCode `30` for Bankgiro AND Plusgiro; the discriminator is `cac:FinancialInstitutionBranch/cbc:ID` = `SE:BANKGIRO` or `SE:PLUSGIRO`. Legacy codes 56 / 50 are forbidden. Bankgiro 7–8 digits (SE-R-008/009), Plusgiro 2–8 chars (SE-R-010). OCR reference goes in `cbc:PaymentID` (BT-83), Luhn-validated.
|
||||
**Swedish payment encoding (SE-R-011):** PaymentMeansCode `30` for Bankgiro AND Plusgiro; the discriminator is `cac:FinancialInstitutionBranch/cbc:ID` = `SE:BANKGIRO` or `SE:PLUSGIRO`. Legacy codes 56 / 50 are forbidden. Bankgiro 7-8 digits (SE-R-008/009), Plusgiro 2-8 chars (SE-R-010). OCR reference goes in `cbc:PaymentID` (BT-83), Luhn-validated.
|
||||
|
||||
**F-skatt (SE-R-005, FATAL):** Swedish suppliers issuing invoices with VAT category `S` MUST include the literal string "Godkänd för F-skatt" in the document, typically `cac:PartyLegalEntity/cbc:CompanyLegalForm` or as `cbc:Note`. Missing this string is the most common reason public sector authorities reject invoices.
|
||||
|
||||
@@ -53,4 +53,4 @@ When answering questions in this domain:
|
||||
- For UBL fragments, output real, valid XML with full namespaces and example values, not pseudocode.
|
||||
- For build-vs-buy or vendor selection, give numbers, €/SEK, monthly minimums, per-document costs, certification fee tiers, break-even volume, not adjectives.
|
||||
- When a regulatory date is involved, distinguish (a) hard EU deadline, (b) currently-known Swedish proposal, (c) speculation. The user is technically sophisticated and is making product decisions; mistaking speculation for binding fact is the worst possible failure mode.
|
||||
- Be willing to say "the spec is currently in flux", Peppol BIS 4.0 / PINT convergence, the DIGG → Upphandlingsmyndigheten / PTS reorganisation, the Dir. 2026:9 outcome, and the post-ViDA national mandate landscape are all moving targets in 2026–2027.
|
||||
- Be willing to say "the spec is currently in flux", Peppol BIS 4.0 / PINT convergence, the DIGG → Upphandlingsmyndigheten / PTS reorganisation, the Dir. 2026:9 outcome, and the post-ViDA national mandate landscape are all moving targets in 2026-2027.
|
||||
@@ -57,7 +57,7 @@ Kivra is the **de facto digital mailbox in Sweden**. Numbers (April 2026):
|
||||
- Invoice delivery + storage.
|
||||
- Tink-based PISP payments and Swish integration (one-tap pay from inbox).
|
||||
- Receipts, contracts, official mail.
|
||||
- Per-document pricing typically **3–5 SEK**.
|
||||
- Per-document pricing typically **3-5 SEK**.
|
||||
|
||||
### API integration
|
||||
|
||||
@@ -77,7 +77,7 @@ DIGG-operated digital mailbox for government communications. Significantly lower
|
||||
| Onboarding | Recipient publishes in SMP | Recipient consents in their bank/Kivra |
|
||||
| Discovery | Peppol Directory | Bank-side recipient lookup or Kivra API |
|
||||
| Payment | OCR/Bankgiro/Plusgiro/IBAN | One-tap from bank/Kivra (Swish/PISP) |
|
||||
| Cost per doc | 3–3.50 SEK | 3–5 SEK (Kivra), 1–3 SEK (bank) |
|
||||
| Cost per doc | 3-3.50 SEK | 3-5 SEK (Kivra), 1-3 SEK (bank) |
|
||||
|
||||
## Bankgirot and Plusgirot, ownership
|
||||
|
||||
@@ -101,7 +101,7 @@ if recipient is org → Peppol BIS Billing 3
|
||||
elif recipient has Kivra registered → Kivra API
|
||||
elif recipient has bank e-faktura registered → Bankgirot e-faktura privat
|
||||
elif recipient prefers email → PDF + email (BGC's Stora Inbetalningskortet legacy or own)
|
||||
else → paper postal (8.25–20 SEK)
|
||||
else → paper postal (8.25-20 SEK)
|
||||
```
|
||||
|
||||
Most B2C-heavy senders end up using Kivra preferentially because of higher engagement (99% open rate), but bank e-faktura still dominates recurring/predictable invoices (utilities, telecom, mortgages).
|
||||
|
||||
@@ -8,11 +8,11 @@ This reference compares Sweden's likely trajectory to the mandates already enact
|
||||
|
||||
| Date | Obligation |
|
||||
|---|---|
|
||||
| **14 Apr 2025** | Member states may mandate domestic B2B e-invoicing without Article 395 derogation, provided EN 16931–based; recipient consent abolished |
|
||||
| **14 Apr 2025** | Member states may mandate domestic B2B e-invoicing without Article 395 derogation, provided EN 16931-based; recipient consent abolished |
|
||||
| **1 Jul 2030** | **Mandatory structured e-invoicing + Digital Reporting Requirements (DRR) for cross-border intra-EU B2B**; recapitulative VIES statements abolished; invoice issuance ≤10 days after chargeable event |
|
||||
| **1 Jan 2035** | Pre-existing national clearance regimes (IT/FR/PL/RO/HU/ES) must align to the EU DRR standard |
|
||||
|
||||
**Sweden has no pre-existing CTC, so Sweden does NOT get the 2035 grandfather clause.** Any new domestic mandate must be EN 16931–compliant by design.
|
||||
**Sweden has no pre-existing CTC, so Sweden does NOT get the 2035 grandfather clause.** Any new domestic mandate must be EN 16931-compliant by design.
|
||||
|
||||
## Country-by-country mandate status (April 2026)
|
||||
|
||||
@@ -23,7 +23,7 @@ This reference compares Sweden's likely trajectory to the mandates already enact
|
||||
- Live for B2B since 1 January 2019. Cross-border via SDI from 1 July 2022. Forfettari fully included in 2024.
|
||||
- Pre-clearance: every invoice routed through SDI before reaching the buyer.
|
||||
- **EU derogation extended to 31 December 2027.**
|
||||
- Penalties: 90–180% of VAT.
|
||||
- Penalties: 90-180% of VAT.
|
||||
- Archive: 10 years.
|
||||
- The "old" model that ViDA's 2035 alignment deadline forces to harmonise.
|
||||
|
||||
@@ -94,9 +94,9 @@ Sweden has **20+ years of Peppol/SFTI infrastructure**, B2G mandatory since 2019
|
||||
|
||||
1. **Now → 30 November 2027**, Dir. 2026:9 inquiry runs. Skatteverket's preferred model (decentralised Peppol + DRR layer) is articulated.
|
||||
2. **2028**, Lagrådsremiss and proposition. Likely model: Belgium-style Peppol 4-corner B2B, plus a 5-corner DRR layer where Skatteverket becomes Corner 5.
|
||||
3. **2029–2030**, First domestic obligations. Likely: receive obligation first (all VAT-registered), then send obligation phased by entity size mirroring Germany's 2025→2027→2028 rollout.
|
||||
3. **2029-2030**, First domestic obligations. Likely: receive obligation first (all VAT-registered), then send obligation phased by entity size mirroring Germany's 2025→2027→2028 rollout.
|
||||
4. **1 July 2030**, ViDA cross-border B2B obligation kicks in regardless of domestic timeline. Sweden is bound.
|
||||
5. **2031–2032**, Full domestic mandate live including DRR layer.
|
||||
5. **2031-2032**, Full domestic mandate live including DRR layer.
|
||||
|
||||
The single most important date to monitor is **30 November 2027** (Dir. 2026:9 final report). Architectural decisions made before then should preserve optionality between (a) pure Peppol 4-corner with no central reporting, (b) Peppol + DRR 5-corner, and (c) the unlikely-but-possible centralised clearance fallback.
|
||||
|
||||
|
||||
@@ -96,7 +96,7 @@ Many AP rejections happen post-send when the receiver's MLR comes back hours lat
|
||||
|
||||
```
|
||||
break-even = €30,000 / €0.10 = 300,000 invoices/year
|
||||
≈ 3,000–5,000 active SME customers × 50–100 invoices/month
|
||||
≈ 3,000-5,000 active SME customers × 50-100 invoices/month
|
||||
```
|
||||
|
||||
**For receive there is no economic case to build initially**, Storecove free receive or own Oxalis-NG on a small VPS dominate.
|
||||
@@ -107,10 +107,10 @@ break-even = €30,000 / €0.10 = 300,000 invoices/year
|
||||
|
||||
| Reseller | Per-doc | Multi-mandate | DX | Sandbox | Best for |
|
||||
|---|---|---|---|---|---|
|
||||
| **Storecove** | €0.05–€0.30 | Excellent (Peppol + IT SDI + FR PA + BE + DE + PL KSeF + DBNAlliance) | Single REST API, OpenAPI spec | Free 30-day | Embedding in ERP/SaaS |
|
||||
| **Pagero (TR)** | EUR 0.20–0.80 + €5–20k/yr | Excellent | Multiple APIs, enterprise-flavoured | Yes | Large enterprise |
|
||||
| **InExchange** | SEK 1–5 + 200–400/mo | Nordic | REST | Yes | SE-only SME, Visma ecosystem |
|
||||
| **Maventa (Visma)** | SEK 0.50–3 | Nordic+ | REST + SOAP | Yes | Visma ecosystem |
|
||||
| **Storecove** | €0.05-€0.30 | Excellent (Peppol + IT SDI + FR PA + BE + DE + PL KSeF + DBNAlliance) | Single REST API, OpenAPI spec | Free 30-day | Embedding in ERP/SaaS |
|
||||
| **Pagero (TR)** | EUR 0.20-0.80 + €5-20k/yr | Excellent | Multiple APIs, enterprise-flavoured | Yes | Large enterprise |
|
||||
| **InExchange** | SEK 1-5 + 200-400/mo | Nordic | REST | Yes | SE-only SME, Visma ecosystem |
|
||||
| **Maventa (Visma)** | SEK 0.50-3 | Nordic+ | REST + SOAP | Yes | Visma ecosystem |
|
||||
| **Galaxy Gateway, Babelway, SBSCon, Comarch, Edicom, Sovos, Avalara, Tradeshift, Basware, Seeburger, Esker** | Various | Excellent | Enterprise-tier | Varies | Multi-mandate enterprise |
|
||||
|
||||
## Recommended stack for a new Swedish accounting platform
|
||||
@@ -128,7 +128,7 @@ This hybrid is the dominant strategy:
|
||||
|
||||
- **Oxalis-NG receive on day one** is open-source-friendly, scales linearly without per-doc fees, and gives genuine "native Peppol receive" differentiation that incumbents (white-labelling Crediflow/InExchange) cannot match without rebuilding their stack.
|
||||
- **Storecove send** handles Belgium 2026, France 2026 PA flow, Italy SDI, Germany XRechnung, Poland KSeF in one API, you don't want to be re-implementing FatturaPA.
|
||||
- **Migrate send to own AP only when volume justifies it**, likely 2028–2029 at the earliest for an early-stage product.
|
||||
- **Migrate send to own AP only when volume justifies it**, likely 2028-2029 at the earliest for an early-stage product.
|
||||
|
||||
## Critical UX features
|
||||
|
||||
@@ -145,7 +145,7 @@ This hybrid is the dominant strategy:
|
||||
- Register a Peppol participant ID for the company itself for dogfooding.
|
||||
- Set up CI with Helger phive-rules.
|
||||
|
||||
### Phase 1, Months 1–3
|
||||
### Phase 1, Months 1-3
|
||||
|
||||
- UBL generator with full Peppol BIS Billing 3 + Sweden CIUS rules (SE-R-* including F-skatt).
|
||||
- Storecove sandbox for outbound test.
|
||||
@@ -153,7 +153,7 @@ This hybrid is the dominant strategy:
|
||||
- Schematron in CI on every UBL output.
|
||||
- BT-10 regex map for top 100 Swedish myndigheter.
|
||||
|
||||
### Phase 2, Months 4–6
|
||||
### Phase 2, Months 4-6
|
||||
|
||||
- Become Candidate Service Provider (AP-only) with OpenPeppol (~€4,400 one-off + €3,350/year ongoing).
|
||||
- Pass Conformance Test Suite.
|
||||
@@ -161,7 +161,7 @@ This hybrid is the dominant strategy:
|
||||
- Migrate to native Oxalis-NG receive.
|
||||
- Marketing message: "your customers email PDFs, your suppliers send Peppol e-invoices, both arrive in your inbox."
|
||||
|
||||
### Phase 3, Months 7–12
|
||||
### Phase 3, Months 7-12
|
||||
|
||||
- Multi-mandate readiness for BE/DE/FR/PL/RO destinations through Storecove.
|
||||
- Per-customer compliance dashboard.
|
||||
@@ -173,14 +173,14 @@ This hybrid is the dominant strategy:
|
||||
- Pre-build Skatteverket DRR ingestion behind feature flag for July 2030 activation.
|
||||
- Pivot on SOU 2027 (due 30 November 2027), adjust architecture if Sweden chooses non-Peppol model.
|
||||
|
||||
**Total go-live cost** for a credible, differentiated, open-source native-Peppol Swedish bookkeeping product: **approximately €10–15k plus 3 months engineering**.
|
||||
**Total go-live cost** for a credible, differentiated, open-source native-Peppol Swedish bookkeeping product: **approximately €10-15k plus 3 months engineering**.
|
||||
|
||||
## Strategic positioning vs incumbents
|
||||
|
||||
The competitive landscape has a hole.
|
||||
|
||||
- **Visma eEkonomi, Fortnox, Bokio, SpeedLedger, Björn Lundén** all outsource their Peppol layer to Crediflow or InExchange/Maventa. None differentiate on Peppol-native architecture.
|
||||
- **The 3.00–3.50 SEK per outbound markup** these vendors charge has a baked-in reseller cost, building native eliminates that markup AND removes dependency risk now visible after the Pagero→Thomson Reuters acquisition.
|
||||
- **The 3.00-3.50 SEK per outbound markup** these vendors charge has a baked-in reseller cost, building native eliminates that markup AND removes dependency risk now visible after the Pagero→Thomson Reuters acquisition.
|
||||
- **Native Peppol receive as a free out-of-the-box feature**, every customer gets a Peppol address by default, every supplier can send them invoices for free, is a brutal customer acquisition anchor in a market where the SMB end is underserved.
|
||||
- **The open-source angle is force multiplier**: publishing the UBL generator on GitHub under BSD/MIT earns trust with bookkeeping/Linux-friendly customers without surrendering the moat, which lives in the bookkeeping engine and UX, not the XML serialiser.
|
||||
|
||||
@@ -188,9 +188,9 @@ Three forces converge to make this strategically valuable:
|
||||
|
||||
1. **B2G compliance has been mandatory since April 2019**, any customer with public-sector revenue is a non-starter without native Peppol.
|
||||
2. **Large-enterprise customers** (Volvo, Ericsson, IKEA-supply, ICA, plus all Belgian/German/French subsidiaries hitting Swedish suppliers from 2026) increasingly require Peppol from suppliers.
|
||||
3. **ViDA cross-border B2B mandate of 1 July 2030 is non-negotiable**, plus the plausible domestic mandate window of 2029–2031.
|
||||
3. **ViDA cross-border B2B mandate of 1 July 2030 is non-negotiable**, plus the plausible domestic mandate window of 2029-2031.
|
||||
|
||||
The window to build with this advantage is the next **18–24 months** before incumbents finish their own native-Peppol projects.
|
||||
The window to build with this advantage is the next **18-24 months** before incumbents finish their own native-Peppol projects.
|
||||
|
||||
## Authoritative source list
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ In force **1 December 2019**. Requires all contracting authorities to publish th
|
||||
|
||||
### MDFFS 2021:1
|
||||
|
||||
§§12–20 require state agencies to:
|
||||
§§12-20 require state agencies to:
|
||||
- use Peppol BIS Billing 3 for outbound invoices to other state agencies;
|
||||
- send e-invoices to non-state recipients that have consented;
|
||||
- handle inbound e-invoices in EN 16931 conformance.
|
||||
@@ -50,7 +50,7 @@ Most recent consolidation: SFS 2024:342, in force **1 July 2024**. Modernised th
|
||||
|
||||
Replaces ML 1994:200 since 1 July 2023.
|
||||
|
||||
- **2 kap. 9–10 §§.** Defines the e-invoice consistent with Article 217 of Directive 2006/112/EC.
|
||||
- **2 kap. 9-10 §§.** Defines the e-invoice consistent with Article 217 of Directive 2006/112/EC.
|
||||
- **17 kap.** Mandatory invoice content, implements Article 226 of the VAT Directive.
|
||||
- **SKVFS 2024:16.** Simplified invoices (förenklad faktura).
|
||||
- **No qualified electronic signature is required.** Authenticity and integrity are ensured via "business controls creating a reliable audit trail" per Article 233 of Directive 2006/112/EC. The Peppol AS4 message-level signing between Access Points is sufficient.
|
||||
@@ -82,11 +82,11 @@ Binding dates relevant for Sweden:
|
||||
|
||||
| Date | Obligation |
|
||||
|---|---|
|
||||
| 14 Apr 2025 | Member states may mandate domestic B2B e-invoicing without Article 395 derogation, provided EN 16931–based; recipient consent abolished |
|
||||
| 14 Apr 2025 | Member states may mandate domestic B2B e-invoicing without Article 395 derogation, provided EN 16931-based; recipient consent abolished |
|
||||
| 1 Jul 2030 | **Mandatory structured e-invoicing + Digital Reporting Requirements (DRR) for cross-border intra-EU B2B**; recapitulative VIES statements abolished; invoice issuance ≤10 days after chargeable event |
|
||||
| 1 Jan 2035 | Pre-existing national clearance regimes (IT/FR/PL/RO/HU/ES) must align to the EU DRR standard |
|
||||
|
||||
**Sweden has no pre-existing CTC, so Sweden does NOT get the 2035 grandfather clause.** Any new domestic mandate Sweden builds post-2025 must already be EN 16931–compliant by design.
|
||||
**Sweden has no pre-existing CTC, so Sweden does NOT get the 2035 grandfather clause.** Any new domestic mandate Sweden builds post-2025 must already be EN 16931-compliant by design.
|
||||
|
||||
## Swedish authorities
|
||||
|
||||
@@ -102,8 +102,8 @@ Binding dates relevant for Sweden:
|
||||
|
||||
- Receives e-invoices via Peppol at `0007:2021005448`.
|
||||
- Publicly **in favour** of mandatory domestic B2B e-invoicing and transaction-based reporting.
|
||||
- Ran a public consultation June–July 2025 on three models (SAF-T, clearance, post-audit-with-real-time-reporting).
|
||||
- Estimates **SEK 10–20 billion/year** in business savings if Sweden mandates domestic e-invoicing.
|
||||
- Ran a public consultation June-July 2025 on three models (SAF-T, clearance, post-audit-with-real-time-reporting).
|
||||
- Estimates **SEK 10-20 billion/year** in business savings if Sweden mandates domestic e-invoicing.
|
||||
- Sektionschef Björn Erling has explicitly endorsed Peppol as the future Swedish standard.
|
||||
|
||||
### ESV (Ekonomistyrningsverket) and Statskontoret
|
||||
@@ -126,7 +126,7 @@ The inquiry will determine:
|
||||
- whether Sweden adopts transaction-based reporting (DRR-style or otherwise);
|
||||
- the architectural model (decentralised Peppol vs. centralised clearance vs. post-audit with real-time reporting).
|
||||
|
||||
**Realistic Swedish trajectory:** SOU report 30 November 2027 → lagrådsremiss/proposition 2028 → first domestic obligations **2029–2030** (likely receive obligation first, send obligation phased by entity size, mirroring Germany's 2025/2027/2028 rollout). The reference design Sweden will mirror is **Belgium's 2026 decentralised Peppol 4-corner model**, eventually augmented with a 5-corner DRR layer where Skatteverket becomes Corner 5.
|
||||
**Realistic Swedish trajectory:** SOU report 30 November 2027 → lagrådsremiss/proposition 2028 → first domestic obligations **2029-2030** (likely receive obligation first, send obligation phased by entity size, mirroring Germany's 2025/2027/2028 rollout). The reference design Sweden will mirror is **Belgium's 2026 decentralised Peppol 4-corner model**, eventually augmented with a 5-corner DRR layer where Skatteverket becomes Corner 5.
|
||||
|
||||
## Penalties and the B2G/B2B/B2C distinction
|
||||
|
||||
|
||||
@@ -37,13 +37,13 @@ Setup fee 0. Includes inbound + outbound Peppol BIS Billing 3 + EHF + multi-mand
|
||||
|
||||
| Item | Typical SME price (SEK) |
|
||||
|---|---|
|
||||
| Outbound e-invoice (sender) | **3.00–3.50** (Bokio, SpeedLedger, BL); 0–3.40 (InExchange) |
|
||||
| Outbound e-invoice (sender) | **3.00-3.50** (Bokio, SpeedLedger, BL); 0-3.40 (InExchange) |
|
||||
| Inbound e-invoice | Often free; 3.50 (BL) |
|
||||
| Monthly minimum (SME platform) | 0–199 |
|
||||
| Monthly minimum (SME platform) | 0-199 |
|
||||
| Setup/onboarding | 0 |
|
||||
| Postal fallback | 8.25–20 |
|
||||
| Postal fallback | 8.25-20 |
|
||||
| Kivra to consumer | ~5 |
|
||||
| Enterprise (Pagero/Basware) per-doc | Negotiated, EUR 0.10–0.50 |
|
||||
| Enterprise (Pagero/Basware) per-doc | Negotiated, EUR 0.10-0.50 |
|
||||
|
||||
## How Swedish accounting platforms wire Peppol
|
||||
|
||||
@@ -103,7 +103,7 @@ Pattern: **bigger players are bundling tax + invoicing + AP automation + complia
|
||||
| 2024 | VIA Equity acquires Crediflow group |
|
||||
| 1 Jul 2024 | GEP (US) acquires OpusCapita from PSG Equity |
|
||||
| ~2020 | Visma Group acquires InExchange (Factorum AB) |
|
||||
| 2019–2020 | Ropo Capital acquires Colligent Inkasso, Posti Messaging Scandinavia |
|
||||
| 2019-2020 | Ropo Capital acquires Colligent Inkasso, Posti Messaging Scandinavia |
|
||||
|
||||
**Reseller dependency risk is now real**, Pagero is a TR division, Basware is PE-owned, both will eventually re-price upward. Build optionality into the stack via a clean `SendClient` abstraction with dual-vendor capability.
|
||||
|
||||
@@ -111,14 +111,14 @@ Pattern: **bigger players are bundling tax + invoicing + AP automation + complia
|
||||
|
||||
For a new Swedish accounting/fintech product, the practical menu:
|
||||
|
||||
1. **Storecove**, best DX, single API across Peppol + IT SDI + FR PA + PL KSeF + BE + DE. Free 30-day sandbox. Effective rate €0.05–€0.30/invoice. **Best fit when multi-mandate is needed.**
|
||||
1. **Storecove**, best DX, single API across Peppol + IT SDI + FR PA + PL KSeF + BE + DE. Free 30-day sandbox. Effective rate €0.05-€0.30/invoice. **Best fit when multi-mandate is needed.**
|
||||
2. **Qvalia**, transparent EUR pricing, ISO 27001, Swedish-headquartered. Good fit for SME-only Swedish flows.
|
||||
3. **InExchange**, heaviest Swedish installed base, but partial vendor lock-in via Visma Group ownership.
|
||||
4. **Visma Autoinvoice / Maventa**, only worth it if already integrating Visma ecosystem.
|
||||
5. **Pagero / Basware**, enterprise-only, not SME-friendly post-acquisition.
|
||||
6. **Own Oxalis-NG AP**, only for receive at low volume (€100/mo Hetzner + €4,400 yr-1 OpenPeppol fees). For send, only economic above ~25k invoices/month.
|
||||
|
||||
**Build vs buy break-even:** reseller cost of ~€0.10/invoice (mid-volume Storecove) versus own-AP fixed cost of ~€30k/year (membership + cert + ops) breaks even at **~300,000 invoices/year sent through your customers**, equivalent to ~3,000–5,000 active SME customers each sending 50–100 invoices/month. **For receive there is no economic case to build initially**, Storecove free receive or own Oxalis on a small VPS dominate.
|
||||
**Build vs buy break-even:** reseller cost of ~€0.10/invoice (mid-volume Storecove) versus own-AP fixed cost of ~€30k/year (membership + cert + ops) breaks even at **~300,000 invoices/year sent through your customers**, equivalent to ~3,000-5,000 active SME customers each sending 50-100 invoices/month. **For receive there is no economic case to build initially**, Storecove free receive or own Oxalis on a small VPS dominate.
|
||||
|
||||
## Authoritative source list
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ ViDA introduces the **five-corner model** for cross-border B2B reporting from 1
|
||||
|
||||
## SML, Service Metadata Locator
|
||||
|
||||
The SML is the centralised DNS service. Operated by **OpenPeppol AISBL** (insourced from EC DG DIGIT during 2024–2025).
|
||||
The SML is the centralised DNS service. Operated by **OpenPeppol AISBL** (insourced from EC DG DIGIT during 2024-2025).
|
||||
|
||||
Lookup algorithm (migrated from CNAME/MD5 to **NAPTR/SHA-256** during 2025):
|
||||
|
||||
@@ -73,7 +73,7 @@ Two certificate types per Access Point:
|
||||
- **AP cert**, used for AS4 message signing and encryption.
|
||||
- **SMP cert**, used to sign `SignedServiceMetadata` responses.
|
||||
|
||||
Cert validity is typically 1–2 years. Renewal is automated via DigiCert's portal; trust store updates flow via OpenPeppol member announcements.
|
||||
Cert validity is typically 1-2 years. Renewal is automated via DigiCert's portal; trust store updates flow via OpenPeppol member announcements.
|
||||
|
||||
Trust store libraries (Helger `peppol-commons`, Oxalis) ship the bundled Peppol root and intermediate certs; update at least quarterly to track CA rotation.
|
||||
|
||||
@@ -106,7 +106,7 @@ GitHub: https://github.com/OpenPEPPOL/peppol-bis-invoice-3/blob/master/structure
|
||||
|
||||
### OpenPeppol membership fees (effective 1 July 2025 for new members)
|
||||
|
||||
For a small Swedish fintech (S1 size, 1–10 employees):
|
||||
For a small Swedish fintech (S1 size, 1-10 employees):
|
||||
|
||||
| Path | Sign-up | Annual | Certification | Year-1 total |
|
||||
|---|---|---|---|---|
|
||||
@@ -114,9 +114,9 @@ For a small Swedish fintech (S1 size, 1–10 employees):
|
||||
| **AP-only S1+S2** | €1,050 | €1,850 | €1,500 | **≈ €4,400** |
|
||||
| **End User S1+S2** | €650 | €1,250 | n/a | **≈ €1,900** |
|
||||
|
||||
Add infrastructure cost: 24/7 redundant AS4 hosting (€3–10k/yr), monitoring/on-call (€5–20k fully loaded), DigiCert G3 certs (bundled into OpenPeppol annual). DIGG charges no additional Peppol-Authority fee for Swedish service providers but requires signing the **Peppol Service Provider Agreement**.
|
||||
Add infrastructure cost: 24/7 redundant AS4 hosting (€3-10k/yr), monitoring/on-call (€5-20k fully loaded), DigiCert G3 certs (bundled into OpenPeppol annual). DIGG charges no additional Peppol-Authority fee for Swedish service providers but requires signing the **Peppol Service Provider Agreement**.
|
||||
|
||||
**Realistic minimum to operate an own AP: €20–40k/year direct cost plus 0.5–1 FTE engineering and 3–6 months upfront build.** Twice-yearly spec updates with a 7-day implementation window and mandatory monthly volume reporting are non-trivial recurring costs.
|
||||
**Realistic minimum to operate an own AP: €20-40k/year direct cost plus 0.5-1 FTE engineering and 3-6 months upfront build.** Twice-yearly spec updates with a 7-day implementation window and mandatory monthly volume reporting are non-trivial recurring costs.
|
||||
|
||||
### Onboarding steps
|
||||
|
||||
@@ -131,7 +131,7 @@ Add infrastructure cost: 24/7 redundant AS4 hosting (€3–10k/yr), monitoring/
|
||||
9. Register SMP in production SML via DIGG.
|
||||
10. Commit to monthly volume reporting.
|
||||
|
||||
**Total elapsed time: 3–6 months.**
|
||||
**Total elapsed time: 3-6 months.**
|
||||
|
||||
### Open-source AS4 / SMP stacks
|
||||
|
||||
|
||||
@@ -55,11 +55,11 @@ If supplier VAT country is `SE` and category is `S`, the rate must be **6, 12, o
|
||||
|
||||
### SE-R-008 / SE-R-009, Bankgiro
|
||||
|
||||
Bankgiro account numbers must be **7–8 numeric digits**.
|
||||
Bankgiro account numbers must be **7-8 numeric digits**.
|
||||
|
||||
### SE-R-010, Plusgiro
|
||||
|
||||
Plusgiro account numbers must be **2–8 characters**.
|
||||
Plusgiro account numbers must be **2-8 characters**.
|
||||
|
||||
### SE-R-011, Swedish payment methods
|
||||
|
||||
@@ -109,7 +109,7 @@ For non-Swedish EU payments use code `58` (SEPA credit transfer) with country-ch
|
||||
|
||||
## OCR references
|
||||
|
||||
Swedish OCR is numeric, **2–25 digits, last digit modulus-10 (Luhn) check**. Optional length digit at position n−1 encodes total length.
|
||||
Swedish OCR is numeric, **2-25 digits, last digit modulus-10 (Luhn) check**. Optional length digit at position n−1 encodes total length.
|
||||
|
||||
Four control levels at Bankgirot:
|
||||
- **OCR1**, soft (mjuk), Luhn only.
|
||||
@@ -288,7 +288,7 @@ Each Swedish public sector buyer specifies its own BT-10 / BuyerReference format
|
||||
|---|---|
|
||||
| Skatteverket | 4-letter code |
|
||||
| Svenska Kraftnät | 3 digits + 3 letters |
|
||||
| Försäkringskassan | 5–10 digits starting with `4` |
|
||||
| Försäkringskassan | 5-10 digits starting with `4` |
|
||||
| Many universities | cost-centre + name |
|
||||
|
||||
**Maintain a per-buyer-Peppol-ID regex map** and validate at invoice compose time. This prevents 30-day public-sector payment delays. Scrape SFTI / docplayer reference and update quarterly.
|
||||
|
||||
@@ -15,23 +15,23 @@ Every legacy reference to "ML 11 kap" maps to ML 17 kap in current law. Always c
|
||||
This SKILL.md contains the decision logic, quick-reference tables, and common error patterns.
|
||||
For deep detail on any topic, read the corresponding section in:
|
||||
|
||||
→ `references/invoice-rules.md` — Full reference (~600 lines) with all law paragraphs, BAS accounts, Peppol field mappings, ROT/RUT thresholds, reverse charge scenarios, currency conversion rules, OCR format specs, and penalty rates.
|
||||
→ `references/invoice-rules.md`: Full reference (~600 lines) with all law paragraphs, BAS accounts, Peppol field mappings, ROT/RUT thresholds, reverse charge scenarios, currency conversion rules, OCR format specs, and penalty rates.
|
||||
|
||||
**Table of contents for references/invoice-rules.md:**
|
||||
1. Mandatory invoice fields (ML 17 kap 24§) — 16 required fields table
|
||||
2. Förenklad faktura — SEK 4,000 threshold, SKVFS 2024:16
|
||||
1. Mandatory invoice fields (ML 17 kap 24§): 16 required fields table
|
||||
2. Förenklad faktura: SEK 4,000 threshold, SKVFS 2024:16
|
||||
3. Time limits for issuing invoices
|
||||
4. Electronic vs paper equivalence
|
||||
5. Kreditfaktura / ändringsfaktura — ML 17 kap 22–23§, BAS entries
|
||||
6. Självfakturering — ML 17 kap 15§, three conditions
|
||||
7. Peppol / e-faktura — Lag 2018:1277, BIS 3.0 format, ML→UBL mapping, SE-R rules
|
||||
8. ROT/RUT invoicing — fakturamodellen, deduction rates 2024–2026, BAS 1513
|
||||
9. Reverse charge notation — all scenarios with ML refs and momsdeklaration boxes
|
||||
10. Currency handling — ML 8 kap 21–23§, exchange rate sources, BAS 3960/7960
|
||||
11. OCR / Bankgirot — format, Luhn check digit, control levels
|
||||
12. Autogiro — mandate process, repayment rights
|
||||
13. Penalties — skattetillägg rates, denied deductions, bokföringsbrott
|
||||
14. BAS kontoplan mapping — AR, revenue, VAT, bad debts, fees, rounding
|
||||
5. Kreditfaktura / ändringsfaktura: ML 17 kap 22-23§, BAS entries
|
||||
6. Självfakturering: ML 17 kap 15§, three conditions
|
||||
7. Peppol / e-faktura: Lag 2018:1277, BIS 3.0 format, ML→UBL mapping, SE-R rules
|
||||
8. ROT/RUT invoicing: fakturamodellen, deduction rates 2024-2026, BAS 1513
|
||||
9. Reverse charge notation: all scenarios with ML refs and momsdeklaration boxes
|
||||
10. Currency handling: ML 8 kap 21-23§, exchange rate sources, BAS 3960/7960
|
||||
11. OCR / Bankgirot: format, Luhn check digit, control levels
|
||||
12. Autogiro: mandate process, repayment rights
|
||||
13. Penalties: skattetillägg rates, denied deductions, bokföringsbrott
|
||||
14. BAS kontoplan mapping: AR, revenue, VAT, bad debts, fees, rounding
|
||||
|
||||
---
|
||||
|
||||
@@ -57,14 +57,14 @@ For deep detail on any topic, read the corresponding section in:
|
||||
- Margin scheme → Scheme notation
|
||||
```
|
||||
|
||||
Missing any of 1–10 = non-compliant. Missing 11 when applicable = non-compliant.
|
||||
Missing any of 1-10 = non-compliant. Missing 11 when applicable = non-compliant.
|
||||
|
||||
### Can a simplified invoice be used?
|
||||
|
||||
```
|
||||
Total incl. VAT ≤ SEK 4,000?
|
||||
AND NOT intra-EU / distance sale / cross-border RC?
|
||||
→ Yes: förenklad faktura per ML 17:26–28, SKVFS 2024:16
|
||||
→ Yes: förenklad faktura per ML 17:26-28, SKVFS 2024:16
|
||||
→ No: full invoice required
|
||||
```
|
||||
|
||||
@@ -75,10 +75,10 @@ Domestic byggtjänster?
|
||||
→ ML 16:13, seller Box 41, buyer Box 24/30/48, accounts 3231/2614/2647
|
||||
|
||||
EU services (B2B main rule)?
|
||||
→ ML 16:6 + 6:33–37, buyer Box 21/30–32/48, accounts 4545/2614/2645
|
||||
→ ML 16:6 + 6:33-37, buyer Box 21/30-32/48, accounts 4545/2614/2645
|
||||
|
||||
Intra-EU goods?
|
||||
→ ML 10:42, buyer Box 20/30–32/48, accounts 4535/2614/2645
|
||||
→ ML 10:42, buyer Box 20/30-32/48, accounts 4535/2614/2645
|
||||
|
||||
Electronics >100k SEK/invoice?
|
||||
→ ML 16:17, same treatment as byggtjänster
|
||||
@@ -92,7 +92,7 @@ Electronics >100k SEK/invoice?
|
||||
3. Customer personnummer on invoice? → Required
|
||||
4. ROT: fastighetsbeteckning included? → Required
|
||||
5. Skattereduktion amount calculated correctly?
|
||||
ROT: 30% of labor incl. moms (50% May–Dec 2025)
|
||||
ROT: 30% of labor incl. moms (50% May-Dec 2025)
|
||||
RUT: 50% of labor incl. moms
|
||||
6. Combined max per person/year:
|
||||
Standard: ROT 50k + RUT 75k, combined cap 75k
|
||||
@@ -105,7 +105,7 @@ Electronics >100k SEK/invoice?
|
||||
|
||||
```
|
||||
1. Own unique fakturanummer + fakturadatum? → Required
|
||||
2. Reference to original invoice number? → Required (ML 17:22–23)
|
||||
2. Reference to original invoice number? → Required (ML 17:22-23)
|
||||
3. Negative amounts with VAT per original rate? → Required
|
||||
4. "Er tillgodo" instead of "Att betala"? → Convention
|
||||
5. Seller reduces utgående moms this period? → Required
|
||||
@@ -135,7 +135,7 @@ Electronics >100k SEK/invoice?
|
||||
|
||||
### Accounts receivable
|
||||
- **1510** Kundfordringar (main)
|
||||
- **1513** Kundfordringar – delad faktura (ROT/RUT SKV portion)
|
||||
- **1513** Kundfordringar, delad faktura (ROT/RUT SKV portion)
|
||||
- **1515** Osäkra kundfordringar
|
||||
- **1519** Nedskrivning av kundfordringar (contra)
|
||||
|
||||
@@ -146,9 +146,9 @@ Electronics >100k SEK/invoice?
|
||||
- **3305** Export services, **3308** EU services
|
||||
|
||||
### VAT
|
||||
- **2610–2615** Utgående moms 25% (domestic/RC/import)
|
||||
- **2620–2624** Utgående moms 12%
|
||||
- **2630–2634** Utgående moms 6%
|
||||
- **2610-2615** Utgående moms 25% (domestic/RC/import)
|
||||
- **2620-2624** Utgående moms 12%
|
||||
- **2630-2634** Utgående moms 6%
|
||||
- **2640** Ingående moms, **2645** Beräknad ingående moms utlandet
|
||||
- **2647** Ingående moms omvänd betalningsskyldighet Sverige
|
||||
|
||||
@@ -169,7 +169,7 @@ Electronics >100k SEK/invoice?
|
||||
Format: UBL 2.1 XML, profile Peppol BIS Billing 3.0.
|
||||
TypeCodes: **380** = invoice, **381** = credit note, **389** = self-billing.
|
||||
Swedish org ID scheme: **0007** + 10-digit orgnr.
|
||||
SE validation rules: SE-R-001 (VAT ID 14 chars), SE-R-005 (F-skatt text), SE-R-006 (valid rates), SE-R-009 (Bankgiro 7–8 chars).
|
||||
SE validation rules: SE-R-001 (VAT ID 14 chars), SE-R-005 (F-skatt text), SE-R-006 (valid rates), SE-R-009 (Bankgiro 7-8 chars).
|
||||
|
||||
Required header: `CustomizationID` + `ProfileID` (exact URNs in reference file).
|
||||
Required: either `BuyerReference` (BT-10) or `OrderReference` (BT-13).
|
||||
@@ -183,15 +183,15 @@ Required: either `BuyerReference` (BT-10) or `OrderReference` (BT-13).
|
||||
| Topic | Current law | Old law |
|
||||
|---|---|---|
|
||||
| Invoice content | ML 17 kap 24§ (2023:200) | ML 11 kap 8§ (1994:200) |
|
||||
| Simplified invoice | ML 17 kap 26–28§ | ML 11 kap 9§ |
|
||||
| Credit note | ML 17 kap 22–23§ | ML 11 kap 10§ |
|
||||
| Simplified invoice | ML 17 kap 26-28§ | ML 11 kap 9§ |
|
||||
| Credit note | ML 17 kap 22-23§ | ML 11 kap 10§ |
|
||||
| Self-billing | ML 17 kap 15§ | ML 11 kap 4§ |
|
||||
| Reverse charge | ML 16 kap 6–22§§ | ML 1 kap 2§ st.4 |
|
||||
| Currency conversion | ML 8 kap 21–23§ | ML 7 kap 7a§ |
|
||||
| E-invoice B2G | Lag (2018:1277) | — |
|
||||
| ROT/RUT | HUSFL (2009:194) 6–9§§ | — |
|
||||
| Invoice archiving | BFL 7 kap | — |
|
||||
| Skattetillägg | SFL 49 kap | — |
|
||||
| Reverse charge | ML 16 kap 6-22§§ | ML 1 kap 2§ st.4 |
|
||||
| Currency conversion | ML 8 kap 21-23§ | ML 7 kap 7a§ |
|
||||
| E-invoice B2G | Lag (2018:1277) | - |
|
||||
| ROT/RUT | HUSFL (2009:194) 6-9§§ | - |
|
||||
| Invoice archiving | BFL 7 kap | - |
|
||||
| Skattetillägg | SFL 49 kap | - |
|
||||
|
||||
---
|
||||
|
||||
@@ -200,11 +200,11 @@ Required: either `BuyerReference` (BT-10) or `OrderReference` (BT-13).
|
||||
These values change. Always verify against the reference file or search current rates:
|
||||
|
||||
- Förenklad faktura threshold: **SEK 4,000** (SKVFS 2024:16)
|
||||
- ROT deduction %: 30% standard, 50% May–Dec 2025
|
||||
- ROT deduction %: 30% standard, 50% May-Dec 2025
|
||||
- RUT deduction %: 50%
|
||||
- ROT max/person/year: 50,000 SEK (75,000 in 2024 H2)
|
||||
- RUT max/person/year: 75,000 SEK
|
||||
- Combined max: 75,000 SEK (separated in 2024 H2)
|
||||
- Electronics RC threshold: 100,000 SEK excl. VAT per invoice
|
||||
- Skattetillägg VAT: 20% (periodization: 2–5%)
|
||||
- Skattetillägg VAT: 20% (periodization: 2-5%)
|
||||
- Archive retention: 7 years (BFL 7 kap)
|
||||
@@ -1,4 +1,4 @@
|
||||
# Swedish Invoice Compliance — Full Reference
|
||||
# Swedish Invoice Compliance: Full Reference
|
||||
|
||||
## 1. Mandatory invoice fields (ML 17 kap 24§)
|
||||
|
||||
@@ -27,7 +27,7 @@ A fullständig faktura must contain all fields per **17 kap 24§ ML (2023:200)**
|
||||
|
||||
## 2. Förenklad faktura (simplified invoice)
|
||||
|
||||
**ML 17 kap 26–28§**, **SKVFS 2024:16**.
|
||||
**ML 17 kap 26-28§**, **SKVFS 2024:16**.
|
||||
|
||||
Threshold: total **≤ SEK 4,000 including VAT**.
|
||||
|
||||
@@ -45,7 +45,7 @@ Reduced content: date, seller ID (VAT/org number), description of goods/services
|
||||
|
||||
## 4. Electronic vs paper equivalence
|
||||
|
||||
Electronic invoices = identical legal standing (2 kap 9–10§ ML). E-invoicing requires buyer consent (17 kap 20§). PDF by email is a legal faktura but not a structured e-faktura. Archive for **7 years** (BFL 7 kap). Since July 2024, paper originals may be destroyed immediately after digital transfer (amended 7 kap 6§ BFL).
|
||||
Electronic invoices = identical legal standing (2 kap 9-10§ ML). E-invoicing requires buyer consent (17 kap 20§). PDF by email is a legal faktura but not a structured e-faktura. Archive for **7 years** (BFL 7 kap). Since July 2024, paper originals may be destroyed immediately after digital transfer (amended 7 kap 6§ BFL).
|
||||
|
||||
No specific language requirement in ML. VAT amounts must be in SEK if accounting currency is SEK. Skatteverket may request translations.
|
||||
|
||||
@@ -59,7 +59,7 @@ Incorrect original, goods returned, price reduction post-invoicing, partial/full
|
||||
|
||||
### Governing law
|
||||
|
||||
**17 kap 22–23§ ML (2023:200)**.
|
||||
**17 kap 22-23§ ML (2023:200)**.
|
||||
|
||||
### Mandatory content
|
||||
|
||||
@@ -138,7 +138,7 @@ Mandatory header: `cbc:ID`, `cbc:IssueDate`, `cbc:InvoiceTypeCode` (380/381/389)
|
||||
| SE-R-001 | Swedish VAT numbers must be 14 characters (SE + 10 digits + 01) |
|
||||
| SE-R-005 | SE sellers must include "Godkänd för F-skatt" |
|
||||
| SE-R-006 | Valid VAT rates for SE sellers: 6%, 12%, 25% with category S |
|
||||
| SE-R-009 | Bankgiro Account ID: 7–8 characters |
|
||||
| SE-R-009 | Bankgiro Account ID: 7-8 characters |
|
||||
| SE-R-011 | Bankgiro uses PaymentMeansCode=30 |
|
||||
| SE-R-012 | Plusgiro uses PaymentMeansCode=30 |
|
||||
|
||||
@@ -156,7 +156,7 @@ VAT in UBL: `cac:PartyTaxScheme/cbc:CompanyID` = `SE556732170701`.
|
||||
| Löpnummer | BT-1 | `cbc:ID` |
|
||||
| Säljarens moms-nr | BT-31 | `cac:AccountingSupplierParty/.../cbc:CompanyID` |
|
||||
| Köparens moms-nr | BT-48 | `cac:AccountingCustomerParty/.../cbc:CompanyID` |
|
||||
| Namn+adress (säljare) | BT-27, BT-35–39 | `cac:AccountingSupplierParty` |
|
||||
| Namn+adress (säljare) | BT-27, BT-35-39 | `cac:AccountingSupplierParty` |
|
||||
| Varornas mängd+art | BT-129, BT-153 | `cac:InvoiceLine/cbc:InvoicedQuantity` + `cac:Item/cbc:Name` |
|
||||
| Leveransdatum | BT-72 | `cac:InvoicePeriod/cbc:StartDate` or `cbc:TaxPointDate` (BT-7) |
|
||||
| Beskattningsunderlag per skattesats | BT-116 | `cac:TaxSubtotal/cbc:TaxableAmount` |
|
||||
@@ -173,7 +173,7 @@ B2B voluntary as of April 2026. Ministry of Finance launched formal inquiry **5
|
||||
|
||||
### Fakturamodellen
|
||||
|
||||
Company invoices full amount, shows ROT/RUT deduction, reduces "att betala." Customer pays reduced amount **electronically** (cash disqualified since 1 Jan 2020). Company applies to Skatteverket via "Rot och rut – företag." SKV pays company directly (~10 days). **F-skatt required** per HUSFL 6–9§§.
|
||||
Company invoices full amount, shows ROT/RUT deduction, reduces "att betala." Customer pays reduced amount **electronically** (cash disqualified since 1 Jan 2020). Company applies to Skatteverket via "Rot och rut - företag." SKV pays company directly (~10 days). **F-skatt required** per HUSFL 6-9§§.
|
||||
|
||||
### Required invoice fields
|
||||
|
||||
@@ -186,15 +186,15 @@ Company invoices full amount, shows ROT/RUT deduction, reduces "att betala." Cus
|
||||
7. Total excl/incl moms with moms amount
|
||||
8. Calculated skattereduktion amount
|
||||
|
||||
### Deduction rates and caps (2024–2026)
|
||||
### Deduction rates and caps (2024-2026)
|
||||
|
||||
| Parameter | ROT | RUT |
|
||||
|---|---|---|
|
||||
| Standard % | 30% of labor incl. moms | 50% of labor incl. moms |
|
||||
| Standard max/person/year | 50,000 SEK | 75,000 SEK |
|
||||
| Standard combined max | 75,000 SEK (ROT capped at 50k within) | |
|
||||
| 2024 H2 (Jul–Dec) | Max raised to 75k, caps separated, total possible 150k | |
|
||||
| 2025 (12 May–31 Dec) | ROT % raised to **50%** (Betänkande 2024/25:FiU32) | 50% unchanged |
|
||||
| 2024 H2 (Jul-Dec) | Max raised to 75k, caps separated, total possible 150k | |
|
||||
| 2025 (12 May-31 Dec) | ROT % raised to **50%** (Betänkande 2024/25:FiU32) | 50% unchanged |
|
||||
| 2026 | Standard 30%/50% rules resume | |
|
||||
|
||||
### BAS journal entries
|
||||
@@ -206,7 +206,7 @@ Example: 18,000 SEK arbetskostnad = 22,500 inkl. moms (25%), ROT 30% = 6,750 SEK
|
||||
| Account | Debit | Credit |
|
||||
|---|---|---|
|
||||
| 1511 Kundfordringar (customer portion) | 23,875 | |
|
||||
| 1513 Kundfordringar – delad faktura (SKV) | 6,750 | |
|
||||
| 1513 Kundfordringar, delad faktura (SKV) | 6,750 | |
|
||||
| 3010 Försäljning | | 24,500 |
|
||||
| 2610 Utgående moms 25% | | 6,125 |
|
||||
|
||||
@@ -233,22 +233,22 @@ Invoice must include buyer's VAT number and charge **no VAT**.
|
||||
|
||||
### Scenario reference
|
||||
|
||||
**Domestic construction (byggtjänster) — ML 16 kap 13§:**
|
||||
**Domestic construction (byggtjänster), ML 16 kap 13§:**
|
||||
Applies when buyer is taxable person who not only temporarily provides construction services.
|
||||
Seller: Box 41. Buyer: Box 24, output VAT Box 30, input VAT Box 48.
|
||||
|
||||
**EU services (B2B main rule) — ML 16 kap 6§ + 6 kap 33–37§§:**
|
||||
**EU services (B2B main rule), ML 16 kap 6§ + 6 kap 33-37§§:**
|
||||
Swedish business buys services from EU seller under main rule.
|
||||
Buyer: Box 21, output VAT Box 30–32, input VAT Box 48. Seller: Box 39 + periodisk sammanställning.
|
||||
Buyer: Box 21, output VAT Box 30-32, input VAT Box 48. Seller: Box 39 + periodisk sammanställning.
|
||||
|
||||
**Intra-EU goods — ML 10 kap 42§:**
|
||||
**Intra-EU goods, ML 10 kap 42§:**
|
||||
Text: "Unionsintern leverans" or ref to Article 138 Directive 2006/112/EC. Both VAT numbers required.
|
||||
Seller: Box 35 + periodisk sammanställning. Buyer: Box 20, output VAT Box 30–32, input VAT Box 48.
|
||||
Seller: Box 35 + periodisk sammanställning. Buyer: Box 20, output VAT Box 30-32, input VAT Box 48.
|
||||
|
||||
**Electronics >100k SEK — ML 16 kap 17§:**
|
||||
**Electronics >100k SEK, ML 16 kap 17§:**
|
||||
Mobile phones, integrated circuits, game consoles, tablets, laptops when invoice excl. VAT > SEK 100,000. In effect since 1 April 2021.
|
||||
|
||||
**Other:** Scrap metal/waste (16:14), CO₂ allowances (16:15), gold (16:16). Full scope: 16 kap 6–22§§.
|
||||
**Other:** Scrap metal/waste (16:14), CO₂ allowances (16:15), gold (16:16). Full scope: 16 kap 6-22§§.
|
||||
|
||||
### BAS accounts for reverse charge
|
||||
|
||||
@@ -271,7 +271,7 @@ Mobile phones, integrated circuits, game consoles, tablets, laptops when invoice
|
||||
|
||||
Invoicing in any currency is permitted. Per **ML 17 kap 29§**: VAT amount must be in the company's redovisningsvaluta. For SEK companies: VAT in **both invoice currency and SEK**.
|
||||
|
||||
### Exchange rate sources (ML 8 kap 21–23§)
|
||||
### Exchange rate sources (ML 8 kap 21-23§)
|
||||
|
||||
Two permitted sources (choose one consistently):
|
||||
1. Mid-rate (mittkurs) from **Nasdaq OMX Stockholm AB** (published on Riksbanken's website)
|
||||
@@ -299,14 +299,14 @@ Decision: customer receivables (1510) and supplier payables (2440) → 3960/7960
|
||||
|
||||
### OCR format
|
||||
|
||||
2–25 digit numeric reference. Last digit = check digit via **Luhn algorithm (Modulus 10)**. Recommended length: 5–15 digits. Typically encodes invoice number and/or customer number.
|
||||
2-25 digit numeric reference. Last digit = check digit via **Luhn algorithm (Modulus 10)**. Recommended length: 5-15 digits. Typically encodes invoice number and/or customer number.
|
||||
|
||||
### Control levels
|
||||
|
||||
| Level | Behavior |
|
||||
|---|---|
|
||||
| OCR 1 | Soft — warning only |
|
||||
| OCR 2 | Hard — payment rejected if wrong |
|
||||
| OCR 1 | Soft: warning only |
|
||||
| OCR 2 | Hard: payment rejected if wrong |
|
||||
| OCR 3 | Hard + variable length control |
|
||||
| OCR 4 | Hard + fixed length |
|
||||
|
||||
@@ -322,25 +322,25 @@ Business submits payment files to Bankgirot. Customer right to request repayment
|
||||
|
||||
### Denied VAT deductions
|
||||
|
||||
Skatteverket can deny avdragsrätt when invoices lack mandatory fields per 17 kap 24–28§. Per EU case law (C-272/13): purely formal defects are correctable ("healable"). Material requirements (goods/services in VAT-liable business) are primary; formal are secondary but necessary. Missing VAT amount entirely → new corrected invoice required, deduction only from corrected invoice period.
|
||||
Skatteverket can deny avdragsrätt when invoices lack mandatory fields per 17 kap 24-28§. Per EU case law (C-272/13): purely formal defects are correctable ("healable"). Material requirements (goods/services in VAT-liable business) are primary; formal are secondary but necessary. Missing VAT amount entirely → new corrected invoice required, deduction only from corrected invoice period.
|
||||
|
||||
### Skattetillägg (SFL 49 kap)
|
||||
|
||||
| Situation | Rate |
|
||||
|---|---|
|
||||
| Oriktig uppgift — income tax | 40% |
|
||||
| Oriktig uppgift — VAT/employer contributions | 20% |
|
||||
| Periodization error — income tax | 10% |
|
||||
| Periodization error — VAT (≤4 months, ≤3-month periods) | 2% |
|
||||
| Periodization error — VAT (annual or >4 months) | 5% |
|
||||
| Oriktig uppgift: income tax | 40% |
|
||||
| Oriktig uppgift: VAT/employer contributions | 20% |
|
||||
| Periodization error: income tax | 10% |
|
||||
| Periodization error: VAT (≤4 months, ≤3-month periods) | 2% |
|
||||
| Periodization error: VAT (annual or >4 months) | 5% |
|
||||
|
||||
Deducting ingående moms on non-compliant invoices: **20% skattetillägg**. Felaktigt debiterad moms: buyer gets no deduction; 20% reduced to 1/4 if seller reported and paid. Voluntary correction before investigation normally avoids skattetillägg.
|
||||
|
||||
### Criminal consequences
|
||||
|
||||
BFL: all transactions require verifikationer (5 kap 7§), archived 7 years (7 kap).
|
||||
Bokföringsbrott (11 kap 5§ BrB): up to 2 years, grovt 6 months–6 years.
|
||||
False invoices: skattebrott (Skattebrottslagen) up to 2 years, grovt 6 months–6 years, plus potential penningtvättsbrott.
|
||||
Bokföringsbrott (11 kap 5§ BrB): up to 2 years, grovt 6 months-6 years.
|
||||
False invoices: skattebrott (Skattebrottslagen) up to 2 years, grovt 6 months-6 years, plus potential penningtvättsbrott.
|
||||
|
||||
## 14. BAS kontoplan mapping
|
||||
|
||||
@@ -351,13 +351,13 @@ False invoices: skattebrott (Skattebrottslagen) up to 2 years, grovt 6 months–
|
||||
| 1510 | Kundfordringar (main/group) |
|
||||
| 1511 | Kundfordringar (sub / customer portion split) |
|
||||
| 1512 | Belånade kundfordringar (factoring) |
|
||||
| 1513 | Kundfordringar – delad faktura (ROT/RUT SKV) |
|
||||
| 1513 | Kundfordringar, delad faktura (ROT/RUT SKV) |
|
||||
| 1515 | Osäkra kundfordringar |
|
||||
| 1516 | Tvistiga kundfordringar |
|
||||
| 1518 | Ej reskontraförda kundfordringar |
|
||||
| 1519 | Nedskrivning av kundfordringar (contra, credit balance) |
|
||||
|
||||
### Revenue (30xx–34xx)
|
||||
### Revenue (30xx-34xx)
|
||||
|
||||
| Account | Name |
|
||||
|---|---|
|
||||
@@ -402,7 +402,7 @@ VAT recovery on bad debts permitted under **ML 7 kap 43§** when loss is konstat
|
||||
| Faktureringsavgift | 3540 | 25% VAT |
|
||||
| Öresavrundning | 3740 | No VAT |
|
||||
| Påminnelseavgift | 3930 | No VAT |
|
||||
| Dröjsmålsränta | 8313/8310 | No VAT (financial income) |# Swedish Invoice Compliance — Full Reference
|
||||
| Dröjsmålsränta | 8313/8310 | No VAT (financial income) |# Swedish Invoice Compliance: Full Reference
|
||||
|
||||
## 1. Mandatory invoice fields (ML 17 kap 24§)
|
||||
|
||||
@@ -431,7 +431,7 @@ A fullständig faktura must contain all fields per **17 kap 24§ ML (2023:200)**
|
||||
|
||||
## 2. Förenklad faktura (simplified invoice)
|
||||
|
||||
**ML 17 kap 26–28§**, **SKVFS 2024:16**.
|
||||
**ML 17 kap 26-28§**, **SKVFS 2024:16**.
|
||||
|
||||
Threshold: total **≤ SEK 4,000 including VAT**.
|
||||
|
||||
@@ -449,7 +449,7 @@ Reduced content: date, seller ID (VAT/org number), description of goods/services
|
||||
|
||||
## 4. Electronic vs paper equivalence
|
||||
|
||||
Electronic invoices = identical legal standing (2 kap 9–10§ ML). E-invoicing requires buyer consent (17 kap 20§). PDF by email is a legal faktura but not a structured e-faktura. Archive for **7 years** (BFL 7 kap). Since July 2024, paper originals may be destroyed immediately after digital transfer (amended 7 kap 6§ BFL).
|
||||
Electronic invoices = identical legal standing (2 kap 9-10§ ML). E-invoicing requires buyer consent (17 kap 20§). PDF by email is a legal faktura but not a structured e-faktura. Archive for **7 years** (BFL 7 kap). Since July 2024, paper originals may be destroyed immediately after digital transfer (amended 7 kap 6§ BFL).
|
||||
|
||||
No specific language requirement in ML. VAT amounts must be in SEK if accounting currency is SEK. Skatteverket may request translations.
|
||||
|
||||
@@ -463,7 +463,7 @@ Incorrect original, goods returned, price reduction post-invoicing, partial/full
|
||||
|
||||
### Governing law
|
||||
|
||||
**17 kap 22–23§ ML (2023:200)**.
|
||||
**17 kap 22-23§ ML (2023:200)**.
|
||||
|
||||
### Mandatory content
|
||||
|
||||
@@ -542,7 +542,7 @@ Mandatory header: `cbc:ID`, `cbc:IssueDate`, `cbc:InvoiceTypeCode` (380/381/389)
|
||||
| SE-R-001 | Swedish VAT numbers must be 14 characters (SE + 10 digits + 01) |
|
||||
| SE-R-005 | SE sellers must include "Godkänd för F-skatt" |
|
||||
| SE-R-006 | Valid VAT rates for SE sellers: 6%, 12%, 25% with category S |
|
||||
| SE-R-009 | Bankgiro Account ID: 7–8 characters |
|
||||
| SE-R-009 | Bankgiro Account ID: 7-8 characters |
|
||||
| SE-R-011 | Bankgiro uses PaymentMeansCode=30 |
|
||||
| SE-R-012 | Plusgiro uses PaymentMeansCode=30 |
|
||||
|
||||
@@ -560,7 +560,7 @@ VAT in UBL: `cac:PartyTaxScheme/cbc:CompanyID` = `SE556732170701`.
|
||||
| Löpnummer | BT-1 | `cbc:ID` |
|
||||
| Säljarens moms-nr | BT-31 | `cac:AccountingSupplierParty/.../cbc:CompanyID` |
|
||||
| Köparens moms-nr | BT-48 | `cac:AccountingCustomerParty/.../cbc:CompanyID` |
|
||||
| Namn+adress (säljare) | BT-27, BT-35–39 | `cac:AccountingSupplierParty` |
|
||||
| Namn+adress (säljare) | BT-27, BT-35-39 | `cac:AccountingSupplierParty` |
|
||||
| Varornas mängd+art | BT-129, BT-153 | `cac:InvoiceLine/cbc:InvoicedQuantity` + `cac:Item/cbc:Name` |
|
||||
| Leveransdatum | BT-72 | `cac:InvoicePeriod/cbc:StartDate` or `cbc:TaxPointDate` (BT-7) |
|
||||
| Beskattningsunderlag per skattesats | BT-116 | `cac:TaxSubtotal/cbc:TaxableAmount` |
|
||||
@@ -577,7 +577,7 @@ B2B voluntary as of April 2026. Ministry of Finance launched formal inquiry **5
|
||||
|
||||
### Fakturamodellen
|
||||
|
||||
Company invoices full amount, shows ROT/RUT deduction, reduces "att betala." Customer pays reduced amount **electronically** (cash disqualified since 1 Jan 2020). Company applies to Skatteverket via "Rot och rut – företag." SKV pays company directly (~10 days). **F-skatt required** per HUSFL 6–9§§.
|
||||
Company invoices full amount, shows ROT/RUT deduction, reduces "att betala." Customer pays reduced amount **electronically** (cash disqualified since 1 Jan 2020). Company applies to Skatteverket via "Rot och rut - företag." SKV pays company directly (~10 days). **F-skatt required** per HUSFL 6-9§§.
|
||||
|
||||
### Required invoice fields
|
||||
|
||||
@@ -590,15 +590,15 @@ Company invoices full amount, shows ROT/RUT deduction, reduces "att betala." Cus
|
||||
7. Total excl/incl moms with moms amount
|
||||
8. Calculated skattereduktion amount
|
||||
|
||||
### Deduction rates and caps (2024–2026)
|
||||
### Deduction rates and caps (2024-2026)
|
||||
|
||||
| Parameter | ROT | RUT |
|
||||
|---|---|---|
|
||||
| Standard % | 30% of labor incl. moms | 50% of labor incl. moms |
|
||||
| Standard max/person/year | 50,000 SEK | 75,000 SEK |
|
||||
| Standard combined max | 75,000 SEK (ROT capped at 50k within) | |
|
||||
| 2024 H2 (Jul–Dec) | Max raised to 75k, caps separated, total possible 150k | |
|
||||
| 2025 (12 May–31 Dec) | ROT % raised to **50%** (Betänkande 2024/25:FiU32) | 50% unchanged |
|
||||
| 2024 H2 (Jul-Dec) | Max raised to 75k, caps separated, total possible 150k | |
|
||||
| 2025 (12 May-31 Dec) | ROT % raised to **50%** (Betänkande 2024/25:FiU32) | 50% unchanged |
|
||||
| 2026 | Standard 30%/50% rules resume | |
|
||||
|
||||
### BAS journal entries
|
||||
@@ -610,7 +610,7 @@ Example: 18,000 SEK arbetskostnad = 22,500 inkl. moms (25%), ROT 30% = 6,750 SEK
|
||||
| Account | Debit | Credit |
|
||||
|---|---|---|
|
||||
| 1511 Kundfordringar (customer portion) | 23,875 | |
|
||||
| 1513 Kundfordringar – delad faktura (SKV) | 6,750 | |
|
||||
| 1513 Kundfordringar, delad faktura (SKV) | 6,750 | |
|
||||
| 3010 Försäljning | | 24,500 |
|
||||
| 2610 Utgående moms 25% | | 6,125 |
|
||||
|
||||
@@ -637,22 +637,22 @@ Invoice must include buyer's VAT number and charge **no VAT**.
|
||||
|
||||
### Scenario reference
|
||||
|
||||
**Domestic construction (byggtjänster) — ML 16 kap 13§:**
|
||||
**Domestic construction (byggtjänster), ML 16 kap 13§:**
|
||||
Applies when buyer is taxable person who not only temporarily provides construction services.
|
||||
Seller: Box 41. Buyer: Box 24, output VAT Box 30, input VAT Box 48.
|
||||
|
||||
**EU services (B2B main rule) — ML 16 kap 6§ + 6 kap 33–37§§:**
|
||||
**EU services (B2B main rule), ML 16 kap 6§ + 6 kap 33-37§§:**
|
||||
Swedish business buys services from EU seller under main rule.
|
||||
Buyer: Box 21, output VAT Box 30–32, input VAT Box 48. Seller: Box 39 + periodisk sammanställning.
|
||||
Buyer: Box 21, output VAT Box 30-32, input VAT Box 48. Seller: Box 39 + periodisk sammanställning.
|
||||
|
||||
**Intra-EU goods — ML 10 kap 42§:**
|
||||
**Intra-EU goods, ML 10 kap 42§:**
|
||||
Text: "Unionsintern leverans" or ref to Article 138 Directive 2006/112/EC. Both VAT numbers required.
|
||||
Seller: Box 35 + periodisk sammanställning. Buyer: Box 20, output VAT Box 30–32, input VAT Box 48.
|
||||
Seller: Box 35 + periodisk sammanställning. Buyer: Box 20, output VAT Box 30-32, input VAT Box 48.
|
||||
|
||||
**Electronics >100k SEK — ML 16 kap 17§:**
|
||||
**Electronics >100k SEK, ML 16 kap 17§:**
|
||||
Mobile phones, integrated circuits, game consoles, tablets, laptops when invoice excl. VAT > SEK 100,000. In effect since 1 April 2021.
|
||||
|
||||
**Other:** Scrap metal/waste (16:14), CO₂ allowances (16:15), gold (16:16). Full scope: 16 kap 6–22§§.
|
||||
**Other:** Scrap metal/waste (16:14), CO₂ allowances (16:15), gold (16:16). Full scope: 16 kap 6-22§§.
|
||||
|
||||
### BAS accounts for reverse charge
|
||||
|
||||
@@ -675,7 +675,7 @@ Mobile phones, integrated circuits, game consoles, tablets, laptops when invoice
|
||||
|
||||
Invoicing in any currency is permitted. Per **ML 17 kap 29§**: VAT amount must be in the company's redovisningsvaluta. For SEK companies: VAT in **both invoice currency and SEK**.
|
||||
|
||||
### Exchange rate sources (ML 8 kap 21–23§)
|
||||
### Exchange rate sources (ML 8 kap 21-23§)
|
||||
|
||||
Two permitted sources (choose one consistently):
|
||||
1. Mid-rate (mittkurs) from **Nasdaq OMX Stockholm AB** (published on Riksbanken's website)
|
||||
@@ -703,14 +703,14 @@ Decision: customer receivables (1510) and supplier payables (2440) → 3960/7960
|
||||
|
||||
### OCR format
|
||||
|
||||
2–25 digit numeric reference. Last digit = check digit via **Luhn algorithm (Modulus 10)**. Recommended length: 5–15 digits. Typically encodes invoice number and/or customer number.
|
||||
2-25 digit numeric reference. Last digit = check digit via **Luhn algorithm (Modulus 10)**. Recommended length: 5-15 digits. Typically encodes invoice number and/or customer number.
|
||||
|
||||
### Control levels
|
||||
|
||||
| Level | Behavior |
|
||||
|---|---|
|
||||
| OCR 1 | Soft — warning only |
|
||||
| OCR 2 | Hard — payment rejected if wrong |
|
||||
| OCR 1 | Soft: warning only |
|
||||
| OCR 2 | Hard: payment rejected if wrong |
|
||||
| OCR 3 | Hard + variable length control |
|
||||
| OCR 4 | Hard + fixed length |
|
||||
|
||||
@@ -726,25 +726,25 @@ Business submits payment files to Bankgirot. Customer right to request repayment
|
||||
|
||||
### Denied VAT deductions
|
||||
|
||||
Skatteverket can deny avdragsrätt when invoices lack mandatory fields per 17 kap 24–28§. Per EU case law (C-272/13): purely formal defects are correctable ("healable"). Material requirements (goods/services in VAT-liable business) are primary; formal are secondary but necessary. Missing VAT amount entirely → new corrected invoice required, deduction only from corrected invoice period.
|
||||
Skatteverket can deny avdragsrätt when invoices lack mandatory fields per 17 kap 24-28§. Per EU case law (C-272/13): purely formal defects are correctable ("healable"). Material requirements (goods/services in VAT-liable business) are primary; formal are secondary but necessary. Missing VAT amount entirely → new corrected invoice required, deduction only from corrected invoice period.
|
||||
|
||||
### Skattetillägg (SFL 49 kap)
|
||||
|
||||
| Situation | Rate |
|
||||
|---|---|
|
||||
| Oriktig uppgift — income tax | 40% |
|
||||
| Oriktig uppgift — VAT/employer contributions | 20% |
|
||||
| Periodization error — income tax | 10% |
|
||||
| Periodization error — VAT (≤4 months, ≤3-month periods) | 2% |
|
||||
| Periodization error — VAT (annual or >4 months) | 5% |
|
||||
| Oriktig uppgift: income tax | 40% |
|
||||
| Oriktig uppgift: VAT/employer contributions | 20% |
|
||||
| Periodization error: income tax | 10% |
|
||||
| Periodization error: VAT (≤4 months, ≤3-month periods) | 2% |
|
||||
| Periodization error: VAT (annual or >4 months) | 5% |
|
||||
|
||||
Deducting ingående moms on non-compliant invoices: **20% skattetillägg**. Felaktigt debiterad moms: buyer gets no deduction; 20% reduced to 1/4 if seller reported and paid. Voluntary correction before investigation normally avoids skattetillägg.
|
||||
|
||||
### Criminal consequences
|
||||
|
||||
BFL: all transactions require verifikationer (5 kap 7§), archived 7 years (7 kap).
|
||||
Bokföringsbrott (11 kap 5§ BrB): up to 2 years, grovt 6 months–6 years.
|
||||
False invoices: skattebrott (Skattebrottslagen) up to 2 years, grovt 6 months–6 years, plus potential penningtvättsbrott.
|
||||
Bokföringsbrott (11 kap 5§ BrB): up to 2 years, grovt 6 months-6 years.
|
||||
False invoices: skattebrott (Skattebrottslagen) up to 2 years, grovt 6 months-6 years, plus potential penningtvättsbrott.
|
||||
|
||||
## 14. BAS kontoplan mapping
|
||||
|
||||
@@ -755,13 +755,13 @@ False invoices: skattebrott (Skattebrottslagen) up to 2 years, grovt 6 months–
|
||||
| 1510 | Kundfordringar (main/group) |
|
||||
| 1511 | Kundfordringar (sub / customer portion split) |
|
||||
| 1512 | Belånade kundfordringar (factoring) |
|
||||
| 1513 | Kundfordringar – delad faktura (ROT/RUT SKV) |
|
||||
| 1513 | Kundfordringar, delad faktura (ROT/RUT SKV) |
|
||||
| 1515 | Osäkra kundfordringar |
|
||||
| 1516 | Tvistiga kundfordringar |
|
||||
| 1518 | Ej reskontraförda kundfordringar |
|
||||
| 1519 | Nedskrivning av kundfordringar (contra, credit balance) |
|
||||
|
||||
### Revenue (30xx–34xx)
|
||||
### Revenue (30xx-34xx)
|
||||
|
||||
| Account | Name |
|
||||
|---|---|
|
||||
|
||||
@@ -40,7 +40,7 @@ Total rate unchanged since 2009. Calculated on full gross salary + taxable benef
|
||||
| Born 1937 or earlier | 0% |
|
||||
| Turned 66+ at year start (67+ from 2026) | 10.21% (only ålderspensionsavgift) |
|
||||
| Standard (all others) | 31.42% |
|
||||
| Temporary youth (Apr 2026 – Sep 2027) | 20.81% on salary up to 25,000 SEK/month. Eligible: vid årets ingång fyllt 18, inte 23 (i.e. age 18–22 at Jan 1; born 2003–2007 in 2026, 2004–2008 in 2027). NOT during-year age — Skatteverket rejects 23-year-olds at year start. Source: Prop. 2025/26:66 |
|
||||
| Temporary youth (Apr 2026 to Sep 2027) | 20.81% on salary up to 25,000 SEK/month. Eligible: vid årets ingång fyllt 18, inte 23 (i.e. age 18-22 at Jan 1; born 2003-2007 in 2026, 2004-2008 in 2027). NOT during-year age: Skatteverket rejects 23-year-olds at year start. Source: Prop. 2025/26:66 |
|
||||
|
||||
No avgifter required if total annual compensation from one employer < 1,000 SEK.
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ Check each employee's birth year against calendar year:
|
||||
- Born 1937 or earlier: 0% (no avgifter)
|
||||
- Turned 66 at year's start (born ≤1958 for 2024, ≤1959 for 2025; threshold rises to 67 in 2026): only ålderspensionsavgift = 10.21%
|
||||
- Youth discount: abolished January 1, 2024
|
||||
- New temporary reduction (Apr 1, 2026 – Sep 30, 2027): 20.81% on salary up to 25,000 SEK/month per individual per calendar month. Eligibility: at årets ingång (1 Jan) the employee must have **turned 18 but NOT turned 23** — i.e. ages 18–22 at year start (born 2003–2007 for tax year 2026, 2004–2008 for 2027). Statutory wording: *"personer som vid årets ingång har fyllt 18 men inte 23 år"* (Prop. 2025/26:66 / Lag om särskild beräkning av arbetsgivaravgifter och allmän löneavgift för personer som vid årets ingång har fyllt 18 men inte 23 år). The Riksdag betänkande title "19–23-åringar" describes the during-year age and is NOT the eligibility test — Skatteverket's AGI validator rejects 23-year-olds at year start.
|
||||
- New temporary reduction (Apr 1, 2026 to Sep 30, 2027): 20.81% on salary up to 25,000 SEK/month per individual per calendar month. Eligibility: at årets ingång (1 Jan) the employee must have **turned 18 but NOT turned 23**: i.e. ages 18-22 at year start (born 2003-2007 for tax year 2026, 2004-2008 for 2027). Statutory wording: *"personer som vid årets ingång har fyllt 18 men inte 23 år"* (Prop. 2025/26:66 / Lag om särskild beräkning av arbetsgivaravgifter och allmän löneavgift för personer som vid årets ingång har fyllt 18 men inte 23 år). The Riksdag betänkande title "19-23-åringar" describes the during-year age and is NOT the eligibility test: Skatteverket's AGI validator rejects 23-year-olds at year start.
|
||||
|
||||
No avgifter required if total annual compensation from a single employer < 1,000 SEK.
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ BAS uses a 4-digit decimal system: first digit = class, first two = group, all f
|
||||
| 6xxx | K | Övriga externa kostnader (kontorsmaterial, telefon, reklam) | Other external costs | Income statement | No (#RES) |
|
||||
| 7xxx | K | Personalkostnader, avskrivningar | Personnel, depreciation | Income statement | No (#RES) |
|
||||
| 8xxx | I/K | Finansiella poster, bokslutsdispositioner, skatt | Financial items, appropriations, tax | Income statement | No (#RES) |
|
||||
| 9xxx | — | Internredovisning | Internal/management | Off-report | N/A |
|
||||
| 9xxx | - | Internredovisning | Internal/management | Off-report | N/A |
|
||||
|
||||
## Account type (#KTYP) behavior in SIE4
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ Every SRU submission consists of exactly two files:
|
||||
|
||||
| File | Content | Max size |
|
||||
|---|---|---|
|
||||
| `INFO.SRU` | Submitter metadata (who is filing) | — |
|
||||
| `INFO.SRU` | Submitter metadata (who is filing) | N/A |
|
||||
| `BLANKETTER.SRU` | All blankett blocks with tax data | 5 MB |
|
||||
|
||||
File names are case-insensitive but must not be renamed (browsers appending `(1)` cause rejection).
|
||||
@@ -57,7 +57,7 @@ Posts must appear in this exact order. Omit optional posts entirely if not used.
|
||||
|
||||
Mandatory posts: `#PRODUKT`, `#FILNAMN`, `#ORGNR`, `#NAMN`, `#POSTNR`, `#POSTORT`.
|
||||
|
||||
The `#PRODUKT` value is always `SRU` (post-2013). There is no `#PERIOD` post — period is encoded in each blankett type string.
|
||||
The `#PRODUKT` value is always `SRU` (post-2013). There is no `#PERIOD` post: period is encoded in each blankett type string.
|
||||
|
||||
## BLANKETTER.SRU structure
|
||||
|
||||
@@ -80,9 +80,9 @@ An aktiebolag filing INK2 must include three separate blocks in this file:
|
||||
|
||||
| Block | BlankettTyp example | Content |
|
||||
|---|---|---|
|
||||
| INK2 | `INK2-2024P4` | Huvudblankett (page 1) — summary fields |
|
||||
| INK2R | `INK2R-2024P4` | Räkenskapsschema (pages 2-3) — balance sheet + income statement |
|
||||
| INK2S | `INK2S-2024P4` | Skattemässiga justeringar (page 4) — tax adjustments |
|
||||
| INK2 | `INK2-2024P4` | Huvudblankett (page 1): summary fields |
|
||||
| INK2R | `INK2R-2024P4` | Räkenskapsschema (pages 2-3): balance sheet + income statement |
|
||||
| INK2S | `INK2S-2024P4` | Skattemässiga justeringar (page 4): tax adjustments |
|
||||
|
||||
### Period suffix rules
|
||||
|
||||
@@ -90,16 +90,16 @@ The suffix after the hyphen encodes when the fiscal year ENDS:
|
||||
|
||||
| Suffix | Fiscal year ends in months |
|
||||
|---|---|
|
||||
| P1 | January–April |
|
||||
| P2 | May–August |
|
||||
| P1 | January-April |
|
||||
| P2 | May-August |
|
||||
| P3 | Special cases |
|
||||
| P4 | September–December (calendar-year companies) |
|
||||
| P4 | September-December (calendar-year companies) |
|
||||
|
||||
The year in the type string is the INCOME YEAR (inkomstår), not the filing year. A company with fiscal year 2024-01-01 to 2024-12-31 uses period `2024P4`.
|
||||
|
||||
### Each block is independent
|
||||
|
||||
Every blankett block carries its own `#IDENTITET` line. The `DatFramst` timestamp determines version precedence — later timestamps replace earlier submissions for the same org number and blankett type.
|
||||
Every blankett block carries its own `#IDENTITET` line. The `DatFramst` timestamp determines version precedence: later timestamps replace earlier submissions for the same org number and blankett type.
|
||||
|
||||
## Encoding and formatting rules
|
||||
|
||||
@@ -133,7 +133,7 @@ Always 12 digits, format `SSÅÅMMDDNNNK`, no hyphens.
|
||||
|
||||
### Checkbox fields
|
||||
|
||||
Value: uppercase `X`. If unchecked, **omit the entire #UPPGIFT line** — never send empty values.
|
||||
Value: uppercase `X`. If unchecked, **omit the entire #UPPGIFT line**: never send empty values.
|
||||
|
||||
### The `#` character
|
||||
|
||||
@@ -218,14 +218,14 @@ Skatteverket validates on upload and returns a mottagningskvittens.
|
||||
- Invalid blankett type string
|
||||
|
||||
### Most frequent real-world failures
|
||||
1. **Renamed files** — browsers adding `(1)` suffix
|
||||
2. **Wrong period** — using `2025P4` when income year is 2024
|
||||
3. **Amounts with decimals or spaces** — `7135.50` or `7 135`
|
||||
1. **Renamed files**: browsers adding `(1)` suffix
|
||||
2. **Wrong period**: using `2025P4` when income year is 2024
|
||||
3. **Amounts with decimals or spaces**: `7135.50` or `7 135`
|
||||
4. **UTF-8 encoding** instead of ISO 8859-1
|
||||
5. **Including #UPPGIFT for zero/empty values**
|
||||
6. **Duplicate field codes** in same blankett block
|
||||
7. **10-digit or hyphenated org number** instead of 12-digit
|
||||
8. **Non-existent SRU codes** — mapping BAS accounts to wrong field codes
|
||||
8. **Non-existent SRU codes**: mapping BAS accounts to wrong field codes
|
||||
|
||||
## BAS-to-SRU mapping: critical rules
|
||||
|
||||
|
||||
@@ -4,11 +4,11 @@ Complete field code (fältkod) tables for INK2, INK2R, and INK2S blankett types,
|
||||
|
||||
## Table of Contents
|
||||
|
||||
1. [INK2 — Huvudblankett](#ink2)
|
||||
2. [INK2R — Räkenskapsschema: Balance Sheet Assets](#ink2r-assets)
|
||||
3. [INK2R — Räkenskapsschema: Balance Sheet Equity & Liabilities](#ink2r-equity)
|
||||
4. [INK2R — Räkenskapsschema: Income Statement](#ink2r-income)
|
||||
5. [INK2S — Skattemässiga justeringar](#ink2s)
|
||||
1. [INK2: Huvudblankett](#ink2)
|
||||
2. [INK2R: Räkenskapsschema: Balance Sheet Assets](#ink2r-assets)
|
||||
3. [INK2R: Räkenskapsschema: Balance Sheet Equity & Liabilities](#ink2r-equity)
|
||||
4. [INK2R: Räkenskapsschema: Income Statement](#ink2r-income)
|
||||
5. [INK2S: Skattemässiga justeringar](#ink2s)
|
||||
6. [BAS-to-SRU Mapping: Balance Sheet](#bas-balance)
|
||||
7. [BAS-to-SRU Mapping: Income Statement](#bas-income)
|
||||
8. [Sign conventions](#signs)
|
||||
@@ -16,12 +16,12 @@ Complete field code (fältkod) tables for INK2, INK2R, and INK2S blankett types,
|
||||
---
|
||||
|
||||
<a id="ink2"></a>
|
||||
## 1. INK2 — Huvudblankett (main declaration, page 1)
|
||||
## 1. INK2: Huvudblankett (main declaration, page 1)
|
||||
|
||||
| SRU | Row | Description |
|
||||
|---|---|---|
|
||||
| 7011 | — | Räkenskapsår fr.o.m. (YYYYMMDD) |
|
||||
| 7012 | — | Räkenskapsår t.o.m. (YYYYMMDD) |
|
||||
| 7011 | N/A | Räkenskapsår fr.o.m. (YYYYMMDD) |
|
||||
| 7012 | N/A | Räkenskapsår t.o.m. (YYYYMMDD) |
|
||||
| 7113 | 1.1 | Överskott av näringsverksamhet |
|
||||
| 7114 | 1.2 | Underskott av näringsverksamhet |
|
||||
| 7132 | 1.4 | Underlag för särskild löneskatt på pensionskostnader |
|
||||
@@ -34,7 +34,7 @@ Fields 7113/7114 correspond directly to INK2S fields 8020/8021.
|
||||
---
|
||||
|
||||
<a id="ink2r-assets"></a>
|
||||
## 2. INK2R — Balance Sheet: Assets (Tillgångar)
|
||||
## 2. INK2R: Balance Sheet: Assets (Tillgångar)
|
||||
|
||||
| SRU | Row | Description |
|
||||
|---|---|---|
|
||||
@@ -68,7 +68,7 @@ Fields 7113/7114 correspond directly to INK2S fields 8020/8021.
|
||||
---
|
||||
|
||||
<a id="ink2r-equity"></a>
|
||||
## 3. INK2R — Balance Sheet: Equity & Liabilities (Eget kapital och skulder)
|
||||
## 3. INK2R: Balance Sheet: Equity & Liabilities (Eget kapital och skulder)
|
||||
|
||||
| SRU | Row | Description |
|
||||
|---|---|---|
|
||||
@@ -100,7 +100,7 @@ Fields 7113/7114 correspond directly to INK2S fields 8020/8021.
|
||||
---
|
||||
|
||||
<a id="ink2r-income"></a>
|
||||
## 4. INK2R — Income Statement (Resultaträkning)
|
||||
## 4. INK2R: Income Statement (Resultaträkning)
|
||||
|
||||
| SRU | Row | Description | Sign |
|
||||
|---|---|---|---|
|
||||
@@ -137,7 +137,7 @@ Fields 7113/7114 correspond directly to INK2S fields 8020/8021.
|
||||
---
|
||||
|
||||
<a id="ink2s"></a>
|
||||
## 5. INK2S — Skattemässiga justeringar (tax adjustments, page 4)
|
||||
## 5. INK2S: Skattemässiga justeringar (tax adjustments, page 4)
|
||||
|
||||
| SRU | Row | Description |
|
||||
|---|---|---|
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user