Skip to content

When are Norwegian annual accounts due and what does late filing cost?

By , founder of Apier

Annual accounts (årsregnskap) must reach the Register of Company Accounts (Regnskapsregisteret) at Brønnøysundregistrene by 31 July, and in 2026 that date is a Friday, so no weekend shift applies. Reaching the register means filed and accepted, not merely approved by the general meeting. From 1 August a daily late fee (forsinkelsesgebyr) starts accruing and keeps accruing until the accounts are filed, so the cost of delay grows with every day that passes. The fee is charged to the company, and unpaid fees can be pursued further. This guide describes the mechanism only: the current rates are set and published by Brønnøysundregistrene, so verify the figures at brreg.no. Programmatically, filing status is readable through the accounts endpoint, and change events announce a new filing the moment it lands in the register.

A timeline in four steps: 31 July, when the accounts must be in the register; 1 August, when the daily fee starts; every day after, when the cost keeps growing; and filing, which stops the clock. Dashed callouts mark two traps: approval at the general meeting is not filing, and the fee is charged to the company.31 Julyaccounts must be in the register1 Augustdaily fee startsEvery day afterthe cost keeps growingFiledthe clock stopsgeneral meeting approval is not filingthe fee is charged to the company
The fee is a meter, not a fine. Nothing about internal approvals slows it down, and only the filing itself, accepted by the register, stops it.

What does the 31 July deadline actually require?

That the annual accounts have reached Regnskapsregisteret, the Register of Company Accounts at Brønnøysundregistrene, by the end of 31 July. Reached means filed and accepted by the register, and that distinction carries the whole page. A set of accounts that the board has approved and the general meeting has adopted, but that nobody has actually submitted, has not met the deadline, however finished it looks internally.

The date recurs every year. In years where 31 July lands on a weekend, the effective date shifts to the next business day, as Norwegian filing deadlines generally do; in 2026 the question does not arise, because 31 July 2026 is a Friday. If you maintain a compliance calendar, the safe encoding is the statutory date plus the shifting rule, not a hardcoded date copied from last year.

The deadline sits inside a crowded season. The 2026 filing calendar for a Norwegian AS shows where it lands among the tax return, MVA terms and the monthly a-melding, which is worth seeing whole: the accounts deadline arrives after most of the spring obligations, at the point where attention has often moved on.

What does late filing cost?

A daily late fee, forsinkelsesgebyr, that starts accruing on 1 August and runs until the accounts are filed. The shape of the charge matters more than any single number: it is a meter, not a fixed fine. Each day of delay adds to the total, so the cost escalates with procrastination, and a filing put off until winter costs a multiple of one completed in the first week of August.

The fee is charged to the company whose accounts are late. If it goes unpaid, it can be pursued further, so ignoring the invoice is not an exit. This page deliberately quotes no amounts: rates change, and the authoritative, current figures are published by Brønnøysundregistrene. Before you budget for a late filing, or explain the exposure to a client, verify the current rates at brreg.no.

The accrual mechanism also dictates the response to a missed deadline. There is no point at which waiting becomes cheaper: every day saved is money saved, so the rational move on 2 August is to file the best complete set of accounts you can, immediately, rather than to spend weeks polishing while the meter runs.

Which steps produce the filed accounts?

Three, in order: the board approves the annual accounts, the general meeting adopts them, and the company files them with Regnskapsregisteret. Only the last step is visible to the outside world, and only the last step satisfies the deadline. The failure mode this creates is mundane: the first two steps happen in the spring, everyone involved experiences the accounts as done, and the filing quietly falls between the accountant and the administration.

Because filed accounts are public, the absence of a filing is public too. A counterparty who checks the register and finds nothing for the expected year sees a distress signal, whether the cause was financial trouble or plain oversight. What the filed data itself contains, and how to read it programmatically, is covered by the annual accounts data guide; the point here is that not filing is itself a fact the world can see.

How do I track filings across a portfolio?

Read the accounts endpoint for each company: has_filed_annual_accounts is tri-state, and last_accounts_year names the most recent filed year, so both a missing filing and a stale one are visible in a single call. Compare the latest filed year with what the calendar says should exist by now, and treat null as could-not-determine rather than as evidence of delinquency.

For ongoing coverage, let events replace polling. The change archive records a new filing when it lands, and webhook subscriptions push the event to you, so a portfolio check runs on arrival rather than on a schedule. If you also want the deadline side computed instead of hand-maintained, the deadline calculation guide shows how the deadline API answers what is due, and when, per entity type.

Make the first call

The sandbox request shows the accounts shape with no key, on a synthetic company. The TypeScript snippet runs the live read and handles the filing status as the three states it actually has, which is the part portfolio checks most often get wrong.

# Zero-auth sandbox: the accounts shape, synthetic company.
curl -s https://www.apier.no/api/v1/sandbox/public/company/999999999/accounts
// Has this company filed, and for which year? Tri-state on purpose.
const res = await fetch(
  "https://www.apier.no/api/v1/company/999999999/accounts",
  { headers: { Authorization: `Bearer ${process.env.APIER_API_KEY}` } },
);

if (!res.ok) {
  const { error_code, explanation } = await res.json();
  throw new Error(`${error_code}: ${explanation.summary}`);
}

const { data, _meta } = await res.json();

if (data.has_filed_annual_accounts === null) {
  // The open tier could not answer. Unknown is not "did not file".
  console.warn("Filing status could not be determined.");
} else if (!data.has_filed_annual_accounts) {
  console.log("No filed accounts found. Check the deadline before concluding.");
} else {
  console.log("Latest filed accounting year:", data.last_accounts_year);
}

console.log("as of", _meta.data_freshness);

Frequently asked questions

Is the 31 July deadline the same every year?
Yes, it is a recurring statutory date rather than one announced annually. In years where 31 July lands on a weekend, the effective date shifts to the next business day, the same shifting rule Norwegian deadlines generally follow. In 2026 no shift applies, because 31 July 2026 is a Friday. What changes year to year is therefore only the calendar around the date, never the date itself, so a compliance calendar can treat it as fixed and apply the weekend shift mechanically.
What exactly is forsinkelsesgebyr?
A late fee that starts accruing on 1 August if the annual accounts have not reached the Register of Company Accounts, and keeps accruing daily until they do. The mechanism is the point: the cost is not a flat fine but a meter that runs every day, so a filing that is three months late costs far more than one that is three days late. The current rates are set and published by Brønnøysundregistrene, so verify the figures at brreg.no rather than relying on any secondhand number.
Who pays the fee?
The fee is charged to the company whose accounts are late, not to the accountant or the system that failed to file. If the company does not pay, unpaid fees can be pursued further, so the cost does not quietly disappear with the company's inaction. For the exact rules on liability and collection, check the current guidance from Brønnøysundregistrene, which administers both the register and the fee.
Can I see whether a counterparty filed on time?
Yes. Filed annual accounts are public, and the accounts endpoint returns a tri-state filing status plus the most recent filed accounting year, so a missing or stale filing is visible programmatically. Compare the latest filed year against what the calendar says should exist by now. Treat null as could-not-determine rather than as a missing filing, and remember that some entity types sit outside the filing regime entirely.
Does approval at the general meeting count as filing?
No. Approval by the board and adoption by the general meeting are internal milestones, and neither stops the fee. The deadline is about the register: the accounts must be filed with Regnskapsregisteret and accepted there by 31 July. A company can hold every approval in perfect order and still accrue the daily fee from 1 August, simply because the last step, the actual filing, never happened.