Which filing deadlines does a Norwegian AS face in 2026?
By Antony Richard Grov, founder of Apier
A Norwegian AS meets four big filing families in 2026. The skattemelding is due 1 June 2026, because the statutory date of 31 May lands on a Sunday and shifts to the next business day. The årsregnskap must reach Regnskapsregisteret by 31 July 2026, and a daily late fee starts accruing from 1 August. If the company is MVA-registered, the bimonthly MVA terminer run through the whole year, from 10 February to 10 December, with the final 2026 termin due 10 February 2027. If the company runs payroll, the a-melding is due on the 5th of every month, shifting whenever the 5th hits a weekend or holiday. Add the aksjonærregisteroppgaven on 31 January, and the table below is the complete year with every shift already applied.
The 2026 calendar at a glance
The table is the whole year in one place, and each family also has a deeper guide of its own: the MVA calendar with every termin and the periods they cover, the annual accounts deadline with the fee mechanism, and the a-melding rhythm with its monthly cadence. This page is the operator view: what is due, when, and with the 2026 shifts already applied, so you can lay the year into a planning tool without re-deriving anything.
| Filing | Due in 2026 | Notes |
|---|---|---|
| Aksjonærregisteroppgaven | 31 January | All AS and ASA, administered by Skatteetaten. Not part of Apier's seeded Rulebook today, so the calendar endpoint below does not return it. |
| MVA terminer (bimonthly) | 10 Feb, 10 Apr, 10 Jun, 31 Aug, 12 Oct, 10 Dec | 12 October is weekend-shifted: the legal date 10 October is a Saturday. The 10 February due settles the last 2025 termin; the final 2026 termin is due 10 February 2027. |
| Skattemelding | 1 June | The statutory date 31 May falls on a Sunday in 2026, so the effective due date is Monday 1 June. |
| Årsregnskap | 31 July | A Friday in 2026, so no shift. A daily forsinkelsesgebyr accrues from 1 August. |
| A-melding | 5th of each month | Shifted dues in 2026: 7 April, 6 July, 7 September, 7 December. The other months fall on the 5th. |
Why do the dates shift from year to year?
Every statutory day is fixed, but the effective due date is not: when the legal date lands on a weekend or a Norwegian public holiday, the deadline moves to the next business day. That single rule produces most of what makes 2026 look different from 2025. The skattemelding's statutory 31 May is a Sunday, so the year's effective date is 1 June. The fourth MVA termin's legal date of 10 October is a Saturday, so it lands on Monday 12 October. The a-melding shifts four times: to 7 April because the 5th is Easter Monday, and to 6 July, 7 September and 7 December because the 5th falls on a weekend.
The shift also cuts the other way: 31 July 2026 is a Friday, so the årsregnskap does not move at all. One honest footnote on the first table row belongs here too. The aksjonærregisteroppgaven applies to every AS and ASA, but it is not part of Apier's seeded Rulebook today, so the machine-readable calendar described further down does not return it. It sits in the table because your January is incomplete without it, not because the API emits it. All the other rows are engine output, derived in Europe/Oslo local time, which is what makes them safe to trust near midnight and across the summer time transitions.
Which of these deadlines apply to your AS?
Three rows apply to every AS regardless of activity: the skattemelding, the årsregnskap and the aksjonærregisteroppgaven. A dormant company with zero revenue and zero employees still files all three, and the late-fee mechanism on the årsregnskap does not care that there was nothing interesting to report.
The MVA rows apply only if the company is registered in the MVA register, which becomes mandatory once taxable turnover passes NOK 50,000 in a rolling twelve month window. Above registration there is a second split: a company with annual turnover under NOK 1,000,000 can file one annual return, due 10 March, instead of the six bimonthly terminer in the table. Above that line the bimonthly rhythm applies as printed. The a-melding row applies only if the company has employees or otherwise runs payroll: no payroll, no monthly report. So a typical trading AS with staff faces the full table, while a holding company may face only the three universal rows.
The calendar as data, not prose
Everything above except the aksjonærregisteroppgaven exists as a machine-readable calendar. GET /api/v1/public/deadlines?year=2026 returns the year as structured entries with no API key, each carrying the obligation, the period it covers and the final shifted date, plus rulebook version metadata so you can tell exactly which rule set produced it. If you would rather see it in a browser, the fristkalender tool renders the same calendar as a web page; it is written in Norwegian, but the dates need no translation. The deadline calculation guide walks through how the engine derives these dates, which is worth reading before you re-implement any of this logic yourself. The endpoint is free and needs no registration, so it fits a nightly cron job as easily as a one-off spreadsheet import.
Make the first call
The curl call fetches the full 2026 calendar with no key. The TypeScript sample fetches the calendar one specific company faces, filtered to its entity type over a horizon you choose, so the answer is the company's year rather than the generic one. Both responses carry the same _meta fields, so you can see which rulebook version produced them.
# Zero-auth: the 2026 deadline calendar as structured JSON, no key.
curl -s "https://www.apier.no/api/v1/public/deadlines?year=2026"// Company-specific calendar: the deadlines one AS actually faces,
// filtered to its entity type, over a 12-month horizon.
const res = await fetch(
"https://www.apier.no/api/v1/company/999999999/deadlines" +
"?from_date=2026-01-01&horizon_months=12",
{
headers: {
Authorization: `Bearer ${process.env.APIER_API_KEY}`,
},
},
);
if (!res.ok) {
// Every non-2xx answers the same structured envelope.
const { error_code, explanation } = await res.json();
throw new Error(`${error_code}: ${explanation.summary}`);
}
const { data, _meta } = await res.json();
// Each entry names the obligation, the period it covers, and the
// final due date with the weekend shift already applied.
for (const entry of data.deadlines) {
console.log(entry.obligation_id, entry.period_label, entry.due_at);
}
console.log("rulebook version:", _meta.rulebook_version);Frequently asked questions
- What happens when 31 May falls on a Sunday?
- The deadline shifts to the next business day, which is exactly what happens in 2026: 31 May is a Sunday, so the effective due date for the skattemelding is Monday 1 June 2026. The statutory day itself does not move; the shift is a property of how Norwegian deadlines are applied when the legal date lands on a weekend or public holiday. The same rule pushes the fourth MVA termin from Saturday 10 October to Monday 12 October 2026.
- Does every Norwegian AS file MVA?
- No. MVA filings apply only to companies registered in the MVA register, and registration becomes mandatory once taxable turnover passes NOK 50,000 in a rolling twelve month window. A registered company with annual turnover under NOK 1,000,000 can file one annual return instead of six bimonthly ones, due 10 March. Above that split, the bimonthly terminer in this page's table apply. An AS with no taxable sales has no MVA calendar at all, but still files the skattemelding and the årsregnskap.
- When is the first MVA termin of 2026 due?
- The first termin covering 2026 activity, January and February, is due 10 April 2026. The 10 February 2026 due date that opens the year belongs to the previous cycle: it settles the final termin of 2025. The pattern is one month plus ten days after the two month period ends, which also explains the tail of the year: the final 2026 termin, covering November and December, is due 10 February 2027.
- What does late filing of the annual accounts cost?
- A daily late fee, the forsinkelsesgebyr, starts accruing from 1 August if the årsregnskap has not reached Regnskapsregisteret by 31 July. The mechanism is daily accrual rather than a single fixed fine, so the cost grows with every day of delay. The rates themselves are set and revised outside this page, so verify the current figures with Brønnøysundregistrene before budgeting around a late filing rather than relying on any remembered number.
- Where do I get these dates as data?
- Two places. GET /api/v1/public/deadlines?year=2026 returns the full year as structured JSON with no API key, weekend shifts already applied, and rulebook version metadata on every response. GET /api/v1/company/{org}/deadlines returns the calendar one specific company faces, with an API key, filtered to its entity type over a horizon you choose. For a browser view in Norwegian, the fristkalender tool at apier.no/no/verktoy/fristkalender renders the same calendar.