Calendar Events

The calendar resource represents calendar events in Snapbooks. Calendar events are mostly accounting-related events, such as the due date of government reporting (VAT, withholding tax, tax return, shareholder register report, annual accounts submission).

List calendar events

GET /api/v2/calendar

Retrieves the calendar events whose due date falls within a date range. When client_account_id is provided, events are filtered to those that apply to the client account’s organization properties (e.g. VAT-liable, has payroll, has shareholders).

Events come from a fixed table of statutory deadlines, with due dates from January 2023 to February 2029. From 2026, Skatteetaten deadlines that fall on a weekend or public holiday are listed on the next working day, for example 2026-03-16 instead of Sunday 15 March.

Query Parameters

Name Type Required Description
client_account_id integer No The client account ID. When provided, events are filtered by the client account’s organization properties. Without it, all events in the date range are returned.
from_date string No The earliest due date to include, in YYYY-MM-DD format. Defaults to today.
to_date string No The latest due date to include, in YYYY-MM-DD format. Defaults to 365 days after from_date.
with string No Comma-separated list of optional fields to include. Supported: event_data (only effective when client_account_id is also provided).

Response

A successful response returns a JSON array of calendar events, sorted by due date ascending:

[
  {
    "event_type": "WITHHOLDING_TAX_AND_EMPLOYER_CONTRIBUTION",
    "if": ["HAS_PAYROLL"],
    "due_date": "2026-01-15",
    "reporting_period": {
      "start_date": "2025-11-01",
      "end_date": "2025-12-31"
    }
  },
  {
    "event_type": "VAT_REPORTING",
    "if": ["IS_VAT_LIABLE", "VAT_REPORTING_BIMONTHLY"],
    "due_date": "2026-02-10",
    "reporting_period": {
      "start_date": "2025-11-01",
      "end_date": "2025-12-31"
    }
  }
]

When with=event_data is requested together with client_account_id, each event includes an event_data object whose shape depends on the event type. For VAT_REPORTING events, it holds the status of the VAT period (see below). For other event types, it is currently an empty object.

{
  "event_type": "VAT_REPORTING",
  "if": ["IS_VAT_LIABLE", "VAT_REPORTING_BIMONTHLY"],
  "due_date": "2026-02-10",
  "reporting_period": {
    "start_date": "2025-11-01",
    "end_date": "2025-12-31"
  },
  "event_data": {
    "last_submission_status": "SUBMITTED",
    "tax_account_balance": -12500.0,
    "tax_account_movement": -3400.0,
    "has_unsettled_activity": true,
    "settlement_account_balance": 0.0
  }
}

Response Fields

Field Type Description
event_type string The type of calendar event. See the table below.
if array Organization properties that must all be present on the client account for the event to apply. Only present when applicable: TAX_RETURN events have none and apply to every client account.
ifnot array Organization properties that must all be absent on the client account for the event to apply. Only present when applicable.
due_date string The date when the event is due in YYYY-MM-DD format.
reporting_period object The period this event covers.
reporting_period.start_date string Start date of the reporting period in YYYY-MM-DD format.
reporting_period.end_date string End date of the reporting period in YYYY-MM-DD format.
event_data object Optional, included only when with=event_data is requested. Shape varies by event type.

VAT Period Status

The event_data of a VAT_REPORTING event. Amounts are in the client account’s accounting currency.

Field Type Description
last_submission_status string or null Status of the latest VAT return for the period: SUBMITTED, APPROVED or PAID. null when no return has one of these statuses.
tax_account_balance number Sum of the balances on the VAT accounts at the end of the period.
tax_account_movement number Net change on the VAT accounts during the period.
has_unsettled_activity boolean true when any single VAT account moved during the period. Reverse-charge lines cancel out in tax_account_movement but still count here.
settlement_account_balance number Balance on account 2740 at the end of the period.

Event Types

Event type Description
WITHHOLDING_TAX_AND_EMPLOYER_CONTRIBUTION Bi-monthly deadline, applies when the client has payroll. Until 2025 it covers withholding tax and employer contribution. From 2026 it covers the employer contribution only: withholding tax is due the first working day after the deduction, and has no calendar event.
VAT_REPORTING MVA-melding submission deadline. Bi-monthly, annual, or annual primary-industry depending on the client’s reporting frequency. There are no events for clients that report monthly.
TAX_RETURN Annual corporate tax return deadline.
SHAREHOLDER_REGISTER_REPORT Annual RF-1086 aksjonærregisteroppgave deadline. Applies when the client has shareholders.
ANNUAL_ACCOUNTS_SUBMISSION Annual accounts submission deadline. Applies when the client is accounting-obligated.

Organization Property Flags

The if and ifnot arrays reference organization-level flags on the client account. Common values:

Flag Description
HAS_PAYROLL The client account has a payroll frequency set.
IS_VAT_LIABLE The client account is registered for VAT.
VAT_REPORTING_BIMONTHLY The client account reports VAT every two months.
VAT_REPORTING_ANNUAL The client account reports VAT annually.
PRIMARY_INDUSTRY The organization’s industry code is below 10, a primary industry (different annual VAT deadline).
HAS_SHAREHOLDERS The organization is an AS or ASA.
ACCOUNTING_OBLIGATED The organization is an AS, ASA, BRL, BBL, STIFTELSE, SF, VPFOND or PARTRED, and must submit annual accounts.

Error Responses

Status Code Description
400 common.validation_error from_date or to_date is not a valid YYYY-MM-DD date
403 common.forbidden No access to the client account