Menu

Companies

List, create and read the companies the API key can access, and read and update their settings: payment, contact and invoicing, the tax and VAT profile, and the bookkeeping lock.

Endpoints


GET /api/v1/companies

companies.list · scope companies:read

List companies the API key can access.

Returns every non-archived company the API key user is a member of, together with their role. Use the returned id as {companyId} in subsequent endpoints.

Use when: You need to discover which company IDs an API key has access to before calling company-scoped endpoints.

Don't use for: Fetching a single company you already know the id of: use GET /api/v1/companies/{companyId} for that.

Pitfalls

  • Multi-company keys (e.g. consultants) will see >1 result. Always pass the correct companyId in subsequent paths.
  • Archived companies are excluded; if a company disappears the user has been removed from it or it was archived.

Risk: low · Idempotent: yes · Reversible: no · Dry-run supported: no

Query parameters

NameTypeRequiredDescription
cursorstringnoOpaque cursor from the previous page's meta.next_cursor. Omit for the first page.
limitnumbernoPage size, 1-100 (default 50). Larger values are clamped to 100.

Response fields

NameType
[].idstring
[].namestring
[].org_numberstring | null
[].entity_typestring
[].role"owner" | "admin" | "member" | "viewer"
[].created_atstring

Example response

{
  "data": [
    {
      "id": "8fd5b1f4-…",
      "name": "Acme AB",
      "org_number": "556677-8899",
      "entity_type": "aktiebolag",
      "role": "owner",
      "created_at": "2025-01-04T08:00:00Z"
    }
  ],
  "meta": {
    "request_id": "req_…",
    "api_version": "2026-05-12",
    "next_cursor": null
  }
}

GET /api/v1/companies/:companyId/settings

settings.get · scope companies:read

Read the company settings.

Returns every company setting the API can write: contact and address, invoice payment details and layout, invoice email texts and recipients, reminders, voucher series, feature toggles, the tax profile (VAT/moms, F-skatt, employer registration, fiscal year, accounting method, share capital) and the bookkeeping lock, plus the fixed legal identity (entity_type, org_number). contact_person is the default "Vår referens" on new invoices.

Use when: Before creating invoices (payment details must exist), before any settings change, or to learn how the books are kept (accounting_method: accrual = faktureringsmetoden, cash = kontantmetoden; moms_period).

Don't use for: Payroll settings (GET /salary/settings) or fiscal periods and their locks (GET /fiscal-periods).

Pitfalls

  • Fields that were never set read null, not a default.
  • bookkeeping_locked_through is the company-wide lock: nothing on or before that date can be booked or changed.

Risk: low · Idempotent: yes · Reversible: no · Dry-run supported: no

Response fields

NameTypeDescription
company_idstring
entity_typestring | null
org_numberstring | nullThe company org number. For an enskild firma it is the owner's personnummer and the last four digits are masked.
onboarding_completeboolean | null
contact_personstring | nullDefault "Vår referens" on new invoices (column default_our_reference).
company_namestring | null
address_line1string | null
address_line2string | null
postal_codestring | null
citystring | null
countrystring | null
phonestring | null
emailstring | null
websitestring | null
tax_contact_namestring | null
tax_contact_phonestring | null
tax_contact_emailstring | null
bank_namestring | null
clearing_numberstring | null
account_numberstring | null
bankgirostring | null
plusgirostring | null
swishstring | null
ibanstring | null
bicstring | null
invoice_prefixstring | null
invoice_default_notesstring | null
invoice_company_name_positionstring | null
invoice_late_fee_textstring | null
invoice_credit_terms_textstring | null
invoice_email_reply_tostring | null
invoice_primary_colorstring | null
invoice_accent_colorstring | null
invoice_font_familystring | null
invoice_header_textstring | null
invoice_footer_textstring | null
default_voucher_seriesstring | null
sector_slugstring | null
salary_vacation_year_basisstring | null
vat_numberstring | null
moms_periodstring | null
vat_filing_methodstring | null
periodisk_sammanstallning_periodstring | null
periodisk_sammanstallning_filing_methodstring | null
accounting_methodstring | null
bookkeeping_locked_throughstring | null
ore_roundingboolean | null
invoice_show_ocrboolean | null
invoice_show_bankgiroboolean | null
invoice_show_plusgiroboolean | null
invoice_show_swishboolean | null
invoice_show_logoboolean | null
invoice_show_company_nameboolean | null
invoice_payment_links_enabledboolean | null
send_invoice_remindersboolean | null
reminder_fee_enabledboolean | null
dimensions_enabledboolean | null
mileage_enabledboolean | null
sales_orders_enabledboolean | null
quotes_enabledboolean | null
proforma_enabledboolean | null
recurring_invoices_enabledboolean | null
self_billing_enabledboolean | null
f_skattboolean | null
vat_registeredboolean | null
vat_taxable_base_over_40mboolean | null
vat_has_eu_tradeboolean | null
periodisk_sammanstallning_enabledboolean | null
kontrolluppgifter_enabledboolean | null
rot_rut_enabledboolean | null
oss_enabledboolean | null
ioss_enabledboolean | null
intrastat_enabledboolean | null
punktskatt_enabledboolean | null
fyllnadsinbetalning_enabledboolean | null
pays_salariesboolean | null
employer_registeredboolean | null
employer_seasonalboolean | null
defer_invoice_bookingboolean | null
next_invoice_numbernumber | null
next_arrival_numbernumber | null
invoice_default_daysnumber | null
reminder_days_level_1number | null
reminder_days_level_2number | null
reminder_days_level_3number | null
reminder_fee_amountnumber | null
reminder_interest_rate_overridenumber | null
fiscal_year_start_monthnumber | null
preliminary_tax_monthlynumber | null
aktiekapitalnumber | null
antal_aktiernumber | null
auto_lock_period_daysnumber | null
invoice_payment_accountsunknown (optional)
invoice_email_textsunknown (optional)
invoice_email_cc_addressesunknown (optional)
invoice_email_bcc_addressesunknown (optional)
reminder_text_overridesunknown (optional)
default_voucher_series_per_source_typeunknown (optional)
voucher_series_labelsunknown (optional)

Example response

{
  "data": {
    "company_id": "aaaa1111-2222-4333-8444-555566667777",
    "entity_type": "aktiebolag",
    "company_name": "Acme AB",
    "contact_person": "Anna Andersson",
    "bankgiro": "991-2346",
    "vat_registered": true,
    "moms_period": "quarterly",
    "accounting_method": "accrual",
    "bookkeeping_locked_through": "2026-06-30"
  },
  "meta": {
    "request_id": "req_...",
    "api_version": "2026-05-12"
  }
}

POST /api/v1/companies

companies.create · scope companies:write

Create a company and set it up for bookkeeping.

Creates a new company owned by the API key user (or attached to one of their teams) and sets it up in one call: owner membership, BAS chart of accounts for the company form, compliance settings, the first fiscal period and the automatic tax deadlines. A 30-day trial with every paid capability starts immediately. Intended for partner platforms provisioning client companies (byrå/vertical SaaS) and for agents onboarding a user.

Use when: A platform or agent needs to provision a company that does not exist in Accounted yet. The caller becomes its owner; invite the end customer afterwards.

Don't use for: Companies that already exist (list them with GET /api/v1/companies), or changing settings on an existing company (PATCH /api/v1/companies/{companyId}/settings).

Pitfalls

  • A VAT-registered company MUST send moms_period (monthly / quarterly / yearly); the request is refused otherwise, because a missing period silently produces zero VAT deadlines.
  • Bookkeeping duty under BFL starts when the company exists with a fiscal period: do not create companies to try things out. Use a test-mode key (dry run) for that.
  • Enskild firma always runs on the calendar year; fiscal_year_start_month is ignored for it.
  • first_fiscal_year is only for a company in its first year (BFL 3 kap.: up to 18 months). Omit it for an established company.
  • Not idempotent, and Idempotency-Key is not honoured on this company-less route: a retry after a network failure creates a second company. List GET /api/v1/companies before retrying.
  • org_number is required for a VAT-registered company (the invoice momsregistreringsnummer derives from it), and f_skatt must be stated explicitly: F-skatt approval is never assumed.
  • accounting_method may be omitted: it then defaults by form (aktiebolag accrual, enskild firma cash) and the response shows the resolved value. The cash default is only legal when turnover normally stays under 3 MSEK (BFL 4 kap 4 §): send accrual explicitly for a larger enskild firma.

Risk: medium · Idempotent: no · Reversible: no · Dry-run supported: yes

Query parameters

NameTypeRequiredDescription
dry_runstringnotrue (any case) previews the write without committing it, like the X-Dry-Run: true header. Any other value commits.

Request body

NameTypeRequired
namestringyes
entity_type"enskild_firma" | "aktiebolag" | "ideell_forening"yes
org_numberstringno
vat_registeredbooleanyes
moms_period"monthly" | "quarterly" | "yearly" | nullno
accounting_method"accrual" | "cash"no
f_skattbooleanyes
fiscal_year_start_monthnumberno
first_fiscal_yearobjectno
address_line1stringno
postal_codestringno
citystringno
team_idstringno

Response fields

NameType
idstring
namestring
entity_type"enskild_firma" | "aktiebolag" | "ideell_forening"
org_numberstring | null
vat_registeredboolean
moms_period"monthly" | "quarterly" | "yearly" | null
accounting_method"accrual" | "cash"
fiscal_periodobject
team_idstring | null

Example request

{
  "name": "Acme AB",
  "entity_type": "aktiebolag",
  "org_number": "5566778899",
  "vat_registered": true,
  "moms_period": "quarterly",
  "accounting_method": "accrual",
  "f_skatt": true
}

Example response

{
  "data": {
    "id": "8fd5b1f4-…",
    "name": "Acme AB",
    "entity_type": "aktiebolag",
    "org_number": "5566778899",
    "vat_registered": true,
    "moms_period": "quarterly",
    "accounting_method": "accrual",
    "fiscal_period": {
      "start_date": "2026-01-01",
      "end_date": "2026-12-31",
      "name": "Räkenskapsår 2026"
    },
    "team_id": null
  },
  "meta": {
    "request_id": "req_…",
    "api_version": "2026-05-12"
  }
}

PATCH /api/v1/companies/:companyId/settings

settings.update · scope companies:write

Partially update company settings (contact, invoicing, reminders, voucher series, toggles).

Patches any subset of the non-legal company settings: contact and address, invoice payment details (bank account, Bankgiro, Plusgiro, Swish, IBAN/BIC, per-currency payment accounts), invoice numbering, layout and branding, invoice email texts and fixed copy recipients, reminders, voucher series, feature toggles and the vacation-year basis. Same rules as the settings page. Owner or admin only. Idempotent (mandatory Idempotency-Key). Dry-runnable.

Use when: The payment or contact details on invoices change, invoice texts or reminders should be adjusted, or a feature should be switched on or off.

Don't use for: VAT, F-skatt, fiscal year, accounting method or share capital (PATCH /settings/tax-profile), the bookkeeping lock (PATCH /settings/bookkeeping-lock), payroll settings (PATCH /salary/settings). entity_type and org_number are fixed.

Pitfalls

  • Only an owner or admin of the company may change settings: other members get 403 FORBIDDEN.
  • contact_person is stored as default_our_reference: the default "Vår referens" on new invoices.
  • bankgiro and plusgiro must carry a valid Luhn check digit; null or empty string clears them.
  • invoice_email_texts only accepts the placeholders {fakturanummer} {kundnamn} {förnamn} {företag} {förfallodatum} {belopp}.
  • reminder_days_level_1 < _2 < _3 must hold after the change (stored values fill in the ones not sent).
  • The booking engine reads default_voucher_series_per_source_type, not default_voucher_series: send the map to move bookings to another series.
  • salary_vacation_year_basis cannot change while open vacation balances exist.

Risk: medium · Idempotent: yes · Reversible: yes · Dry-run supported: yes

Query parameters

NameTypeRequiredDescription
dry_runstringnotrue (any case) previews the write without committing it, like the X-Dry-Run: true header. Any other value commits.

Request body

NameTypeRequiredDescription
company_namestringno
address_line1stringno
address_line2stringno
postal_codestringno
citystringno
countrystringno
phonestringno
emailstring | ""no
websitestring | ""no
tax_contact_namestring | nullno
tax_contact_phonestring | nullno
tax_contact_emailstring | null | ""no
bank_namestring | nullno
clearing_numberstring | null | ""no
account_numberstring | null | ""no
bankgirostring | null | ""no7-8 digit Bankgiro with a valid Luhn check digit. Null or empty string clears it.
plusgirostring | null | ""noPlusgiro with hyphen and a valid Luhn check digit. Null or empty string clears it.
swishstring | nullno
ibanstring | null | ""no
bicstring | null | ""no
invoice_payment_accountsobjectno
invoice_prefixstring | nullno
next_invoice_numbernumberno
next_arrival_numbernumberno
invoice_default_daysnumberno
invoice_default_notesstring | nullno
ore_roundingbooleanno
invoice_show_ocrbooleanno
invoice_show_bankgirobooleanno
invoice_show_plusgirobooleanno
invoice_show_swishbooleanno
invoice_show_logobooleanno
invoice_show_company_namebooleanno
invoice_company_name_position"header" | "footer"no
invoice_late_fee_textstring | nullno
invoice_credit_terms_textstring | nullno
invoice_payment_links_enabledbooleanno
invoice_email_textsobject | nullnoPer-language (sv, en) overrides of subject, greeting, body, signoff. Placeholders: {fakturanummer} {kundnamn} {förnamn} {företag} {förfallodatum} {belopp}. Null clears every override.
invoice_email_cc_addressesstring[] | nullno
invoice_email_bcc_addressesstring[] | nullno
invoice_email_reply_tostring | nullno
invoice_primary_colorstringno
invoice_accent_colorstringno
invoice_font_family"Helvetica" | "Times-Roman" | "Courier" | "Source Sans 3" | "Source Serif 4" | "Custom"no
invoice_header_textstring | nullno
invoice_footer_textstring | nullno
send_invoice_remindersbooleanno
reminder_days_level_1numberno
reminder_days_level_2numberno
reminder_days_level_3numberno
reminder_text_overridesobject | nullno
reminder_fee_enabledbooleanno
reminder_fee_amountnumberno
reminder_interest_rate_overridenumber | nullno
default_voucher_seriesstringno
default_voucher_series_per_source_typeobjectno
voucher_series_labelsobjectno
sector_slugstring | nullno
dimensions_enabledbooleanno
mileage_enabledbooleanno
sales_orders_enabledbooleanno
quotes_enabledbooleanno
proforma_enabledbooleanno
recurring_invoices_enabledbooleanno
self_billing_enabledbooleanno
salary_vacation_year_basis"calendar" | "statutory_apr_mar"no
contact_personstring | nullnoDefault "Vår referens" on new invoices. Null clears it.

Response fields

NameTypeDescription
company_idstring
entity_typestring | null
org_numberstring | nullThe company org number. For an enskild firma it is the owner's personnummer and the last four digits are masked.
onboarding_completeboolean | null
contact_personstring | nullDefault "Vår referens" on new invoices (column default_our_reference).
company_namestring | null
address_line1string | null
address_line2string | null
postal_codestring | null
citystring | null
countrystring | null
phonestring | null
emailstring | null
websitestring | null
tax_contact_namestring | null
tax_contact_phonestring | null
tax_contact_emailstring | null
bank_namestring | null
clearing_numberstring | null
account_numberstring | null
bankgirostring | null
plusgirostring | null
swishstring | null
ibanstring | null
bicstring | null
invoice_prefixstring | null
invoice_default_notesstring | null
invoice_company_name_positionstring | null
invoice_late_fee_textstring | null
invoice_credit_terms_textstring | null
invoice_email_reply_tostring | null
invoice_primary_colorstring | null
invoice_accent_colorstring | null
invoice_font_familystring | null
invoice_header_textstring | null
invoice_footer_textstring | null
default_voucher_seriesstring | null
sector_slugstring | null
salary_vacation_year_basisstring | null
vat_numberstring | null
moms_periodstring | null
vat_filing_methodstring | null
periodisk_sammanstallning_periodstring | null
periodisk_sammanstallning_filing_methodstring | null
accounting_methodstring | null
bookkeeping_locked_throughstring | null
ore_roundingboolean | null
invoice_show_ocrboolean | null
invoice_show_bankgiroboolean | null
invoice_show_plusgiroboolean | null
invoice_show_swishboolean | null
invoice_show_logoboolean | null
invoice_show_company_nameboolean | null
invoice_payment_links_enabledboolean | null
send_invoice_remindersboolean | null
reminder_fee_enabledboolean | null
dimensions_enabledboolean | null
mileage_enabledboolean | null
sales_orders_enabledboolean | null
quotes_enabledboolean | null
proforma_enabledboolean | null
recurring_invoices_enabledboolean | null
self_billing_enabledboolean | null
f_skattboolean | null
vat_registeredboolean | null
vat_taxable_base_over_40mboolean | null
vat_has_eu_tradeboolean | null
periodisk_sammanstallning_enabledboolean | null
kontrolluppgifter_enabledboolean | null
rot_rut_enabledboolean | null
oss_enabledboolean | null
ioss_enabledboolean | null
intrastat_enabledboolean | null
punktskatt_enabledboolean | null
fyllnadsinbetalning_enabledboolean | null
pays_salariesboolean | null
employer_registeredboolean | null
employer_seasonalboolean | null
defer_invoice_bookingboolean | null
next_invoice_numbernumber | null
next_arrival_numbernumber | null
invoice_default_daysnumber | null
reminder_days_level_1number | null
reminder_days_level_2number | null
reminder_days_level_3number | null
reminder_fee_amountnumber | null
reminder_interest_rate_overridenumber | null
fiscal_year_start_monthnumber | null
preliminary_tax_monthlynumber | null
aktiekapitalnumber | null
antal_aktiernumber | null
auto_lock_period_daysnumber | null
invoice_payment_accountsunknown (optional)
invoice_email_textsunknown (optional)
invoice_email_cc_addressesunknown (optional)
invoice_email_bcc_addressesunknown (optional)
reminder_text_overridesunknown (optional)
default_voucher_series_per_source_typeunknown (optional)
voucher_series_labelsunknown (optional)

Example request

{
  "bankgiro": "991-2346",
  "contact_person": "Anna Andersson"
}

Example response

{
  "data": {
    "company_id": "aaaa1111-2222-4333-8444-555566667777",
    "bankgiro": "991-2346",
    "contact_person": "Anna Andersson",
    "email": "faktura@acme.example"
  },
  "meta": {
    "request_id": "req_...",
    "api_version": "2026-05-12"
  }
}

PATCH /api/v1/companies/:companyId/settings/bookkeeping-lock

settings.update-bookkeeping-lock · scope companies:write

Set, move or remove the company-wide bookkeeping lock date.

Sets bookkeeping_locked_through (nothing dated on or before it can be booked, corrected or attached) and auto_lock_period_days. Moving the date back or clearing it reopens those dates, exactly as the settings page allows; the response then carries the warning BOOKKEEPING_LOCK_MOVED_BACKWARDS. Owner or admin only. Idempotent (mandatory Idempotency-Key). Dry-runnable.

Use when: A period is reconciled and filed and should be protected, or a locked date must be reopened for a correction.

Don't use for: Locking or closing a single fiscal period (POST /fiscal-periods/{id}/lock, /close), or correcting a posted verifikat (storno or rättelse).

Pitfalls

  • Only an owner or admin of the company may change settings: other members get 403 FORBIDDEN.
  • Refused while an SIE import is still holding a fiscal period (finish the import first).
  • A backwards move is allowed but high risk. When it reopens a filed momsdeklaration period it is refused with 409 BOOKKEEPING_LOCK_REOPENS_FILED_VAT (details.filed_periods) unless acknowledge_filed_vat_periods is true: reopen a filed period only to book a correction and file a corrected declaration for it.

Risk: high · Idempotent: yes · Reversible: yes · Dry-run supported: yes

Query parameters

NameTypeRequiredDescription
dry_runstringnotrue (any case) previews the write without committing it, like the X-Dry-Run: true header. Any other value commits.

Request body

NameTypeRequiredDescription
bookkeeping_locked_throughstring | nullnoLock every date on or before this one (YYYY-MM-DD). Null removes the lock.
auto_lock_period_daysnumber | nullnoLock each month automatically this many days after it ends (the settings page offers 30, 60, 90). Null turns it off.
acknowledge_filed_vat_periodsbooleannoRequired as true when the move reopens a momsdeklaration period already filed: the refusal names those periods.

Response fields

NameTypeDescription
company_idstring
entity_typestring | null
org_numberstring | nullThe company org number. For an enskild firma it is the owner's personnummer and the last four digits are masked.
onboarding_completeboolean | null
contact_personstring | nullDefault "Vår referens" on new invoices (column default_our_reference).
company_namestring | null
address_line1string | null
address_line2string | null
postal_codestring | null
citystring | null
countrystring | null
phonestring | null
emailstring | null
websitestring | null
tax_contact_namestring | null
tax_contact_phonestring | null
tax_contact_emailstring | null
bank_namestring | null
clearing_numberstring | null
account_numberstring | null
bankgirostring | null
plusgirostring | null
swishstring | null
ibanstring | null
bicstring | null
invoice_prefixstring | null
invoice_default_notesstring | null
invoice_company_name_positionstring | null
invoice_late_fee_textstring | null
invoice_credit_terms_textstring | null
invoice_email_reply_tostring | null
invoice_primary_colorstring | null
invoice_accent_colorstring | null
invoice_font_familystring | null
invoice_header_textstring | null
invoice_footer_textstring | null
default_voucher_seriesstring | null
sector_slugstring | null
salary_vacation_year_basisstring | null
vat_numberstring | null
moms_periodstring | null
vat_filing_methodstring | null
periodisk_sammanstallning_periodstring | null
periodisk_sammanstallning_filing_methodstring | null
accounting_methodstring | null
bookkeeping_locked_throughstring | null
ore_roundingboolean | null
invoice_show_ocrboolean | null
invoice_show_bankgiroboolean | null
invoice_show_plusgiroboolean | null
invoice_show_swishboolean | null
invoice_show_logoboolean | null
invoice_show_company_nameboolean | null
invoice_payment_links_enabledboolean | null
send_invoice_remindersboolean | null
reminder_fee_enabledboolean | null
dimensions_enabledboolean | null
mileage_enabledboolean | null
sales_orders_enabledboolean | null
quotes_enabledboolean | null
proforma_enabledboolean | null
recurring_invoices_enabledboolean | null
self_billing_enabledboolean | null
f_skattboolean | null
vat_registeredboolean | null
vat_taxable_base_over_40mboolean | null
vat_has_eu_tradeboolean | null
periodisk_sammanstallning_enabledboolean | null
kontrolluppgifter_enabledboolean | null
rot_rut_enabledboolean | null
oss_enabledboolean | null
ioss_enabledboolean | null
intrastat_enabledboolean | null
punktskatt_enabledboolean | null
fyllnadsinbetalning_enabledboolean | null
pays_salariesboolean | null
employer_registeredboolean | null
employer_seasonalboolean | null
defer_invoice_bookingboolean | null
next_invoice_numbernumber | null
next_arrival_numbernumber | null
invoice_default_daysnumber | null
reminder_days_level_1number | null
reminder_days_level_2number | null
reminder_days_level_3number | null
reminder_fee_amountnumber | null
reminder_interest_rate_overridenumber | null
fiscal_year_start_monthnumber | null
preliminary_tax_monthlynumber | null
aktiekapitalnumber | null
antal_aktiernumber | null
auto_lock_period_daysnumber | null
invoice_payment_accountsunknown (optional)
invoice_email_textsunknown (optional)
invoice_email_cc_addressesunknown (optional)
invoice_email_bcc_addressesunknown (optional)
reminder_text_overridesunknown (optional)
default_voucher_series_per_source_typeunknown (optional)
voucher_series_labelsunknown (optional)

Example request

{
  "bookkeeping_locked_through": "2026-06-30"
}

Example response

{
  "data": {
    "company_id": "aaaa1111-2222-4333-8444-555566667777",
    "bookkeeping_locked_through": "2026-06-30",
    "auto_lock_period_days": null
  },
  "meta": {
    "request_id": "req_...",
    "api_version": "2026-05-12"
  }
}

PATCH /api/v1/companies/:companyId/settings/tax-profile

settings.update-tax-profile · scope companies:write

Change the tax and legal profile: VAT, F-skatt, employer registration, fiscal year, accounting method.

Patches the settings that decide how the books are kept and declared: VAT registration, VAT number and moms period, EU trade and periodisk sammanställning, F-skatt, preliminary tax, employer registration, fiscal year start month, accounting method (faktureringsmetoden/kontantmetoden), deferred invoice booking, share capital and the optional deadline reminders. Runs the settings page rules and, like it, regenerates the tax deadlines. Owner or admin only. Idempotent (mandatory Idempotency-Key). Dry-runnable.

Use when: The company registered or deregistered for VAT or as an employer, Skatteverket changed its moms period, or the fiscal year or accounting method was changed with the authorities.

Don't use for: Invoice, contact or payment details (PATCH /settings), the bookkeeping lock (PATCH /settings/bookkeeping-lock), entity type or org number (fixed).

Pitfalls

  • Only an owner or admin of the company may change settings: other members get 403 FORBIDDEN.
  • Saving regenerates the system tax deadlines for this year and next; completed deadlines keep their status.
  • vat_registered=true needs vat_number (SE + 12 digits) and moms_period, stored or sent.
  • vat_registered=false also turns off vat_taxable_base_over_40m, vat_has_eu_trade and periodisk_sammanstallning_enabled.
  • vat_taxable_base_over_40m requires moms_period=monthly; periodisk sammanställning requires VAT registration and EU trade.
  • An enskild firma must keep fiscal_year_start_month=1 (BFL 3 kap.).
  • aktiekapital and antal_aktier are set or cleared together.
  • accounting_method=cash turns defer_invoice_booking off (deferred booking is accrual only).
  • defer_invoice_booking=true: sent customer invoices and registered supplier invoices get no verifikat until they are booked with POST /invoices/{id}/book (or /invoices/bulk-book) and POST /supplier-invoices/{id}/book.
  • accounting_method can only change while the current fiscal year has no posted verifikat (409 ACCOUNTING_METHOD_CHANGE_MID_YEAR): the method governs the whole year (BFL 5 kap 2 §), and for VAT a move to bokslutsmetoden also needs Skatteverket (ML 7 kap 17 §).

Risk: high · Idempotent: yes · Reversible: yes · Dry-run supported: yes

Query parameters

NameTypeRequiredDescription
dry_runstringnotrue (any case) previews the write without committing it, like the X-Dry-Run: true header. Any other value commits.

Request body

NameTypeRequired
f_skattbooleanno
vat_registeredbooleanno
vat_numberstring | nullno
moms_period"monthly" | "quarterly" | "yearly" | nullno
vat_taxable_base_over_40mbooleanno
vat_has_eu_tradebooleanno
vat_filing_method"electronic" | "paper"no
periodisk_sammanstallning_enabledbooleanno
periodisk_sammanstallning_period"monthly" | "quarterly"no
periodisk_sammanstallning_filing_method"electronic" | "paper"no
kontrolluppgifter_enabledbooleanno
rot_rut_enabledbooleanno
oss_enabledbooleanno
ioss_enabledbooleanno
intrastat_enabledbooleanno
punktskatt_enabledbooleanno
fyllnadsinbetalning_enabledbooleanno
fiscal_year_start_monthnumberno
preliminary_tax_monthlynumber | nullno
pays_salariesbooleanno
employer_registeredboolean | nullno
employer_seasonalbooleanno
accounting_method"accrual" | "cash"no
defer_invoice_bookingbooleanno
aktiekapitalnumber | nullno
antal_aktiernumber | nullno

Response fields

NameTypeDescription
company_idstring
entity_typestring | null
org_numberstring | nullThe company org number. For an enskild firma it is the owner's personnummer and the last four digits are masked.
onboarding_completeboolean | null
contact_personstring | nullDefault "Vår referens" on new invoices (column default_our_reference).
company_namestring | null
address_line1string | null
address_line2string | null
postal_codestring | null
citystring | null
countrystring | null
phonestring | null
emailstring | null
websitestring | null
tax_contact_namestring | null
tax_contact_phonestring | null
tax_contact_emailstring | null
bank_namestring | null
clearing_numberstring | null
account_numberstring | null
bankgirostring | null
plusgirostring | null
swishstring | null
ibanstring | null
bicstring | null
invoice_prefixstring | null
invoice_default_notesstring | null
invoice_company_name_positionstring | null
invoice_late_fee_textstring | null
invoice_credit_terms_textstring | null
invoice_email_reply_tostring | null
invoice_primary_colorstring | null
invoice_accent_colorstring | null
invoice_font_familystring | null
invoice_header_textstring | null
invoice_footer_textstring | null
default_voucher_seriesstring | null
sector_slugstring | null
salary_vacation_year_basisstring | null
vat_numberstring | null
moms_periodstring | null
vat_filing_methodstring | null
periodisk_sammanstallning_periodstring | null
periodisk_sammanstallning_filing_methodstring | null
accounting_methodstring | null
bookkeeping_locked_throughstring | null
ore_roundingboolean | null
invoice_show_ocrboolean | null
invoice_show_bankgiroboolean | null
invoice_show_plusgiroboolean | null
invoice_show_swishboolean | null
invoice_show_logoboolean | null
invoice_show_company_nameboolean | null
invoice_payment_links_enabledboolean | null
send_invoice_remindersboolean | null
reminder_fee_enabledboolean | null
dimensions_enabledboolean | null
mileage_enabledboolean | null
sales_orders_enabledboolean | null
quotes_enabledboolean | null
proforma_enabledboolean | null
recurring_invoices_enabledboolean | null
self_billing_enabledboolean | null
f_skattboolean | null
vat_registeredboolean | null
vat_taxable_base_over_40mboolean | null
vat_has_eu_tradeboolean | null
periodisk_sammanstallning_enabledboolean | null
kontrolluppgifter_enabledboolean | null
rot_rut_enabledboolean | null
oss_enabledboolean | null
ioss_enabledboolean | null
intrastat_enabledboolean | null
punktskatt_enabledboolean | null
fyllnadsinbetalning_enabledboolean | null
pays_salariesboolean | null
employer_registeredboolean | null
employer_seasonalboolean | null
defer_invoice_bookingboolean | null
next_invoice_numbernumber | null
next_arrival_numbernumber | null
invoice_default_daysnumber | null
reminder_days_level_1number | null
reminder_days_level_2number | null
reminder_days_level_3number | null
reminder_fee_amountnumber | null
reminder_interest_rate_overridenumber | null
fiscal_year_start_monthnumber | null
preliminary_tax_monthlynumber | null
aktiekapitalnumber | null
antal_aktiernumber | null
auto_lock_period_daysnumber | null
invoice_payment_accountsunknown (optional)
invoice_email_textsunknown (optional)
invoice_email_cc_addressesunknown (optional)
invoice_email_bcc_addressesunknown (optional)
reminder_text_overridesunknown (optional)
default_voucher_series_per_source_typeunknown (optional)
voucher_series_labelsunknown (optional)
deadlines_regeneratedbooleanWhether this save regenerated the tax deadlines.

Example request

{
  "vat_registered": true,
  "vat_number": "SE556677889901",
  "moms_period": "quarterly"
}

Example response

{
  "data": {
    "company_id": "aaaa1111-2222-4333-8444-555566667777",
    "vat_registered": true,
    "vat_number": "SE556677889901",
    "moms_period": "quarterly",
    "deadlines_regenerated": true
  },
  "meta": {
    "request_id": "req_...",
    "api_version": "2026-05-12"
  }
}