* fix(sie-import): accept tab as field separator (Bollbok exports) The SIE 4 spec allows either space or tab between fields, but splitSIELine() only treated space (0x20) as a separator. Bollbok exports tab-separated lines for every record except #RAR, which silently swallowed all #IB / #UB / #KONTO / #KTYP / #VER / #TRANS records — imports appeared empty even though the file was well-formed. Also adds a parser-side diagnostic that emits a warning when raw #IB or #VER lines are present in the input but parsing produced none. The previous silent failure is how this bug stayed hidden; the warning gives the import preview something visible to surface next time. Verified against two real reproducer files (Sean / Erik Hellqvist): erik h 2025.SE (UTF-8): 166 accounts, 66 IB, 4 UB, 11 RES, 95 vouchers, 198 TRANS. erik h 2026.SE (CP437): 166 accounts, 66 IB, 4 UB, 0 vouchers. Both now parse with zero warnings/errors. Tests: + 8 Bollbok-shape tab-separated fixtures (2025 + 2026 quoting variants). + 4 silent-failure diagnostic-warning tests. All 74 sie-parser tests pass; 155/155 in lib/import; 64/64 downstream callers. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(sie-import): address PR #513 review — strip #KTYP quotes, suppress redundant aggregate warning Two non-blocking P2 findings from Greptile review on PR #513: 1. #KTYP handler stored fields[2] directly, so Bollbok 2026 exports (#KTYP\t1510\t"T") stored '"T"' with literal quotes instead of 'T'. Latent defect — accountType is unused downstream today, but my tab- separator fix made the quoted-value path reachable. Now routes through parseStringField so both Bollbok 2025 (unquoted T) and 2026 (quoted "T") land as 'T'. 2. The aggregate "kontrollera fältavskiljare och teckenkodning" warning fired alongside per-record 'error'-severity issues for malformed #IB / #VER records, producing a misleading hint when the parser had already pinpointed the structural problem. Now suppressed when an error-severity issue with the same tag already exists. Test coverage: + accountType asserted to be 'T' (not '"T"') in both 2025 + 2026 shapes. + VER aggregate-warning test now uses #VER lines without { } blocks (silent loss, no per-record error) — the canonical case the diagnostic is designed for. + New suppression test: bare #VER produces per-record errors AND the aggregate warning is absent. 75/75 sie-parser tests pass; 156/156 in lib/import. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * wip: agent chat + composer + memory + document extraction In-progress work on this branch beyond the SIE-import fixes: - Specialized accountant agent (composer + intents + chat loop) - Persistent agent_conversations/messages, agent_profiles, agent_memory - /chat surface + /onboarding/agent + /settings/agent-memory - document-extraction extension with status hooks - MCP server staging refactor + new skills (atoms, bank reconciliation, customer onboarding, kreditfaktura) - pending_operations rejection feedback (category + reason) + realtime - TIC company profile cached snapshot on companies - 17 migrations (all additive — see prior conversation analysis) Parked while branch waits for review/merge. Migrations are already applied to prod. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * refactor(tic): migrate company-data client from api-core v1 to Lens v2 Swaps the seven TIC company-data endpoints we call from the api-core paths (`/datasets/companies/{companyId}/...`, `/search/companies`) to the Lens equivalents (`/companies/{id}/...`, `/search-public/companies`). Hard cutover; proxy pattern preserved. Schema shifts handled inside the extension so consumers (TicWorkspace, Step2CompanyDetails) don't need changes: - `/companies/{id}/bank-accounts` now returns Bankgirot only — map to the existing `{ type, accountNumber, bic }` shape, drop terminated. - `/companies/{id}/industries` returns a discriminated array — filter to `companyIndustryCodeType === 'sni2007'` to preserve v1 behavior. - `/companies/{id}/phone-numbers` renamed the field to `phoneNumberFormatted` (fall back to `e164PhoneNumber`). - `/companies/{id}/documents` replaces `/financial-report-summaries`; filter `type === 'annualReport'` and read nested `financialReportMetadata` to rebuild the legacy summary shape. - `isCeased` is now a top-level boolean; `activityStatus` is an enum. Translate enum -> 'ceased' for the workspace's existing check. BankID identity flow (id.tic.io) is untouched — separate TIC product. Note: deploy gated on the TIC proxy being flipped to lens-api.tic.io with an `x-api-key` Lens key. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * feat(tic): expose v2 onboarding & workspace data Adds six new Lens (v2) fetchers on top of the migration that already landed in this branch, surfacing the data through /lookup and /profile. New fetchers in lib/tic-client.ts: - getFiscalYears /companies/{id}/fiscal-years - getAccountingPeriods /companies/{id}/accounting-periods - getPayrolls /companies/{id}/payrolls - getSignatory /companies/{id}/signatory - getRepresentatives /companies/{id}/representatives - getCompanyStatus /companies/{id}/status /lookup gains a fiscalYear field (current fiscal-year configuration) so onboarding Step 2 can skip manual MM-DD entry. CompanyLookupResult extended with optional fiscalYear; consumers without it keep working. /profile gains five new sections on TICCompanyProfile: - fiscalYear + fiscalYearHistory current + deduped period list - signatory firmateckning descriptions - board + representatives board-composition summary + active officers (positionEnd in future) - payrolls payroll2 array newest-first, with deviation vs annual-report - statuses current+historical status entries with red/yellow/green/neutral color TicWorkspace renders the new data as four cards (Status, Fiscal year + Signatory, Board + Representatives, Payroll history) plus a Badge mapping for the traffic-light status color. Tests: 52 -> 60 passing. Added unit tests for the new fetchers' v2 paths, fiscal-year auto-fill in /lookup, and full v2 profile coverage. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * feat(onboarding,agent): lean on TIC v2 to skip Steps 1 & 3 and sharpen Opus Three small wins that unlock more of the v2 cutover. No new endpoints — the data was already in the snapshot, just not flowing where it should. Step 1 (entity_type) — deep-link path only: - /lookup now returns `legalEntityType` and `registrationDate` (added to CompanyLookupResult). - /onboarding/page.tsx does a server-side /lookup prefetch when ?org_number= is present (BankID picker path), maps "AB"/"EF" to the EntityType enum, and seeds Step 1's radio. Falls through silently for unsupported codes (HB, KB, …) and on TIC errors. - WelcomeOnboarding hydrates ticLookup state from the server prefetch so Step 2's debounced client fetch and Step 3's first-year inference both have data on first render — no flash. Step 3 (is_first_fiscal_year) — every path: - deriveFirstYearDefaults() parses ticLookup.registrationDate and returns { isFirstFiscalYear, firstYearStart } when registered <12 months ago. Step 3's initialData picks it up; the user only confirms the end date. - Settings value wins when present so existing users with a saved choice don't get overridden. Composer prompt: - redactTic allowlist was the bottleneck — it stripped beneficialOwners, signatory, board, representatives, payrolls, statuses, fiscalYear before Opus ever saw the JSON. Existing filterRedundantQuestions ownership logic was effectively dead because the data path was severed. Expanded allowlist to include those v2 sections; kept bankAccounts/ email/phone/fiscalYearHistory/financialReports out (token cost > signal). - SYSTEM_PROMPT now documents each v2 section and the rules Opus should apply: payroll signal switches from "registration.payroll" to "actual payrolls[] filings" (kills the false-positive swedish-payroll selection for newly registered employers); beneficialOwners[] becomes the authoritative ownership source (single owner → FMB modifier; multiple → multi-owner); statuses[] isCeased/red triggers an uncertainty_note. Tests: 4112 unchanged. Build: green. No schema or migration changes. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(agent): onboarding polish + composer signal fixes from first-run feedback UX: - AgentOnboarding: drop the 10s "Hoppa över — fortsätt med standardval" escape hatch. The fallback path runs automatically on timeout; the manual skip just teased users into a degraded build. - ReviewCard step 2 title: "Stämma av detaljerna" → "Stäm av detaljerna" (imperative form matches the rest of the steps). - Drop em-dashes from user-visible Swedish strings in AgentOnboarding + ReviewCard (fallback labels, subtitles, placeholder, error message, final CTA). Em-dashes survive in code comments only. - "Fråga min revisor" → "Fråga min assistent" everywhere it surfaced: AgentTrigger, AgentSparkleButton, ReviewCard preview, ReviewCard fallback comment, general.help intent buttonLabel + prompt text. - AgentTrigger / AgentSparkleButton / EmptyState.AgentHelpLink / TransactionInboxCard ask-button all gated on identity.isVerified. Pre-onboarding users no longer see the floating FAB or per-page Sparkle buttons. AgentSheetProvider.identity gained an isVerified field; (dashboard)/layout.tsx selects agent_profiles.verified_at and passes it through. TIC verksamhetsbeskrivning: - tic/index.ts /profile: /companies/{id}/purposes returns every historical verksamhetsföremål filing. Picking [0] was returning the oldest "äga och förvalta" holding-company boilerplate for companies whose later filings narrowed the purpose ("tillhandahålla företagskrediter och finansiella teknologilösningar"). Sort the array by lastUpdatedAtUtc desc and take the most recent non-empty purpose. Composer banking signal: - loadBankingSummary now reads journal_entry_id alongside description/amount/date and returns per-counterparty `direction` ('in' | 'out' | 'mixed') and `has_unbooked` (any row not yet booked). Aggregate `unbooked_count` accompanies the rollup. - buildUserPrompt emits each counterparty as `Name: 12 345 kr (ut, OBOKFÖRD)` so Opus can tell income from cost on sight and tell which counterparties are still open questions. - SYSTEM_PROMPT now explicitly forbids verification questions about counterparties whose direction is unambiguous AND status is 'bokförd'. Should kill the regressions from the first agent build: * "Konsult, J 98 565 kr — intäkt eller kostnad?" when the amount is clearly negative. * "ALMI AB 493 000 kr — lån eller bidrag?" when the transaction is already categorized. Tests: 4112 unchanged. Build: green. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(agent,ui): representation needs deltagare+syfte, drop duplicate doc icon Representation booking: - transaction-categorization prompt now requires the agent to capture participants (name + company) AND purpose before staging a representation categorization. SKV's representationsregler + ML 8 kap require the verifikation to document who attended and what the meeting was about; without that the avdrag is denied and the post should be booked as non-deductible / personalkostnad. - The agent confirms back in plain text (audit trail in the chat), writes the deltagare + syfte to gnubok_remember_fact (long-term), THEN stages. Saknas deltagare/syfte: explicitly tell the user the avdrag won't go through and offer the non-deductible alternative. - Known gap (followup, not this commit): the staged op's journal entry description doesn't yet carry the deltagare text. Until we add a `notes` field to gnubok_categorize_transaction, the audit trail lives in chat + agent_memory only. TransactionInboxCard duplicate attachment indicator: - Drop the FileCheck2 "open document" button from the trailing slot. TransactionAttachmentIndicator (Paperclip) next to the description already opens the underlag on click. Two icons doing the same thing was noise. Cleaned up the unused state (isOpeningDoc, hasAttachment, handleOpenAttachment) and dropped now-unused imports (FileCheck2, useToast). Tests: 4112. Build: green. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * feat(agent,nav): notes on verifikation + redesigned sidebar Audit-trail notes for representation: - gnubok_categorize_transaction gains an optional `notes` string. Threaded through stagePendingOperation → commitCategorizeTransaction → createTransactionJournalEntry, which now appends notes to the entry's description (capped at 500 chars). The verifikation an external auditor reads now carries deltagare + syfte directly — not just chat history / agent_memory. - transaction-categorization prompt updated: representation flow now REQUIRES the agent to pass deltagare+syfte via the notes parameter. Without it the booking is non-deductible / personalkostnad per SKV. DashboardNav redesign: - Top section: flat, no header — Hem (/chat), Underlag (was Dokumentinkorg), Transaktioner, Granskning. Always visible; the inline badge on /pending shows the count when there are pending ops. - Mid section: four collapsible dropdowns (Försäljning, Inköp, Redovisning, Personal). Each auto-expands when the active route lives inside it. KPI moved from main to Redovisning. Extension nav items (TIC workspace, etc.) fold into Redovisning. - Bottom-left: new account popover (DropdownMenu, opens upward) holding CompanySwitcher, Inställningar, Hjälp, Support, Logga ut. Replaces the old top company-switcher card + the bottom Support/Logout block. - Mobile drawer mirrors the new structure: top items as flat list, same four dropdown groups, separate "Tillägg" section when extensions exist, "Mitt konto" section at the bottom. - i18n: invoice_inbox label renamed "Dokumentinkorg" → "Underlag" ("Documents" in en). New keys: mitt_konto, group_extensions. Tests: 4112. Build: green. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(nav): unhide Leverantörer under Inköp The /suppliers entry existed in navItems but was marked hidden — leftover from when the supplier list lived elsewhere in the IA. Removing the hidden flag puts Leverantörer in the Inköp dropdown alongside Leverantörsfakturor. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(nav): CompanySwitcher back to top-left, user account moves bottom-left The previous pass collapsed both concepts into the bottom popover. They mean different things: the company is the org context everything below operates against (top-of-sidebar, scannable); the user is the account-holder (bottom-of-sidebar, where settings/logout live). - (dashboard)/layout.tsx: fetch profiles.full_name alongside the existing identity queries; pass userName + userEmail into DashboardNav. - DashboardNav: restore CompanySwitcher at the top of the sidebar (pre-redesign placement). Bottom-left popover trigger now shows the signed-in user's name + single-letter initial (accountInitial helper falls back to email's first char, then "?"). Popover header carries full name + email; items unchanged (Inställningar, Hjälp, Support, Logga ut). CompanySwitcher removed from inside the popover — nested dropdowns were awkward and the top placement is where it belongs. Tests: 4112. Build: green. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(pending): trim the agent context strip The row-level AgentContextStrip on /pending was rendering the model name (eu.anthropic.claude-sonnet-4-6) and the full atoms array (horizontal/swedish-vat, vertical/konsult-it, …) inline, which made each row 60–80 chars of mostly-the-same metadata. Reviewers never scan that text; they scan amounts and decide approve/reject. Now the strip shows only the conversation deep-link (Konversation #<short id>) — the one piece that's actually useful for diving into context. Model + atoms remain available in agent_metadata for debugging surfaces; they're just not in the list view. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(agent): shared ground rules + paragraph breaks after tool calls Two regressions surfaced in real usage. Both are systemic. Shared agent ground rules: - /chat surface (general.help) was happily inventing four-digit BAS account numbers ("Debet 6212 - Molntjänster…", "Kredit 2614 - Ingående moms…") and proposing booking decisions on invoices it had never seen, with no follow-up questions about currency/scope/etc. - transaction-categorization had those rules baked into its prompt; general-help / bokslut-step / invoice-draft / supplier-invoice-review / verifikation-draft / vat-review never inherited them. - Extracted lib/agent/intents/shared-rules.ts with five cross-cutting rules: underlag first (check inbox + ask user to upload to Dokumentinkorgen when missing), ask follow-ups when ambiguous, never write four-digit BAS account numbers in chat (category names only), cite atoms / load skills (don't guess), check counterparty history before proposing. - Injected renderAgentGroundRules() into all six intents above. transaction-categorization left alone — it has more detailed inline rules tied to its specific underlag-flow. Paragraph break after tool calls: - text_delta from the model often resumes after a tool call without a leading newline ("kategoriseras." → gnubok_query_journal runs → "Inget historik hittades…" appended directly). Markdown rendered the concatenation as one paragraph. - AgentChat text_delta handler now inserts \n\n when (a) the buffer ends with text content, (b) the incoming delta starts with text content, (c) at least one tool call has run, and (d) the buffer doesn't already end with a blank line. Tests: 4112. Build: green. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(nav): default-open dropdown groups; closing is per-user Dropdowns started collapsed which meant first-time users had to open each group to discover what's inside. Inverted the state: default open, user can collapse, active route still forces a group open. - manualExpanded → manualCollapsed (semantics flip) - toggleGroup unchanged externally; flips the bit - isGroupExpanded returns !manualCollapsed[g] || hasActiveChild Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * feat(agent): rate-safe v1→v2 TIC upgrade, counterparty defaults, profile settings Three pre-ship quality wins. Rate-limit-safe TIC v2 upgrade: - The /profile endpoint fans out to ~13 Lens calls; the account has a ~3000/mo ceiling. Force-refreshing every pre-v2 (v1) snapshot across the customer base would blow the budget. - ensureTicSnapshot gains an `upgradeV1` flag. A cached snapshot still inside the 7-day window is re-fetched only when (a) the caller passes upgradeV1 AND (b) the snapshot is v1-shaped (missing the v2-only `statuses` key). Gated to the two agent-onboarding call sites — a deliberate, once-per-company action and the only consumer of the v2 sections. Workspace + signup keep the natural 7-day staleness, so the v1→v2 migration is lazy and bounded to companies actually building an agent. Known-counterparty defaults (shared-rules): - Agent now proposes a sensible default for well-known counterparties instead of asking the same question monthly: Almi → lån, Tillväxtverket/ Vinnova/EU-stöd → bidrag, Skatteverket → skatt/avgift or återbäring, Bolagsverket → avgift, Försäkringskassan → ersättning, EF private withdrawal → eget uttag. Stated as an assumption the user can correct, not a hard rule — underlag/history still wins. Företagsprofil settings page: - New /settings/agent-profile (Företagsprofil / "Company profile"): view + edit the agent's company profile after onboarding — assistant name + avatar, the profile summary the agent reasons from, and a read-only chip view of loaded specialities (atoms). Backed by the existing GET/PATCH /api/agent/profile. - New GET /api/agent/atom-titles?ids= resolves atom slugs → human titles for the chips (registry is globally-readable reference data). - Added to SettingsSidebar; i18n keys agent_profile (sv "Företagsprofil" / en "Company profile"). Note: /chat already redirects unverified users to / (chat layout guard), and / renders WelcomeGate → /onboarding/agent. No redirect work needed. AgentSetupBanner.tsx is orphaned dead code (WelcomeGate superseded it). Tests: 4112. Build: green. Both new routes compile. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * feat(nav,agent): Hem=Översikt + separate Assistent button; memory dedup Nav restructure: - "Hem" now points to / (Översikt dashboard) again, not /chat. The agent chat gets its own top-level nav entry "Assistent" (Sparkles icon) → /chat. Mobile bottom nav mirrors this (Hem / Assistent / Transaktioner). - / restored to render DashboardContent (the Översikt) for built-agent users instead of redirecting to /chat. Users who haven't built their assistant yet still get WelcomeGate (the build-agent checklist); once verified, / shows the dashboard. Chat is reachable anytime via its nav entry. Restored main's dashboard data-fetch; added an agent_profiles verified_at probe to drive the WelcomeGate branch. - i18n: nav.assistant ("Assistent" / "Assistant"). agent_memory dedup (gnubok_remember_fact): - The agent re-remembers the same fact constantly (e.g. "Vercel = omvänd skattskyldighet" on every Vercel categorization), which would bloat agent_memory with paraphrases over months. - Before insert, compare the incoming fact against the 300 most-recent active memories by word-set Jaccard similarity (lowercased, punctuation- stripped, stopwords dropped). A near-duplicate (≥0.82) is treated as already-known: bump its relevance toward the new score + refresh updated_at instead of writing a new row. Embedding-free, zero added latency beyond one bounded SELECT. Tests: 4112. Build: green. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(agent,nav): företagsprofil=Bolagsuppgifter, avatar nav icon, dedupe greeting Företagsprofil settings page (the right content this time): - Replaced the agent atoms/summary panel with CompanyProfileView — a read-only "Bolagsuppgifter" view of the cached TIC company snapshot (name, org-nr, form, address, F-skatt/Moms/Arbetsgivare, SNI, bank, verksamhet, employees, latest financials, status traffic-lights, fiscal year, firmateckning, företrädare). Server component reads the companies.tic_snapshot column directly — no extension import, stays inside the core-build boundary. - Route renamed /settings/agent-profile → /settings/company-profile. Removed the old AgentProfilePanel + the now-unused /api/agent/atom-titles endpoint. "Assistent" nav icon = the agent's chosen avatar: - DashboardNav reads agent identity from AgentSheetProvider and renders the onboarding-chosen avatar for the /chat ("Assistent") entry across desktop sidebar, mobile drawer, and mobile bottom nav. Falls back to the Sparkles glyph pre-onboarding (no avatar yet). Nav cleanup: - Dropped the beta badge from Underlag. - Filtered the TIC workspace (/e/general/tic, "Företagsprofil") out of the nav — the same Bolagsuppgifter now lives under Inställningar → Företagsprofil, so it shouldn't appear in two places. Doubled intake greeting fix: - /chat/intake fires an invoke with no conversation_id, then swaps the URL to /chat/[id] the instant the `conversation` event lands — which can beat the greeting being persisted. /chat/[id] then hydrated with 0 messages and, because the auto-fire guard keyed on (id && messages>0), fired a SECOND invoke on the same conversation → two greetings. Guard now keys on conversation-id presence alone: a set id means resume, never bootstrap. Closes the race. Tests: 4112. Build: green. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(agent): paragraph-break-after-tool split words mid-stream The earlier "insert \n\n when text resumes after a tool call" heuristic re-evaluated on EVERY text_delta (any delta not starting/ending with whitespace, once a tool had run). Streaming deltas arrive in sub-word chunks, so it injected breaks between fragments of the same word: "minnes\n\nno\n\nterna", "kund\n\nrep\n\nresentation". Replace the per-delta heuristic with a consume-once ref: - tool_use sets breakBeforeNextTextRef = true - the next text_delta consumes it: prepends \n\n exactly once (only when the buffer has content, doesn't already end in whitespace, and the delta doesn't start with whitespace), then clears the flag So the break fires once per tool→text resume, never mid-word. Build: green. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(agent): much shorter replies, representation headcount + VAT cap, dot separator Brevity (system-prompt Svarsformat — affects every reply): - Hard "korthet är regel nummer ett": aim for 2-4 sentences, lead with the answer/action, no warm-up ("Här är vad som gäller…"), don't derive VAT in prose, don't restate what the approval card shows, one question at a time. The agent was writing textbook-length essays. Representation rule now in shared-rules (so verifikation-draft, vat-review, etc. all get it — previously only transaction-categorization had it, which is why the verifikation flow guessed 25% VAT and skipped the cap): - Require ANTAL deltagare (headcount), not just one name — the moms deduction is per person (underlag cap 300 kr/person ex moms). - Use the receipt's ACTUAL VAT rate (usually 12% on food), never assume 25%. - Meal representation isn't income-tax deductible (post-2017); whole cost booked as non-deductible representation. Verifikation description separator: - createTransactionJournalEntry appended notes with an em-dash ("Utlägg Eatnam — Deltagare:…"), violating house style. Switched to a middle dot " · ". journal_entries has no separate notes column — the description IS the BFL verifikationstext / audit field, so deltagare + syfte correctly live there. Tests: 4112. Build: green. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(settings): tidy Bolagsuppgifter — no status colours, clean firmateckning From first-look feedback on the Företagsprofil page: - Status: dropped the coloured traffic-light badges (red/yellow/green). Per the design system semantic colour is data-only, never chrome, so status now renders as plain label + date. Also filtered to dated entries only — Bolagsverket emits flags like "Har aldrig varit verksam" with no date that read as noise next to the real status. Ceased status gets muted destructive text (the one chrome colour the system keeps). - Firmateckning: the source text carries ">" list markers and crams several rules onto one line, and repeats "Firman tecknas av styrelsen" across rows. cleanSignatory() strips the markers, normalises whitespace, splits run-on "Firman tecknas …" clauses onto separate lines, and the render dedupes — so each rule reads as its own sentence. Build: green. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(mcp): inbox items expose all terminal links + processed flag The Eatnam receipt was booked against its bank transaction (so the inbox row had matched_transaction_id + created_journal_entry_id set), yet the agent reported it as loose/unmatched and a duplicate risk. Root cause: gnubok_list_inbox_items only selected and returned matched_supplier_id + created_supplier_invoice_id — the supplier-invoice path. The transaction-match and direct-journal-entry paths were invisible, so any receipt cleared via /transactions looked unprocessed. - list_inbox_items now selects + returns matched_transaction_id and created_journal_entry_id alongside the supplier fields, plus a derived `processed` boolean (true when ANY of the three terminal links is set). - New unprocessed_only=true input filters to items with no terminal link — the "what still needs handling" view that prevents the agent from flagging already-booked docs as duplicates. (Fetches a wider window then filters client-side so limit applies post-filter.) - Description updated to document the processed semantics, within the 280-char tool-description budget. The DB linkage itself already worked: /transactions attach-document sets matched_transaction_id, and commitCategorizeTransaction stamps created_journal_entry_id. This was purely a read/surface gap. Tests: 4112 (+ MCP description guard). Build: green. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(mcp): repair stage-but-never-commit tools + consolidate tool surface - post_annual_depreciation AND reverse_entry were never in the pending_operations operation_type CHECK, so both staged then died with check_violation at INSERT. Add the CHECK migration, a commitPostAnnualDepreciation executor (reusing commitAnnualPostings), risk tier, and the PendingOperationType union member. - Salary tools de-risked: calculate_salary_run calls runSalaryCalculation() directly (no self-fetch/forged cookie); create_salary_run uses a transactional create-run helper with compensating delete; generate_agi actually generates + persists the declaration. - import_sie parses + validates at stage time with a content-rich preview (company, fiscal year, voucher/account counts, balance) instead of a blind byte count. - batch-match-invoices passed user.id where companyId was expected (silently matched zero). - VAT report+widget merged behind render_ui; gnubok_search_tools ranks by relevance; gnubok_feedback readOnlyHint corrected; tools/list instruction text fixed; income decision-tree + GL/query_journal cross-refs added. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * feat(agent): load skill atom bodies from the DB so they survive the build Skill bodies were read from disk at runtime (.claude/skills/**/SKILL.md); on Vercel the dynamic readFile path isn't traced into the lambda and on Docker .claude/ is excluded, so atoms loaded EMPTY in production — a despecialized agent. Inline the bodies into agent_atom_registry instead: - Migration adds body + mcp_exposed columns; a build-time generator (scripts/generate-skill-bodies.ts) emits a deterministic dollar-quoted seed migration with a content-hash manifest + --check CI guard. - Read sites (mcp-server atoms.ts, chat system-prompt.ts, composer prewarm) read body from the DB, with a dev-only disk fallback. mcp_exposed curates which atoms the MCP exposes (swarm-* never become atoms). - The seed script + generator share scripts/lib/atom-discovery.ts; estimated_tokens now reflects SKILL.md only. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * feat(agent): safe the in-app assistant — gating, FAB de-confliction, rate limit, friendly errors - Hide all agent entry points until verified_at: the Assistent nav tab (sidebar + mobile) and the agent-memory settings tab now match the floating FAB's gate. - FAB de-confliction: /kpi -> kpi.explain and /bookkeeping/year-end -> bokslut.step so the floating button opens the SAME assistant as the page button (no two-agents-on-one-page). - Generous per-user rate limit (30/min, 1000/day) on /api/agent/invoke, /onboarding/stream, /composer via a new agent_rate_counters table + check_and_increment_agent_quota RPC; fails open. Bounds runaway Bedrock spend without touching normal users. - Friendly errors: Bedrock 429/timeout/5xx normalized to Swedish (friendlyModelError) in run-turn + the invoke route; the chat client surfaces the server's friendly message instead of a raw HTTP status. - /chat/new validates ?intent= against the registry so bad deep-links fall back to general.help instead of rendering a broken-looking error. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(agent): keep /chat read-only — redirect categorization + swap the "categorize" suggestion for a VAT-report question general.help (the /chat assistant) is read-only, but it still gave per-transaction bokföringsförslag in prose and asked "godkänner du dessa?" — an analysis the user can't act on (no write tool, no per-tx underlag). Strengthen the prompt to redirect categorization/bokföring to the per-transaction flow (open the transaction -> "Fråga om denna transaktion", where the agent sees the underlag and stages a real ApprovalCard); a short overview is still allowed. Add a guard test locking in no-write-tools + the redirect language. Swap the /chat empty-state "Hjälp mig kategorisera" chip (which lured users into exactly this dead-end) for a VAT-report question the read-only assistant can actually answer. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * refactor(pending): declutter the review queue rows + header Fold the conversation deep-link onto the actor label (drop the separate "Konversation #xxxx" strip and its icon), hide the quick-pick when there's only one operation type (it duplicated "Markera alla"), and drop the "(0)" from the disabled bulk-approve button. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * feat(vat): enhance VAT handling by integrating document validation and improving error messaging * feat(settings): add assistant knowledge surface + consolidate settings tabs Expose the agent's skill atoms (agent_atom_registry) in a read-only surface beside the existing memory view, and tighten the settings tab bar from 14 to 10 tabs. - New GET /api/agent/skills + AgentSkillsPanel: lists active, mcp_exposed atoms grouped by tier (Kärnkompetens / bransch / bolagssituation), flags which are active for the company from agent_profiles, and lazy-loads each SKILL.md body on expand. - New /settings/assistant tab with a Minne/Kompetens toggle (?view=skills); /settings/agent-memory and /settings/agent-skills redirect into it. - Merge Företagsprofil (TIC snapshot) into the Företag tab via CompanyProfileSection; /settings/company-profile redirects. - Merge Skatteverket-anslutningen into the Skatt tab — OAuth returnTo and the callback toast now target /settings/tax; /settings/skatteverket redirects. - Drop the Säkerhetsbackup tab (already under Importera/Exportera). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(inbox): keep booked underlag out of the unmatched queue + widen match window - categorize: after booking an inbox underlag onto a verifikat, backfill the inbox row's matched_transaction_id + created_journal_entry_id so it stops showing as unmatched (mirrors the /attach-document paperclip path). - TransactionMatchPicker: bias the candidate window forward (60d before → 180d after the invoice date) so late payments aren't dropped before scoring, and widen the ranking date tolerance to 120d so the true match floats to the top instead of collapsing to "Svag match". Fix "okatigoriserade" typo. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * wip: bundle in-progress branch work + agent onboarding chat optimizations Captures the uncommitted work-in-progress on this branch so it lives on the remote. Heterogeneous changeset — bundled as one commit since the work was already entangled across files. Headline change in this commit (from this session): - Remove the double interview in agent onboarding. Phase B's verification- question form stepper is gone — the Phase C chat (onboarding.intake) now owns the entire interview and reads the composer's verification_questions server-side as its question bank. - ReviewCard collapses from 3 steps to 2 (meet → review-and-confirm) with value-first ordering: profile + "vad jag kan hjälpa dig med" + facts + optional seed note. CTA reads "Möt {namn}" to signal the chat follows. - ChatIntakeStarter handoff subcopy updated to match reality (assistant greets first; user can leave anytime). - Stamp agent_profiles.intake_completed_at server-side in app/api/agent/invoke/route.ts on the first user-typed reply in any onboarding.intake conversation (idempotent IS NULL guard, best-effort). Closes the previously dead-write column and unlocks the opportunistic- follow-up hook the migration anticipated. Plus in-progress branch work being carried forward (not introduced here): agent runtime + intent prompts, composer + atom-discovery scripts, MCP server skills surface, onboarding flow components, dashboard/inbox tweaks, two new agent_atom_registry migrations, additional agent-chat tests. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * refactor(agent): drop inline "Fråga assistenten" affordances — rely on the FAB The bottom-right "Fråga {namn}" FAB (AgentTrigger) is already route-aware and picks the right intent per page, so duplicating it as inline page- header buttons and empty-state links is noise. Removed: - EmptyState `agentHelp` link ("Eller fråga {namn} hur du kommer igång") + the AgentHelpLink component + agent_default_name/agent_ask_link i18n keys + the agentHelp props on EmptyInvoices/EmptyCustomers/EmptyTransactions. - AgentSparkleButton on /bookkeeping (verifikation.draft) and /kpi (kpi.explain) page headers. The FAB stays — when verified, it appears on those routes and routes to the right intent automatically. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(agent): gate the last two ungated "Fråga assistenten" affordances Both surfaces previously called useAgentSheet directly without checking identity.isVerified, so they appeared pre-onboarding (everywhere else the FAB / sparkle buttons / /chat / Assistent nav are all gated on verified_at). - Settings page header: remove the "Fråga {namn}" pill entirely. The FAB covers /settings routes route-aware (settings.help) — no need for a duplicate inline trigger. - Invoice inbox transaction picker: hide the "Fråga assistenten" button when the agent isn't built. Done at the parent (InvoiceInboxWorkspace) by passing onAskAssistant only when identity.isVerified is true; the child renders the button only when the callback is present. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * feat(tic,onboarding,agent): single-call TIC lookup + director-aware narrative voice - TIC: collapse the company lookup from 6 endpoint calls to 1 (search-public already exposes sniCodes, bank accounts, emails, phones, and registration flags). Derive fiscal-year MM-DD from mostRecentFinancialSummary; newly-registered companies fall through to the client's first-year defaults. - Onboarding: BankID picker no longer auto-provisions companies. Every pick routes through the wizard with orgnr (and entity_type via the CompanyRoles match) prefilled; F-skatt/VAT/address get confirmed in steps 2-4 instead of being auto-fetched. createCompanyFromOnboarding reuses CompanyLookupResult and adds a defensive top-level catch so server-action errors surface to the UI instead of being redacted. - Agent composer: loadUserDirectorship() checks BankID CompanyRoles for a director-like position (ceo/boardMember/chairman/externalSignatory, active) before the narrative uses second-person ownership voice ("Du driver…"); unknown users get neutral third-person voice so we never put ownership words in the user's mouth. Tests cover loadUserDirectorship, narrative voice, tic-fetch path, onboarding page, and updated TIC client + lookup/profile suites. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(tic): extend agent-onboarding TIC budget to 10s + backfill stranded org_numbers The 5s TIC fetch timeout aborted client-side before the upstream Lens fan-out (~13 calls) could complete, but the in-flight upstream calls still counted against quota — actions.ts already documents ~530 wasted calls from this in May. Same bug still applied to the agent-onboarding stream path. Adds an optional `timeoutMs` to `ensureTicSnapshot` so deliberate wait-screen callers (agent onboarding stream) can run with 10s while background/dev callers stay on the conservative 5s default. Page-level server fetch (page.tsx) intentionally stays at 5s to avoid blocking TTFB without a visible progress affordance. Backfill migration mirrors `company_settings.org_number` to `companies.org_number` for the 105 cases where it's safe (after dedup + conflict filtering). 56 of those are on active companies — unblocks duplicate guards, SIE/SRU exports, and TIC fallback chain. Zero TIC API calls — pure data move. Idempotent. Also sweeps a pre-existing SSRF guard on the stream route's origin derivation that was sitting unstaged in the working tree — it lives in the same diff hunks as the TIC budget change and couldn't be split cleanly. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * wip: bundle in-progress branch work Sweep up uncommitted agent/MCP/RLS work-in-progress so the branch is fully backed up to origin. Not reviewed in detail — committed as-is to preserve working state alongside the TIC fixes in the previous commit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(agent): tag the "Bygg din bokföringsassistent" CTA as Beta Adds a Beta badge next to the assistant-setup heading on the dashboard banner, dashboard inline card, and onboarding checklist row. Also drops the stale "Gratis i 30 dagar" subline from the dashboard card. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(build,migrations): PendingOperationType salary ops + resolve migration version collisions PR #584 went red on three things: 1. core-only build / Vercel: `lib/pending-operations/commit.ts:2666` switched on 'create_salary_run' and 'generate_agi' but `PendingOperationType` was missing both literals. Add them to the union. 2. Supabase preview: migration version 20260526120000 collided with main's newly-merged 20260526120000_fix_replace_sie_import_hard_delete.sql. Bump the branch's pair to 20260526120050 / 20260526120051 — still ahead of 20260526120100_restvardeavskrivning so ordering is preserved. 3. 20260527170000 was used twice on this branch (_agent_rls_with_check + _journal_entry_no_doc_required). Bump the second to 20260527170100 so the pair stays orderable and Supabase doesn't choke on the duplicate schema_migrations PK. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(ci): reword comment so core-only guard stops flagging it The "Check no core imports from extensions" step greps for the literal \`from '@/extensions/\` across lib/, app/api/, components/. A comment in lib/agent/composer/tic-fetch.ts quoted the exact pattern verbatim to explain *why* the file does a self-fetch instead of importing the TIC extension directly — which the grep matched even though no actual import exists. Rewrite the line to keep the same meaning without the literal pattern. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Co-authored-by: Emil <emilmattsson14@gmail.com>
3596 lines
178 KiB
JSON
3596 lines
178 KiB
JSON
{
|
||
"common": {
|
||
"save": "Spara",
|
||
"saving": "Sparar...",
|
||
"cancel": "Avbryt",
|
||
"create": "Skapa",
|
||
"add": "Lägg till",
|
||
"delete": "Radera",
|
||
"edit": "Redigera",
|
||
"back": "Tillbaka",
|
||
"next": "Nästa",
|
||
"previous": "Föregående",
|
||
"close": "Stäng",
|
||
"search": "Sök",
|
||
"filter": "Filtrera",
|
||
"loading": "Laddar...",
|
||
"confirm": "Bekräfta",
|
||
"yes": "Ja",
|
||
"no": "Nej",
|
||
"remove": "Ta bort",
|
||
"submit": "Skicka",
|
||
"send": "Skicka",
|
||
"download": "Hämta",
|
||
"upload": "Ladda upp",
|
||
"copy": "Kopiera",
|
||
"copied": "Kopierat",
|
||
"open": "Öppna",
|
||
"select": "Välj",
|
||
"all": "Alla",
|
||
"none": "Inga",
|
||
"more": "Mer",
|
||
"less": "Mindre",
|
||
"show": "Visa",
|
||
"hide": "Dölj",
|
||
"actions": "Åtgärder",
|
||
"settings": "Inställningar",
|
||
"language": "Språk",
|
||
"language_swedish": "Svenska",
|
||
"language_english": "Engelska",
|
||
"appearance": "Utseende",
|
||
"theme_light": "Ljust",
|
||
"theme_dark": "Mörkt",
|
||
"theme_system": "System",
|
||
"logout": "Logga ut",
|
||
"logout_description": "Logga ut från ditt konto",
|
||
"account_settings": "Kontoinställningar",
|
||
"status": {
|
||
"posted": "Bokförd",
|
||
"draft": "Utkast",
|
||
"pending": "Väntande",
|
||
"approved": "Godkänd",
|
||
"archived": "Arkiverad",
|
||
"paid": "Betald",
|
||
"unpaid": "Obetald",
|
||
"overdue": "Förfallen",
|
||
"cancelled": "Annullerad",
|
||
"sent": "Skickad",
|
||
"matched": "Matchad",
|
||
"unmatched": "Omatchad"
|
||
}
|
||
},
|
||
"nav": {
|
||
"dashboard": "Översikt",
|
||
"home": "Hem",
|
||
"assistant": "Assistent",
|
||
"bureau": "Byrå",
|
||
"kpi": "Nyckeltal",
|
||
"invoice_inbox": "Underlag",
|
||
"invoices": "Fakturor",
|
||
"sales_orders": "Order",
|
||
"customers": "Kunder",
|
||
"products": "Produkter",
|
||
"inventory": "Lager",
|
||
"supplier_invoices": "Leverantörsfakturor",
|
||
"purchase_orders": "Inköpsorder",
|
||
"suppliers": "Leverantörer",
|
||
"review": "Granskning",
|
||
"transactions": "Transaktioner",
|
||
"bookkeeping": "Bokföring",
|
||
"assets": "Anläggningstillgångar",
|
||
"reports": "Rapporter",
|
||
"budgets": "Budgetar",
|
||
"insights": "Insikter",
|
||
"import": "Importera/Exportera",
|
||
"salary": "Löner",
|
||
"employees": "Anställda",
|
||
"time_tracking": "Tidrapportering",
|
||
"expenses": "Utlägg",
|
||
"receipts": "Kvitton",
|
||
"deadlines": "Deadlines",
|
||
"pending": "Väntande",
|
||
"help": "Hjälp",
|
||
"extensions": "Tillägg",
|
||
"settings": "Inställningar",
|
||
"group_main": "Huvudmeny",
|
||
"group_sales": "Försäljning",
|
||
"group_purchases": "Inköp",
|
||
"group_personnel": "Personal",
|
||
"group_accounting": "Redovisning",
|
||
"group_other": "Övrigt",
|
||
"group_extensions": "Tillägg",
|
||
"mitt_konto": "Mitt konto",
|
||
"main_navigation": "Huvudnavigation",
|
||
"mobile_navigation": "Mobilnavigation",
|
||
"menu": "Meny",
|
||
"open_menu": "Öppna meny",
|
||
"close_menu": "Stäng meny",
|
||
"navigation_menu": "Navigeringsmeny",
|
||
"badge_coming_soon": "Kommer snart",
|
||
"badge_dev": "Dev",
|
||
"badge_beta": "Beta",
|
||
"needs_company_tooltip": "Lägg till ett företag för att aktivera",
|
||
"logout_sandbox": "Avsluta sandbox",
|
||
"ext_tic": "Företagsprofil",
|
||
"ext_invoice_inbox": "Dokumentinkorg"
|
||
},
|
||
"auth": {
|
||
"login_title": "Logga in",
|
||
"login_subtitle": "Logga in för att hantera din ekonomi",
|
||
"email_label": "E-postadress",
|
||
"email_placeholder": "namn@exempel.se",
|
||
"password_label": "Lösenord",
|
||
"password_placeholder": "Ditt lösenord",
|
||
"login_button": "Logga in",
|
||
"logging_in": "Loggar in...",
|
||
"forgot_password": "Glömt lösenord?",
|
||
"no_account": "Skapa konto",
|
||
"or_divider": "eller",
|
||
"or_email_divider": "eller logga in med e-post",
|
||
"login_failed_title": "Inloggning misslyckades",
|
||
"login_failed_bankid": "Kunde inte slutföra BankID-inloggningen.",
|
||
"login_invalid_credentials": "Fel e-post eller lösenord.",
|
||
"reset_title": "Återställ lösenord",
|
||
"reset_subtitle": "Ange din e-postadress så skickar vi en återställningslänk",
|
||
"reset_button": "Skicka återställningslänk",
|
||
"reset_sending": "Skickar...",
|
||
"reset_cooldown": "Vänta {seconds}s",
|
||
"reset_failed_title": "Kunde inte skicka återställningslänk",
|
||
"reset_sent_title": "Återställningslänk skickad!",
|
||
"reset_sent_body": "Kolla din inkorg för att återställa lösenordet.",
|
||
"email_sent_title": "Kolla din e-post",
|
||
"email_sent_body_reset": "Vi har skickat en återställningslänk till <strong>{email}</strong>",
|
||
"email_sent_body_login": "Vi har skickat en inloggningslänk till <strong>{email}</strong>",
|
||
"email_sent_hint_reset": "Klicka på länken i e-posten för att återställa ditt lösenord. Länken är giltig i 1 timme.",
|
||
"email_sent_hint_login": "Klicka på länken i e-posten för att logga in. Länken är giltig i 1 timme.",
|
||
"open_webmail_search": "Hitta e-posten i {provider}",
|
||
"open_webmail_inbox": "Öppna {provider}",
|
||
"back_to_login": "Tillbaka till inloggning",
|
||
"callback_error_title": "Återställningslänken fungerade inte",
|
||
"callback_error_body": "Länken har gått ut eller använts redan.",
|
||
"request_new_reset_link": "Begär en ny återställningslänk",
|
||
"bankid_no_account_greeting": "Hej {name}!",
|
||
"bankid_no_account_body": "Vi hittade inget konto kopplat till ditt BankID. Logga in med e-post nedan och koppla sedan BankID i inställningar.",
|
||
"bankid_no_account_create": "Eller skapa ett nytt konto",
|
||
"bankid_unavailable_title": "Har du inget lösenord?",
|
||
"bankid_unavailable_body": "Om du skapade ditt konto med BankID kan du använda \"Glömt lösenord?\" för att få en inloggningslänk via e-post.",
|
||
"terms_prefix": "Genom att logga in godkänner du våra",
|
||
"terms_link": "villkor",
|
||
"terms_and": "och",
|
||
"privacy_link": "integritetspolicy"
|
||
},
|
||
"settings_nav": {
|
||
"aria_label": "Inställningar",
|
||
"company": "Företag",
|
||
"invoicing": "Fakturering",
|
||
"bookkeeping": "Bokföring",
|
||
"tax": "Skatt",
|
||
"team": "Lag",
|
||
"banking": "Bank (PSD2)",
|
||
"skatteverket": "Skatteverket",
|
||
"salary": "Löner",
|
||
"templates": "Mallar",
|
||
"agent_profile": "Företagsprofil",
|
||
"agent_memory": "Assistentens minne",
|
||
"agent_skills": "Assistentens kunskap",
|
||
"assistant": "Assistenten",
|
||
"backup": "Säkerhetsbackup",
|
||
"account": "Konto",
|
||
"api": "API"
|
||
},
|
||
"settings": {
|
||
"section_appearance": "Utseende",
|
||
"section_language": "Språk",
|
||
"language_description": "Välj språket för gränssnittet. Fakturor och rapporter förblir alltid på svenska.",
|
||
"language_saved": "Språket har uppdaterats",
|
||
"language_save_failed": "Kunde inte spara språkinställningen"
|
||
},
|
||
"help": {
|
||
"title": "Hjälp & Ordlista",
|
||
"subtitle": "Förklaringar av skatte- och bokföringstermer på ren svenska.",
|
||
"search_placeholder": "Sök efter term...",
|
||
"filter_all": "Alla",
|
||
"no_results": "Inga termer hittades för \"{query}\"",
|
||
"templates_title": "Dokument & Mallar",
|
||
"templates_subtitle": "Lagstadgade mallar för din bokföring — ladda ner, fyll i och spara",
|
||
"external_resources_title": "Externa resurser",
|
||
"support_title": "Behöver du mer hjälp?",
|
||
"support_subtitle": "Hittar du inte svaret? Kontakta oss så hjälper vi dig.",
|
||
"category_skatt": "Skatt",
|
||
"category_moms": "Moms",
|
||
"category_faktura": "Faktura",
|
||
"category_bokforing": "Bokföring",
|
||
"category_bank": "Bank",
|
||
"category_foretag": "Företag",
|
||
"related_label": "Relaterat:",
|
||
"read_more_skv": "Läs mer på Skatteverket"
|
||
},
|
||
"pending": {
|
||
"title": "Granskning",
|
||
"subtitle": "Operationer som väntar på godkännande",
|
||
"tab_pending": "Väntande",
|
||
"tab_committed": "Godkända",
|
||
"tab_rejected": "Avvisade",
|
||
"tab_all": "Alla",
|
||
"tab_agent": "Från agent",
|
||
"tab_high_risk": "Hög risk",
|
||
"approve": "Godkänn",
|
||
"approve_selected": "Godkänn valda ({count})",
|
||
"approve_selected_none": "Godkänn valda",
|
||
"approve_count": "Godkänn {count}",
|
||
"approve_operation_title": "Godkänn operation",
|
||
"approve_bulk_title": "Godkänn {count} operationer?",
|
||
"reject": "Avvisa",
|
||
"select_all_aria": "Markera alla",
|
||
"select_operation_aria": "Välj operation",
|
||
"selected_count": "{count} valda",
|
||
"select_all_count": "Markera alla ({count})",
|
||
"select_all_count_partial": "Markera ({eligible} av {total} — {excluded} kräver enskild granskning)",
|
||
"deselect": "Avmarkera",
|
||
"quick_pick": "Snabbval:",
|
||
"conversation_filter_label": "Visar operationer från konversation",
|
||
"conversation_filter_clear": "Rensa filter",
|
||
"badge_high_risk": "Hög risk",
|
||
"badge_approved": "Godkänd",
|
||
"badge_rejected": "Avvisad",
|
||
"empty_pending_title": "Inga väntande operationer",
|
||
"empty_committed_title": "Inga godkända operationer",
|
||
"empty_rejected_title": "Inga avvisade operationer",
|
||
"empty_pending_description": "När en operation kräver godkännande visas den här för granskning.",
|
||
"empty_finished_description": "Operationer du har godkänt eller avvisat visas här.",
|
||
"bulk_confirm_intro": "Genom att bekräfta utförs följande:",
|
||
"bulk_confirm_footer": "Operationerna körs i ordning. Misslyckade hoppas över och rapporteras efteråt.",
|
||
"type_categorize_transaction": "Kategorisering",
|
||
"type_create_customer": "Ny kund",
|
||
"type_create_invoice": "Ny faktura",
|
||
"type_create_transaction": "Ny transaktion",
|
||
"type_create_voucher": "Ny verifikation",
|
||
"type_correct_entry": "Rättelse",
|
||
"type_reverse_entry": "Makulering",
|
||
"type_mark_invoice_paid": "Betald faktura",
|
||
"type_send_invoice": "Skicka faktura",
|
||
"type_mark_invoice_sent": "Markera skickad",
|
||
"type_match_transaction_invoice": "Fakturamatchning"
|
||
},
|
||
"deadlines": {
|
||
"title": "Deadlines",
|
||
"load_failed_title": "Kunde inte ladda deadlines",
|
||
"load_failed_description": "Kontrollera din anslutning och försök igen.",
|
||
"created_title": "Deadline skapad",
|
||
"created_description": "Din deadline har sparats",
|
||
"create_failed_title": "Kunde inte skapa deadline",
|
||
"marked_done": "\"{title}\" markerad som klar",
|
||
"marked_not_done": "\"{title}\" markerad som ej klar",
|
||
"undo": "Ångra",
|
||
"undo_failed": "Kunde inte ångra",
|
||
"toggle_failed_title": "Kunde inte uppdatera status",
|
||
"updated_title": "Deadline uppdaterad",
|
||
"updated_description": "Dina ändringar har sparats",
|
||
"update_failed_title": "Kunde inte spara ändringar",
|
||
"deleted_title": "Deadline borttagen",
|
||
"delete_failed_title": "Kunde inte ta bort deadline",
|
||
"retry": "Försök igen.",
|
||
"overdue_invoices": "{count} förfallna fakturor"
|
||
},
|
||
"bureau": {
|
||
"title": "Byrå",
|
||
"subtitle": "Översikt över alla klientbolag du har tillgång till",
|
||
"section_title": "Byrå-läge",
|
||
"enable_setting": "Aktivera byrå-läge",
|
||
"enable_setting_description": "Visar en samlad översikt över alla klientbolag du har tillgång till",
|
||
"toggle_saved": "Byrå-läge uppdaterat",
|
||
"toggle_save_failed": "Kunde inte spara byrå-inställning",
|
||
"tiles": {
|
||
"clients": "Klienter totalt",
|
||
"pending": "Väntar på godkännande",
|
||
"deadlines": "Deadlines denna vecka",
|
||
"overdue_ar": "Förfallna fakturor"
|
||
},
|
||
"action": {
|
||
"open": "Öppna"
|
||
},
|
||
"pending_label": "Väntande operationer",
|
||
"deadlines_label": "Kommande deadlines",
|
||
"no_pending": "Inga väntande operationer",
|
||
"no_deadlines": "Inga deadlines denna vecka",
|
||
"show_pending": "Visa pending",
|
||
"high_risk": "{count} hög risk",
|
||
"kpi": {
|
||
"revenue_mtd": "Intäkter MTD",
|
||
"cash": "Bank/Kassa",
|
||
"overdue_ar": "Förfallna fakt."
|
||
},
|
||
"role": {
|
||
"owner": "ägare",
|
||
"admin": "administratör",
|
||
"member": "medlem",
|
||
"viewer": "läsare"
|
||
},
|
||
"deadline_status": {
|
||
"overdue": "förfallen"
|
||
},
|
||
"empty": {
|
||
"title": "Inga klientbolag ännu",
|
||
"description": "När du läggs till som medlem i ett bolag dyker det upp här."
|
||
}
|
||
},
|
||
"insights": {
|
||
"title": "Insikter",
|
||
"empty": "Inga avvikelser hittade",
|
||
"severity_flag": "Åtgärda",
|
||
"severity_warn": "Granska",
|
||
"severity_info": "Information",
|
||
"action_dismiss": "Avfärda",
|
||
"action_snooze": "Snooze 7d",
|
||
"subject_open": "Öppna källan",
|
||
"dashboard_tile_title": "Avvikelser",
|
||
"dashboard_tile_subtitle": "{count} att åtgärda",
|
||
"rules": {
|
||
"outlier_amount": "Ovanligt belopp för motpart",
|
||
"missing_recurring": "Återkommande leverantör saknas",
|
||
"duplicate_suspect": "Möjlig dubblett",
|
||
"stale_uncategorized": "Gammal okategoriserad transaktion",
|
||
"vat_rate_outlier": "Avvikande momssats",
|
||
"stale_customer_balance": "Förfallen kundfordran"
|
||
}
|
||
},
|
||
"supplier_invoices": {
|
||
"title": "Leverantörsfakturor",
|
||
"register_invoice": "Registrera faktura",
|
||
"viewer_disabled_tooltip": "Du har endast läsbehörighet i detta företag",
|
||
"tab_all": "Alla",
|
||
"tab_registered": "Registrerade",
|
||
"tab_approved": "Godkända",
|
||
"tab_to_pay": "Att betala",
|
||
"tab_paid": "Betalda",
|
||
"empty_title": "Inga fakturor",
|
||
"empty_description_all": "Registrera leverantörsfakturor för att hålla koll på inköp och betalningar.",
|
||
"empty_description_category": "Inga fakturor i denna kategori.",
|
||
"th_arrival": "Ankomst",
|
||
"th_supplier": "Leverantör",
|
||
"th_invoice_number": "Fakturanr",
|
||
"th_invoice_date": "Fakturadatum",
|
||
"th_due_date": "Förfaller",
|
||
"th_amount": "Belopp",
|
||
"th_remaining": "Kvar att betala",
|
||
"th_status": "Status",
|
||
"status_registered": "Registrerad",
|
||
"status_approved": "Godkänd",
|
||
"status_paid": "Betald",
|
||
"status_partially_paid": "Delbetald",
|
||
"status_overdue": "Förfallen",
|
||
"status_disputed": "Tvist",
|
||
"status_credited": "Krediterad",
|
||
"status_reversed": "Makulerad"
|
||
},
|
||
"purchase_orders": {
|
||
"title": "Inköpsorder",
|
||
"new": "Ny inköpsorder",
|
||
"empty_title": "Inga inköpsorder än",
|
||
"empty_description": "Skapa en inköpsorder för att planera ett inköp, ta emot gods, och stämma av mot leverantörsfakturan.",
|
||
"filter_open": "Öppna",
|
||
"filter_all": "Alla",
|
||
"th_number": "Nummer",
|
||
"th_supplier": "Leverantör",
|
||
"th_order_date": "Orderdatum",
|
||
"th_status": "Status",
|
||
"th_expected_delivery": "Beräknad lev.",
|
||
"th_amount": "Belopp",
|
||
"status_draft": "Utkast",
|
||
"status_sent": "Skickad",
|
||
"status_partially_received": "Delvis mottagen",
|
||
"status_received": "Mottagen",
|
||
"status_partially_invoiced": "Delvis fakturerad",
|
||
"status_closed": "Stängd",
|
||
"status_cancelled": "Annullerad",
|
||
"send": "Markera som skickad",
|
||
"receive": "Ta emot gods",
|
||
"cancel": "Avbryt order",
|
||
"three_way_match_failed": "Trevägs-matchningen misslyckades. Kontrollera kvantiteter och priser mot inköpsordern.",
|
||
"po_link_required": "Företaget kräver att leverantörsfakturor länkas till en inköpsorder.",
|
||
"match_within_tolerance": "Avvikelse inom tolerans",
|
||
"match_out_of_tolerance": "Avvikelse utanför tolerans"
|
||
},
|
||
"suppliers": {
|
||
"title": "Leverantörer",
|
||
"subtitle": "Hantera dina leverantörer och deras betalningsuppgifter",
|
||
"new_supplier": "Ny leverantör",
|
||
"add_supplier": "Lägg till leverantör",
|
||
"viewer_disabled_tooltip": "Du har endast läsbehörighet i detta företag",
|
||
"search_placeholder": "Sök på namn, e-post eller org.nr...",
|
||
"load_failed_title": "Kunde inte ladda leverantörer",
|
||
"load_failed_description": "Kontrollera din anslutning och försök igen.",
|
||
"create_failed_title": "Kunde inte skapa leverantör",
|
||
"create_failed_retry": "Försök igen.",
|
||
"created_title": "Leverantör skapad",
|
||
"created_description": "{name} har lagts till",
|
||
"no_search_results_title": "Inga träffar",
|
||
"no_search_results_description": "Inga leverantörer matchar \"{term}\".",
|
||
"empty_title": "Inga leverantörer",
|
||
"empty_description": "Lägg till din första leverantör för att börja registrera inköpsfakturor.",
|
||
"type_swedish_business": "Svenskt företag eller organisation",
|
||
"type_eu_business": "EU-företag",
|
||
"type_non_eu_business": "Utanför EU",
|
||
"label_org_number": "Org.nr",
|
||
"label_email": "E-post",
|
||
"label_location": "Plats",
|
||
"label_bg": "BG",
|
||
"label_pg": "PG",
|
||
"label_iban": "IBAN",
|
||
"label_bank_account": "Bankkonto",
|
||
"no_contact_info": "Inga kontaktuppgifter"
|
||
},
|
||
"assets": {
|
||
"title": "Anläggningstillgångar",
|
||
"new_asset": "Ny tillgång",
|
||
"load_failed": "Kunde inte ladda tillgångar",
|
||
"empty_title": "Inga tillgångar än",
|
||
"empty_description": "Lägg till anläggningstillgångar (datorer, möbler, fordon, maskiner) så räknar bokslutet planenliga avskrivningar automatiskt.",
|
||
"th_name": "Namn",
|
||
"th_category": "Kategori",
|
||
"th_acquired": "Anskaffat",
|
||
"th_acquisition_cost": "Anskaffningsvärde",
|
||
"th_useful_life": "Avskrivningstid",
|
||
"th_status": "Status",
|
||
"th_actions": "Åtgärder",
|
||
"useful_life_format": "{years} år ({months} mån)",
|
||
"status_disposed": "Avyttrad",
|
||
"status_active": "Aktiv",
|
||
"action_dispose": "Avyttra",
|
||
"category_immaterial": "Immateriell",
|
||
"category_building": "Byggnad",
|
||
"category_land_improvement": "Markanläggning",
|
||
"category_machinery": "Maskin",
|
||
"category_equipment": "Inventarier",
|
||
"category_vehicle": "Fordon",
|
||
"category_computer": "Dator",
|
||
"category_other_tangible": "Övriga materiella"
|
||
},
|
||
"employees": {
|
||
"title": "Anställda",
|
||
"registered_count": "{count} registrerade",
|
||
"back_to_payroll": "Tillbaka till löner",
|
||
"new_employee": "Ny anställd",
|
||
"add_employee": "Lägg till anställd",
|
||
"empty_title": "Inga anställda",
|
||
"empty_description": "Lägg till anställda för att kunna skapa lönekörningar och AGI-deklarationer.",
|
||
"th_name": "Namn",
|
||
"th_personnummer": "Personnummer",
|
||
"th_type": "Typ",
|
||
"th_salary": "Lön",
|
||
"th_employment_degree": "Sysselsättningsgrad",
|
||
"th_tax_table": "Skattetabell",
|
||
"tax_table_format": "Tabell {table}, kol {column}",
|
||
"hourly_suffix": "/tim",
|
||
"employment_employee": "Anställd",
|
||
"employment_company_owner": "Företagsledare",
|
||
"employment_board_member": "Styrelseledamot"
|
||
},
|
||
"register": {
|
||
"subtitle": "Skapa ett konto för att komma igång",
|
||
"or_email_divider": "eller skapa konto med e-post",
|
||
"bankid_unavailable_body": "Skapa konto med e-post och lösenord nedan istället. Du kan koppla BankID i inställningar senare.",
|
||
"bankid_verified": "Verifierad med BankID",
|
||
"email_label": "E-postadress",
|
||
"email_placeholder": "namn@exempel.se",
|
||
"bankid_email_hint": "Används för inloggning och notifieringar.",
|
||
"invite_email_hint": "Inbjudan skickades till denna adress.",
|
||
"password_label": "Lösenord",
|
||
"password_placeholder": "Minst 8 tecken, Aa1!",
|
||
"confirm_password_label": "Bekräfta lösenord",
|
||
"confirm_password_placeholder": "Upprepa lösenordet",
|
||
"create_account": "Skapa konto",
|
||
"creating": "Skapar konto...",
|
||
"back": "Tillbaka",
|
||
"already_have_account": "Har du redan ett konto?",
|
||
"sign_in": "Logga in",
|
||
"terms_prefix": "Genom att skapa konto godkänner du våra",
|
||
"terms_link": "villkor",
|
||
"terms_and": "och",
|
||
"privacy_link": "integritetspolicy",
|
||
"bankid_failed_title": "BankID misslyckades",
|
||
"bankid_failed_description": "Kunde inte verifiera din identitet.",
|
||
"bankid_already_linked_title": "BankID redan kopplat",
|
||
"bankid_already_linked_description": "Detta BankID är redan kopplat till ett konto. Försök logga in istället.",
|
||
"account_exists_title": "Kontot finns redan",
|
||
"account_exists_description": "Ett konto med den här e-postadressen finns redan. Logga in och koppla BankID i inställningarna.",
|
||
"register_failed_title": "Registrering misslyckades",
|
||
"register_failed_default": "Ett oväntat fel uppstod.",
|
||
"register_failed_complete": "Kunde inte slutföra registreringen",
|
||
"weak_password_title": "Lösenordet är för svagt",
|
||
"weak_password_description": "Lösenordet måste vara minst 8 tecken och innehålla versaler, gemener, siffror och specialtecken.",
|
||
"password_mismatch_title": "Lösenorden matchar inte",
|
||
"password_mismatch_description": "Kontrollera att du skrev samma lösenord i båda fälten.",
|
||
"duplicate_title": "Kontot finns redan",
|
||
"duplicate_body_prefix": "Det finns redan ett konto kopplat till",
|
||
"duplicate_hint": "Logga in med din e-post och lösenord. Om du har glömt lösenordet kan du återställa det via \"Glömt lösenord?\" på inloggningssidan.",
|
||
"confirm_email_title": "Bekräfta din e-post",
|
||
"confirm_email_body": "Vi har skickat en bekräftelselänk till <strong>{email}</strong>",
|
||
"confirm_email_hint": "Klicka på länken i e-posten för att aktivera ditt konto. Länken är giltig i 24 timmar.",
|
||
"open_webmail_search": "Hitta e-posten i {provider}",
|
||
"open_webmail_inbox": "Öppna {provider}",
|
||
"back_to_login": "Tillbaka till inloggning"
|
||
},
|
||
"mfa": {
|
||
"enroll_title": "Aktivera tvåstegsverifiering",
|
||
"enroll_subtitle": "Skydda ditt konto med en autentiseringsapp",
|
||
"verify_title": "Tvåstegsverifiering",
|
||
"verify_subtitle": "Ange koden från din autentiseringsapp",
|
||
"verify_code_label": "Verifieringskod",
|
||
"verify_button": "Verifiera",
|
||
"verifying": "Verifierar...",
|
||
"enroll_step_qr": "Skanna QR-koden",
|
||
"enroll_step_qr_hint": "Använd en autentiseringsapp som Google Authenticator, Authy eller 1Password.",
|
||
"enroll_show_secret": "Visa nyckel manuellt",
|
||
"enroll_step_verify": "Verifiera kod",
|
||
"enroll_step_verify_hint": "Ange koden från din app för att slutföra registreringen.",
|
||
"enroll_finish": "Aktivera",
|
||
"enroll_finishing": "Aktiverar...",
|
||
"enroll_failed_title": "Kunde inte aktivera tvåstegsverifiering",
|
||
"verify_failed_title": "Verifiering misslyckades",
|
||
"verify_failed_description": "Koden är felaktig eller har gått ut.",
|
||
"enrolled_title": "Tvåstegsverifiering aktiverad",
|
||
"enrolled_description": "Ditt konto är nu skyddat.",
|
||
"back": "Tillbaka",
|
||
"verify_subtitle_full": "Ange den 6-siffriga koden från din autentiseringsapp",
|
||
"verify_challenge_failed_description": "Kunde inte starta verifiering. Försök igen.",
|
||
"wrong_code_title": "Fel kod",
|
||
"wrong_code_description": "Kontrollera koden och försök igen.",
|
||
"unexpected_error": "Ett oväntat fel uppstod. Försök igen.",
|
||
"wait_seconds": "Vänta {seconds}s",
|
||
"lost_authenticator": "Förlorat din autentiseringsapp?",
|
||
"contact_support": "Kontakta support"
|
||
},
|
||
"reset_password": {
|
||
"title": "Välj nytt lösenord",
|
||
"subtitle": "Ange ett nytt lösenord för ditt konto.",
|
||
"new_password_label": "Nytt lösenord",
|
||
"new_password_placeholder": "Minst 8 tecken, Aa1!",
|
||
"confirm_password_label": "Bekräfta lösenord",
|
||
"confirm_password_placeholder": "Upprepa lösenordet",
|
||
"submit": "Spara lösenord",
|
||
"submitting": "Sparar...",
|
||
"saved_title": "Lösenord sparat",
|
||
"saved_description": "Du kan nu logga in med ditt nya lösenord.",
|
||
"weak_title": "Lösenordet är för svagt",
|
||
"weak_description": "Lösenordet måste vara minst 8 tecken och innehålla versaler, gemener, siffror och specialtecken.",
|
||
"mismatch_title": "Lösenorden matchar inte",
|
||
"save_failed_title": "Kunde inte spara lösenordet",
|
||
"save_failed_description": "Försök igen."
|
||
},
|
||
"customer_detail": {
|
||
"back": "Tillbaka till kunder",
|
||
"edit": "Redigera",
|
||
"delete": "Ta bort",
|
||
"edit_dialog_title": "Redigera kund",
|
||
"viewer_disabled_tooltip": "Du har endast läsbehörighet i detta företag",
|
||
"section_contact": "Kontaktuppgifter",
|
||
"section_business": "Företagsuppgifter",
|
||
"section_summary": "Översikt",
|
||
"section_notes": "Anteckningar",
|
||
"section_invoices": "Fakturor",
|
||
"no_contact_info": "Inga kontaktuppgifter",
|
||
"no_business_info": "Inga företagsuppgifter",
|
||
"no_invoices": "Inga fakturor kopplade till denna kund",
|
||
"label_org_number": "Org.nr:",
|
||
"label_vat": "VAT:",
|
||
"label_payment_terms": "Betalningsvillkor:",
|
||
"payment_terms_value": "{days} dagar",
|
||
"verified": "Verifierad",
|
||
"invoice_count": "{count} fakturor",
|
||
"load_failed_title": "Kunde inte ladda kund",
|
||
"load_failed_description": "Kunden hittades inte.",
|
||
"updated_title": "Kund uppdaterad",
|
||
"update_failed_title": "Kunde inte uppdatera kund",
|
||
"retry": "Försök igen.",
|
||
"delete_confirm_title": "Ta bort {name}",
|
||
"delete_confirm_description": "Kunden och tillhörande data tas bort permanent. Denna åtgärd kan inte ångras.",
|
||
"delete_confirm_label": "Ta bort",
|
||
"deleted_title": "Kund borttagen",
|
||
"delete_failed_title": "Kunde inte ta bort kund",
|
||
"invoice_status_paid": "Betald",
|
||
"invoice_status_overdue": "Förfallen",
|
||
"invoice_status_unpaid": "Obetald",
|
||
"type_individual": "Privatperson",
|
||
"type_swedish_business": "Svenskt företag eller organisation",
|
||
"type_eu_business": "EU-företag",
|
||
"type_non_eu_business": "Utanför EU"
|
||
},
|
||
"form_customer": {
|
||
"type_label": "Kundtyp *",
|
||
"type_placeholder": "Välj kundtyp",
|
||
"type_individual": "Privatperson (Sverige)",
|
||
"type_swedish_business": "Svenskt företag eller organisation",
|
||
"type_eu_business": "EU-företag",
|
||
"type_non_eu_business": "Företag utanför EU",
|
||
"type_hint": "Kundtypen påverkar hur moms hanteras på fakturor",
|
||
"name_label": "Namn *",
|
||
"name_placeholder": "Företagsnamn eller personnamn",
|
||
"name_required": "Namn krävs",
|
||
"email_label": "E-post",
|
||
"email_placeholder": "namn@foretag.se",
|
||
"email_invalid": "Ogiltig e-postadress",
|
||
"phone_label": "Telefon",
|
||
"phone_placeholder": "+46 70 123 45 67",
|
||
"address_section": "Adress",
|
||
"street_label": "Gatuadress",
|
||
"street_placeholder": "Storgatan 1",
|
||
"postal_label": "Postnummer",
|
||
"postal_placeholder": "123 45",
|
||
"city_label": "Ort",
|
||
"city_placeholder": "Stockholm",
|
||
"country_label": "Land",
|
||
"country_placeholder": "Sweden",
|
||
"business_section": "Företagsuppgifter",
|
||
"individual_section": "Personuppgifter",
|
||
"personal_number_label": "Personnummer",
|
||
"personal_number_placeholder": "YYYYMMDD-XXXX",
|
||
"personal_number_invalid": "Ogiltigt personnummer",
|
||
"org_number_label": "Organisationsnummer",
|
||
"org_number_placeholder": "XXXXXX-XXXX",
|
||
"vat_label": "VAT-nummer (momsreg.nr)",
|
||
"vat_placeholder_eu": "DE123456789",
|
||
"vat_placeholder_se": "SE123456789001",
|
||
"vat_verify": "Verifiera",
|
||
"vat_hint_eu": "Verifiera VAT-numret för att kunna fakturera med omvänd skattskyldighet (0% moms)",
|
||
"vat_verified_title": "VAT-nummer verifierat",
|
||
"vat_verified_description": "Företag: {name}",
|
||
"vat_failed_title": "Verifiering misslyckades",
|
||
"vat_failed_default": "VAT-numret kunde inte verifieras",
|
||
"vat_error_title": "Kunde inte verifiera VAT-nummer",
|
||
"payment_terms_label": "Betalningsvillkor (dagar)",
|
||
"language_label": "Fakturaspråk",
|
||
"language_sv": "Svenska",
|
||
"language_en": "Engelska",
|
||
"language_hint": "Fakturor och e-post till denna kund skickas på det valda språket. Påverkar inte hur fakturan bokförs.",
|
||
"notes_label": "Anteckningar",
|
||
"notes_placeholder": "Interna anteckningar om kunden...",
|
||
"submit_save": "Spara kund",
|
||
"submit_saving": "Sparar...",
|
||
"viewer_disabled_tooltip": "Du har endast läsbehörighet i detta företag"
|
||
},
|
||
"form_supplier": {
|
||
"name_label": "Namn *",
|
||
"name_placeholder": "Företagsnamn",
|
||
"name_required": "Namn krävs",
|
||
"type_label": "Leverantörstyp *",
|
||
"type_swedish_business": "Svenskt företag eller organisation",
|
||
"type_eu_business": "EU-företag",
|
||
"type_non_eu_business": "Företag utanför EU",
|
||
"type_hint": "Leverantörstypen påverkar hur moms hanteras på inköp",
|
||
"email_label": "E-post",
|
||
"email_placeholder": "kontakt@foretag.se",
|
||
"email_invalid": "Ogiltig e-postadress",
|
||
"phone_label": "Telefon",
|
||
"address_section": "Adress",
|
||
"street_label": "Gatuadress",
|
||
"postal_label": "Postnummer",
|
||
"city_label": "Ort",
|
||
"country_label": "Land",
|
||
"business_section": "Företagsuppgifter",
|
||
"org_number_label": "Organisationsnummer",
|
||
"org_number_placeholder": "XXXXXX-XXXX",
|
||
"vat_label": "VAT-nummer (momsreg.nr)",
|
||
"vat_placeholder_eu": "DE123456789",
|
||
"vat_placeholder_se": "SE123456789001",
|
||
"vat_verify": "Verifiera",
|
||
"vat_verified_title": "VAT-nummer verifierat",
|
||
"vat_verified_description": "Företag: {name}",
|
||
"vat_failed_title": "Verifiering misslyckades",
|
||
"vat_failed_default": "VAT-numret kunde inte verifieras",
|
||
"vat_error_title": "Kunde inte verifiera VAT-nummer",
|
||
"payment_section": "Betalningsuppgifter",
|
||
"bankgiro_label": "Bankgiro",
|
||
"bankgiro_placeholder": "123-4567",
|
||
"plusgiro_label": "Plusgiro",
|
||
"iban_label": "IBAN",
|
||
"iban_placeholder": "SE45 5000 0000 0583 9825 7466",
|
||
"swift_label": "SWIFT/BIC",
|
||
"bank_account_label": "Bankkonto",
|
||
"default_payment_terms_label": "Betalningsvillkor (dagar)",
|
||
"default_account_label": "Standardkonto",
|
||
"default_account_placeholder": "T.ex. 5410",
|
||
"notes_label": "Anteckningar",
|
||
"notes_placeholder": "Interna anteckningar om leverantören...",
|
||
"submit_save": "Spara leverantör",
|
||
"submit_saving": "Sparar...",
|
||
"viewer_disabled_tooltip": "Du har endast läsbehörighet i detta företag"
|
||
},
|
||
"upcoming_deadlines": {
|
||
"title": "Kommande deadlines",
|
||
"overdue_badge": "{count} försenad",
|
||
"action_needed_badge": "{count} åtgärd",
|
||
"today": "Idag",
|
||
"tomorrow": "Imorgon",
|
||
"time_prefix": "kl.",
|
||
"tax_badge": "Skatt",
|
||
"mark_as_submitted": "Markera som inskickad",
|
||
"mark_as_confirmed": "Markera som bekräftad",
|
||
"view_all": "Visa alla deadlines",
|
||
"toast_status_updated": "Status uppdaterad",
|
||
"toast_status_updated_description": "Deadline markerad som {status}",
|
||
"toast_status_update_failed": "Kunde inte uppdatera status"
|
||
},
|
||
"tax_todo": {
|
||
"title": "Att göra - Skatt",
|
||
"overdue_badge": "{count} försenad",
|
||
"action_needed_badge": "{count} snart",
|
||
"today": "Idag",
|
||
"tomorrow": "Imorgon",
|
||
"days_ago": "{count} dagar sedan",
|
||
"in_days": "Om {count} dagar",
|
||
"start": "Påbörja",
|
||
"submitted": "Inskickad",
|
||
"more_tasks": "+{count} fler uppgifter",
|
||
"view_all": "Visa alla deadlines",
|
||
"toast_status_updated": "Status uppdaterad",
|
||
"toast_status_updated_description": "Markerad som {status}",
|
||
"toast_status_update_failed": "Kunde inte uppdatera status"
|
||
},
|
||
"new_user_checklist": {
|
||
"welcome": "Välkommen till {appName}",
|
||
"intro": "Börja med att hämta din bokföring, sedan kopplar du banken. Ingenting ändras i ditt nuvarande system.",
|
||
"step1_title": "Hämta din bokföring",
|
||
"step1_done_title": "Bokföring importerad",
|
||
"step1_done_description": "Klart. Du kan importera fler perioder senare från Importera-vyn.",
|
||
"migrate_title": "Hämta från annat system",
|
||
"migrate_description": "Inget ändras i ditt befintliga system.",
|
||
"sie_title": "Importera SIE-fil",
|
||
"sie_description": "Exportera en SIE4-fil från ditt nuvarande bokföringsprogram och ladda upp den här.",
|
||
"step2_title": "Koppla din bank",
|
||
"bank_title": "Anslut ditt bankkonto",
|
||
"bank_description_psd2": "Koppla via PSD2 — transaktioner synkas automatiskt varje dag.",
|
||
"bank_description_file": "Importera kontoutdrag från din bank — CSV, OFX och de flesta svenska banker.",
|
||
"step3_title": "Anslut Skatteverket",
|
||
"optional_suffix": "— valfritt",
|
||
"skatteverket_connected_title": "Skatteverket anslutet",
|
||
"skatteverket_connected_description": "Du kan nu skicka momsdeklaration och AGI direkt, samt se saldot på skattekontot.",
|
||
"skatteverket_connect_title": "Anslut till Skatteverket med BankID",
|
||
"skatteverket_connect_description": "Skicka momsdeklaration och arbetsgivardeklaration direkt, och hämta saldot på skattekontot — utan att lämna {appName}.",
|
||
"or_separator": "eller",
|
||
"fresh_start": "Jag startar en ny verksamhet utan tidigare bokföring",
|
||
"security_note": "Din data är krypterad och lagras säkert i Sverige"
|
||
},
|
||
"onboarding": {
|
||
"greeting_night": "God natt",
|
||
"greeting_morning": "Godmorgon",
|
||
"greeting_hello": "Hej",
|
||
"greeting_afternoon": "God eftermiddag",
|
||
"greeting_evening": "God kväll",
|
||
"welcome_title": "Välkommen till {appName}",
|
||
"add_first_company": "Lägg till ditt första företag",
|
||
"add_a_company": "Lägg till ett företag",
|
||
"add_first_company_subtitle": "Lägg till ditt första företag för att komma igång.",
|
||
"add_company_subtitle": "Lägg till ett företag.",
|
||
"new_company": "Nytt företag",
|
||
"step1_title": "Företagsform",
|
||
"step1_subtitle": "Välj din företagsform för att komma igång.",
|
||
"step2_title": "Uppgifter",
|
||
"step2_subtitle": "Uppgifterna visas på fakturor och dokument.",
|
||
"step3_title": "F-skatt & räkenskapsår",
|
||
"step3_subtitle": "Ange din skatteregistrering och räkenskapsår.",
|
||
"step4_title": "Moms & bokföring",
|
||
"step4_subtitle": "Momsregistrering och bokföringsmetod.",
|
||
"period_error_end_after_start": "Slutdatumet måste vara efter startdatumet.",
|
||
"period_error_start_first": "Startdatumet måste vara den 1:a i en månad.",
|
||
"period_error_end_last_day": "Slutdatumet måste vara sista dagen i en månad.",
|
||
"period_error_max_18": "Räkenskapsåret får inte överstiga 18 månader (BFL 3 kap.).",
|
||
"period_error_invalid": "Ogiltigt räkenskapsår. Kontrollera datumen och försök igen.",
|
||
"toast_invalid_fiscal_year": "Ogiltigt räkenskapsår",
|
||
"toast_error_title": "Fel",
|
||
"toast_create_failed": "Kunde inte skapa företag. Försök igen.",
|
||
"toast_company_exists_title": "Företaget finns redan",
|
||
"toast_company_exists_description": "Det här företaget finns redan i {appName}. Be en befintlig administratör att bjuda in dig.",
|
||
"toast_org_invalid_title": "Ogiltigt organisationsnummer",
|
||
"toast_org_invalid_description": "Kontrollera att du angett ett giltigt 10- eller 12-siffrigt organisationsnummer.",
|
||
"toast_welcome_title": "Välkommen!",
|
||
"toast_company_ready": "Ditt företag är nu redo.",
|
||
"toast_unexpected_error": "Ett oväntat fel uppstod. Försök igen.",
|
||
"saving": "Sparar...",
|
||
"continue": "Fortsätt",
|
||
"back": "Tillbaka",
|
||
"coming_soon": "Kommer snart",
|
||
"missing_fields": "Saknade uppgifter",
|
||
"check_all_fields": "Kontrollera att alla fält är korrekt ifyllda.",
|
||
"step1_ef_description": "Du driver verksamhet i eget namn med F-skattsedel",
|
||
"step1_ab_description": "Du har ett registrerat AB med organisationsnummer",
|
||
"step2_card_title": "Grunduppgifter",
|
||
"step2_card_desc_tic": "Ange organisationsnummer så hämtas övriga uppgifter automatiskt.",
|
||
"step2_card_desc_ab": "Ange bolagets registrerade namn och organisationsnummer.",
|
||
"step2_card_desc_ef": "Ange namn på din verksamhet.",
|
||
"step2_org_number_label": "Organisationsnummer *",
|
||
"step2_org_number_placeholder_ef": "ÅÅMMDD-XXXX (ditt personnummer vid EF)",
|
||
"step2_org_help_ab": "Obligatoriskt för aktiebolag",
|
||
"step2_org_help_ef": "Vid enskild firma är orgnummer samma som ditt personnummer",
|
||
"step2_fetching_details": "Hämtar företagsuppgifter...",
|
||
"step2_lookup_not_found": "Inget företag hittades med det organisationsnumret.",
|
||
"step2_lookup_failed": "Kunde inte hämta företagsuppgifter. Du kan fylla i manuellt.",
|
||
"step2_ceased_inline": "{companyName} — företaget är avregistrerat",
|
||
"step2_company_exists": "Det här företaget finns redan i {appName}. Be en befintlig administratör att bjuda in dig.",
|
||
"step2_company_name_ab": "Företagsnamn *",
|
||
"step2_company_name_ef": "Verksamhetsnamn (Eller ditt namn vid EF) *",
|
||
"step2_company_name_placeholder_ab": "AB Företaget",
|
||
"step2_company_name_placeholder_ef": "Alices Konsultverksamhet",
|
||
"step2_address_heading": "Adress (för fakturor)",
|
||
"step2_street_address": "Gatuadress",
|
||
"step2_street_placeholder": "Storgatan 1",
|
||
"step2_postal_code": "Postnummer",
|
||
"step2_city": "Ort",
|
||
"step3_card_title": "F-skatt och räkenskapsår",
|
||
"step3_card_description": "Dessa uppgifter används för att beräkna din skattesituation.",
|
||
"step3_invalid_period": "Räkenskapsåret är inte giltigt",
|
||
"step3_broken_year_title": "Är du säker på brutet räkenskapsår?",
|
||
"step3_broken_year_description": "Du har valt ett räkenskapsår som inte följer kalenderåret (slutar {endLabel}). De flesta svenska företag använder kalenderår (1 januari – 31 december). Du kan ändra detta senare i inställningarna, men endast innan du har bokfört något.",
|
||
"step3_broken_year_confirm": "Ja, fortsätt",
|
||
"step3_broken_year_cancel": "Ändra val",
|
||
"step3_fskatt_tip_title": "Vad är F-skatt?",
|
||
"step3_fskatt_tip_body": "F-skatt betyder att du själv ansvarar för att betala skatt och avgifter till Skatteverket varje månad.",
|
||
"step3_fskatt_tip_note": "De flesta som driver företag har F-skatt. Utan F-skatt måste dina kunder göra skatteavdrag på dina fakturor.",
|
||
"step3_fskatt_label": "Jag har F-skattsedel",
|
||
"step3_fskatt_help": "F-skatt innebär att du själv ansvarar för att betala in skatt och avgifter.",
|
||
"step3_fy_tip_title": "Räkenskapsår",
|
||
"step3_fy_tip_body": "Ditt räkenskapsår bestämmer vilken period du bokför för. De flesta har kalenderår (jan-dec).",
|
||
"step3_fy_tip_ef_note": "Enskild firma måste använda kalenderår enligt BFL 3 kap.",
|
||
"step3_fy_question": "Vilket räkenskapsår bokför du för?",
|
||
"step3_first_fy_title": "Första räkenskapsåret",
|
||
"step3_first_fy_subtitle": "Nystartat företag",
|
||
"step3_other_fy_title": "Annat räkenskapsår",
|
||
"step3_other_fy_subtitle": "Pågående verksamhet",
|
||
"step3_start_help": "Datumet företaget registrerades. Första räkenskapsåret kan börja valfri dag.",
|
||
"step3_fy_end_month_label": "Räkenskapsåret slutar (månad)",
|
||
"step3_select_month": "Välj månad",
|
||
"step3_end_date_label": "Slutdatum",
|
||
"step3_select_end_date": "Välj slutdatum",
|
||
"step3_no_valid_end": "Ingen giltig slutperiod hittades. Kontrollera startdatumet.",
|
||
"step3_calendar_year": "Kalenderår (januari-december)",
|
||
"step3_ef_calendar_required": "Enskild firma måste använda kalenderår enligt BFL 3 kap.",
|
||
"step3_when_fy_ends": "När slutar företagets räkenskapsår?",
|
||
"step3_calendar_or_broken": "De flesta har kalenderår (december). Brutet räkenskapsår slutar annan månad.",
|
||
"step3_your_fy": "Ditt räkenskapsår",
|
||
"step3_twelve_months": "12 månader",
|
||
"step4_card_title": "Moms och bokföringsmetod",
|
||
"step4_card_description": "Ange din momsregistrering och välj bokföringsmetod.",
|
||
"step4_vat_tip_title": "Behöver jag momsregistrera mig?",
|
||
"step4_vat_tip_body": "Ja, om din omsättning överstiger 120 000 kr per år. Med moms lägger du på 25% extra på dina fakturor, men får också dra av moms på dina inköp.",
|
||
"step4_vat_tip_note": "Om din omsättning överstiger 120 000 kr per år behöver du momsregistrera dig.",
|
||
"step4_vat_heading": "Momsregistrering",
|
||
"step4_vat_registered_label": "Jag är momsregistrerad",
|
||
"step4_vat_registered_help": "Obligatoriskt om din omsättning överstiger 120 000 kr per år.",
|
||
"step4_vat_number_label": "Momsregistreringsnummer",
|
||
"step4_vat_number_format": "Format: SE + organisationsnummer + 01",
|
||
"step4_vat_period_tip_title": "Hur ofta rapporterar du moms?",
|
||
"step4_vat_period_tip_body": "Välj den period som anges på Verksamt eller i ditt beslut från Skatteverket.",
|
||
"step4_vat_period_bracket_low": "Under 1 miljon/år = Kan välja årsredovisning",
|
||
"step4_vat_period_bracket_mid": "1-40 miljoner = Kvartal",
|
||
"step4_vat_period_bracket_high": "Över 40 miljoner = Månad",
|
||
"step4_vat_period_label": "Momsredovisningsperiod",
|
||
"step4_select_period": "Välj period",
|
||
"step4_period_monthly": "Månad",
|
||
"step4_period_quarterly": "Kvartal",
|
||
"step4_period_yearly": "År",
|
||
"step4_period_help": "Välj den period som anges i ditt beslut från Skatteverket. Vanligtvis kvartal eller år.",
|
||
"step4_method_tip": "Faktureringsmetoden bokför intäkter och kostnader när fakturan skickas/mottas. Kontantmetoden bokför vid betalning.",
|
||
"step4_method_label": "Bokföringsmetod",
|
||
"step4_method_accrual": "Faktureringsmetoden",
|
||
"step4_method_cash": "Kontantmetoden",
|
||
"step4_method_accrual_desc": "Intäkter och kostnader bokförs när fakturan skickas eller tas emot, oavsett när betalningen sker. Detta ger en mer rättvisande bild av verksamhetens ekonomi.",
|
||
"step4_method_cash_desc": "Intäkter och kostnader bokförs först när betalningen faktiskt sker. Enklare att hantera men ger en mindre exakt bild av verksamhetens ekonomi vid varje given tidpunkt.",
|
||
"step4_cash_limit_note": "Kontantmetoden får användas om årlig nettoomsättning normalt är högst 3 MSEK (BFL 5 kap. 2 §)."
|
||
},
|
||
"select_company": {
|
||
"greeting_night": "God natt",
|
||
"greeting_morning": "Godmorgon",
|
||
"greeting_hello": "Hej",
|
||
"greeting_afternoon": "God eftermiddag",
|
||
"greeting_evening": "God kväll",
|
||
"subtitle": "Välj ett företag att öppna eller lägg till ett nytt.",
|
||
"setting_up": "Sätter upp ditt företag…",
|
||
"org_nr_prefix": "Org.nr {orgNumber}",
|
||
"progress_lookup": "Hämtar uppgifter från Bolagsverket",
|
||
"progress_provision": "Skapar företag och kontoplan",
|
||
"enrichment_stale": "Uppgifterna från BankID är äldre än en vecka. Logga in med BankID igen för att uppdatera listan.",
|
||
"section_your_companies": "Dina företag i {appName}",
|
||
"section_bankid_companies": "Företag kopplade till ditt BankID",
|
||
"already_in_app": "Finns redan i {appName}",
|
||
"ask_admin_invite": "Be en befintlig administratör att bjuda in dig.",
|
||
"setup_manually": "Sätts upp manuellt",
|
||
"no_companies_found": "Inga företag hittades. Lägg till ditt första företag nedan.",
|
||
"or_separator": "eller",
|
||
"add_company_manually": "Lägg till företag manuellt",
|
||
"toast_lookup_failed_title": "Kunde inte hämta företagsuppgifter",
|
||
"toast_lookup_failed_description": "Fyll i resterande uppgifter manuellt.",
|
||
"toast_company_ceased_title": "Företaget är avregistrerat",
|
||
"toast_company_ceased_description": "Det går inte att sätta upp bokföring för ett avregistrerat företag.",
|
||
"toast_company_exists_title": "Företaget finns redan",
|
||
"toast_company_exists_description": "Be en befintlig administratör att bjuda in dig.",
|
||
"toast_org_invalid_title": "Ogiltigt organisationsnummer",
|
||
"toast_org_invalid_description": "Fortsätt med manuell uppsättning.",
|
||
"toast_create_failed_title": "Kunde inte skapa företag",
|
||
"toast_create_failed_description": "Försök igen eller lägg till manuellt.",
|
||
"toast_welcome_title": "Välkommen!",
|
||
"toast_company_ready": "Ditt företag är nu redo."
|
||
},
|
||
"companies_new": {
|
||
"step1_title": "Nytt företag",
|
||
"step1_subtitle": "Välj företagsform för det nya företaget.",
|
||
"step1_label": "Företagsform",
|
||
"step2_title": "Företagsuppgifter",
|
||
"step2_subtitle": "Uppgifterna visas på fakturor och dokument.",
|
||
"step2_label": "Uppgifter",
|
||
"step3_title": "F-skatt & räkenskapsår",
|
||
"step3_subtitle": "Skatteregistrering och räkenskapsår.",
|
||
"step3_label": "Skatt",
|
||
"step4_title": "Moms & bokföring",
|
||
"step4_subtitle": "Momsregistrering och bokföringsmetod.",
|
||
"step4_label": "Moms",
|
||
"period_error_end_after_start": "Slutdatumet måste vara efter startdatumet.",
|
||
"period_error_start_first": "Startdatumet måste vara den 1:a i en månad.",
|
||
"period_error_end_last_day": "Slutdatumet måste vara sista dagen i en månad.",
|
||
"period_error_max_18": "Räkenskapsåret får inte överstiga 18 månader (BFL 3 kap.).",
|
||
"period_error_invalid": "Ogiltigt räkenskapsår. Kontrollera datumen och försök igen.",
|
||
"toast_invalid_fiscal_year": "Ogiltigt räkenskapsår",
|
||
"toast_error_title": "Fel",
|
||
"toast_no_team": "Kunde inte hitta team. Ladda om sidan.",
|
||
"toast_create_failed": "Kunde inte skapa företag. Försök igen.",
|
||
"toast_company_created": "Företag skapat!",
|
||
"toast_switched_to_new": "Du har nu bytt till det nya företaget.",
|
||
"toast_unexpected_error": "Ett oväntat fel uppstod. Försök igen."
|
||
},
|
||
"invite": {
|
||
"header_invalid": "Ogiltig inbjudan",
|
||
"header_invited": "Du har blivit inbjuden",
|
||
"invalid_invite": "Inbjudan är ogiltig.",
|
||
"load_failed": "Kunde inte ladda inbjudan.",
|
||
"contact_inviter": "Kontakta personen som bjöd in dig för en ny inbjudan.",
|
||
"go_to_login": "Gå till inloggning",
|
||
"expired_title": "Inbjudan har gått ut",
|
||
"expired_description": "Be personen som bjöd in dig att skicka en ny inbjudan.",
|
||
"invited_to_company": "Du har bjudits in som medlem till detta företag.",
|
||
"logged_in_as": "Inloggad som <strong>{email}</strong>.",
|
||
"joining": "Går med…",
|
||
"join_named": "Gå med i {companyName}",
|
||
"wrong_account": "Inbjudan är skickad till <strong>{invitedEmail}</strong>, men du är inloggad som <strong>{currentEmail}</strong>.",
|
||
"signout_then_login": "Logga ut och logga in igen med rätt konto för att gå med.",
|
||
"signout_and_switch": "Logga ut och byt konto",
|
||
"existing_account": "<strong>{email}</strong> har redan ett konto på {appName}. Logga in för att gå med.",
|
||
"login_and_join": "Logga in och gå med",
|
||
"create_account_and_join": "Skapa konto och gå med",
|
||
"terms_notice": "Genom att skapa ett konto godkänner du våra villkor.",
|
||
"join_failed_title": "Kunde inte gå med",
|
||
"unexpected_error": "Ett oväntat fel uppstod. Försök igen.",
|
||
"welcome_title": "Välkommen!",
|
||
"joined_named": "Du är nu medlem i {companyName}.",
|
||
"joined_generic": "Du är nu medlem."
|
||
},
|
||
"settings_company": {
|
||
"company_info_heading": "Företagsuppgifter",
|
||
"company_name_label": "Företagsnamn",
|
||
"company_name_help": "Visas på fakturor, e-post och deklarationsfiler. För enskild firma är det vanligtvis ditt eget namn (Förnamn Efternamn).",
|
||
"org_number_label": "Organisationsnummer",
|
||
"org_number_locked": "Kan inte ändras efter att kontot skapats",
|
||
"address_label": "Adress",
|
||
"postal_code_label": "Postnummer",
|
||
"city_label": "Ort",
|
||
"phone_label": "Telefon",
|
||
"email_label": "E-post",
|
||
"website_label": "Webbplats",
|
||
"members_invite_title": "Bjud in till {companyName}",
|
||
"members_invite_description": "Personen får tillgång till enbart detta företag.",
|
||
"members_invite_email_label": "E-postadress",
|
||
"members_invite_email_placeholder": "namn@example.com",
|
||
"members_invite_button": "Bjud in",
|
||
"members_role_owner": "Ägare",
|
||
"members_role_admin": "Admin",
|
||
"members_role_member": "Medlem",
|
||
"members_role_viewer": "Läsbehörighet",
|
||
"members_title": "Medlemmar",
|
||
"members_count": "{count, plural, =1 {# medlem} other {# medlemmar}} i {companyName}",
|
||
"members_you": "(du)",
|
||
"members_team_badge": "Team",
|
||
"members_invite_sent_title": "Inbjudan skickad",
|
||
"members_invite_sent_dev_url": "Länk loggad i konsolen (F12)",
|
||
"members_invite_sent_description": "E-post skickad till {email}.",
|
||
"members_invite_failed": "Kunde inte skicka inbjudan.",
|
||
"members_removed": "Medlem borttagen",
|
||
"members_remove_failed": "Kunde inte ta bort medlem.",
|
||
"members_invite_revoked": "Inbjudan återkallad",
|
||
"members_invite_revoke_failed": "Kunde inte återkalla inbjudan.",
|
||
"invitations_pending_title": "Väntande inbjudningar",
|
||
"invitations_expires": "Går ut {date}",
|
||
"logo_heading": "Logotyp",
|
||
"logo_help": "Visas i sidhuvudet på dina fakturor. Max 2 MB, PNG/JPG/SVG.",
|
||
"logo_disallowed_type_title": "Otillåten filtyp",
|
||
"logo_disallowed_type_description": "PNG, JPG, SVG eller WebP.",
|
||
"logo_too_large": "Filen är för stor (max 2 MB)",
|
||
"logo_upload_failed_title": "Kunde inte ladda upp",
|
||
"logo_upload_failed_default": "Uppladdning misslyckades",
|
||
"logo_try_again": "Försök igen.",
|
||
"logo_delete_failed": "Kunde inte ta bort logotyp",
|
||
"logo_alt": "Företagslogotyp",
|
||
"logo_change": "Byt logotyp",
|
||
"logo_remove": "Ta bort",
|
||
"logo_uploading": "Laddar upp...",
|
||
"logo_pick_or_drop": "Välj fil eller dra hit",
|
||
"fp_heading": "Första räkenskapsår",
|
||
"fp_intro": "Om du valde fel räkenskapsår vid uppstart kan du justera det här — så länge du inte har bokfört någon verifikation ännu.",
|
||
"fp_load_error_periods": "Kunde inte hämta räkenskapsår",
|
||
"fp_load_error_entry_count": "Kunde inte hämta verifikationsantal",
|
||
"fp_load_error_unknown": "Okänt fel",
|
||
"fp_loading": "Hämtar räkenskapsår...",
|
||
"fp_none": "Inget räkenskapsår hittades.",
|
||
"fp_warning_title": "Ändra med omsorg.",
|
||
"fp_warning_body": "Ändringen påverkar öppningsbalanser och rapporter.",
|
||
"fp_warning_ef_suffix": " Enskild firma måste använda kalenderår enligt BFL 3 kap.",
|
||
"fp_summary_title": "Föreslaget räkenskapsår",
|
||
"fp_end_date_label": "Slutdatum",
|
||
"fp_end_date_help": "Måste vara sista dagen i en månad.",
|
||
"fp_reset": "Återställ",
|
||
"fp_save": "Spara ändring",
|
||
"fp_saving": "Sparar...",
|
||
"fp_confirm_title": "Ändra första räkenskapsåret?",
|
||
"fp_confirm_description": "Detta ändrar ditt första räkenskapsår från {oldStart} – {oldEnd} till {newStart} – {newEnd}. Ändringen är bara tillåten eftersom inga verifikationer är bokförda ännu. Fortsätt?",
|
||
"fp_confirm_yes": "Ja, ändra räkenskapsår",
|
||
"fp_confirm_cancel": "Avbryt",
|
||
"fp_updated_title": "Räkenskapsår uppdaterat",
|
||
"fp_update_failed_title": "Kunde inte ändra räkenskapsår",
|
||
"fp_try_again": "Försök igen.",
|
||
"fp_blocked_title": "Räkenskapsåret kan inte längre ändras",
|
||
"fp_blocked_reason_locked": "Räkenskapsåret är låst.",
|
||
"fp_blocked_reason_closed": "Räkenskapsåret är stängt.",
|
||
"fp_blocked_reason_posted": "{count, plural, =1 {# bokförd verifikation finns redan i perioden.} other {# bokförda verifikationer finns redan i perioden.}}",
|
||
"fp_blocked_first_year": "Första räkenskapsåret:",
|
||
"fp_blocked_calendar_year": " (kalenderår)",
|
||
"fp_blocked_broken_year": " (brutet räkenskapsår)",
|
||
"fp_blocked_explainer": "Om du måste börja om kan du radera företaget längst ner på sidan och skapa ett nytt. Bokföringsdata behålls i 7 år enligt BFL 7 kap. 2§.",
|
||
"fp_year_label_single": "Räkenskapsår {year}",
|
||
"fp_year_label_range": "Räkenskapsår {startYear}/{endYear}",
|
||
"danger_heading": "Radera företag",
|
||
"danger_button": "Radera företag",
|
||
"danger_dialog_title": "Radera {companyName}",
|
||
"danger_dialog_description": "Företaget döljs från {appName}. Bokföringen behålls säkert i 7 år enligt BFL. Skriv företagets namn exakt för att bekräfta.",
|
||
"danger_confirm_label": "Skriv <strong>{companyName}</strong> för att bekräfta",
|
||
"danger_cancel": "Avbryt",
|
||
"danger_deleting": "Raderar...",
|
||
"danger_deleted_title": "Företaget raderades",
|
||
"danger_delete_failed_title": "Kunde inte radera företaget",
|
||
"danger_delete_failed_default": "Kunde inte radera företaget",
|
||
"danger_try_again": "Försök igen.",
|
||
"wrapper_save_failed_title": "Kunde inte spara",
|
||
"wrapper_save_failed_default": "Kunde inte spara inställningar",
|
||
"wrapper_try_again": "Försök igen.",
|
||
"wrapper_saved": "Sparat",
|
||
"wrapper_saving": "Sparar...",
|
||
"wrapper_save_changes": "Spara ändringar",
|
||
"wrapper_readonly_tooltip": "Du har endast läsbehörighet i detta företag"
|
||
},
|
||
"settings_invoicing": {
|
||
"bank_validation_title": "Kontrollera bankuppgifter"
|
||
},
|
||
"settings_invoicing_preview": {
|
||
"title": "Förhandsvisning",
|
||
"preview_button": "Förhandsvisa faktura",
|
||
"loading": "Genererar förhandsvisning...",
|
||
"error": "Kunde inte ladda förhandsvisning",
|
||
"sample_item_description": "Exempelrad",
|
||
"iframe_title": "PDF-förhandsvisning av faktura"
|
||
},
|
||
"settings_bookkeeping": {
|
||
"method_heading": "Bokföringsmetod",
|
||
"method_label": "Metod",
|
||
"method_accrual": "Faktureringsmetoden",
|
||
"method_cash": "Kontantmetoden",
|
||
"method_help": "Kontantmetoden får användas om årlig nettoomsättning normalt är högst 3 MSEK (BFL 5 kap. 2 §). Obetalda fordringar och skulder ska bokföras vid räkenskapsårets utgång.",
|
||
"series_heading": "Standardserie för verifikationer",
|
||
"series_label": "Serie",
|
||
"series_help": "Vilken serie som förväljs vid manuell bokföring. Kan ändras per verifikation.",
|
||
"related_heading": "Relaterat",
|
||
"related_fiscal_year": "Räkenskapsår och ingående balanser",
|
||
"related_chart_of_accounts": "Kontoplan (BAS)"
|
||
},
|
||
"settings_tax": {},
|
||
"settings_team": {},
|
||
"settings_templates": {},
|
||
"settings_salary": {
|
||
"title": "Löneinställningar",
|
||
"accounting_heading": "Bokföring",
|
||
"voucher_series_label": "Standard verifikationsserie för löner",
|
||
"voucher_series_a": "A — Standard",
|
||
"voucher_series_l": "L — Löner",
|
||
"voucher_series_help": "Kan ändras per lönekörning. Varje serie har obrutna verifikationsnummer per räkenskapsår.",
|
||
"tax_tables_heading": "Skattetabeller",
|
||
"tax_tables_help": "Skattetabeller och kommunala skattesatser hämtas automatiskt från Skatteverkets öppna data vid varje lönekörning. Ingen manuell uppdatering krävs. Om Skatteverkets API är otillgängligt används en inbäddad reservkopia tills tjänsten är uppe igen.",
|
||
"vacation_heading": "Semester",
|
||
"vacation_rule_label": "Standard semesterregel",
|
||
"vacation_rule_percentage": "Procentregeln (12 %)",
|
||
"vacation_rule_same_pay": "Sammalöneregeln",
|
||
"vacation_rule_none": "Ingen semesteravsättning",
|
||
"vacation_supplement_label": "Semestertillägg",
|
||
"vacation_supplement_min": "0,43% (lagstadgat minimum)",
|
||
"vacation_supplement_cba": "0,80% (vanligt kollektivavtalsbelopp)",
|
||
"vacation_supplement_help": "Tillämpas vid sammalöneregeln. Kan ändras per anställd.",
|
||
"info_heading": "Information",
|
||
"info_payroll_scope": "Lönemodulen hanterar löner för aktiebolag. Enskild firma-ägare använder eget uttag istället.",
|
||
"info_current_year": "<strong>Aktuellt år:</strong> 2026 — Arbetsgivaravgifter 31,42 %, prisbasbelopp 59 200 SEK"
|
||
},
|
||
"settings_backup": {
|
||
"heading": "Säkerhetsbackup",
|
||
"intro": "Ladda ner en egen kopia av all räkenskapsinformation — SIE-filer, kvitton, underlag och behandlingshistorik — i en enda ZIP-fil. Säkerhetsbackupen är din egen kopia för trygghet och portabilitet. {appName} arkiverar all räkenskapsinformation i minst 7 år enligt BFL 7 kap. 2 §, så din backup ersätter inte vårt lagkrav — den kompletterar det."
|
||
},
|
||
"settings_api": {},
|
||
"settings_banking": {
|
||
"sync_start_title": "Synkroniserar transaktioner...",
|
||
"sync_start_description": "Hämtar transaktioner från din bank i bakgrunden.",
|
||
"sync_success_title": "Bank ansluten!",
|
||
"sync_success_description": "{count} transaktioner importerade",
|
||
"sync_success_no_id_description": "Din bank är nu kopplad.",
|
||
"sync_timeout_title": "Synkronisering tog för lång tid",
|
||
"sync_timeout_description": "Transaktionerna hämtas i bakgrunden. Ladda om sidan om en stund.",
|
||
"sync_failed_title": "Synkronisering misslyckades",
|
||
"sync_failed_default": "Kunde inte hämta transaktioner",
|
||
"connect_failed_title": "Anslutning misslyckades",
|
||
"access_denied_hint": "{bankName} nekade åtkomst. Om du använder ett privatkonto kan du prova att ansluta med kontotypen \"Privatkonto\" i bankväljaren nedan.",
|
||
"import_fallback_text": "Du kan också ",
|
||
"import_fallback_link": "importera transaktioner via bankfil",
|
||
"import_fallback_suffix": " istället.",
|
||
"dismiss_aria": "Stäng",
|
||
"not_enabled_title": "Bankintegration (PSD2) är inte aktiverad",
|
||
"not_enabled_description": "Aktivera tillägget Enable Banking för att koppla ditt bankkonto och automatiskt hämta transaktioner.",
|
||
"go_to_extensions": "Gå till Tillägg"
|
||
},
|
||
"settings_skatteverket": {
|
||
"connected_title": "Skatteverket anslutet",
|
||
"connected_description": "Du kan nu skicka deklarationer och hämta skattekonto-saldot.",
|
||
"connect_failed_title": "Anslutning misslyckades"
|
||
},
|
||
"settings_account_danger": {
|
||
"heading": "Radera konto",
|
||
"blockers_title": "Företag du äger",
|
||
"blockers_description": "Radera eller överlåt alla företag innan du raderar kontot.",
|
||
"blockers_manage": "Hantera",
|
||
"support_question": "Har du frågor?",
|
||
"support_subject": "Fråga om kontoradering",
|
||
"export_sie": "Exportera bokföringsdata (SIE)",
|
||
"delete_button": "Radera mitt konto",
|
||
"dialog_title": "Radera konto permanent",
|
||
"dialog_description": "Ditt konto avidentifieras och du loggas ut från alla enheter. Du kan inte skapa ett nytt konto med samma e-postadress — kontakta support om du vill återaktivera kontot i framtiden.",
|
||
"confirm_label": "Skriv din e-postadress (<strong>{email}</strong>) för att bekräfta",
|
||
"cancel": "Avbryt",
|
||
"deleting": "Raderar...",
|
||
"delete_confirm_button": "Radera konto",
|
||
"delete_failed_blockers": "Du måste radera eller överlåta dina företag först.",
|
||
"delete_failed_default": "Kunde inte radera kontot"
|
||
},
|
||
"settings_bank_details_form": {
|
||
"heading": "Bankuppgifter",
|
||
"subheading": "Visas på dina fakturor",
|
||
"bank_label": "Bank",
|
||
"clearing_label": "Clearing",
|
||
"clearing_error": "Måste vara 4-5 siffror",
|
||
"account_number_label": "Kontonummer",
|
||
"account_number_error": "Måste vara 6-12 siffror",
|
||
"bankgiro_label": "Bankgiro",
|
||
"bankgiro_error": "Ogiltigt bankgironummer",
|
||
"swish_label": "Swish",
|
||
"swish_placeholder": "123 XXX XX XX eller 07X XXX XX XX",
|
||
"swish_error": "Ogiltigt Swish-nummer (företagsnummer 123XXXXXXX eller mobilnummer 07XXXXXXXX)"
|
||
},
|
||
"settings_invoice_form": {
|
||
"heading": "Fakturainställningar",
|
||
"prefix_label": "Fakturaprefix",
|
||
"prefix_placeholder": "t.ex. F-",
|
||
"next_number_label": "Nästa fakturanummer",
|
||
"default_days_label": "Betalningsvillkor (dagar)",
|
||
"default_notes_label": "Standardtext på fakturor",
|
||
"default_notes_placeholder": "T.ex. betalningsvillkor, leveransinfo...",
|
||
"default_notes_help": "Föreslås automatiskt vid ny faktura."
|
||
},
|
||
"settings_pdf_print": {
|
||
"heading": "Utskrift & PDF",
|
||
"toast_save_failed": "Kunde inte spara",
|
||
"ore_rounding_label": "Öresavrundning",
|
||
"ore_rounding_help": "Avrunda fakturatotal till hel krona",
|
||
"show_ocr_label": "Visa OCR-referens",
|
||
"show_ocr_help": "Visa OCR-nummer på fakturautskrift",
|
||
"show_bankgiro_label": "Visa bankgiro",
|
||
"show_bankgiro_help": "Visa bankgironummer på fakturautskrift",
|
||
"show_plusgiro_label": "Visa plusgiro",
|
||
"show_plusgiro_help": "Visa plusgironummer på fakturautskrift",
|
||
"show_swish_label": "Visa Swish",
|
||
"show_swish_help": "Visa Swish-nummer på fakturautskrift",
|
||
"show_logo_label": "Visa logga",
|
||
"show_logo_help": "Visa uppladdad logga i fakturahuvudet",
|
||
"show_company_name_label": "Visa företagsnamn i faktura",
|
||
"show_company_name_help": "Visa företagsnamn i fakturan",
|
||
"placement_label": "Placering",
|
||
"placement_aria_label": "Placering av företagsnamn",
|
||
"placement_header": "Huvud",
|
||
"placement_footer": "Sidfot",
|
||
"late_fee_label": "Dröjsmålsränta",
|
||
"late_fee_placeholder": "T.ex. Vid betalning efter förfallodagen debiteras ränta enligt räntelagen.",
|
||
"credit_terms_label": "Betalningsvillkor (fotnot)",
|
||
"credit_terms_placeholder": "T.ex. Betalning sker till angivet bankgiro."
|
||
},
|
||
"settings_period_locking": {
|
||
"heading": "Periodlåsning",
|
||
"locked_through_label": "Bokföring låst t.o.m.",
|
||
"locked_through_help": "Verifikationer med datum före detta datum kan inte skapas eller ändras.",
|
||
"auto_lock_label": "Automatisk låsning efter",
|
||
"auto_lock_none": "Ingen automatisk låsning",
|
||
"auto_lock_30": "30 dagar efter periodens slut",
|
||
"auto_lock_60": "60 dagar efter periodens slut",
|
||
"auto_lock_90": "90 dagar efter periodens slut",
|
||
"auto_lock_help": "Låser automatiskt perioder efter valt antal dagar."
|
||
},
|
||
"settings_voucher_series": {
|
||
"heading": "Verifikationsserier",
|
||
"empty_state": "Inga verifikationsserier ännu. Serie {series} skapas automatiskt vid första verifikationen.",
|
||
"active_series_label": "Aktiva serier",
|
||
"series_prefix": "Serie",
|
||
"default_badge": "standard",
|
||
"latest_number": "Senaste nr",
|
||
"footnote": "Nya serier skapas automatiskt första gången de används vid bokföring."
|
||
},
|
||
"settings_team_panel": {
|
||
"role_owner": "Ägare",
|
||
"role_admin": "Admin",
|
||
"role_member": "Medlem",
|
||
"team_fallback": "Team",
|
||
"you_suffix": "(du)"
|
||
},
|
||
"settings_booking_templates": {
|
||
"title": "Bokföringsmallar",
|
||
"description": "Återanvändbara mallar för vanliga bokföringstransaktioner. Standardmallar visas för alla, egna mallar kan skapas och delas.",
|
||
"entity_all": "Alla",
|
||
"entity_enskild_firma": "Enskild firma",
|
||
"entity_aktiebolag": "Aktiebolag",
|
||
"toast_fetch_failed": "Kunde inte hämta mallar",
|
||
"toast_delete_failed": "Kunde inte ta bort mall",
|
||
"toast_deleted": "Mall borttagen",
|
||
"toast_export_failed": "Kunde inte exportera mallar",
|
||
"toast_import_error": "Importfel",
|
||
"toast_import_generic": "Kunde inte importera",
|
||
"toast_import_done": "Import klar",
|
||
"toast_import_count": "{count} mall(ar) importerade.",
|
||
"toast_invalid_file": "Ogiltig fil",
|
||
"toast_fill_all_fields": "Fyll i alla fält",
|
||
"toast_create_failed": "Kunde inte skapa mall",
|
||
"toast_created": "Mall skapad",
|
||
"export": "Exportera",
|
||
"import": "Importera",
|
||
"new_template": "Ny mall",
|
||
"create_dialog_title": "Skapa bokföringsmall",
|
||
"empty_state": "Inga mallar hittades.",
|
||
"section_system": "Standardmallar",
|
||
"section_team": "Teammallar",
|
||
"section_company": "Företagsmallar",
|
||
"th_account": "Konto",
|
||
"th_description": "Beskrivning",
|
||
"th_type": "Typ",
|
||
"th_debit": "Debet",
|
||
"th_credit": "Kredit",
|
||
"vat_with_rate": "Moms {rate}%",
|
||
"type_settlement": "Betalning",
|
||
"type_cost_revenue": "Kostnad/Intäkt",
|
||
"type_cost": "Kostnad",
|
||
"type_vat": "Moms",
|
||
"debit_short": "D",
|
||
"credit_short": "K",
|
||
"name_label": "Namn",
|
||
"name_placeholder": "T.ex. Inköp EU-varor",
|
||
"description_label": "Beskrivning",
|
||
"optional_suffix": "(valfritt)",
|
||
"description_placeholder": "När ska denna mall användas?",
|
||
"category_label": "Kategori",
|
||
"entity_type_label": "Företagstyp",
|
||
"lines_label": "Rader",
|
||
"account_placeholder": "Konto",
|
||
"description_short_placeholder": "Beskrivning",
|
||
"debit_label": "Debet",
|
||
"credit_label": "Kredit",
|
||
"add_line": "Lägg till rad",
|
||
"create_button": "Skapa mall"
|
||
},
|
||
"settings_counterparty_templates": {
|
||
"title": "Bokföringsmallar",
|
||
"description": "Inlärda mönster som automatiskt föreslår kontering baserat på motpart. Mallar skapas från SIE-import och när du godkänner kategoriseringar.",
|
||
"source_sie_import": "SIE-import",
|
||
"source_user_approved": "Godkänd",
|
||
"source_auto_learned": "Automatisk",
|
||
"source_sni_default": "Standard",
|
||
"vat_reverse_charge": "Omvänd",
|
||
"vat_export": "Export",
|
||
"vat_exempt": "Momsfri",
|
||
"toast_fetch_failed": "Kunde inte hämta mallar",
|
||
"toast_delete_failed": "Kunde inte ta bort mall",
|
||
"toast_deleted": "Mall borttagen",
|
||
"empty_title": "Inga mallar ännu.",
|
||
"empty_help": "Mallar skapas automatiskt när du kategoriserar transaktioner eller importerar en SIE-fil.",
|
||
"times_count": "{count} ggr",
|
||
"booking_label": "Kontering",
|
||
"debit_label": "Debet",
|
||
"credit_label": "Kredit",
|
||
"vat_paren": "({rate}% moms)",
|
||
"vat_label": "Moms",
|
||
"occurrence_count_label": "Antal bokföringar",
|
||
"confidence_label": "Säkerhet",
|
||
"last_seen_label": "Senast använd",
|
||
"aliases_label": "Alias",
|
||
"delete_button": "Ta bort mall"
|
||
},
|
||
"settings_tax_form": {
|
||
"entity_form_heading": "Företagsform",
|
||
"entity_aktiebolag": "Aktiebolag",
|
||
"entity_enskild_firma": "Enskild firma",
|
||
"entity_form_help": "Företagsform kan inte ändras. Kontakta support vid behov.",
|
||
"tax_vat_heading": "Skatt & moms",
|
||
"f_skatt_label": "F-skattsedel",
|
||
"f_skatt_help": "Godkänd för F-skatt (självständig näringsverksamhet).",
|
||
"vat_registered_label": "Momsregistrerad",
|
||
"vat_registered_help": "Obligatoriskt om omsättningen överstiger 120 000 kr per år.",
|
||
"vat_number_label": "Momsregistreringsnummer",
|
||
"vat_number_help": "Format: SE + organisationsnummer + 01",
|
||
"moms_period_label": "Momsredovisningsperiod",
|
||
"select_period_placeholder": "Välj period",
|
||
"period_monthly": "Månad",
|
||
"period_quarterly": "Kvartal",
|
||
"period_yearly": "År",
|
||
"moms_period_help": "Enligt beslut från Skatteverket.",
|
||
"periodisk_label": "Period för periodisk sammanställning",
|
||
"periodisk_help": "Varuförsäljning till EU ska normalt rapporteras månadsvis (35 kap. 2 § SFL). Kvartal kräver tillstånd från Skatteverket och gäller endast tjänsteförsäljning.",
|
||
"tax_contact_heading": "Kontaktperson för skatteärenden",
|
||
"tax_contact_help": "Används som avsändare på filer till Skatteverket (periodisk sammanställning m.m.).",
|
||
"tax_contact_name_label": "Namn",
|
||
"tax_contact_name_placeholder": "Anna Andersson",
|
||
"tax_contact_phone_label": "Telefon",
|
||
"tax_contact_email_label": "E-post",
|
||
"fiscal_year_salaries_heading": "Räkenskapsår & löner",
|
||
"fiscal_year_start_label": "Räkenskapsårets startmånad",
|
||
"fiscal_year_ef_help": "Enskild firma måste använda kalenderår (BFL 3 kap.).",
|
||
"fiscal_year_change_help": "Ändring påverkar framtida räkenskapsår.",
|
||
"month_jan": "Januari",
|
||
"month_feb": "Februari",
|
||
"month_mar": "Mars",
|
||
"month_apr": "April",
|
||
"month_may": "Maj",
|
||
"month_jun": "Juni",
|
||
"month_jul": "Juli",
|
||
"month_aug": "Augusti",
|
||
"month_sep": "September",
|
||
"month_oct": "Oktober",
|
||
"month_nov": "November",
|
||
"month_dec": "December",
|
||
"pays_salaries_label": "Betalar löner",
|
||
"pays_salaries_help": "Påverkar vilka skattedeadlines som visas (arbetsgivardeklaration m.m.).",
|
||
"preliminary_tax_heading": "Preliminärskatt",
|
||
"preliminary_tax_monthly_label": "Månatlig preliminärskatt (F-skatt)",
|
||
"preliminary_tax_monthly_help": "Belopp i SEK som betalas varje månad."
|
||
},
|
||
"settings_backup_download": {
|
||
"create_backup_title": "Skapa backup",
|
||
"scope_label": "Omfattning",
|
||
"scope_all_label": "Hela historiken",
|
||
"scope_all_desc": "Alla räkenskapsår och verifikationer",
|
||
"scope_period_label": "En period",
|
||
"scope_period_desc": "Välj ett specifikt räkenskapsår",
|
||
"recommended": "Rekommenderas",
|
||
"fiscal_year_label": "Räkenskapsår",
|
||
"no_fiscal_years": "Inga räkenskapsår",
|
||
"include_docs_label": "Inkludera kvitton och underlag",
|
||
"include_docs_help": "Bilagor till verifikationer (kvitton, fakturor, PDF:er) packas med i ZIP:en. Stäng av för en mindre backup med bara bokföringsdata.",
|
||
"calculating_size": "Beräknar storlek…",
|
||
"estimated_size": "Uppskattad storlek:",
|
||
"attachment_singular": "bilaga",
|
||
"attachment_plural": "bilagor",
|
||
"size_will_calculate": "Storlek beräknas när omfattning är vald.",
|
||
"over_limit_message": "Arkivet är större än {limit} och kan inte laddas ner direkt. Välj en enskild period eller stäng av bilagor tills vidare — automatisk molnsynkronisering kommer i senare version.",
|
||
"creating_backup": "Skapar backup…",
|
||
"create_and_download": "Skapa och ladda ner",
|
||
"last_download": "Senaste nedladdning",
|
||
"toast_too_large_title": "Arkivet är för stort för direktnedladdning",
|
||
"toast_too_large_with_size": "Ditt arkiv är cirka {size} MB. Exportera en period i taget tills vidare — automatisk molnsynkronisering kommer i senare version.",
|
||
"toast_too_large_generic": "Exportera en period i taget tills vidare — automatisk molnsynkronisering kommer i senare version.",
|
||
"error_create_archive": "Kunde inte skapa arkivet",
|
||
"toast_backup_created": "Säkerhetsbackup skapad",
|
||
"toast_backup_failed": "Kunde inte skapa säkerhetsbackup",
|
||
"toast_try_again": "Försök igen.",
|
||
"cloud_sync_title": "Molnsynkronisering",
|
||
"cloud_sync_disabled_help": "Aktivera tillägget \"Molnsynkronisering\" för att koppla Google Drive och ladda upp säkerhetsbackupen med ett klick."
|
||
},
|
||
"settings_api_keys": {
|
||
"title": "API-nycklar",
|
||
"description": "Hantera nycklar för MCP-klienter (Claude, Cursor) och andra integrationer.",
|
||
"create_key": "Skapa nyckel",
|
||
"default_key_name": "MCP-nyckel",
|
||
"toast_fetch_failed": "Kunde inte hämta API-nycklar",
|
||
"toast_create_failed": "Kunde inte skapa nyckel",
|
||
"toast_revoked": "Nyckel återkallad",
|
||
"toast_revoke_failed": "Kunde inte återkalla nyckel",
|
||
"revoke_dialog_title": "Återkalla API-nyckel",
|
||
"revoke_dialog_description": "\"{name}\" återkallas permanent. Alla klienter som använder nyckeln slutar fungera omedelbart.",
|
||
"revoke_confirm": "Återkalla",
|
||
"empty_title": "Inga API-nycklar ännu.",
|
||
"empty_help": "Skapa en nyckel för att koppla din MCP-klient.",
|
||
"all_permissions": "Alla behörigheter",
|
||
"no_permissions": "Inga behörigheter",
|
||
"permissions_count": "{count} behörigheter",
|
||
"created": "Skapad",
|
||
"used_on": "Använd {date}",
|
||
"never_used": "Aldrig använd",
|
||
"revoke_aria": "Återkalla {name}",
|
||
"copy_aria": "Kopiera",
|
||
"connect_mcp_title": "Anslut MCP-klient",
|
||
"recommended_badge": "Rekommenderat",
|
||
"claude_ai_instructions": "Gå till <path>Settings → Integrations → Add Integration</path> och klistra in MCP-serverns URL. Du loggas in via ditt {connectorName}-konto — ingen API-nyckel behövs.",
|
||
"claude_code_cursor": "Claude Code / Cursor",
|
||
"terminal_runs_browser_login": "Kör i terminalen — loggar in via webbläsaren:",
|
||
"connect_with_api_key": "Anslut med API-nyckel istället",
|
||
"claude_desktop_instructions": "Lägg till i <code>claude_desktop_config.json</code> (Inställningar → Developer):",
|
||
"terminal_with_api_key": "Kör i terminalen med en API-nyckel:",
|
||
"create_dialog_title": "Skapa API-nyckel",
|
||
"create_dialog_description": "Ge nyckeln ett namn så du vet vad den används till.",
|
||
"name_label": "Namn",
|
||
"name_placeholder": "t.ex. Claude Desktop",
|
||
"permissions_label": "Behörigheter",
|
||
"permissions_help": "Välj vad nyckeln ska ha åtkomst till.",
|
||
"selected_count": "{selected} av {total} valda",
|
||
"tools_count": "{count} verktyg",
|
||
"rest_badge": "REST",
|
||
"cancel": "Avbryt",
|
||
"create": "Skapa",
|
||
"new_key_dialog_title": "Din nya API-nyckel",
|
||
"new_key_dialog_description": "Kopiera nyckeln nu. Den visas bara en gång.",
|
||
"done": "Klar",
|
||
"group_transactions": "Transaktioner",
|
||
"group_customers": "Kunder",
|
||
"group_invoices": "Fakturor",
|
||
"group_suppliers": "Leverantörer",
|
||
"group_reports": "Rapporter",
|
||
"group_bookkeeping": "Bokföring",
|
||
"group_payroll": "Löner",
|
||
"group_pending_operations": "Stagade operationer",
|
||
"group_documents": "Dokument (REST API)",
|
||
"group_companies": "Företag (REST API)",
|
||
"group_events": "Händelser (REST API)",
|
||
"group_webhooks": "Webhooks (REST API)",
|
||
"group_operations": "Operationer (REST API)",
|
||
"group_compliance": "Compliance (REST API)",
|
||
"scope_transactions_read": "Läs — lista transaktioner, mallar, kategorier, inbox",
|
||
"scope_transactions_write": "Skriv — kategorisera, kvittomatchning, koppling mot faktura, dokumentuppladdning",
|
||
"scope_customers_read": "Läs — lista kunder",
|
||
"scope_customers_write": "Skriv — skapa kunder",
|
||
"scope_invoices_read": "Läs — lista fakturor",
|
||
"scope_invoices_write": "Skriv — skapa, skicka, markera betald/skickad, kreditera, konvertera",
|
||
"scope_suppliers_read": "Läs — lista leverantörer och leverantörsfakturor",
|
||
"scope_suppliers_write": "Skriv — godkänn, kreditera, skapa leverantörsfaktura från inbox",
|
||
"scope_reports_read": "Läs — kontoplan, huvudbok, BR, RR, moms, KPI, reskontra, perioder, bankavstämning, SIE-export",
|
||
"scope_bookkeeping_write": "Skriv — stänga/låsa perioder, IB, bokslut, SIE-import, verifikat, korrigeringar (alla stagas)",
|
||
"scope_payroll_read": "Läs — lista anställda, lönekörningar, lönejournal",
|
||
"scope_payroll_write": "Skriv — skapa lönekörning, beräkna, generera AGI",
|
||
"scope_pending_operations_read": "Läs — lista pending_operations som väntar på godkännande",
|
||
"scope_pending_operations_approve": "Godkänn — committa eller avvisa staged ops via API (ersätter web-UI:s granskning)",
|
||
"scope_documents_read": "Läs — lista och hämta dokumentbilagor",
|
||
"scope_documents_write": "Skriv — ladda upp och koppla dokument till verifikationer",
|
||
"scope_companies_read": "Läs — företagsprofiler nyckeln har åtkomst till",
|
||
"scope_events_read": "Läs — polla event_log som webhook-fallback",
|
||
"scope_webhooks_manage": "Hantera — skapa, lista, uppdatera, radera prenumerationer",
|
||
"scope_operations_read": "Läs — status för långkörande operationer (import, bokslut, omvärdering)",
|
||
"scope_compliance_read": "Läs — pre-flight: momsstängning, bokslutsberedskap, voucher-gap, IB/UB-kontinuitet"
|
||
},
|
||
"settings_oauth_clients": {
|
||
"title": "OAuth-klienter",
|
||
"description": "Registrera redirect-URI:er för egenutvecklade MCP-klienter. Claude.ai och localhost är redan godkända som standard — registrera bara här om du bygger en egen app.",
|
||
"register_uri": "Registrera URI",
|
||
"default_client_name": "OAuth-klient",
|
||
"toast_fetch_failed": "Kunde inte hämta OAuth-klienter",
|
||
"toast_register_failed": "Kunde inte registrera redirect URI",
|
||
"toast_revoked": "Klient återkallad",
|
||
"toast_revoke_failed": "Kunde inte återkalla klient",
|
||
"revoke_dialog_title": "Återkalla OAuth-klient",
|
||
"revoke_dialog_description": "\"{name}\" tas bort från allowlist. Pågående auth-flöden slutar fungera direkt; redan utfärdade API-nycklar fortsätter att gälla tills de återkallas separat.",
|
||
"revoke_confirm": "Återkalla",
|
||
"empty_title": "Inga egna OAuth-klienter registrerade.",
|
||
"empty_help": "Bygger du en agent som ska ansluta via OAuth? Registrera dess callback-URI här.",
|
||
"registered_on": "Registrerad",
|
||
"revoke_aria": "Återkalla {name}",
|
||
"register_dialog_title": "Registrera redirect URI",
|
||
"register_dialog_description": "Bara för egenbyggda MCP-klienter med en publik HTTPS-callback. Lägg <bold>inte</bold> till <code>localhost</code> eller <code>claude.ai</code> — de fungerar redan utan registrering. URI:n jämförs ord-för-ord mot redirect_uri-parametern i OAuth-flödet.",
|
||
"client_name_label": "Klientnamn",
|
||
"client_name_placeholder": "t.ex. Min bokföringsagent",
|
||
"redirect_uri_label": "Redirect URI",
|
||
"cancel": "Avbryt",
|
||
"register": "Registrera"
|
||
},
|
||
"settings_skatteverket_connect": {
|
||
"title": "Skatteverket",
|
||
"scope_momsdeklaration": "Momsdeklaration",
|
||
"scope_inkforetag": "Företagsinformation",
|
||
"scope_skahmst": "Skattekonto – saldo & transaktioner",
|
||
"scope_skattekonto": "Skattekonto",
|
||
"scope_agd": "Arbetsgivardeklaration",
|
||
"disconnect_failed": "Frånkoppling misslyckades",
|
||
"toast_disconnected": "Skatteverket frånkopplad",
|
||
"toast_disconnect_failed": "Kunde inte koppla från",
|
||
"loading_status": "Hämtar status…",
|
||
"disabled_message": "Skatteverket-integrationen är tillfälligt avstängd. Kontakta support.",
|
||
"connect_intro": "Anslut till Skatteverket med BankID för att skicka momsdeklaration, arbetsgivardeklaration och hämta saldot på skattekontot.",
|
||
"skahmst_note": "På Skatteverkets samtyckessida visas en av behörigheterna som <code>skahmst (Rubrik saknas)</code> — det är scope-namnet för skattekontots saldo och transaktioner (Skattekonto HuvudMan STatus). Skatteverket har inte publicerat en svensk beskrivning för den ännu. Det är ofarligt att godkänna.",
|
||
"connect_with_bankid": "Anslut med BankID",
|
||
"expired": "Utgången",
|
||
"connected": "Ansluten",
|
||
"token_expires_label": "Token utgår",
|
||
"expires_in_minutes": "(om {minutes} min)",
|
||
"refresh_label": "Förnyelse",
|
||
"refresh_auto": "Förnyas automatiskt",
|
||
"refresh_exhausted": "Förnyelse uttömd — anslut igen",
|
||
"permissions_label": "Behörigheter",
|
||
"missing_skattekonto": "Behörigheten för Skattekonto saknas — koppla från och anslut igen för att aktivera saldo- och transaktionsvyn.",
|
||
"missing_agd": "Behörigheten för Arbetsgivardeklaration (AGI) saknas — koppla från och anslut igen för att kunna skicka AGI direkt från gnubok. Tokens utfärdade innan AGI-stödet aktiverades saknar denna scope.",
|
||
"disabled_filings_message": "Skatteverket-integrationen är tillfälligt avstängd. Inlämningar är inaktiverade.",
|
||
"reconnect": "Anslut igen",
|
||
"disconnect": "Koppla från",
|
||
"disconnecting": "Kopplar från…",
|
||
"env_disabled": "Avstängd",
|
||
"env_test": "Testmiljö",
|
||
"env_prod": "Produktion"
|
||
},
|
||
"settings_bankid": {
|
||
"title": "BankID",
|
||
"toast_already_linked": "Detta BankID ar redan kopplat till ett annat konto.",
|
||
"toast_link_failed": "Kunde inte koppla BankID.",
|
||
"toast_linked": "BankID kopplat till ditt konto",
|
||
"confirm_unlink": "Vill du koppla bort BankID fran ditt konto?",
|
||
"toast_unlinked": "BankID bortkopplat",
|
||
"toast_unlink_failed": "Kunde inte koppla bort BankID",
|
||
"link_bankid_title": "Koppla BankID",
|
||
"link_bankid_description": "Skanna QR-koden med BankID-appen",
|
||
"linked_description": "Ditt konto ar kopplat till BankID.",
|
||
"not_linked_description": "Koppla BankID for sakrare inloggning.",
|
||
"linked_on": "Kopplat {date}",
|
||
"unlinking": "Kopplar bort...",
|
||
"unlink_button": "Koppla bort",
|
||
"link_button": "Koppla BankID"
|
||
},
|
||
"settings_security": {
|
||
"toast_weak_password_title": "Lösenordet är för svagt",
|
||
"toast_weak_password_description": "Lösenordet måste vara minst 8 tecken och innehålla versaler, gemener, siffror och specialtecken.",
|
||
"toast_mismatch_title": "Lösenorden matchar inte",
|
||
"toast_mismatch_description": "Kontrollera att du skrev samma lösenord i båda fälten.",
|
||
"toast_update_failed_title": "Kunde inte uppdatera lösenord",
|
||
"toast_update_failed_description": "Försök igen senare.",
|
||
"set_password_first": "Sätt ett lösenord först",
|
||
"toast_password_updated_title": "Lösenord uppdaterat",
|
||
"toast_password_updated_description": "Ditt lösenord har ändrats.",
|
||
"toast_generic_error_title": "Något gick fel",
|
||
"toast_try_again": "Försök igen senare.",
|
||
"toast_unenroll_failed_title": "Kunde inte inaktivera 2FA",
|
||
"toast_mfa_disabled_title": "Tvåfaktorsautentisering inaktiverad",
|
||
"toast_mfa_disabled_description": "2FA har tagits bort från ditt konto.",
|
||
"change_password_title": "Ändra lösenord",
|
||
"change_password_description": "Uppdatera ditt lösenord. Om du loggar in med e-postlänk kan du sätta ett lösenord här.",
|
||
"new_password_label": "Nytt lösenord",
|
||
"new_password_placeholder": "Minst 8 tecken",
|
||
"confirm_password_label": "Bekräfta nytt lösenord",
|
||
"confirm_password_placeholder": "Upprepa lösenordet",
|
||
"saving": "Sparar...",
|
||
"update_password_button": "Uppdatera lösenord",
|
||
"mfa_title": "Tvåfaktorsautentisering (2FA)",
|
||
"mfa_description": "Skydda ditt konto med en autentiseringsapp. Vid varje inloggning behöver du ange en kod utöver ditt lösenord.",
|
||
"loading": "Laddar...",
|
||
"mfa_active_title": "2FA är aktiverad",
|
||
"mfa_active_description": "Ditt konto skyddas med tvåfaktorsautentisering.",
|
||
"disabling": "Inaktiverar...",
|
||
"disable_mfa": "Inaktivera 2FA",
|
||
"mfa_required_note": "Tvåfaktorsautentisering är obligatorisk och kan inte inaktiveras.",
|
||
"mfa_inactive_title": "2FA är inte aktiverad",
|
||
"mfa_inactive_description": "Vi rekommenderar att du aktiverar tvåfaktorsautentisering.",
|
||
"enable_mfa": "Aktivera 2FA"
|
||
},
|
||
"settings_calendar_feed": {
|
||
"title": "Kalendersynkronisering",
|
||
"description": "Synka dina deadlines med Apple Calendar, Google Calendar eller Outlook",
|
||
"subscribe_description": "Prenumerera på din kalender i Apple Calendar, Google Calendar eller Outlook",
|
||
"toast_feed_created_title": "Kalenderfeed skapad",
|
||
"toast_feed_created_description": "Du kan nu koppla kalendern till Apple Calendar eller Google Calendar.",
|
||
"toast_create_failed": "Kunde inte skapa kalenderfeed.",
|
||
"toast_update_failed": "Kunde inte uppdatera inställning.",
|
||
"regen_dialog_title": "Skapa ny kalender-länk",
|
||
"regen_dialog_description": "Den gamla länken slutar fungera omedelbart. Du behöver uppdatera länken i alla kalenderappar som använder den.",
|
||
"regen_confirm": "Skapa ny länk",
|
||
"toast_new_link_title": "Ny länk skapad",
|
||
"toast_new_link_description": "Den gamla länken fungerar inte längre.",
|
||
"toast_regen_failed": "Kunde inte skapa ny länk.",
|
||
"toast_copied_title": "Kopierad",
|
||
"toast_copied_description": "Länken har kopierats till urklipp.",
|
||
"toast_copy_failed": "Kunde inte kopiera länken.",
|
||
"empty_intro": "Skapa en kalenderfeed för att se dina deadlines i din vanliga kalenderapp.",
|
||
"creating": "Skapar...",
|
||
"activate_sync": "Aktivera kalendersynk",
|
||
"add_to_apple_calendar": "Lägg till i Apple Calendar",
|
||
"calendar_link_label": "Kalenderlänk (för Google Calendar m.fl.)",
|
||
"calendar_link_help": "Kopiera denna länk och lägg till som URL-prenumeration i din kalenderapp.",
|
||
"last_fetched": "Senast hämtad:",
|
||
"times_count": "{count} gånger",
|
||
"creating_new_link": "Skapar ny länk...",
|
||
"create_new_link": "Skapa ny länk",
|
||
"regen_help": "Ogiltigförklarar den gamla länken. Använd om någon obehörig fått tag i länken.",
|
||
"content_title": "Innehåll i kalendern",
|
||
"content_description": "Välj vilka händelser som ska visas i din kalender",
|
||
"tax_deadlines_label": "Skattedeadlines",
|
||
"tax_deadlines_help": "Moms, F-skatt, deklarationer",
|
||
"invoices_label": "Fakturor",
|
||
"invoices_help": "Förfallodatum för fakturor"
|
||
},
|
||
"tx_inbox_card": {
|
||
"skv_counterpart_label": "Möjlig 1930↔1630-överföring.",
|
||
"skv_counterpart_body": "Det finns en skattekonto-händelse den {date} som matchar — bokför detta verifikat först, koppla sedan skattekonto-raden mot samma verifikat istället för att bokföra två gånger.",
|
||
"match_invoice_btn": "Matcha Faktura {number}",
|
||
"match_supplier_invoice_btn": "Matcha Leverantörsfaktura {number}",
|
||
"choose_template_btn": "Välj mall...",
|
||
"delete_aria": "Ta bort transaktion"
|
||
},
|
||
"tx_quick_review": {
|
||
"open_attached_failed": "Kunde inte öppna underlaget",
|
||
"exchange_rate_fetch_failed": "Kunde inte hämta växelkursen.",
|
||
"title": "Granska bokföring",
|
||
"description_template": "Granska verifikationen innan du bokför",
|
||
"description_default": "Kontrollera konto och moms innan du bokför",
|
||
"amount_loading": "Hämtar växelkurs…",
|
||
"amount_approx": "≈ {sign}{sek}",
|
||
"rate_footnote": "Bokförs i SEK med Riksbankens kurs {rate} per {currency} ({date}).",
|
||
"label_counterparty_template": "Motpartsmall",
|
||
"label_template": "Mall",
|
||
"label_category": "Kategori",
|
||
"change_template": "Byt mall",
|
||
"reverse_charge_warning": "Omvänd skattskyldighet kräver leverantörens momsregistreringsnummer och land.",
|
||
"label_account": "Konto",
|
||
"label_vat_treatment": "Momsbehandling",
|
||
"no_vat_liability_account": "Ingen moms för skuld-/eget kapital-konton",
|
||
"no_vat_default": "Ingen moms",
|
||
"change": "Ändra",
|
||
"attached_doc_label": "Underlag bifogat",
|
||
"attached_doc_source": "från dokumentinkorgen",
|
||
"opening": "Öppnar…",
|
||
"view": "Visa",
|
||
"doc_label": "Underlag",
|
||
"doc_attached_count": "{count} bifogade",
|
||
"doc_link_failed_title": "Underlag kunde inte bifogas",
|
||
"doc_link_failed_description": "{count} fil(er) kunde inte länkas till verifikationen.",
|
||
"generic_error": "Ett fel uppstod vid bokföring.",
|
||
"cancel": "Avbryt",
|
||
"booking": "Bokför...",
|
||
"fetching_rate": "Hämtar växelkurs…",
|
||
"book": "Bokför"
|
||
},
|
||
"tx_booking_dialog": {
|
||
"title": "Bokför transaktion",
|
||
"description": "Skapa en verifikation för transaktionen",
|
||
"doc_label": "Underlag (valfritt)",
|
||
"doc_attached_count": "{count} bifogade",
|
||
"doc_link_failed_title": "Underlag kunde inte bifogas",
|
||
"doc_link_failed_description": "{count} fil(er) kunde inte länkas till verifikationen. Försök igen via bokföringssidan.",
|
||
"bank_line_description": "Företagskonto"
|
||
},
|
||
"tx_batch_selector": {
|
||
"title_processing": "Bokför {done}/{total}...",
|
||
"title_default": "Bokför {count} transaktioner",
|
||
"description_processing": "Vänta medan transaktionerna bokförs",
|
||
"description_default": "Välj en kategori som ska tillämpas på alla valda transaktioner",
|
||
"progress_label": "{done} av {total} klara",
|
||
"underlag_reminder": "Underlag behöver bifogas separat för varje transaktion efter bokföring.",
|
||
"vat_label": "Momsbehandling",
|
||
"expenses_label": "Kostnader",
|
||
"income_label": "Intäkter"
|
||
},
|
||
"tx_inbox_zero": {
|
||
"empty_title": "Inga transaktioner",
|
||
"empty_description": "Importera kontoutdrag från din bank eller lägg till transaktioner manuellt för att komma igång.",
|
||
"import_btn": "Importera transaktioner",
|
||
"add_manual_btn": "Lägg till manuellt",
|
||
"done_title": "Alla transaktioner bokförda!",
|
||
"done_description": "Bra jobbat! Alla dina transaktioner är bokförda. Importera fler eller växla till historik.",
|
||
"import_more_btn": "Importera fler",
|
||
"new_btn": "Ny transaktion"
|
||
},
|
||
"tx_swipe_view": {
|
||
"doc_link_failed_title": "Underlag kunde inte bifogas",
|
||
"doc_link_failed_description": "{count} fil(er) kunde inte länkas till verifikationen.",
|
||
"booking_failed_skip": "Kunde inte bokföra. Tryck \"Hoppa över\" för att gå vidare.",
|
||
"generic_error_skip": "Ett fel uppstod. Tryck \"Hoppa över\" för att gå vidare.",
|
||
"match_failed_skip": "Kunde inte matcha faktura. Tryck \"Hoppa över\" för att gå vidare.",
|
||
"done_title": "Klart!",
|
||
"done_subtitle": "Alla transaktioner är nu bokförda",
|
||
"back_to_transactions": "Tillbaka till transaktioner",
|
||
"choose_template": "Välj mall",
|
||
"skip": "Hoppa över",
|
||
"review_title": "Granska bokföring",
|
||
"label_template": "Mall",
|
||
"label_category": "Kategori",
|
||
"change_template": "Byt mall",
|
||
"reverse_charge_warning": "Omvänd skattskyldighet kräver leverantörens momsregistreringsnummer och land.",
|
||
"label_account": "Konto",
|
||
"label_vat_treatment": "Momsbehandling",
|
||
"no_vat_liability_account": "Ingen moms för skuld-/eget kapital-konton",
|
||
"no_vat_default": "Ingen moms",
|
||
"change": "Ändra",
|
||
"doc_label": "Underlag",
|
||
"doc_attached_count": "{count} bifogade",
|
||
"booking": "Bokför...",
|
||
"book": "Bokför",
|
||
"progress_label": "{current} av {total}",
|
||
"instr_skip": "Hoppa över",
|
||
"instr_book": "Bokför",
|
||
"indicator_skip": "Hoppa över",
|
||
"indicator_business": "Företag",
|
||
"badge_receipt": "Kvitto",
|
||
"badge_attachment": "Bilaga",
|
||
"invoice_match_title": "Fakturamatchning hittad",
|
||
"invoice_match_badge": "Match",
|
||
"invoice_label": "Faktura {number}",
|
||
"unknown_customer": "Okänd kund",
|
||
"match_invoice_btn": "Matcha med Faktura {number}",
|
||
"suggested_categories": "Föreslagna kategorier"
|
||
},
|
||
"tx_template_picker": {
|
||
"group_premises": "Lokalkostnader",
|
||
"group_vehicle": "Fordon",
|
||
"group_it_software": "IT & Programvara",
|
||
"group_office_supplies": "Kontorsmaterial",
|
||
"group_marketing": "Marknadsföring",
|
||
"group_travel": "Resor & Transport",
|
||
"group_representation": "Representation",
|
||
"group_insurance": "Försäkringar",
|
||
"group_professional_services": "Professionella tjänster",
|
||
"group_bank_finance": "Bank & Finans",
|
||
"group_telecom": "Telekom & Internet",
|
||
"group_education": "Utbildning",
|
||
"group_personnel": "Personal",
|
||
"group_revenue": "Intäkter",
|
||
"group_financial": "Finansiella poster",
|
||
"group_private_transfers": "Privata transaktioner",
|
||
"group_equipment": "Inventarier & Utrustning",
|
||
"vat_standard_25": "25% moms",
|
||
"vat_reduced_12": "12% moms",
|
||
"vat_reduced_6": "6% moms",
|
||
"vat_reverse_charge": "Omvänd moms",
|
||
"vat_export": "Momsfri (export)",
|
||
"vat_exempt": "Momsfri",
|
||
"requires_vat_reg": "Kräver momsreg.nr",
|
||
"search_placeholder": "Sök mall...",
|
||
"no_results": "Inga resultat",
|
||
"n_results": "{count} resultat",
|
||
"my_templates": "Mina mallar",
|
||
"previous_counterparties": "Tidigare motparter",
|
||
"suggested": "Föreslagna",
|
||
"common_templates": "Vanliga mallar",
|
||
"more_templates": "Fler mallar ({count})"
|
||
},
|
||
"tx_invoice_match": {
|
||
"title_supplier": "Bekräfta leverantörsfakturamatchning",
|
||
"title_customer": "Bekräfta fakturamatchning",
|
||
"description_supplier": "Vill du koppla denna transaktion till leverantörsfakturan? Fakturan kommer att markeras som betald och en betalningsverifikation skapas.",
|
||
"description_customer": "Vill du koppla denna transaktion till fakturan? Fakturan kommer att markeras som betald.",
|
||
"duplicate_title": "Möjlig dubblettbokning",
|
||
"duplicate_body_same_date": "Det finns redan en bokförd verifikation {label} på samma belopp ({amount}) på samma datum. Har du redan bokfört denna betalning manuellt?",
|
||
"duplicate_body_window": "Det finns redan en bokförd verifikation {label} på samma belopp ({amount}) inom ±7 dagar ({date}). Har du redan bokfört denna betalning manuellt?",
|
||
"link_to_existing": "Koppla till {label}",
|
||
"create_new_anyway": "Skapa ny verifikation ändå",
|
||
"transaction_label": "Transaktion",
|
||
"invoice_label": "Faktura",
|
||
"invoice_number": "Faktura {number}",
|
||
"unknown_customer": "Okänd kund",
|
||
"due_date": "Förfaller: {date}",
|
||
"supplier_invoice_label": "Leverantörsfaktura",
|
||
"arrival_number": "Ankomstnr: {number}",
|
||
"amounts_match": "Beloppen stämmer",
|
||
"amounts_differ": "Beloppen skiljer sig",
|
||
"amount_diff": "Differens: {amount}",
|
||
"different_currencies": " (olika valutor)",
|
||
"partial_payment_note": " — fakturan blir delbetald.",
|
||
"on_confirm_title": "Vid bekräftelse:",
|
||
"on_confirm_link_supplier": "Transaktionen kopplas till leverantörsfakturan",
|
||
"on_confirm_link_customer": "Transaktionen kopplas till fakturan",
|
||
"on_confirm_mark_paid_supplier": "Leverantörsfakturan markeras som betald",
|
||
"on_confirm_mark_paid_customer": "Fakturan markeras som betald",
|
||
"on_confirm_voucher": "Bokföringsverifikation skapas automatiskt",
|
||
"cancel": "Avbryt",
|
||
"confirming": "Bekräftar...",
|
||
"confirm_match": "Bekräfta matchning"
|
||
},
|
||
"tx_invoice_picker": {
|
||
"loading": "Laddar fakturor...",
|
||
"empty": "Inga öppna fakturor att matcha mot.",
|
||
"search_placeholder": "Sök fakturanummer eller kund...",
|
||
"no_number": "(utan nummer)",
|
||
"status_overdue": "Förfallen",
|
||
"status_partially_paid": "Delbetald",
|
||
"unknown_customer": "Okänd kund",
|
||
"due_short": "Förfaller {date}",
|
||
"exact_match": "Exakt match",
|
||
"no_search_results": "Ingen faktura matchar \"{term}\""
|
||
},
|
||
"tx_skattekonto_card": {
|
||
"skv_badge": "Skatteverket",
|
||
"duplicate_title_with_voucher": "Möjlig dublett av verifikat {label}",
|
||
"duplicate_title_draft": "Möjlig dublett av verifikat (utkast)",
|
||
"duplicate_body": "Det här ser ut som samma kassaflöde — koppla istället för att bokföra om.",
|
||
"link_to_voucher": "Koppla till verifikat",
|
||
"book_anyway": "Bokför ändå",
|
||
"book": "Bokför",
|
||
"match_to_voucher": "Matcha mot verifikat"
|
||
},
|
||
"tx_form": {
|
||
"date_required": "Datum krävs",
|
||
"description_required": "Beskrivning krävs",
|
||
"amount_required": "Belopp måste anges",
|
||
"date_label": "Datum *",
|
||
"currency_label": "Valuta",
|
||
"description_label": "Beskrivning *",
|
||
"description_placeholder": "T.ex. Adobe Creative Cloud",
|
||
"amount_label": "Belopp * (negativt för utgift)",
|
||
"amount_placeholder": "-500",
|
||
"amount_help": "Ange positivt belopp för intäkter, negativt för kostnader",
|
||
"notes_label": "Anteckningar",
|
||
"notes_placeholder": "Valfria anteckningar...",
|
||
"saving": "Sparar...",
|
||
"save": "Spara transaktion"
|
||
},
|
||
"tx_history": {
|
||
"search_placeholder": "Sök transaktioner...",
|
||
"filter_all": "Alla",
|
||
"filter_business": "Företag",
|
||
"filter_private": "Privat",
|
||
"source_label": "Källa:",
|
||
"source_all": "Alla",
|
||
"source_bank": "Bank",
|
||
"source_skatteverket": "Skatteverket",
|
||
"empty_title": "Inga transaktioner",
|
||
"empty_search": "Inga transaktioner matchar din sökning",
|
||
"empty_filter": "Inga transaktioner att visa med valt filter",
|
||
"loading_more": "Laddar...",
|
||
"load_more": "Ladda fler",
|
||
"private_badge": "Privat",
|
||
"linked_to_invoice": "Kopplad till faktura",
|
||
"posted": "Bokförd",
|
||
"view_voucher": "Visa verifikation",
|
||
"fetching": "Hämtar…",
|
||
"create_correction": "Skapa ändringsverifikation",
|
||
"not_posted": "Ej bokförd",
|
||
"possible_match_invoice": "Möjlig match: Faktura {number}",
|
||
"book": "Bokför",
|
||
"delete": "Ta bort",
|
||
"delete_aria": "Ta bort transaktion",
|
||
"skv_badge": "Skatteverket",
|
||
"possible_duplicate": "Möjlig dublett",
|
||
"link": "Koppla",
|
||
"match": "Matcha",
|
||
"view_voucher_short": "Visa verifikat"
|
||
},
|
||
"tx_categories": {
|
||
"expense_representation": "Representation",
|
||
"expense_equipment": "Utrustning",
|
||
"expense_software": "Programvara",
|
||
"expense_consumables": "Material",
|
||
"expense_travel": "Resor",
|
||
"expense_office": "Kontor",
|
||
"expense_vehicle": "Bil & drivmedel",
|
||
"expense_telecom": "Telefon & internet",
|
||
"expense_marketing": "Marknadsföring",
|
||
"expense_professional_services": "Konsulter",
|
||
"expense_education": "Utbildning",
|
||
"expense_bank_fees": "Bankavgift",
|
||
"expense_card_fees": "Kortavgift",
|
||
"expense_currency_exchange": "Valutaväxling",
|
||
"expense_other": "Övrigt",
|
||
"income_services": "Tjänster",
|
||
"income_products": "Produkter",
|
||
"income_other": "Övrigt",
|
||
"vat_standard_25": "Moms 25%",
|
||
"vat_reduced_12": "Moms 12%",
|
||
"vat_reduced_12_desc": "Livsmedel, hotell, camping",
|
||
"vat_reduced_6": "Moms 6%",
|
||
"vat_reduced_6_desc": "Böcker, tidningar, kollektivtrafik",
|
||
"vat_reverse_charge": "Omvänd skattskyldighet",
|
||
"vat_reverse_charge_desc": "Köparen redovisar momsen (EU-tjänster m.m.)",
|
||
"vat_export": "Export",
|
||
"vat_export_desc": "Försäljning utanför EU (behåller avdragsrätt)",
|
||
"vat_exempt": "Momsfri",
|
||
"vat_exempt_desc": "Undantaget enligt ML (vård, utbildning, finans)",
|
||
"vat_none": "Ingen moms",
|
||
"vat_none_desc": "Ej momspliktigt (t.ex. lön, privata uttag)"
|
||
},
|
||
"tx_skattekonto_match": {
|
||
"search_failed_default": "Kunde inte söka kandidater",
|
||
"fetch_candidates_failed_title": "Kunde inte hämta kandidater",
|
||
"match_failed_default": "Matchning misslyckades",
|
||
"match_success_title": "Transaktion kopplad till verifikat",
|
||
"match_failed_title": "Kunde inte koppla transaktionen",
|
||
"title": "Matcha mot befintligt verifikat",
|
||
"searching": "Söker kandidater…",
|
||
"no_candidates_title": "Hittade inga verifikat med en matchande rad på konto 1630.",
|
||
"no_candidates_help": "Kandidaten måste ha samma belopp och sida på 1630 inom ±14 dagar från transaktionsdatumet, och får inte redan vara kopplad till en annan skattekonto-transaktion. Använd <strong>Bokför</strong> för att skapa ett nytt verifikat istället.",
|
||
"th_date": "Datum",
|
||
"th_voucher": "Verifikat",
|
||
"th_description": "Beskrivning",
|
||
"th_status": "Status",
|
||
"status_posted": "Bokförd",
|
||
"status_draft": "Utkast",
|
||
"status_reversed": "Makulerad",
|
||
"linking": "Kopplar…",
|
||
"link": "Koppla",
|
||
"cancel": "Avbryt"
|
||
},
|
||
"invoice_editor": {
|
||
"back": "Tillbaka",
|
||
"title_invoice": "Ny faktura",
|
||
"title_proforma": "Ny proformafaktura",
|
||
"title_delivery_note": "Ny följesedel",
|
||
"subtitle_invoice": "Skapa en ny faktura",
|
||
"subtitle_proforma": "Skapa en proformafaktura (ingen bokföring)",
|
||
"subtitle_delivery_note": "Skapa en följesedel (utan priser)",
|
||
"bank_missing_warning": "Betalningsuppgifter saknas — du behöver lägga till dem innan du skapar en faktura.",
|
||
"bank_add_now": "Lägg till nu",
|
||
"customer_card_title": "Kund",
|
||
"customer_card_description": "Välj vilken kund fakturan ska skickas till",
|
||
"select_customer_placeholder": "Välj kund",
|
||
"create_customer": "Skapa kund",
|
||
"create_customer_dialog_title": "Lägg till kund",
|
||
"create_customer_failed_title": "Kunde inte skapa kund",
|
||
"customer_created_title": "Kund skapad",
|
||
"customer_created_description": "{name} har lagts till",
|
||
"load_customers_failed_title": "Kunde inte ladda kunder",
|
||
"load_customers_failed_description": "Kontrollera din anslutning och försök igen.",
|
||
"items_card_title": "Fakturarader",
|
||
"items_card_description": "Lägg till produkter eller tjänster",
|
||
"description_label": "Beskrivning",
|
||
"description_placeholder": "T.ex. Instagram-kampanj",
|
||
"quantity_label": "Antal",
|
||
"unit_label": "Enhet",
|
||
"unit_price_label": "à-pris",
|
||
"vat_label": "Moms",
|
||
"row_label": "Rad {index}",
|
||
"add_row": "Lägg till rad",
|
||
"notes_card_title": "Anteckningar",
|
||
"notes_card_description": "Valfritt meddelande på fakturan",
|
||
"notes_placeholder": "T.ex. betalningsvillkor eller tack för samarbetet...",
|
||
"details_card_title": "Fakturadetaljer",
|
||
"document_type_label": "Dokumenttyp",
|
||
"doctype_invoice": "Faktura",
|
||
"doctype_proforma": "Proformafaktura",
|
||
"doctype_delivery_note": "Följesedel",
|
||
"currency_label": "Valuta",
|
||
"invoice_date_label": "Fakturadatum",
|
||
"due_date_label": "Förfallodatum",
|
||
"delivery_date_label": "Leveransdatum",
|
||
"delivery_date_placeholder": "Om det skiljer sig från fakturadatum",
|
||
"your_reference_label": "Er referens",
|
||
"your_reference_placeholder": "Kontaktperson hos kund",
|
||
"our_reference_label": "Vår referens",
|
||
"our_reference_placeholder": "Ditt namn",
|
||
"summary_card_title": "Summering",
|
||
"subtotal_label": "Delsumma",
|
||
"net_at_rate": "Netto {rate}%",
|
||
"vat_at_rate": "Moms {rate}%",
|
||
"vat_label_short": "Moms",
|
||
"total_label": "Totalt",
|
||
"review_and_create": "Granska & skapa",
|
||
"viewer_disabled_tooltip": "Du har endast läsbehörighet i detta företag",
|
||
"review_dialog_title_invoice": "Granska faktura",
|
||
"review_dialog_title_proforma": "Granska proformafaktura",
|
||
"review_dialog_title_delivery_note": "Granska följesedel",
|
||
"review_warning_invoice_accrual": "En faktura skapas och tilldelas ett fakturanummer. När den skickas eller markeras som skickad bokförs en verifikation, som inte kan redigeras direkt men kan korrigeras via en kreditnota.",
|
||
"review_warning_invoice_cash": "En faktura skapas och tilldelas ett fakturanummer. Verifikationen bokförs först när fakturan markeras som betald (kontantmetoden).",
|
||
"review_warning_proforma": "En proformafaktura skapas. Ingen verifikation bokförs. Proforman kan senare konverteras till en riktig faktura.",
|
||
"review_warning_delivery_note": "En följesedel skapas utan priser. Ingen verifikation bokförs.",
|
||
"confirm_create_invoice": "Bekräfta & skapa",
|
||
"confirm_create_proforma": "Skapa proformafaktura",
|
||
"confirm_create_delivery_note": "Skapa följesedel",
|
||
"preview_pdf": "Förhandsgranska PDF",
|
||
"preview_pdf_generating": "Genererar...",
|
||
"preview_pdf_failed": "Kunde inte generera PDF",
|
||
"create_invoice_failed_title": "Kunde inte skapa faktura",
|
||
"doc_created_title": "{docLabel} skapad",
|
||
"doc_created_description": "{docLabel} {number} har skapats",
|
||
"doc_label_invoice": "Faktura",
|
||
"doc_label_proforma": "Proformafaktura",
|
||
"doc_label_delivery_note": "Följesedel",
|
||
"send_now_dialog_title": "Skicka fakturan nu?",
|
||
"send_now_dialog_description": "Fakturan skapades. Vill du skicka den till {email} direkt?",
|
||
"send_later": "Skicka senare",
|
||
"send_now": "Skicka nu",
|
||
"send_now_sending": "Skickar...",
|
||
"invoice_sent_title": "Faktura skickad",
|
||
"invoice_sent_description": "Fakturan har skickats till {email}",
|
||
"send_invoice_failed_title": "Kunde inte skicka faktura",
|
||
"validation_description_required": "Beskrivning krävs",
|
||
"validation_quantity_min": "Minst 0.01",
|
||
"validation_unit_required": "Enhet krävs",
|
||
"validation_price_positive": "Pris måste vara positivt",
|
||
"validation_customer_required": "Välj en kund",
|
||
"validation_invoice_date_required": "Fakturadatum krävs",
|
||
"validation_due_date_required": "Förfallodatum krävs",
|
||
"validation_min_one_row": "Minst en rad krävs"
|
||
},
|
||
"invoice_review": {
|
||
"assigned_number_prefix": "Tilldelas fakturanummer",
|
||
"customer_type_individual": "Privatperson",
|
||
"customer_type_swedish_business": "Svenskt företag eller organisation",
|
||
"customer_type_eu_business": "EU-företag",
|
||
"customer_type_non_eu_business": "Utanför EU",
|
||
"invoice_date": "Fakturadatum",
|
||
"due_date": "Förfallodatum",
|
||
"th_description": "Beskrivning",
|
||
"th_quantity": "Antal",
|
||
"th_unit": "Enhet",
|
||
"th_unit_price": "À-pris",
|
||
"th_vat": "Moms",
|
||
"th_amount": "Belopp",
|
||
"mobile_vat_suffix": "({rate}% moms)",
|
||
"subtotal": "Delsumma",
|
||
"vat_at_rate": "Moms {rate}%",
|
||
"vat_label": "Moms",
|
||
"ore_rounding": "Öresavrundning",
|
||
"total": "Totalt",
|
||
"your_reference": "Er referens:",
|
||
"our_reference": "Vår referens:",
|
||
"notes_prefix": "Anteckning: {notes}"
|
||
},
|
||
"invoice_bank_setup": {
|
||
"title": "Betalningsuppgifter",
|
||
"description_prefix": "Dessa uppgifter visas på dina fakturor. Du kan ändra dem senare i ",
|
||
"settings_link": "Inställningar",
|
||
"description_suffix": ".",
|
||
"bank_label": "Bank",
|
||
"clearing_label": "Clearing",
|
||
"clearing_placeholder": "8000",
|
||
"account_label": "Kontonummer",
|
||
"account_placeholder": "12345678",
|
||
"bankgiro_label": "Bankgiro",
|
||
"bankgiro_placeholder": "123-4567",
|
||
"international_toggle": "Internationella betalningar",
|
||
"iban_label": "IBAN",
|
||
"iban_placeholder": "SE12 3456 7890 1234 5678 9012",
|
||
"bic_label": "BIC/SWIFT",
|
||
"bic_placeholder": "NDEASESS",
|
||
"invoice_prefix_label": "Fakturaprefix",
|
||
"invoice_prefix_placeholder": "t.ex. F-",
|
||
"next_invoice_number_label": "Startnummer",
|
||
"next_invoice_number_placeholder": "1",
|
||
"prefix_hint": "Prefix \"F-\" med startnummer 1 ger F-2026001. Lämna tomt för standard.",
|
||
"save_and_continue": "Spara & fortsätt",
|
||
"saved_title": "Betalningsuppgifter sparade",
|
||
"saved_description": "Du kan ändra dem senare i Inställningar.",
|
||
"save_failed_title": "Kunde inte spara",
|
||
"validation_clearing_format": "Clearingnummer måste vara 4–5 siffror",
|
||
"validation_account_format": "Kontonummer måste vara 6–12 siffror",
|
||
"validation_either_required": "Ange antingen kontonummer (clearing + konto) eller bankgiro",
|
||
"validation_both_required": "Ange både clearingnummer och kontonummer",
|
||
"validation_bankgiro_invalid": "Ogiltigt bankgironummer (7–8 siffror med kontrollsiffra)",
|
||
"validation_start_number_positive": "Startnummer måste vara ett positivt heltal",
|
||
"save_failed_fallback": "Kunde inte spara"
|
||
},
|
||
"invoice_detail": {
|
||
"back": "Tillbaka",
|
||
"load_failed_title": "Kunde inte ladda faktura",
|
||
"load_failed_description": "Fakturan hittades inte.",
|
||
"status_draft": "Utkast",
|
||
"status_sent": "Skickad",
|
||
"status_paid": "Betald",
|
||
"status_partially_paid": "Delbetalad",
|
||
"status_overdue": "Förfallen",
|
||
"status_cancelled": "Makulerad",
|
||
"status_credited": "Krediterad",
|
||
"badge_proforma": "Proforma",
|
||
"badge_delivery_note": "Följesedel",
|
||
"created_at": "Skapad {date}",
|
||
"sent_at_suffix": " • Skickad {date}",
|
||
"convert_to_invoice": "Konvertera till faktura",
|
||
"send_via_email": "Skicka via e-post",
|
||
"mark_sent_manually": "Skickad manuellt",
|
||
"mark_as_sent": "Markera som skickad",
|
||
"mark_as_paid": "Markera som betald",
|
||
"download_pdf": "Ladda ner PDF",
|
||
"viewer_disabled_tooltip": "Du har endast läsbehörighet i detta företag",
|
||
"customer_card_title": "Kund",
|
||
"org_number_label": "Org.nr: {value}",
|
||
"vat_number_label": "VAT: {value}",
|
||
"items_card_title": "Fakturarader",
|
||
"th_description": "Beskrivning",
|
||
"th_quantity": "Antal",
|
||
"th_unit": "Enhet",
|
||
"th_unit_price": "à-pris",
|
||
"th_amount": "Summa",
|
||
"subtotal": "Delsumma",
|
||
"vat_label": "Moms",
|
||
"vat_at_rate": "Moms {rate}%",
|
||
"ore_rounding": "Öresavrundning",
|
||
"total": "Totalt",
|
||
"in_sek": "I SEK (kurs {rate})",
|
||
"notes_card_title": "Anteckningar",
|
||
"reverse_charge_label": "Omvänd skattskyldighet",
|
||
"details_card_title": "Detaljer",
|
||
"invoice_number_label": "Fakturanummer",
|
||
"invoice_date_label": "Fakturadatum",
|
||
"due_date_label": "Förfallodatum",
|
||
"currency_label": "Valuta",
|
||
"vat_treatment_label": "Momsbehandling",
|
||
"your_reference_label": "Er referens",
|
||
"our_reference_label": "Vår referens",
|
||
"bookkeeping_label": "Bokföring",
|
||
"view_voucher": "Visa verifikation",
|
||
"correction_loading": "Hämtar…",
|
||
"correction_prompt": "Något fel? Skapa ändringsverifikation",
|
||
"paid_card_title": "Betald",
|
||
"paid_received_at": "Betalning mottagen {date}",
|
||
"reminders_card_title": "Påminnelser",
|
||
"reminders_description": "Automatiska påminnelser skickas vid 15, 30 och 45 dagars förfallen betalning",
|
||
"reminders_empty": "Inga påminnelser har skickats ännu.",
|
||
"reminder_level_label": "Nivå {level}",
|
||
"reminder_level_1": "Vänlig påminnelse",
|
||
"reminder_level_2": "Andra påminnelsen",
|
||
"reminder_level_3": "Slutlig påminnelse",
|
||
"reminder_sent_to": "Skickad {date} till {email}",
|
||
"reminder_marked_paid": "Kunden markerat som betald",
|
||
"reminder_objection": "Kunden har invändningar",
|
||
"credited_card_title": "Krediterad",
|
||
"credited_description": "Denna faktura har krediterats",
|
||
"see_credit_note": "Se kreditfaktura {number}",
|
||
"credit_note_card_title": "Kreditfaktura",
|
||
"credit_note_description": "Denna kreditfaktura krediterar",
|
||
"see_original_invoice": "Se faktura {number}",
|
||
"converted_card_title": "Konverterad",
|
||
"converted_description": "Konverterad från proformafaktura",
|
||
"see_proforma": "Se proforma {number}",
|
||
"actions_card_title": "Åtgärder",
|
||
"cancel_action": "Makulera",
|
||
"delete_draft": "Makulera utkast",
|
||
"create_credit_note": "Skapa kreditfaktura",
|
||
"no_customer_email_warning": "Kunden saknar e-postadress. Lägg till e-post för att kunna skicka fakturan digitalt.",
|
||
"send_manual_hint_with_email": "Använd om du redan skickat fakturan på annat sätt (post, annat system)",
|
||
"send_manual_hint_no_email": "Markerar fakturan som skickad och skapar bokföringsverifikation",
|
||
"delete_dialog_title": "Makulera fakturautkast",
|
||
"delete_dialog_desc_with_number_1": "Fakturan markeras som makulerad och sparas i fakturalistan med status ",
|
||
"delete_dialog_status_makulerad": "Makulerad",
|
||
"delete_dialog_desc_with_number_2": ".",
|
||
"delete_dialog_number_kept": "Fakturanumret {number} behålls för att hålla nummerserien obruten enligt ML 17 kap 24§.",
|
||
"delete_dialog_desc_no_number": "Utkastet markeras som makulerat. Detta kan inte ångras.",
|
||
"delete_dialog_cancel": "Avbryt",
|
||
"delete_dialog_confirm": "Makulera",
|
||
"status_update_toast_title": "Uppdaterad",
|
||
"status_update_toast_description": "Fakturan är nu markerad som {status}",
|
||
"status_update_failed_title": "Statusuppdatering misslyckades",
|
||
"fallback_try_again": "Försök igen.",
|
||
"cancel_posted_error": "Bokförda fakturor kan inte makuleras. Skapa en kreditfaktura istället.",
|
||
"mark_sent_failed_fallback": "Kunde inte markera som skickad",
|
||
"convert_failed_title": "Konvertering misslyckades",
|
||
"convert_failed_fallback": "Kunde inte konvertera proformafakturan",
|
||
"converted_toast_title": "Konverterad till faktura",
|
||
"converted_toast_description": "Faktura {number} har skapats",
|
||
"pdf_generate_failed": "Kunde inte generera PDF",
|
||
"pdf_downloaded_title": "PDF nedladdad",
|
||
"pdf_downloaded_with_number": "Faktura {number} har laddats ner",
|
||
"pdf_downloaded_draft": "Utkastet har laddats ner",
|
||
"pdf_download_failed_title": "Kunde inte ladda ner PDF",
|
||
"cancel_failed_fallback": "Kunde inte makulera fakturan",
|
||
"cancelled_toast_title": "Faktura makulerad",
|
||
"cancelled_with_number": "Faktura {number} har makulerats. Numret behålls i serien.",
|
||
"cancelled_draft": "Utkastet har makulerats.",
|
||
"cancel_failed_title": "Kunde inte makulera fakturan",
|
||
"paid_toast_title": "Betald",
|
||
"paid_toast_description": "Faktura {number} har markerats som betald och bokförts"
|
||
},
|
||
"invoice_credit": {
|
||
"back": "Tillbaka",
|
||
"title": "Skapa kreditfaktura",
|
||
"subtitle": "Krediterar faktura {number}",
|
||
"warning_title": "Oåterkallelig åtgärd",
|
||
"warning_description": "En kreditfaktura makulerar den ursprungliga fakturan helt. Alla belopp blir negativa, en bokföringsverifikation skapas, och den ursprungliga fakturan markeras som krediterad. Denna åtgärd kan inte ångras.",
|
||
"original_card_title": "Ursprunglig faktura",
|
||
"original_card_description": "Kreditfakturan baseras på denna faktura",
|
||
"invoice_number_label": "Fakturanummer:",
|
||
"date_label": "Datum:",
|
||
"customer_label": "Kund:",
|
||
"vat_treatment_label": "Momsbehandling:",
|
||
"preview_card_title": "Kreditfaktura förhandsgranskning",
|
||
"preview_card_description": "Kreditfakturanummer: KR-{number}",
|
||
"th_description": "Beskrivning",
|
||
"th_quantity": "Antal",
|
||
"th_unit": "Enhet",
|
||
"th_unit_price": "à-pris",
|
||
"th_amount": "Summa",
|
||
"subtotal": "Delsumma",
|
||
"vat_at_rate": "Moms ({rate}%)",
|
||
"total": "Totalt",
|
||
"in_sek": "I SEK (kurs {rate})",
|
||
"reason_card_title": "Anledning",
|
||
"reason_card_description": "Ange anledning till kreditering (visas på kreditfakturan)",
|
||
"reason_label": "Anledning",
|
||
"reason_placeholder": "T.ex. Felaktig fakturering, returnerade varor...",
|
||
"reason_default": "Krediterar faktura {number}",
|
||
"confirm_card_title": "Bekräfta",
|
||
"confirm_card_description_1": "Skriv fakturanumret ",
|
||
"confirm_card_description_2": " för att bekräfta",
|
||
"cancel": "Avbryt",
|
||
"creating": "Skapar...",
|
||
"create_credit_note": "Skapa kreditfaktura",
|
||
"viewer_disabled_tooltip": "Du har endast läsbehörighet i detta företag",
|
||
"load_failed_title": "Kunde inte ladda faktura",
|
||
"load_failed_description": "Fakturan hittades inte.",
|
||
"cannot_credit_title": "Kan inte krediteras",
|
||
"cannot_credit_description": "Endast skickade, betalda eller förfallna fakturor kan krediteras",
|
||
"already_credited_title": "Redan krediterad",
|
||
"already_credited_description": "Denna faktura har redan krediterats",
|
||
"created_toast_title": "Kreditfaktura skapad",
|
||
"created_toast_description": "Kreditfaktura {number} har skapats",
|
||
"create_failed_title": "Kunde inte skapa kreditfaktura",
|
||
"create_failed_fallback": "Failed to create credit note",
|
||
"try_again": "Försök igen."
|
||
},
|
||
"invoice_recurring": {
|
||
"title": "Återkommande fakturor",
|
||
"new_schedule": "Nytt schema",
|
||
"viewer_disabled_tooltip": "Du har endast läsbehörighet i detta företag",
|
||
"loading": "Laddar...",
|
||
"load_failed_title": "Kunde inte ladda återkommande fakturor",
|
||
"load_failed_description": "Kontrollera din anslutning och försök igen.",
|
||
"empty_title": "Inga återkommande fakturor",
|
||
"empty_description": "Skapa ett schema för att automatiskt fakturera kunder på en bestämd dag varje månad.",
|
||
"th_name": "Namn",
|
||
"th_customer": "Kund",
|
||
"th_day": "Dag",
|
||
"th_next_run": "Nästa körning",
|
||
"th_status": "Status",
|
||
"th_generated": "Skapade",
|
||
"th_actions": "Åtgärder",
|
||
"status_active": "Aktiv",
|
||
"status_paused": "Pausad",
|
||
"pause": "Pausa",
|
||
"resume": "Aktivera",
|
||
"delete": "Ta bort",
|
||
"schedule_paused_title": "Schema pausat",
|
||
"schedule_resumed_title": "Schema återaktiverat",
|
||
"schedule_update_failed_title": "Kunde inte uppdatera schema",
|
||
"schedule_deleted_title": "Schema borttaget",
|
||
"schedule_delete_failed_title": "Kunde inte ta bort schema",
|
||
"delete_confirm": "Ta bort schemat \"{name}\"? Redan skapade fakturor påverkas inte."
|
||
},
|
||
"invoice_recurring_new": {
|
||
"back": "Tillbaka",
|
||
"title": "Nytt återkommande schema",
|
||
"schedule_card_title": "Schema",
|
||
"name_label": "Namn",
|
||
"name_placeholder": "t.ex. Månadsretainer Acme AB",
|
||
"customer_label": "Kund",
|
||
"customer_placeholder": "Välj kund",
|
||
"day_label": "Dag i månaden",
|
||
"day_hint": "29-31 körs sista dagen i kortare månader.",
|
||
"payment_terms_label": "Betalningsvillkor (dagar)",
|
||
"currency_label": "Valuta",
|
||
"auto_send_label": "Skapa och skicka automatiskt",
|
||
"auto_send_description": "När markerad: fakturan skickas med e-post till kunden direkt vid skapande. Annars skapas den som utkast för manuell granskning.",
|
||
"items_card_title": "Rader",
|
||
"description_placeholder": "Beskrivning",
|
||
"quantity_placeholder": "Antal",
|
||
"unit_price_placeholder": "à-pris",
|
||
"remove_row": "Ta bort rad",
|
||
"add_row": "Lägg till rad",
|
||
"subtotal_ex_vat": "Delsumma exkl. moms: {amount}",
|
||
"other_card_title": "Övrigt",
|
||
"your_reference_label": "Er referens",
|
||
"our_reference_label": "Vår referens",
|
||
"notes_label": "Anteckningar (skrivs på varje faktura)",
|
||
"cancel": "Avbryt",
|
||
"create_schedule": "Skapa schema",
|
||
"creating": "Skapar...",
|
||
"created_title": "Schema skapat",
|
||
"create_failed_title": "Kunde inte skapa schema",
|
||
"create_failed_fallback": "Kunde inte skapa schema",
|
||
"validation_description_required": "Beskrivning krävs",
|
||
"validation_quantity_min": "Minst 0.01",
|
||
"validation_unit_required": "Enhet krävs",
|
||
"validation_customer_required": "Välj en kund",
|
||
"validation_name_required": "Namn krävs",
|
||
"validation_min_one_row": "Minst en rad krävs"
|
||
},
|
||
"invoice_send_dialog": {
|
||
"title_email": "Skicka faktura",
|
||
"title_manual": "Markera som skickad",
|
||
"title_suffix": " — {number}",
|
||
"description_sek_suffix": " ({amount} SEK)",
|
||
"description_to_email": " till {email}",
|
||
"load_failed_title": "Kunde inte ladda inställningar",
|
||
"no_active_company": "Inget aktivt företag",
|
||
"company_settings_failed": "Kunde inte ladda företagsinställningar",
|
||
"journal_preview_intro": "Följande bokföringsverifikation skapas automatiskt:",
|
||
"voucher_description": "Försäljning faktura{numberSpace}{customerSuffix}",
|
||
"explain_cash": "Kontantmetoden — bokföring sker vid betalning, inte vid fakturering.",
|
||
"explain_email": "Fakturan skickas till {email}.",
|
||
"explain_manual": "Fakturan markeras som skickad.",
|
||
"cancel": "Avbryt",
|
||
"send_invoice": "Skicka faktura",
|
||
"mark_as_sent": "Markera som skickad",
|
||
"send_failed_title": "Kunde inte skicka faktura",
|
||
"send_failed_fallback": "Kunde inte skicka fakturan",
|
||
"send_success_title": "Faktura skickad",
|
||
"send_success_default": "Fakturan har skickats till {email}",
|
||
"mark_success_title": "Faktura markerad som skickad",
|
||
"mark_success_voucher_created": "Bokföringsverifikationen har skapats.",
|
||
"try_again": "Försök igen."
|
||
},
|
||
"invoice_payment_dialog": {
|
||
"title": "Bokför betalning",
|
||
"title_suffix": " — {number}",
|
||
"description_sek_suffix": " ({amount} SEK)",
|
||
"match_reason_ocr_exact": "Exakt OCR-träff",
|
||
"match_reason_name_amount_fuzzy": "Sannolik träff",
|
||
"match_reason_amount_only": "Möjlig träff",
|
||
"duplicate_title": "Möjlig dubblettbetalning",
|
||
"duplicate_one": "En inkommande banktransaktion ser ut att vara denna betalning. Länka den istället för att skapa en ny verifikation, eller bokför ändå om du är säker.",
|
||
"duplicate_many": "{count} inkommande banktransaktioner ser ut att kunna vara denna betalning. Länka rätt transaktion istället för att skapa en ny verifikation, eller bokför ändå om du är säker.",
|
||
"link_transaction": "Länka transaktion",
|
||
"payment_date_label": "Betalningsdatum",
|
||
"debit_label": "Debet",
|
||
"credit_label": "Kredit",
|
||
"account_label": "Konto",
|
||
"add_row": "Lägg till rad",
|
||
"balanced_badge": "Debet = Kredit",
|
||
"unbalanced_badge": "Obalanserad ({delta})",
|
||
"cancel": "Avbryt",
|
||
"book_anyway": "Bokför ändå",
|
||
"confirm_and_book": "Bekräfta & bokför",
|
||
"load_chart_failed": "Kunde inte ladda kontoplanen",
|
||
"no_active_company": "Inget aktivt företag",
|
||
"load_settings_failed": "Kunde inte ladda företagsinställningar",
|
||
"load_dialog_failed_title": "Kunde inte ladda bokföringsdialog",
|
||
"try_again": "Försök igen.",
|
||
"mark_paid_failed": "Kunde inte markera som betald",
|
||
"booking_failed_title": "Bokföring misslyckades"
|
||
},
|
||
"supplier_invoice_editor": {
|
||
"page_title": "Registrera leverantörsfaktura",
|
||
"back_aria": "Tillbaka till leverantörsfakturor",
|
||
"back_aria_inbox": "Tillbaka till inkorgen",
|
||
"loading_inbox": "Laddar uppgifter från inkorgen…",
|
||
"inbox_load_failed_title": "Kunde inte ladda inkorgsposten",
|
||
"inbox_load_failed_description": "Posten finns inte längre eller är otillgänglig.",
|
||
"unknown_error": "Okänt fel.",
|
||
"ai_suggested_supplier": "Föreslagen leverantör (från fakturan): {name}",
|
||
"ai_org_number": "Org.nr {orgNumber}",
|
||
"ai_no_org_number": "Ingen organisationsnummer hittades",
|
||
"ai_supplier_not_in_system": " — leverantören finns inte upplagd ännu.",
|
||
"create_and_select": "Skapa & välj",
|
||
"section_invoice": "Faktura",
|
||
"section_accounting": "Kontering",
|
||
"section_other": "Övrigt",
|
||
"paid_privately_label": "Jag har betalat detta privat",
|
||
"paid_privately_help_ef": "Bokförs som skuld från bolaget till dig (2018 Egen insättning). Återbetalas senare manuellt från företagskontot.",
|
||
"paid_privately_help_ab": "Bokförs som skuld från bolaget till dig (2893 Skuld till ägare). Återbetalas senare manuellt från företagskontot.",
|
||
"supplier_label": "Leverantör",
|
||
"supplier_placeholder": "Välj leverantör",
|
||
"add_new_supplier": "+ Lägg till ny leverantör...",
|
||
"supplier_invoice_number_label": "Leverantörens fakturanummer",
|
||
"supplier_invoice_number_placeholder": "Fakturanr från leverantören",
|
||
"invoice_date_label": "Fakturadatum",
|
||
"due_date_label": "Förfallodatum",
|
||
"payment_reference_label": "OCR / Betalningsreferens",
|
||
"payment_reference_placeholder": "OCR-nummer",
|
||
"add_row": "Lägg till rad",
|
||
"currency_label": "Valuta",
|
||
"exchange_rate_label": "Växelkurs",
|
||
"exchange_rate_to_sek": "(till SEK)",
|
||
"exchange_rate_placeholder": "Hämtas från Riksbanken",
|
||
"reverse_charge_label": "Omvänd skattskyldighet",
|
||
"reverse_charge_help": "Köp inom EU eller byggtjänster — momsen redovisas av köparen.",
|
||
"col_account": "Konto",
|
||
"col_description": "Beskrivning",
|
||
"col_amount_excl": "Belopp (exkl.)",
|
||
"col_amount": "Belopp",
|
||
"col_vat_rate": "Momssats",
|
||
"col_vat": "Moms",
|
||
"col_debit": "Debet",
|
||
"col_credit": "Kredit",
|
||
"vat_rate_presets_aria": "Välj momssats från lista",
|
||
"description_placeholder": "Beskrivning",
|
||
"row_label": "Rad {index}",
|
||
"remove_row_aria": "Ta bort rad {index}",
|
||
"ai_totals_label": "Från fakturan (AI):",
|
||
"ai_net": "Netto {amount}",
|
||
"ai_vat": "Moms {amount}",
|
||
"ai_total": "Totalt {amount}",
|
||
"net_excl_vat": "Netto (exkl. moms)",
|
||
"vat_label_short": "Moms",
|
||
"vat_reverse_charge": "Moms (omvänd, redovisas av köparen)",
|
||
"total_label": "Totalt",
|
||
"sum_label": "SUMMA",
|
||
"delivery_date_label": "Leveransdatum (ML krav)",
|
||
"notes_label": "Anteckningar",
|
||
"notes_placeholder": "Interna anteckningar om denna faktura...",
|
||
"cancel": "Avbryt",
|
||
"register_and_mark_paid": "Registrera & markera som betald",
|
||
"register_invoice": "Registrera faktura",
|
||
"register_expense": "Registrera utlägg",
|
||
"review_and_register": "Granska & registrera",
|
||
"registering": "Registrerar...",
|
||
"viewer_disabled_tooltip": "Du har endast läsbehörighet i detta företag",
|
||
"review_dialog_title": "Granska leverantörsfaktura",
|
||
"review_dialog_warning": "Leverantörsfakturan registreras och en verifikation bokförs. Verifikationen kan inte redigeras direkt, men kan korrigeras via en ändringsverifikation.",
|
||
"review_dialog_confirm": "Bekräfta & registrera",
|
||
"new_supplier_dialog_title": "Ny leverantör",
|
||
"new_supplier_name_label": "Namn",
|
||
"new_supplier_name_placeholder": "Leverantörens namn",
|
||
"new_supplier_type_label": "Typ",
|
||
"supplier_type_swedish": "Svenskt företag",
|
||
"supplier_type_eu": "EU-företag",
|
||
"supplier_type_non_eu": "Utomeuropeiskt",
|
||
"new_supplier_org_number_label": "Organisationsnummer",
|
||
"new_supplier_vat_number_label": "VAT-nummer",
|
||
"new_supplier_address_label": "Adress",
|
||
"new_supplier_address_placeholder": "Gatuadress",
|
||
"new_supplier_bankgiro_label": "Bankgiro",
|
||
"new_supplier_plusgiro_label": "Plusgiro",
|
||
"new_supplier_default_account_label": "Standardkonto (kostnad)",
|
||
"new_supplier_default_account_placeholder": "t.ex. 5010",
|
||
"creating": "Skapar...",
|
||
"create_supplier_button": "Skapa leverantör",
|
||
"name_missing_title": "Namn saknas",
|
||
"name_missing_description": "Ange ett namn för leverantören.",
|
||
"create_supplier_failed_title": "Kunde inte skapa leverantör",
|
||
"supplier_created_title": "Leverantör skapad",
|
||
"supplier_missing_title": "Leverantör saknas",
|
||
"supplier_missing_description": "Välj eller skapa en leverantör.",
|
||
"invoice_number_missing_title": "Fakturanummer saknas",
|
||
"invoice_number_missing_description": "Ange leverantörens fakturanummer.",
|
||
"expense_registered_title": "Utlägg registrerat",
|
||
"invoice_registered_title": "Faktura registrerad",
|
||
"arrival_number_label": "Ankomstnummer: {number}",
|
||
"warning_title": "Varning",
|
||
"auto_approve_failed_description": "Fakturan skapades men kunde inte godkännas automatiskt",
|
||
"invoice_registered_and_matched_title": "Faktura registrerad och matchad",
|
||
"invoice_registered_and_matched_description": "Ankomstnummer: {number}. Markerad som betald.",
|
||
"invoice_registered_match_failed_title": "Faktura registrerad — kunde inte matcha",
|
||
"register_invoice_failed_title": "Kunde inte registrera faktura",
|
||
"uncredit_failed_title": "Kunde inte ångra kreditering",
|
||
"uncredit_and_register_success_title": "Kreditering ångrad och faktura registrerad",
|
||
"uncredit_but_register_failed_title": "Kreditering ångrad — men nya fakturan kunde inte registreras",
|
||
"uncredit_but_register_failed_description": "Faktura {number} är återställd och numret är ledigt. {reason}",
|
||
"duplicate_default_message": "Det finns redan en faktura med detta nummer från denna leverantör.",
|
||
"duplicate_dialog_title": "Fakturanummer används redan",
|
||
"show_existing_invoice": "Visa befintlig faktura",
|
||
"uncredit_and_retry": "Ångra kreditering & återförsök",
|
||
"use_different_number": "Använd ett annat nummer",
|
||
"processing": "Bearbetar...",
|
||
"reverse_charge_badge": "Omvänd skattskyldighet",
|
||
"review_invoice_number_label": "Fakturanr: {number}",
|
||
"review_currency_rate_suffix": " (kurs {rate})",
|
||
"review_sek_amount_at_rate": "SEK-belopp (vid kurs {rate})",
|
||
"review_voucher_preview_title": "Verifikation som bokförs",
|
||
"review_voucher_in_sek_suffix": "(i SEK)",
|
||
"review_vat_inline": "{rate}% moms ({amount})",
|
||
"review_payment_reference_inline": "Betalningsreferens: {reference}",
|
||
"debit_short": "D {amount}",
|
||
"credit_short": "K {amount}",
|
||
"debit_credit_short": "D {debit} / K {credit}",
|
||
"account_2440": "Leverantörsskulder",
|
||
"account_2641": "Ingående moms",
|
||
"account_2645": "Beräknad ing. moms förvärv utlandet",
|
||
"account_2647": "Beräknad ing. moms omvänd i Sverige",
|
||
"account_2614": "Utg. moms omvänd 25%",
|
||
"account_2624": "Utg. moms omvänd 12%",
|
||
"account_2634": "Utg. moms omvänd 6%"
|
||
},
|
||
"supplier_invoice_detail": {
|
||
"back": "Tillbaka",
|
||
"back_aria": "Tillbaka till leverantörsfakturor",
|
||
"viewer_disabled_tooltip": "Du har endast läsbehörighet i detta företag",
|
||
"not_found": "Fakturan hittades inte",
|
||
"arrival_header": "Ankomst #{number}",
|
||
"header_subtitle": "{supplier} | Faktura {number}",
|
||
"status_registered": "Registrerad",
|
||
"status_approved": "Godkänd",
|
||
"status_paid": "Betald",
|
||
"status_partially_paid": "Delbetald",
|
||
"status_overdue": "Förfallen",
|
||
"status_disputed": "Tvist",
|
||
"status_credited": "Krediterad",
|
||
"status_reversed": "Makulerad",
|
||
"approve": "Godkänn",
|
||
"mark_paid": "Markera betald",
|
||
"credit_note_button": "Kreditfaktura",
|
||
"uncredit_button": "Ångra kreditering",
|
||
"load_failed_title": "Kunde inte ladda leverantörsfaktura",
|
||
"approve_failed_title": "Godkännande misslyckades",
|
||
"approved_title": "Godkänd",
|
||
"approved_description": "Fakturan har godkänts",
|
||
"payment_failed_title": "Betalning misslyckades",
|
||
"paid_title": "Betald",
|
||
"partial_payment_title": "Delbetalning registrerad",
|
||
"amount_registered_description": "{amount} kr registrerat",
|
||
"credit_confirm_title": "Registrera kreditfaktura",
|
||
"credit_confirm_description": "En kreditfaktura skapas som reverserar den ursprungliga fakturan. Denna åtgärd kan inte ångras.",
|
||
"credit_confirm_label": "Registrera kreditfaktura",
|
||
"credit_failed_title": "Kreditering misslyckades",
|
||
"credit_success_title": "Kreditfaktura registrerad",
|
||
"delete_confirm_title": "Ta bort faktura",
|
||
"delete_confirm_description": "Fakturan och tillhörande data tas bort permanent. Denna åtgärd kan inte ångras.",
|
||
"delete_confirm_label": "Ta bort",
|
||
"delete_failed_title": "Kunde inte ta bort faktura",
|
||
"deleted_title": "Borttagen",
|
||
"uncredit_confirm_title": "Ångra kreditering",
|
||
"uncredit_confirm_description": "Kreditfakturan tas bort och dess verifikation makuleras (storno). Originalfakturan återställs så att fakturanumret blir ledigt igen.",
|
||
"uncredit_confirm_label": "Ångra kreditering",
|
||
"uncredit_failed_title": "Kunde inte ångra kreditering",
|
||
"uncredit_success_title": "Kreditering ångrad",
|
||
"uncredit_success_description": "Originalfakturan är återställd och numret är ledigt.",
|
||
"credit_note_banner_title": "Detta är en kreditfaktura",
|
||
"credit_note_banner_prefix": "Den är kopplad till",
|
||
"credit_note_banner_link": "faktura {number}",
|
||
"credit_note_banner_original_fallback": "originalfakturan",
|
||
"credit_note_banner_suffix": ". För att ta bort kreditfakturan och frigöra fakturanumret, gå till originalet och välj \"Ångra kreditering\".",
|
||
"invoice_info_title": "Fakturainformation",
|
||
"arrival_number_label": "Ankomstnummer",
|
||
"invoice_number_label": "Fakturanummer",
|
||
"invoice_date_label": "Fakturadatum",
|
||
"due_date_label": "Förfallodatum",
|
||
"delivery_date_label": "Leveransdatum",
|
||
"ocr_reference_label": "OCR/referens",
|
||
"reverse_charge_badge": "Omvänd skattskyldighet",
|
||
"amounts_title": "Belopp",
|
||
"net_excl_vat": "Netto (exkl. moms)",
|
||
"vat_label": "Moms",
|
||
"total_label": "Totalt",
|
||
"paid_label": "Betalt",
|
||
"remaining_label": "Kvar att betala",
|
||
"supplier_section_title": "Leverantör",
|
||
"org_number_inline": "Org.nr: {number} | ",
|
||
"rows_title": "Rader",
|
||
"col_description": "Beskrivning",
|
||
"col_quantity": "Antal",
|
||
"col_unit": "Enhet",
|
||
"col_unit_price": "À-pris",
|
||
"col_account": "Konto",
|
||
"col_vat_rate": "Moms%",
|
||
"col_amount": "Belopp",
|
||
"col_vat": "Moms",
|
||
"vat_inline": "{rate}% moms",
|
||
"vat_amount_inline": "moms {amount}",
|
||
"payment_history_title": "Betalningshistorik",
|
||
"col_date": "Datum",
|
||
"col_amount_short": "Belopp",
|
||
"col_voucher": "Verifikation",
|
||
"col_note": "Anteckning",
|
||
"vouchers_title": "Verifikationer (sambandskrav)",
|
||
"registration_voucher": "Registreringsverifikation",
|
||
"no_registration_voucher": "Ingen registreringsverifikation (kontantmetoden)",
|
||
"payment_voucher": "Betalningsverifikation",
|
||
"notes_title": "Anteckningar",
|
||
"pay_dialog_title": "Markera som betald",
|
||
"payment_date_label": "Betalningsdatum",
|
||
"payment_amount_label": "Belopp att betala",
|
||
"remaining_to_pay": "Kvar att betala: {amount} {currency}",
|
||
"cancel": "Avbryt",
|
||
"register_payment": "Registrera betalning",
|
||
"processing": "Bearbetar...",
|
||
"duplicate_payment_title": "Möjlig dubbelbetalning",
|
||
"duplicate_payment_description_one": "Vi hittade en banktransaktion som verkar matcha denna betalning. Länka den befintliga transaktionen istället för att skapa en ny verifikation.",
|
||
"duplicate_payment_description_many": "Vi hittade banktransaktioner som verkar matcha denna betalning. Länka den befintliga transaktionen istället för att skapa en ny verifikation.",
|
||
"bank_transaction_fallback": "Banktransaktion",
|
||
"go_to": "Gå till",
|
||
"create_voucher_anyway": "Skapa ny verifikation ändå"
|
||
},
|
||
"supplier_detail": {
|
||
"back": "Tillbaka",
|
||
"back_aria": "Tillbaka till leverantörer",
|
||
"viewer_disabled_tooltip": "Du har endast läsbehörighet i detta företag",
|
||
"not_found": "Leverantören hittades inte",
|
||
"type_swedish": "Svenskt företag eller organisation",
|
||
"type_eu": "EU-företag",
|
||
"type_non_eu": "Utanför EU",
|
||
"org_number_inline": " | Org.nr: {number}",
|
||
"edit": "Redigera",
|
||
"edit_dialog_title": "Redigera leverantör",
|
||
"load_failed_title": "Kunde inte ladda leverantör",
|
||
"update_failed_title": "Kunde inte uppdatera leverantör",
|
||
"saved_title": "Sparat",
|
||
"saved_description": "Leverantören har uppdaterats",
|
||
"delete_confirm_title": "Ta bort leverantör",
|
||
"delete_confirm_description": "\"{name}\" och tillhörande data tas bort permanent. Denna åtgärd kan inte ångras.",
|
||
"delete_confirm_label": "Ta bort",
|
||
"delete_failed_title": "Kunde inte ta bort leverantör",
|
||
"deleted_title": "Borttagen",
|
||
"deleted_description": "Leverantören har tagits bort",
|
||
"outstanding": "Utestående",
|
||
"total_paid": "Totalt betalt",
|
||
"invoice_count": "Antal fakturor",
|
||
"contact_section_title": "Kontaktuppgifter",
|
||
"email_inline": "E-post: {email}",
|
||
"phone_inline": "Telefon: {phone}",
|
||
"vat_inline": "VAT: {vat}",
|
||
"payment_section_title": "Betalningsuppgifter",
|
||
"bankgiro_inline": "Bankgiro: {value}",
|
||
"plusgiro_inline": "Plusgiro: {value}",
|
||
"iban_inline": "IBAN: {value}",
|
||
"bic_inline": "BIC: {value}",
|
||
"payment_terms_inline": "Betalningsvillkor: {days} dagar",
|
||
"currency_inline": "Valuta: {currency}",
|
||
"expense_account_inline": "Kostnadskonto: {account}",
|
||
"invoices_section_title": "Fakturor",
|
||
"new_invoice": "Ny faktura",
|
||
"no_invoices": "Inga fakturor registrerade för denna leverantör",
|
||
"col_arrival": "Ankomst",
|
||
"col_invoice_number": "Fakturanr",
|
||
"col_date": "Datum",
|
||
"col_due": "Förfaller",
|
||
"col_amount": "Belopp",
|
||
"col_remaining": "Kvar",
|
||
"col_status": "Status",
|
||
"remaining_inline": "Kvar: {amount} kr",
|
||
"status_registered": "Registrerad",
|
||
"status_approved": "Godkänd",
|
||
"status_paid": "Betald",
|
||
"status_partially_paid": "Delbetald",
|
||
"status_overdue": "Förfallen",
|
||
"status_credited": "Krediterad"
|
||
},
|
||
"retention_notice": {
|
||
"company_title": "Bokföringen behålls i 7 år",
|
||
"company_body_prefix": "Enligt bokföringslagen (BFL 7 kap. 2§) sparas räkenskapsinformation i 7 år. När du raderar företaget döljs det i {appName}, men verifikationer, dokument och bokföring behålls säkert tills lagkravet löpt ut. Du kan ",
|
||
"company_body_link": "ladda ner en säkerhetsbackup",
|
||
"company_body_suffix": " innan du fortsätter.",
|
||
"account_title": "Kontoraderingen är permanent",
|
||
"account_body_prefix": "Ditt konto avidentifieras och du loggas ut från alla enheter. Räkenskapsinformation från företag du ägt behålls säkert i 7 år enligt BFL 7 kap. 2§. Du kan inte skapa ett nytt konto med samma e-postadress — kontakta support om du vill återaktivera kontot i framtiden. Ladda gärna ner en ",
|
||
"account_body_link": "säkerhetsbackup",
|
||
"account_body_suffix": " innan du fortsätter."
|
||
},
|
||
"support_link": {
|
||
"default_label": "Kontakta support",
|
||
"dialog_title": "Kontakta support",
|
||
"dialog_description": "Beskriv ditt ärende så återkommer vi så snart vi kan.",
|
||
"thanks": "Tack! Vi har mottagit ditt meddelande.",
|
||
"placeholder": "Beskriv vad du behöver hjälp med...",
|
||
"char_count": "{count}/5000 tecken",
|
||
"cancel": "Avbryt",
|
||
"send": "Skicka",
|
||
"sending": "Skickar...",
|
||
"send_failed_title": "Kunde inte skicka",
|
||
"send_failed_fallback": "Försök igen."
|
||
},
|
||
"journal_list": {
|
||
"loading": "Laddar verifikationer...",
|
||
"empty_title": "Inga verifikationer",
|
||
"empty_description": "Verifikationer skapas automatiskt vid fakturering och transaktionsbokföring, eller manuellt via fliken \"Ny verifikation\".",
|
||
"show_missing": "Visa saknade underlag",
|
||
"sort_date_desc": "Datum, nyast först",
|
||
"sort_date_asc": "Datum, äldst först",
|
||
"sort_voucher_asc": "Verifikat, A1 först",
|
||
"sort_voucher_desc": "Verifikat, senaste först",
|
||
"date_from_placeholder": "Från YYYY-MM-DD",
|
||
"date_to_placeholder": "Till YYYY-MM-DD",
|
||
"filter": "Filtrera",
|
||
"clear_date_filter": "Rensa datumfilter",
|
||
"out_of_period_label": "Efterföljande",
|
||
"out_of_period_tooltip": "Bokförd i ett senare räkenskapsår, men avser det valda året (t.ex. betalning av en faktura utställd i det valda året).",
|
||
"out_of_period_tooltip_mobile": "Bokförd i ett senare räkenskapsår, men avser det valda året.",
|
||
"attachment_count_tooltip": "{count} underlag",
|
||
"missing_attachment_tooltip": "Underlag saknas",
|
||
"no_lines": "Inga kontorader hittades för denna verifikation.",
|
||
"debit": "Debet",
|
||
"credit": "Kredit",
|
||
"sum_debit": "Summa debet",
|
||
"sum_credit": "Summa kredit",
|
||
"post": "Bokför",
|
||
"show_details": "Visa detaljer",
|
||
"create_correction": "Skapa ändringsverifikation",
|
||
"copy": "Kopiera",
|
||
"previous": "Föregående",
|
||
"next": "Nästa",
|
||
"page_of": "Sida {page} av {total}",
|
||
"read_only_tooltip": "Du har endast läsbehörighet i detta företag",
|
||
"toast_posted_title": "Verifikat bokfört",
|
||
"toast_posted_description": "Verifikat {voucher} har bokförts.",
|
||
"toast_post_failed": "Kunde inte bokföra",
|
||
"toast_post_failed_generic": "Kunde inte bokföra verifikat",
|
||
"view_attachments": "Visa bilagor",
|
||
"no_doc_required_toggle": "Inget underlag krävs",
|
||
"no_doc_required_indicator_tooltip": "Markerad som att underlag inte krävs",
|
||
"no_doc_required_reason_label": "Skäl",
|
||
"no_doc_required_reason_add": "Lägg till skäl (frivilligt)",
|
||
"no_doc_required_reason_placeholder": "T.ex. bankavgift, ränta, intern överföring",
|
||
"no_doc_required_save_reason": "Spara",
|
||
"no_doc_required_save_failed": "Kunde inte spara",
|
||
"no_doc_required_suggestion_bank_fee": "Bankavgift",
|
||
"no_doc_required_suggestion_interest": "Ränta",
|
||
"no_doc_required_suggestion_internal_transfer": "Intern överföring",
|
||
"no_doc_required_suggestion_tax_payment": "Skatteinbetalning",
|
||
"no_doc_required_suggestion_salary": "Lön"
|
||
},
|
||
"attachment_preview_sheet": {
|
||
"title": "Bilagor",
|
||
"empty": "Inga bilagor",
|
||
"open_in_new_tab": "Öppna i nytt fönster",
|
||
"not_previewable": "Förhandsvisning är inte tillgänglig för denna filtyp.",
|
||
"remove": "Ta bort",
|
||
"replace": "Ersätt med ny version",
|
||
"corrupt_title": "Filen verkar vara skadad",
|
||
"corrupt_body": "Filen kan inte läsas som PDF. Ladda upp en ny version så ersätter den den trasiga — den gamla bevaras i versionshistoriken.",
|
||
"corrupt_replace_cta": "Ladda upp ny version",
|
||
"integrity_unknown": "Filens integritet kunde inte verifieras — försök igen senare om förhandsgranskningen inte visas."
|
||
},
|
||
"journal_attachments": {
|
||
"loading": "Laddar underlag...",
|
||
"title": "Underlag",
|
||
"add": "Lägg till underlag",
|
||
"empty": "Inga underlag bifogade.",
|
||
"download": "Ladda ner",
|
||
"remove": "Ta bort",
|
||
"replace": "Ersätt med ny version",
|
||
"remove_confirm_title": "Ta bort underlag",
|
||
"remove_confirm_body": "Vill du ta bort {file}? Detta går inte att ångra.",
|
||
"remove_confirm_cta": "Ta bort",
|
||
"remove_blocked_title": "Underlaget kan inte tas bort",
|
||
"remove_blocked_body": "Detta underlag är knutet till en verifikation och utgör räkenskapsinformation enligt Bokföringslagen 7 kap 2§. Räkenskapsinformation måste bevaras i minst 7 år och får inte raderas.",
|
||
"remove_blocked_hint": "Behöver underlaget korrigeras — ladda upp en ny version. Den befintliga bevaras då i versionshistoriken.",
|
||
"remove_blocked_replace_cta": "Ladda upp ny version",
|
||
"remove_blocked_cancel_cta": "Stäng",
|
||
"replace_uploading": "Ersätter...",
|
||
"remove_failed": "Kunde inte ta bort underlaget.",
|
||
"replace_failed": "Kunde inte ladda upp ny version."
|
||
},
|
||
"journal_status": {
|
||
"status_draft": "Utkast",
|
||
"status_posted": "Bokförd",
|
||
"status_reversed": "Omförd",
|
||
"status_cancelled": "Makulerad",
|
||
"source_storno": "Storno",
|
||
"source_correction": "Rättelse",
|
||
"source_label_manual": "Manuell",
|
||
"source_label_bank_transaction": "Banktransaktion",
|
||
"source_label_invoice_created": "Faktura skapad",
|
||
"source_label_invoice_paid": "Fakturabetalning",
|
||
"source_label_credit_note": "Kreditfaktura",
|
||
"source_label_salary_payment": "Lön",
|
||
"source_label_opening_balance": "Ingående balans",
|
||
"source_label_year_end": "Årsbokslut",
|
||
"source_label_storno": "Storno",
|
||
"source_label_correction": "Rättelse",
|
||
"source_label_import": "Import",
|
||
"source_label_system": "System",
|
||
"source_label_supplier_invoice_registered": "Leverantörsfaktura",
|
||
"source_label_supplier_invoice_paid": "Leverantörsbetalning",
|
||
"source_label_supplier_invoice_cash_payment": "Kontantbetalning",
|
||
"source_label_currency_revaluation": "Valutaomvärdering",
|
||
"source_label_reminder_fee": "Påminnelseavgift"
|
||
},
|
||
"journal_correction": {
|
||
"title": "Ändringskedja",
|
||
"info": "Bokförda verifikationer kan inte ändras direkt. Istället skapas en stornoverifikation som nollställer den ursprungliga, och en ny rättelsepost med de korrekta uppgifterna.",
|
||
"role_storno": "Storno",
|
||
"role_correction": "Rättelse",
|
||
"role_original": "Original",
|
||
"current": "Aktuell"
|
||
},
|
||
"journal_detail": {
|
||
"back": "Tillbaka till bokföring",
|
||
"loading": "Laddar verifikation...",
|
||
"error_not_found": "Verifikation hittades inte",
|
||
"error_load_failed": "Kunde inte hämta verifikation",
|
||
"post": "Bokför",
|
||
"delete_draft": "Radera utkast",
|
||
"delete_entry": "Radera verifikat",
|
||
"create_correction": "Skapa ändringsverifikation",
|
||
"copy_entry": "Kopiera verifikat",
|
||
"details_title": "Verifikationsdetaljer",
|
||
"field_date": "Datum",
|
||
"field_posted_at": "Bokförd",
|
||
"field_type": "Typ",
|
||
"field_source_voucher": "Ursprungligt verifikat",
|
||
"field_note": "Anteckning",
|
||
"edit_note_aria": "Redigera anteckning",
|
||
"note_placeholder": "Intern anteckning...",
|
||
"no_note": "Ingen anteckning",
|
||
"summary_title": "Summering",
|
||
"summary_debit": "Debet",
|
||
"summary_credit": "Kredit",
|
||
"summary_lines": "Antal rader",
|
||
"attachments_title": "Underlag",
|
||
"attachments_count": "{count} dokument",
|
||
"no_attachments": "Inga underlag bifogade",
|
||
"currency_title": "Valutaomräkning",
|
||
"currency_rate": "Kurs",
|
||
"currency_original_amount": "Ursprungsbelopp",
|
||
"lines_title": "Kontorader",
|
||
"col_account": "Konto",
|
||
"col_description": "Beskrivning",
|
||
"col_debit": "Debet",
|
||
"col_credit": "Kredit",
|
||
"sum": "Summa",
|
||
"history_title": "Ändringshistorik",
|
||
"read_only_tooltip": "Du har endast läsbehörighet i detta företag",
|
||
"toast_posted_title": "Verifikat bokfört",
|
||
"toast_posted_description": "Verifikat {voucher} har bokförts.",
|
||
"toast_post_failed": "Kunde inte bokföra",
|
||
"toast_post_failed_generic": "Kunde inte bokföra verifikat",
|
||
"toast_delete_draft_title": "Utkast raderat",
|
||
"toast_delete_entry_title": "Verifikat raderat",
|
||
"toast_delete_draft_description": "Utkastet har tagits bort.",
|
||
"toast_delete_entry_description": "Verifikat {voucher} har raderats.",
|
||
"toast_delete_failed": "Kunde inte radera",
|
||
"toast_delete_failed_generic": "Kunde inte radera verifikat",
|
||
"toast_save_note_failed": "Kunde inte spara anteckning",
|
||
"delete_confirm_label": "Radera permanent",
|
||
"delete_warning_draft": "Utkastet har aldrig bokförts och kan tas bort utan att påverka verifikationsserien. Eventuella kopplade underlag behålls men avlänkas. Denna åtgärd kan inte ångras.",
|
||
"delete_warning_entry": "Verifikat {voucher} raderas permanent. Eventuella kopplade underlag behålls men avlänkas. Denna åtgärd kan inte ångras.",
|
||
"delete_dialog_heading": "Permanent radering",
|
||
"delete_dialog_draft_body": "Utkastet och dess kontorader tas bort. Kopplade fakturor och transaktioner påverkas inte — de stannar kvar som obokförda. Underlag (kvitton, dokument) behålls men avlänkas.",
|
||
"delete_dialog_entry_body": "Verifikatet och dess kontorader tas bort. Kopplade transaktioner och fakturor behåller sina uppgifter men markeras som ej bokförda. Underlag (kvitton, dokument) behålls men avlänkas."
|
||
},
|
||
"journal_form": {
|
||
"card_title": "Ny verifikation",
|
||
"fiscal_year": "Räkenskapsår",
|
||
"fiscal_year_placeholder": "Välj period",
|
||
"date": "Datum",
|
||
"description": "Beskrivning",
|
||
"description_placeholder": "Verifikationstext...",
|
||
"internal_note": "Intern anteckning",
|
||
"internal_note_optional": "(valfritt)",
|
||
"internal_note_placeholder": "T.ex. anledning till bokning, referens till mejl, etc.",
|
||
"series": "Serie",
|
||
"no_period_warning": "Inget räkenskapsår matchar datumet {date}",
|
||
"no_period_help": "Skapa ett räkenskapsår som täcker detta datum för att kunna bokföra.",
|
||
"create_period": "Skapa räkenskapsår",
|
||
"currency": "Valuta",
|
||
"exchange_rate_label": "Omräkningskurs (1 {currency} = ? SEK)",
|
||
"amount_in_currency_label": "Belopp i {currency}",
|
||
"col_account": "Konto",
|
||
"col_description": "Beskrivning",
|
||
"col_debit": "Debet",
|
||
"col_credit": "Kredit",
|
||
"col_saldo": "Saldo (före)",
|
||
"saldo_label": "Saldo (före)",
|
||
"line_description_placeholder": "Radtext...",
|
||
"sum": "Summa",
|
||
"sum_d": "D: {amount}",
|
||
"sum_k": "K: {amount}",
|
||
"add_line": "Lägg till rad",
|
||
"attachments_label": "Underlag",
|
||
"difference": "Differens: {amount}",
|
||
"save_draft": "Spara som utkast",
|
||
"review_and_create": "Granska & skapa",
|
||
"save_draft_tooltip": "Sparar som utkast utan att tilldela verifikationsnummer",
|
||
"read_only_tooltip": "Du har endast läsbehörighet i detta företag",
|
||
"validation_description": "Ange en beskrivning",
|
||
"validation_period": "Välj en räkenskapsperiod",
|
||
"validation_no_matching_period": "Skapa ett räkenskapsår som matchar datumet",
|
||
"validation_uploading": "Vänta tills filerna laddats upp",
|
||
"validation_incomplete_lines": "Alla rader med belopp måste ha ett konto (och tvärtom)",
|
||
"validation_min_lines": "Minst två rader med konto och belopp krävs",
|
||
"review_title": "Granska verifikation",
|
||
"review_title_with_voucher": "Granska verifikation ({voucher})",
|
||
"review_warning": "En verifikation skapas och kan inte ändras efteråt. Korrigeringar görs genom storno.",
|
||
"no_doc_dialog_title": "Underlag saknas",
|
||
"no_doc_dialog_warning": "Inget underlag bifogat. Enligt bokföringslagen (BFL 5 kap. 6-7 §§) ska varje bokföringspost ha en verifikation som underlag. Du kan bifoga underlag nu eller fortsätta utan.",
|
||
"no_doc_confirm": "Bokför utan underlag",
|
||
"no_doc_body": "Granska uppgifterna innan du bekräftar.",
|
||
"toast_created_title": "Verifikation skapad",
|
||
"toast_created_description": "Verifikation {voucher} har skapats.",
|
||
"toast_create_failed": "Kunde inte skapa verifikation",
|
||
"toast_draft_saved_title": "Utkast sparat",
|
||
"toast_draft_saved_description": "Utkastet kan bokföras från bokföringssidan.",
|
||
"toast_save_draft_failed": "Kunde inte spara utkast",
|
||
"toast_attach_failed_title": "Underlag kunde inte bifogas",
|
||
"toast_attach_failed_description": "{count} fil(er) kunde inte länkas till verifikationen. Försök igen via bokföringssidan."
|
||
},
|
||
"chart_of_accounts": {
|
||
"class_1": "Tillgångar",
|
||
"class_2": "Eget kapital och skulder",
|
||
"class_3": "Rörelseintäkter",
|
||
"class_4": "Varuinköp och material",
|
||
"class_5": "Övriga externa kostnader",
|
||
"class_6": "Övriga externa kostnader",
|
||
"class_7": "Personalkostnader och avskrivningar",
|
||
"class_8": "Finansiella poster och resultat",
|
||
"type_asset": "Tillgång",
|
||
"type_liability": "Skuld",
|
||
"type_equity": "EK",
|
||
"type_revenue": "Intäkt",
|
||
"type_expense": "Kostnad",
|
||
"type_untaxed_reserves": "Ob. reserver",
|
||
"loading": "Laddar kontoplan...",
|
||
"tab_my_accounts": "Mina konton",
|
||
"tab_bas_catalog": "BAS-katalog",
|
||
"add_own": "Eget konto",
|
||
"hide_k2_excluded": "Dölj K2-undantagna",
|
||
"search_placeholder": "Sök konto (nummer eller namn)...",
|
||
"class_heading": "Klass {cls}: {label}",
|
||
"col_account": "Konto",
|
||
"col_name": "Namn",
|
||
"col_sru": "SRU",
|
||
"col_type": "Typ",
|
||
"col_active": "Aktiv",
|
||
"col_status": "Status",
|
||
"system_badge": "System",
|
||
"activated": "Aktiverat",
|
||
"add": "Lägg till",
|
||
"active_count_label": "{active}/{total} aktiva",
|
||
"no_matches": "Inga konton matchar sökningen",
|
||
"no_accounts": "Inga konton i kontoplanen",
|
||
"delete_confirm": "Vill du ta bort konto {number} {name}?",
|
||
"toast_account_deleted": "Konto borttaget",
|
||
"toast_delete_failed": "Kunde inte ta bort kontot",
|
||
"toast_update_failed": "Kunde inte uppdatera kontot",
|
||
"toast_activate_failed": "Kunde inte aktivera kontot",
|
||
"toast_activated_title": "Konto aktiverat",
|
||
"toast_activated_description": "Konto {number} har lagts till i din kontoplan"
|
||
},
|
||
"tic_workspace": {
|
||
"toast_settings_failed": "Kunde inte hämta inställningar",
|
||
"toast_profile_failed": "Kunde inte hämta företagsprofil",
|
||
"toast_unexpected_error": "Ett oväntat fel inträffade",
|
||
"no_org_number_title": "Inget organisationsnummer",
|
||
"no_org_number_description": "Ange organisationsnummer under Inställningar för att visa företagsprofilen.",
|
||
"go_to_settings": "Gå till Inställningar",
|
||
"settings": "Inställningar",
|
||
"retry": "Försök igen",
|
||
"fetch_failed_title": "Kunde inte hämta företagsprofil",
|
||
"fetch_failed_description": "Kontrollera att organisationsnumret i inställningarna är korrekt och försök igen.",
|
||
"deregistered": "Avregistrerat",
|
||
"registered_for": "Registrerat för",
|
||
"reg_f_tax": "F-skatt",
|
||
"reg_vat": "Moms",
|
||
"reg_employer": "Arbetsgivare",
|
||
"sni_codes": "SNI-koder",
|
||
"bank_accounts": "Bankuppgifter",
|
||
"purpose": "Verksamhet",
|
||
"employees_range": "Anställda: {range}",
|
||
"turnover_range": "Omsättning: {range}",
|
||
"updated_ago": "Uppdaterad {ago}",
|
||
"time_just_now": "just nu",
|
||
"time_minutes_ago": "{n} min sedan",
|
||
"time_hours_ago": "{n} tim sedan",
|
||
"time_days_ago": "{n, plural, one {# dag sedan} other {# dagar sedan}}",
|
||
"latest_closing": "Senaste bokslut",
|
||
"net_sales": "Omsättning",
|
||
"operating_profit": "Rörelseresultat",
|
||
"total_assets": "Totala tillgångar",
|
||
"employees": "Anställda",
|
||
"operating_margin": "Rörelsemarginal",
|
||
"equity_ratio": "Soliditet",
|
||
"no_financials": "Inga finansiella uppgifter tillgängliga.",
|
||
"annual_reports": "Årsredovisningar",
|
||
"col_period": "Period",
|
||
"col_title": "Titel",
|
||
"col_filed": "Inlämnad",
|
||
"col_audited": "Reviderad",
|
||
"col_audit_opinion": "Revisionsutlåtande",
|
||
"status_section": "Status",
|
||
"status_no_entries": "Inga statusposter registrerade.",
|
||
"fiscal_year_section": "Räkenskapsår",
|
||
"fiscal_year_current": "Nuvarande: {start} – {end}",
|
||
"fiscal_year_changed": "Räkenskapsåret har ändrats {n, plural, one {# gång} other {# gånger}}.",
|
||
"signatory_section": "Firmateckning",
|
||
"signatory_empty": "Ingen firmateckning registrerad hos TIC.",
|
||
"board_section": "Företrädare",
|
||
"board_summary_members": "{n, plural, one {# styrelseledamot} other {# styrelseledamöter}}",
|
||
"board_summary_deputies": "{n, plural, one {# suppleant} other {# suppleanter}}",
|
||
"board_vacancy": "Vakans i styrelsen",
|
||
"board_missing_ceo": "VD saknas sedan {date}",
|
||
"board_missing_auditor": "Revisor saknas sedan {date}",
|
||
"board_no_representatives": "Inga aktiva företrädare registrerade.",
|
||
"col_name": "Namn",
|
||
"col_position": "Roll",
|
||
"col_since": "Sedan",
|
||
"payroll_section": "Lönehistorik",
|
||
"payroll_empty": "Ingen lönehistorik registrerad hos Skatteverket.",
|
||
"col_payroll_period": "Period",
|
||
"col_payroll_employees": "Anställda",
|
||
"col_payroll_tax": "Avdragen skatt",
|
||
"col_payroll_personnel_costs": "Personalkostnader",
|
||
"col_payroll_deviation": "Avvikelse mot ÅR",
|
||
"col_payroll_late_fees": "Förseningsavgifter"
|
||
},
|
||
"extensions": {
|
||
"page_title": "Tillägg",
|
||
"page_description": "Utöka ditt bokföringssystem med verktyg och branschspecifika funktioner.",
|
||
"industry_tools": "Branschverktyg",
|
||
"description_heading": "Beskrivning",
|
||
"data_source_heading": "Datakälla",
|
||
"reads_from": "Läser från: {tables}",
|
||
"open": "Öppna",
|
||
"breadcrumb": "Tillägg",
|
||
"extension_count": "{count} tillägg",
|
||
"data_pattern_core": "Använder bokföringsdata",
|
||
"data_pattern_manual": "Manuell inmatning",
|
||
"data_pattern_both": "Bokföringsdata + manuell inmatning",
|
||
"category_accounting": "Bokföring & Skatt",
|
||
"category_reports": "Branschrapporter",
|
||
"category_import": "Smart Import",
|
||
"category_operations": "Verktyg",
|
||
"sector_general_name": "Generella verktyg",
|
||
"sector_general_description": "Verktyg som passar alla verksamheter",
|
||
"ext_enable_banking_name": "Bankintegration (PSD2)",
|
||
"ext_enable_banking_description": "Automatisk banktransaktionssynk via PSD2",
|
||
"ext_enable_banking_long_description": "Koppla ditt bankkonto direkt och synka transaktioner automatiskt via säker PSD2-bankintegration. Stöder de flesta svenska banker.",
|
||
"ext_email_name": "E-post (Resend)",
|
||
"ext_email_description": "Skicka fakturor och påminnelser via e-post",
|
||
"ext_email_long_description": "Aktiverar e-postfunktioner: skicka fakturor till kunder, automatiska betalningspåminnelser (15/30/45 dagar), och e-postmeddelanden. Kräver ett Resend-konto med verifierad domän.",
|
||
"ext_arcim_migration_name": "Systemmigration",
|
||
"ext_arcim_migration_description": "Migrera bokföring från Fortnox, Visma, Bokio, Björn Lundén eller Briox",
|
||
"ext_arcim_migration_long_description": "Flytta all bokföringsdata från ditt gamla system till gnubok. Importerar kontoplan, verifikationer, kunder, leverantörer och öppna fakturor automatiskt via säker API-integration direkt med leverantören.",
|
||
"ext_tic_name": "Bolagsuppgifter",
|
||
"ext_tic_description": "Hämta företagsinformation automatiskt vid registrering",
|
||
"ext_tic_long_description": "Fyll i företagsuppgifter automatiskt genom att ange organisationsnummer. Hämtar adress, momsregistrering, F-skattestatus och bankuppgifter från offentliga register via TIC.",
|
||
"ext_mcp_server_name": "MCP-server (API)",
|
||
"ext_mcp_server_description": "Gör bokföring via Claude, Cursor eller annan MCP-klient",
|
||
"ext_mcp_server_long_description": "Exponerar gnuboks bokföringsmotor som MCP-verktyg (Model Context Protocol). Koppla din MCP-klient med en API-nyckel och gör bokföring genom konversation: visa okategoriserade transaktioner, bokför dem, skapa fakturor.",
|
||
"ext_cloud_backup_name": "Molnsynkronisering",
|
||
"ext_cloud_backup_description": "Synka säkerhetsbackup till din egen molnlagring",
|
||
"ext_cloud_backup_long_description": "Koppla ditt Google Drive-konto och ladda upp en fullständig säkerhetsbackup med ett klick. Gnubok skapar en ZIP med SIE-filer, kvitton och behandlingshistorik och laddar upp till en egen mapp i din Drive. Perfekt för att uppfylla egna krav på redundans.",
|
||
"ext_skatteverket_name": "Skatteverket Integration",
|
||
"ext_skatteverket_description": "Skicka momsdeklaration direkt till Skatteverket via BankID.",
|
||
"ext_skatteverket_long_description": "Anslut till Skatteverket med BankID och skicka din momsdeklaration direkt från gnubok. Spara utkast, validera, lås och signera — utan att lämna appen.",
|
||
"ext_invoice_inbox_name": "Dokumentinkorg",
|
||
"ext_invoice_inbox_description": "Vidarebefordra leverantörsfakturor till en unik adress – dokumenten landar här med extraherade fält",
|
||
"ext_invoice_inbox_long_description": "Varje bolag får en unik fakturainkorg-adress. Fakturor som skickas dit fångas automatiskt och fält som org.nr, OCR, bankgiro, belopp och förfallodatum extraheras deterministiskt från PDF-texten. Inga AI-anrop, inga molntjänster utöver Resend för e-postmottagning."
|
||
},
|
||
"fiscal_year": {
|
||
"label": "Räkenskapsår",
|
||
"placeholder": "Välj räkenskapsår",
|
||
"loading": "Laddar…",
|
||
"all_years": "Alla räkenskapsår",
|
||
"suffix_locked": " — låst",
|
||
"suffix_closed": " — stängt",
|
||
"badge_locked": "Låst",
|
||
"badge_closed": "Stängt",
|
||
"tooltip_locked": "Räkenskapsåret är låst — ingen bokföring kan ändras eller läggas till",
|
||
"tooltip_closed": "Räkenskapsåret är stängt (årsbokslut upprättat) — kan återöppnas av admin"
|
||
},
|
||
"kpi": {
|
||
"title": "Nyckeltal",
|
||
"fetch_failed": "Kunde inte hämta nyckeltal",
|
||
"customize": "Anpassa",
|
||
"empty_no_kpis_chosen": "Inga nyckeltal valda. Klicka på \"Anpassa\" för att välja vilka som ska visas.",
|
||
"tooltip_formula": "Formel:",
|
||
"tooltip_accounts": "Konton:",
|
||
"tooltip_overrides": "Anpassade:",
|
||
"value_days_suffix": "dagar",
|
||
"trend_title": "Intäkter, kostnader & resultat per månad",
|
||
"trend_legend_income": "Intäkter",
|
||
"trend_legend_expenses": "Kostnader",
|
||
"trend_legend_net": "Resultat",
|
||
"expense_mix_title": "Kostnader per klass",
|
||
"expense_mix_empty": "Inga bokförda kostnader ännu",
|
||
"expense_mix_total": "Totalt",
|
||
"expense_mix_class4": "Varor (klass 4)",
|
||
"expense_mix_class5": "Drift & lokaler (klass 5)",
|
||
"expense_mix_class6": "Övriga externa (klass 6)",
|
||
"expense_mix_class7": "Personal (klass 7)",
|
||
"top_suppliers_title": "Största leverantörer",
|
||
"top_suppliers_empty": "Inga registrerade leverantörsfakturor under perioden",
|
||
"top_suppliers_spend": "Spend",
|
||
"sub_netto": "netto",
|
||
"sub_likvida_medel": "likvida medel",
|
||
"sub_utestaende": "utestående",
|
||
"sub_overdue": "varav förfallet: {amount}",
|
||
"sub_att_betala": "att betala",
|
||
"sub_att_aterfa": "att återfå",
|
||
"sub_jamnt": "jämnt",
|
||
"sub_av_intakter": "av intäkter",
|
||
"sub_snitt": "snitt",
|
||
"def_netResult_label": "Resultat",
|
||
"def_netResult_description": "Nettoresultat för perioden (intäkter minus kostnader)",
|
||
"def_netResult_formula": "Totala intäkter − Totala kostnader ± Finansiella poster",
|
||
"def_netResult_accounts": "Intäkter (klass 3), Kostnader (klass 4–7), Finansiellt (klass 8)",
|
||
"def_cashPosition_label": "Kassa",
|
||
"def_cashPosition_description": "Totala likvida medel (bank- och kassakonton)",
|
||
"def_cashPosition_formula": "Summa utgående saldon för valda 19xx-konton",
|
||
"def_cashPosition_accounts": "Bank- och kassakonton (19xx)",
|
||
"def_outstandingReceivables_label": "Kundfordringar",
|
||
"def_outstandingReceivables_description": "Utestående kundfordringar",
|
||
"def_outstandingReceivables_formula": "Summa obetalda kundfakturor",
|
||
"def_outstandingReceivables_accounts": "Kundfordringar (1510)",
|
||
"def_vatLiability_label": "Moms",
|
||
"def_vatLiability_description": "Momsskuld eller momsfordran för perioden",
|
||
"def_vatLiability_formula": "Utgående moms (2611 + 2621 + 2631) − Ingående moms (2641 + 2645)",
|
||
"def_vatLiability_accounts": "Utgående moms (2611, 2621, 2631), Ingående moms (2641, 2645)",
|
||
"def_grossMargin_label": "Bruttomarginal",
|
||
"def_grossMargin_description": "Andel av intäkterna som blir kvar efter varuinköp",
|
||
"def_grossMargin_formula": "(Intäkter − Varukostnad klass 4) ÷ Intäkter × 100",
|
||
"def_grossMargin_accounts": "Intäkter (klass 3), Varor och material (klass 4)",
|
||
"def_expenseRatio_label": "Kostnadsandel",
|
||
"def_expenseRatio_description": "Andel av intäkterna som går till kostnader",
|
||
"def_expenseRatio_formula": "Totala kostnader ÷ Totala intäkter × 100",
|
||
"def_expenseRatio_accounts": "Intäkter (klass 3), Kostnader (klass 4–7)",
|
||
"def_avgPaymentDays_label": "Betalningstid",
|
||
"def_avgPaymentDays_description": "Genomsnittligt antal dagar till kundbetalning",
|
||
"def_avgPaymentDays_formula": "Summa betaldagar ÷ Antal betalda fakturor (minst 5 krävs)",
|
||
"def_avgPaymentDays_accounts": "Beräknas från betalda kundfakturor, inte konton",
|
||
"settings_title": "Anpassa nyckeltal",
|
||
"settings_subtitle": "Välj vilka nyckeltal som visas och justera beräkningarna.",
|
||
"settings_custom_suffix": "(anpassad)",
|
||
"settings_formula_label": "Formel",
|
||
"settings_accounts_label": "Konton",
|
||
"settings_customize_accounts": "Anpassa konton",
|
||
"settings_account_hint": "Ange kontonummer separerade med komma (t.ex. {example})",
|
||
"settings_reset_field": "Återställ till standard",
|
||
"settings_reset_all": "Återställ allt"
|
||
},
|
||
"company_switcher": {
|
||
"company_label": "Företag",
|
||
"default_company_name": "Min verksamhet",
|
||
"add_company": "Lägg till företag"
|
||
},
|
||
"transactions": {
|
||
"page_title": "Transaktioner",
|
||
"subtitle_to_post": "att bokföra",
|
||
"subtitle_matches": "{count} fakturamatchningar",
|
||
"history_subtitle": "Alla dina transaktioner",
|
||
"action_import": "Importera",
|
||
"action_review_all": "Gå igenom alla",
|
||
"action_review_loading": "Laddar...",
|
||
"action_select_multi_start": "Välj flera",
|
||
"action_select_multi_end": "Avsluta",
|
||
"action_new_transaction": "Ny transaktion",
|
||
"viewer_disabled_tooltip": "Du har endast läsbehörighet i detta företag",
|
||
"mode_inbox": "Att bokföra",
|
||
"mode_history": "Alla transaktioner",
|
||
"source_label": "Källa:",
|
||
"source_all": "Alla ({count})",
|
||
"source_bank": "Bank ({count})",
|
||
"source_skatteverket": "Skatteverket ({count})",
|
||
"search_placeholder": "Sök transaktion...",
|
||
"no_search_results": "Inga transaktioner matchar din sökning.",
|
||
"dialog_choose_template": "Välj mall",
|
||
"dialog_match_invoice": "Matcha med faktura",
|
||
"dialog_add_transaction": "Lägg till transaktion",
|
||
"dialog_match_supplier_invoice": "Matcha mot leverantörsfaktura?",
|
||
"dialog_match_customer_invoice": "Matcha mot kundfaktura?",
|
||
"badge_exact_ocr": "Exakt OCR-träff",
|
||
"load_failed_title": "Kunde inte ladda transaktioner",
|
||
"load_failed_description": "Kontrollera din anslutning och försök igen.",
|
||
"undone_title": "Ångrad",
|
||
"undone_description": "Kategorisering har ångrats",
|
||
"undo_failed_title": "Kunde inte ångra",
|
||
"undo_failed_description": "Kategoriseringen kunde inte ångras. Försök igen.",
|
||
"partially_booked_title": "Delvis bokförd",
|
||
"partially_booked_description": "Transaktion uppdaterad men verifikation kunde inte skapas",
|
||
"booking_failed_title": "Bokföring misslyckades",
|
||
"booking_failed_description": "Transaktionen kunde inte bokföras. Försök igen.",
|
||
"customer_invoice_matched_title": "Kundfaktura matchad",
|
||
"customer_invoice_matched_description": "Fakturan markerades som betald",
|
||
"supplier_invoice_matched_title": "Leverantörsfaktura matchad",
|
||
"supplier_invoice_matched_description": "Fakturan markerades som betald",
|
||
"match_failed_title": "Matchning misslyckades",
|
||
"match_failed_description_retry": "Försök igen.",
|
||
"match_failed_transaction": "Transaktionen kunde inte matchas. Försök igen.",
|
||
"match_failed_with_invoice": "Transaktionen kunde inte matchas med fakturan. Försök igen.",
|
||
"voucher_link_failed_description": "Verifikationen kunde inte kopplas. Försök igen.",
|
||
"login_required_title": "Inloggning krävs",
|
||
"login_required_description": "Du måste vara inloggad för att lägga till transaktioner.",
|
||
"deleted_title": "Borttagen",
|
||
"deleted_description": "Transaktionen har tagits bort",
|
||
"delete_failed_description": "Transaktionen kunde inte tas bort. Försök igen.",
|
||
"review_in_bookkeeping_description": "Granska och bokför verifikatet i Bokföring."
|
||
},
|
||
"bookkeeping": {
|
||
"title": "Bokföring",
|
||
"year_end": "Årsbokslut",
|
||
"tab_journal": "Verifikationer",
|
||
"tab_new_entry": "Ny verifikation",
|
||
"tab_accounts": "Kontoplan",
|
||
"loading_source_voucher": "Laddar källverifikat...",
|
||
"copy_failed_title": "Kunde inte kopiera verifikat",
|
||
"copy_source_missing": "Källverifikatet hittades inte.",
|
||
"copy_fetch_failed": "Källverifikatet kunde inte hämtas.",
|
||
"copy_banner_title": "Kopia av verifikat {label}",
|
||
"copy_banner_unknown_label": "(okänt nummer)",
|
||
"copy_banner_body": "Ett nytt, fristående verifikat skapas med egen verifikationsserie och nummer. Detta är inte en rättelse eller storno av originalet — använd \"Skapa ändringsverifikation\" om du vill korrigera källverifikatet."
|
||
},
|
||
"customers": {
|
||
"title": "Kunder",
|
||
"new_customer": "Ny kund",
|
||
"add_customer": "Lägg till kund",
|
||
"viewer_disabled_tooltip": "Du har endast läsbehörighet i detta företag",
|
||
"load_failed_title": "Kunde inte ladda kunder",
|
||
"load_failed_description": "Kontrollera din anslutning och försök igen.",
|
||
"create_failed_title": "Kunde inte skapa kund",
|
||
"created_title": "Kund skapad",
|
||
"created_description": "{name} har lagts till",
|
||
"search_placeholder": "Sök kunder",
|
||
"no_search_results_title": "Inga träffar",
|
||
"no_search_results_description": "Inga kunder matchar \"{term}\".",
|
||
"type_individual": "Privatperson",
|
||
"type_swedish_business": "Svenskt företag eller organisation",
|
||
"type_eu_business": "EU-företag",
|
||
"type_non_eu_business": "Utanför EU",
|
||
"verified": "Verifierad",
|
||
"col_name": "Namn",
|
||
"col_type": "Typ",
|
||
"col_identifier": "Org.nr / Personnummer",
|
||
"col_email": "E-post",
|
||
"col_city": "Stad",
|
||
"col_created": "Skapad"
|
||
},
|
||
"products": {
|
||
"title": "Produkter",
|
||
"new_product": "Ny produkt",
|
||
"back_to_list": "Tillbaka till produkter",
|
||
"viewer_disabled_tooltip": "Du har endast läsbehörighet i detta företag",
|
||
"load_failed_title": "Kunde inte ladda produkter",
|
||
"load_failed_description": "Kontrollera din anslutning och försök igen.",
|
||
"create_failed_title": "Kunde inte skapa produkt",
|
||
"update_failed_title": "Kunde inte uppdatera produkt",
|
||
"archive_failed_title": "Kunde inte arkivera produkt",
|
||
"created_title": "Produkt skapad",
|
||
"created_description": "{name} har lagts till",
|
||
"updated_title": "Produkt uppdaterad",
|
||
"archived_title": "Produkten arkiverades",
|
||
"archive": "Arkivera",
|
||
"archive_confirm": "Är du säker på att du vill arkivera produkten? Befintliga fakturor med produkten påverkas inte.",
|
||
"archived_badge": "Arkiverad",
|
||
"search_placeholder": "Sök produkter",
|
||
"no_search_results_title": "Inga träffar",
|
||
"no_search_results_description": "Inga produkter matchar \"{term}\".",
|
||
"empty_title": "Inga produkter ännu",
|
||
"empty_description": "Skapa din första produkt för att kunna lägga till den på fakturor.",
|
||
"section_basics": "Grunduppgifter",
|
||
"section_pricing": "Pris & moms",
|
||
"type_goods": "Vara",
|
||
"type_service": "Tjänst",
|
||
"field_name": "Produktnamn",
|
||
"field_name_placeholder": "T.ex. Glödlampa LED 9W",
|
||
"field_sku": "Artikelnummer (SKU)",
|
||
"field_sku_placeholder": "T.ex. LED-9W-E27",
|
||
"field_description": "Beskrivning",
|
||
"field_type": "Produkttyp",
|
||
"field_type_hint": "Varor påverkar lagersaldot vid fakturering. Tjänster gör det inte.",
|
||
"field_category": "Kategori",
|
||
"field_default_price": "Standardpris (exkl. moms)",
|
||
"field_default_unit": "Enhet",
|
||
"field_default_vat": "Standardmomssats",
|
||
"validation_name_required": "Produktnamn krävs",
|
||
"save": "Spara",
|
||
"cancel": "Avbryt",
|
||
"col_name": "Namn",
|
||
"col_sku": "SKU",
|
||
"col_type": "Typ",
|
||
"col_default_price": "Standardpris",
|
||
"col_unit": "Enhet"
|
||
},
|
||
"sales_orders": {
|
||
"title": "Order",
|
||
"back_to_list": "Tillbaka till order",
|
||
"new_order": "Ny order",
|
||
"viewer_disabled_tooltip": "Du har endast läsbehörighet i detta företag",
|
||
"load_failed_title": "Kunde inte ladda ordrar",
|
||
"load_failed_description": "Kontrollera din anslutning och försök igen.",
|
||
"search_placeholder": "Sök ordernummer eller kund",
|
||
"empty_title": "Inga ordrar ännu",
|
||
"empty_description": "Skapa din första order när en kund godkänner en offert eller direkt från grunden.",
|
||
"no_category_title": "Inga ordrar i denna kategori",
|
||
"no_category_description": "Prova ett annat filter eller skapa en ny order.",
|
||
"tab_all": "Alla",
|
||
"tab_draft": "Utkast",
|
||
"tab_confirmed": "Bekräftade",
|
||
"tab_partially_shipped": "Delvis levererade",
|
||
"tab_shipped": "Levererade",
|
||
"tab_partially_invoiced": "Delvis fakturerade",
|
||
"tab_invoiced": "Fakturerade",
|
||
"tab_cancelled": "Avbrutna",
|
||
"status_draft": "Utkast",
|
||
"status_confirmed": "Bekräftad",
|
||
"status_partially_shipped": "Delvis levererad",
|
||
"status_shipped": "Levererad",
|
||
"status_partially_invoiced": "Delvis fakturerad",
|
||
"status_invoiced": "Fakturerad",
|
||
"status_cancelled": "Avbruten",
|
||
"col_number": "Nummer",
|
||
"col_customer": "Kund",
|
||
"col_date": "Datum",
|
||
"col_expected_delivery": "Önskad leverans",
|
||
"col_status": "Status",
|
||
"col_amount": "Belopp",
|
||
"col_description": "Beskrivning",
|
||
"col_quantity": "Antal",
|
||
"col_quantity_shipped": "Levererat",
|
||
"col_quantity_invoiced": "Fakturerat",
|
||
"col_unit_price": "À-pris",
|
||
"col_line_total": "Radsumma",
|
||
"section_header": "Orderuppgifter",
|
||
"section_lines": "Orderrader",
|
||
"section_progress": "Leverans- och faktureringsstatus",
|
||
"field_customer": "Kund",
|
||
"field_order_date": "Orderdatum",
|
||
"field_expected_delivery": "Önskad leveransdatum",
|
||
"field_currency": "Valuta",
|
||
"field_notes": "Anteckningar",
|
||
"field_our_reference": "Vår referens",
|
||
"field_your_reference": "Er referens",
|
||
"field_product": "Produkt",
|
||
"field_unit": "Enhet",
|
||
"field_vat_rate": "Moms",
|
||
"action_confirm": "Bekräfta order",
|
||
"action_ship": "Leverera",
|
||
"action_invoice": "Fakturera",
|
||
"action_cancel": "Avbryt",
|
||
"action_delete": "Ta bort utkast",
|
||
"confirm_dialog_title": "Bekräfta ordern?",
|
||
"confirm_dialog_description": "Kunden förbinder sig att ta emot leveransen. Du kan därefter skapa följesedel och faktura.",
|
||
"ship_dialog_title": "Leverera ordern",
|
||
"ship_dialog_description": "En följesedel skapas och lagersaldot uppdateras automatiskt för produkter som spårar lager.",
|
||
"invoice_dialog_title": "Fakturera ordern",
|
||
"invoice_dialog_description": "En faktura skapas för återstående mängd. Du kan redigera den innan du skickar den till kund.",
|
||
"cancel_dialog_title": "Avbryta ordern?",
|
||
"cancel_dialog_description": "Ordern kan endast avbrytas innan första leverans. Avbrutna ordrar går inte att återställa.",
|
||
"delete_dialog_title": "Ta bort utkast?",
|
||
"delete_dialog_description": "Utkast kan tas bort utan spår — bekräftade ordrar måste avbrytas istället.",
|
||
"confirmed_toast": "Ordern är bekräftad",
|
||
"shipped_toast": "Följesedel skapad",
|
||
"invoiced_toast": "Faktura skapad",
|
||
"cancelled_toast": "Ordern är avbruten",
|
||
"deleted_toast": "Utkastet är borttaget",
|
||
"from_quote": "Från offert",
|
||
"summary_total": "Total",
|
||
"summary_subtotal": "Delsumma",
|
||
"summary_vat": "Moms",
|
||
"stock_warnings_title": "Vissa lagerrörelser kunde inte registreras",
|
||
"validation_at_least_one_line": "Minst en orderrad krävs",
|
||
"remaining_to_ship": "{remaining} kvar att leverera",
|
||
"remaining_to_invoice": "{remaining} kvar att fakturera"
|
||
},
|
||
"inventory": {
|
||
"title": "Lager",
|
||
"back_to_inventory": "Tillbaka till lager",
|
||
"view_movements": "Visa lagerrörelser",
|
||
"movements_title": "Lagerrörelser",
|
||
"load_failed_title": "Kunde inte ladda lagerdata",
|
||
"no_locations_title": "Inget lager konfigurerat",
|
||
"no_locations_description": "Skapa ett primärt lager för att börja registrera lagersaldon.",
|
||
"create_primary_location": "Skapa primärt lager",
|
||
"default_location_name": "Huvudlager",
|
||
"location_created": "Lager skapat",
|
||
"location_create_failed": "Kunde inte skapa lager",
|
||
"locations_title": "Lagerplatser",
|
||
"primary": "Primär",
|
||
"inactive": "Inaktiv",
|
||
"stock_levels_title": "Aktuellt lagersaldo",
|
||
"no_levels_title": "Inga lagerrörelser ännu",
|
||
"no_levels_description": "Lagerrörelser skapas automatiskt när du skickar fakturor eller godkänner leverantörsfakturor som länkar till produkter av typen 'Vara'.",
|
||
"no_movements_title": "Inga lagerrörelser ännu",
|
||
"no_movements_description": "Här visas alla in- och utleveranser så snart de börjar registreras.",
|
||
"col_location_name": "Namn",
|
||
"col_location_status": "Status",
|
||
"col_product": "Produkt",
|
||
"col_sku": "SKU",
|
||
"col_location": "Plats",
|
||
"col_quantity": "Saldo",
|
||
"col_unit": "Enhet",
|
||
"col_when": "När",
|
||
"col_reason": "Anledning",
|
||
"col_delta": "Förändring",
|
||
"col_reference": "Källa",
|
||
"reason_purchase": "Inköp",
|
||
"reason_sale": "Försäljning",
|
||
"reason_adjustment": "Justering",
|
||
"reason_transfer_in": "Inflyttning",
|
||
"reason_transfer_out": "Utflyttning",
|
||
"reason_return": "Retur",
|
||
"reason_disposal": "Kassation",
|
||
"reason_opening": "Ingående saldo",
|
||
"ref_invoice": "Faktura",
|
||
"ref_supplier_invoice": "Leverantörsfaktura",
|
||
"ref_transfer": "Lageröverföring",
|
||
"ref_transfer_rollback": "Återställning",
|
||
"ref_manual": "Manuell"
|
||
},
|
||
"invoices": {
|
||
"title": "Fakturor",
|
||
"recurring": "Återkommande",
|
||
"new_invoice": "Ny faktura",
|
||
"viewer_disabled_tooltip": "Du har endast läsbehörighet i detta företag",
|
||
"load_failed_title": "Kunde inte ladda fakturor",
|
||
"load_failed_description": "Kontrollera din anslutning och försök igen.",
|
||
"summary_one": "{count} faktura",
|
||
"summary_other": "{count} fakturor",
|
||
"summary_unpaid": "{count} obetalda",
|
||
"summary_to_collect": "{amount} att få in",
|
||
"summary_overdue": "{count} förfallna",
|
||
"search_placeholder": "Sök fakturor",
|
||
"tab_all": "Alla",
|
||
"tab_unpaid": "Obetalda",
|
||
"tab_paid": "Betalda",
|
||
"tab_draft": "Utkast",
|
||
"tab_proforma": "Proforma",
|
||
"tab_delivery_note": "Följesedel",
|
||
"tab_credit": "Kredit",
|
||
"tab_cancelled": "Makulerade",
|
||
"no_search_results_title": "Inga träffar",
|
||
"no_search_results_description": "Inga fakturor matchar \"{term}\".",
|
||
"no_category_title": "Inga fakturor i denna kategori",
|
||
"no_category_description": "Prova att byta flik för att se fler fakturor.",
|
||
"badge_credit": "Kredit",
|
||
"badge_proforma": "Proforma",
|
||
"badge_delivery_note": "Följesedel",
|
||
"status_draft": "Utkast",
|
||
"status_sent": "Skickad",
|
||
"status_paid": "Betald",
|
||
"status_partially_paid": "Delbetalad",
|
||
"status_overdue": "Förfallen",
|
||
"status_cancelled": "Makulerad",
|
||
"status_credited": "Krediterad",
|
||
"due_days_overdue": "{days} dagar försenad",
|
||
"due_today": "Förfaller idag",
|
||
"due_days_left": "{days} dagar kvar"
|
||
},
|
||
"dashboard": {
|
||
"result": "Resultat",
|
||
"this_year_short": "i år",
|
||
"this_month": "denna månad",
|
||
"this_year_block": "I år",
|
||
"revenue": "Intäkter",
|
||
"expenses": "Kostnader",
|
||
"to_be_paid": "Att få betalt",
|
||
"bank_balance": "Banksaldo",
|
||
"connect_bank": "Koppla bank",
|
||
"todo": "Att göra",
|
||
"all_done": "Allt klart!",
|
||
"units": "st",
|
||
"alerts_title": "Att hantera",
|
||
"show_less": "Visa färre",
|
||
"show_all": "Visa alla ({count})",
|
||
"overdue_invoices": "Förfallna fakturor",
|
||
"overdue_invoices_count": "{count} st",
|
||
"unpaid_invoices": "Obetalda fakturor",
|
||
"unpaid_invoices_detail": "{count} st · {amount}",
|
||
"transactions": "Transaktioner",
|
||
"uncategorized_count": "{count} obokförda",
|
||
"missing_underlag": "Saknade underlag",
|
||
"missing_underlag_detail": "{count} verifikationer utan underlag",
|
||
"stale_transactions": "Gamla transaktioner",
|
||
"stale_transactions_detail": "{count} transaktioner äldre än 14 dagar saknar bokföring",
|
||
"anomalies_title": "Avvikelser",
|
||
"anomalies_detail": "{count} att åtgärda",
|
||
"bank_consent_expiring": "Banksamtycke löper ut",
|
||
"bank_consent_detail_one": "{bank} — {days} dag kvar",
|
||
"bank_consent_detail_other": "{bank} — {days} dagar kvar"
|
||
},
|
||
"reports": {
|
||
"title": "Rapporter",
|
||
"download_sie": "Ladda ner SIE-fil",
|
||
"sie_moved_hint": "SIE-export finns nu under Importera/Exportera.",
|
||
"sie_moved_link": "Öppna SIE-export",
|
||
"download_pdf": "Ladda ner PDF",
|
||
"categories_aria": "Rapportkategorier",
|
||
"group_interim": "Löpande",
|
||
"group_year_end": "Bokslut",
|
||
"group_tax_vat": "Skatt & moms",
|
||
"group_ledgers": "Huvudböcker",
|
||
"group_reconciliation": "Avstämning",
|
||
"name_resultatrapport": "Resultatrapport",
|
||
"name_balansrapport": "Balansrapport",
|
||
"name_trial_balance": "Saldobalans",
|
||
"name_income_statement": "Resultaträkning",
|
||
"name_balance_sheet": "Balansräkning",
|
||
"name_kassaflodesanalys": "Kassaflödesanalys",
|
||
"name_arsredovisning": "Årsredovisning",
|
||
"name_vat_declaration": "Momsdeklaration",
|
||
"name_periodisk_sammanstallning": "Periodisk sammanställning",
|
||
"name_ne_declaration": "NE-bilaga",
|
||
"name_ink2_declaration": "INK2",
|
||
"name_huvudbok": "Huvudbok",
|
||
"name_grundbok": "Grundbok",
|
||
"name_kundreskontra": "Kundreskontra",
|
||
"name_supplier_ledger": "Leverantörsreskontra",
|
||
"name_bank_reconciliation": "Bankavstämning",
|
||
"date_range_label": "Period",
|
||
"date_range_preset_full_year": "Hela året",
|
||
"date_range_preset_ytd": "Hittills i år",
|
||
"date_range_preset_this_month": "Denna månad",
|
||
"date_range_preset_last_month": "Förra månaden",
|
||
"date_range_preset_this_quarter": "Detta kvartal",
|
||
"date_range_preset_custom": "Anpassat",
|
||
"date_range_from": "Från",
|
||
"date_range_to": "Till"
|
||
},
|
||
"salary": {
|
||
"title": "Löner",
|
||
"employees": "Anställda",
|
||
"new_run": "Ny lönekörning",
|
||
"gross_year": "Bruttolöner {year}",
|
||
"contributions_year": "Avgifter {year}",
|
||
"runs_title": "Lönekörningar",
|
||
"th_period": "Period",
|
||
"th_payday": "Utbetalningsdag",
|
||
"th_gross": "Brutto",
|
||
"th_net": "Netto",
|
||
"th_contributions": "Avgifter",
|
||
"th_status": "Status",
|
||
"empty_runs_title": "Inga lönekörningar ännu",
|
||
"empty_runs_description": "Skapa en lönekörning för att räkna ut löner, skatt och arbetsgivaravgifter.",
|
||
"create_run": "Skapa lönekörning",
|
||
"status_draft": "Utkast",
|
||
"status_review": "Granskning",
|
||
"status_approved": "Godkänd",
|
||
"status_paid": "Betald",
|
||
"status_booked": "Bokförd"
|
||
},
|
||
"time_tracking": {
|
||
"title": "Tidrapportering",
|
||
"billable_inbox": "Fakturerbar tid per kund",
|
||
"create_invoice": "Skapa faktura",
|
||
"hourly_rate": "Timpris",
|
||
"project_required": "Välj projekt för att fakturera",
|
||
"no_project": "Inget projekt",
|
||
"no_billable_hours": "Ingen fakturerbar tid att fakturera. Markera dagar som fakturerbara för att samla dem här.",
|
||
"log_hours": "Logga tid",
|
||
"billable": "Fakturerbar",
|
||
"invoiced": "Fakturerad",
|
||
"missing_rate": "Saknar timpris"
|
||
},
|
||
"import": {
|
||
"title": "Importera",
|
||
"subtitle": "Importera banktransaktioner eller bokföringsdata till ditt företag",
|
||
"export_title": "Exportera",
|
||
"export_subtitle": "Ladda ner bokföringen som SIE-fil eller säkerhetskopia till Google Drive",
|
||
"tab_import": "Importera",
|
||
"tab_export": "Exportera",
|
||
"sandbox_disabled": "Import är inte tillgängligt i sandlådemiljön. Skapa ett konto för att importera data.",
|
||
"back_to_choices": "Tillbaka till val",
|
||
"psd2_title": "Koppla bank",
|
||
"psd2_recommended": "Rekommenderat",
|
||
"psd2_description": "Anslut ditt bankkonto direkt och synka transaktioner automatiskt via PSD2.",
|
||
"migration_title": "Hämta från annat system",
|
||
"migration_description": "Inget ändras i ditt befintliga system.",
|
||
"bankfile_title": "Banktransaktioner",
|
||
"bankfile_description": "Importera kontoutdrag från din bank. Stöder de flesta svenska banker.",
|
||
"csv_data_title": "Importera CSV/Excel-data",
|
||
"csv_data_description": "Importera ingående balanser, kunder eller leverantörer.",
|
||
"csv_chip_opening_balances": "Ingående balanser",
|
||
"csv_chip_customers": "Kunder",
|
||
"csv_chip_suppliers": "Leverantörer",
|
||
"sie_title": "Bokföringsdata (SIE)",
|
||
"sie_description": "Importera verifikationer och kontoplan från ett annat bokföringsprogram.",
|
||
"loading_migration": "Laddar migreringsverktyg...",
|
||
"export_heading": "Exportera",
|
||
"export_sie_title": "Exportera SIE-fil",
|
||
"export_sie_description": "Exportera bokföringen som SIE4-fil för revisor eller programmigrering.",
|
||
"export_sie_period_label": "Räkenskapsår",
|
||
"export_sie_button": "Ladda ner SIE",
|
||
"export_sie_no_period": "Välj ett räkenskapsår för att exportera.",
|
||
"export_sie_exclude_closing_label": "Exkludera bokslutsverifikat (rekommenderas för eDeklarera och system som gör eget bokslut)",
|
||
"export_cloud_title": "Säkerhetskopia till Google Drive"
|
||
},
|
||
"empty": {
|
||
"invoices_title": "Inga fakturor ännu",
|
||
"invoices_description": "Skapa din första faktura för att komma igång.",
|
||
"customers_title": "Inga kunder ännu",
|
||
"customers_description": "Lägg till din första kund för att börja fakturera.",
|
||
"transactions_title": "Inga transaktioner",
|
||
"transactions_description": "När bankkopplingen synkar dyker transaktionerna upp här.",
|
||
"suppliers_title": "Inga leverantörer ännu",
|
||
"suppliers_description": "Lägg till din första leverantör.",
|
||
"no_results": "Inga resultat",
|
||
"no_data": "Inga uppgifter att visa",
|
||
"support_hint_subject": "Behöver hjälp att komma igång",
|
||
"support_hint_label": "Behöver du hjälp? Kontakta support",
|
||
"preset_invoices_title": "Inga fakturor ännu",
|
||
"preset_invoices_description": "Skapa din första faktura på under 60 sekunder. Vi fyller i dina uppgifter automatiskt.",
|
||
"preset_invoices_action": "Skapa faktura",
|
||
"preset_customers_title": "Inga kunder ännu",
|
||
"preset_customers_description": "Lägg till dina kunder för att enkelt skapa fakturor och hålla koll på betalningar.",
|
||
"preset_customers_action": "Lägg till kund",
|
||
"preset_transactions_title": "Inga transaktioner",
|
||
"preset_transactions_description": "Importera kontoutdrag från din bank för att automatiskt bokföra och få koll på ekonomin.",
|
||
"preset_transactions_action": "Importera transaktioner",
|
||
"preset_receipts_title": "Inga kvitton",
|
||
"preset_receipts_description": "Ta en bild på ett kvitto för automatisk avläsning och bokföring. Vi sköter resten!",
|
||
"preset_receipts_action": "Skanna kvitto",
|
||
"preset_deadlines_title": "Inga kommande deadlines",
|
||
"preset_deadlines_description": "Bra jobbat! Du har inga omedelbara deadlines att ta hand om.",
|
||
"preset_no_bank_title": "Inga transaktioner importerade",
|
||
"preset_no_bank_description": "Importera kontoutdrag från din bank för att automatiskt bokföra och få bättre koll på ekonomin.",
|
||
"preset_no_bank_action": "Importera transaktioner",
|
||
"preset_reports_title": "Inga rapporter tillgängliga",
|
||
"preset_reports_description": "Rapporter genereras automatiskt när du har tillräckligt med data. Börja med att skapa fakturor eller importera transaktioner.",
|
||
"preset_reports_action": "Skapa faktura",
|
||
"preset_reports_secondary": "Importera transaktioner"
|
||
}
|
||
}
|