Statutory filing deadlines for a company
company_deadlinesGet the next statutory filing deadlines for a company in Norway or the UK by its official company ID.
Instructions
Give the next occurrence of each statutory filing deadline a company faces.
country="NO" covers the Norwegian calendar (Regnskapsregisteret, Skatteetaten) for a
company looked up by organisasjonsnummer (orgnr, org.nr) in Brønnøysundregistrene /
Enhetsregisteret (brreg): årsregnskap, generalforsamling, skattemelding,
aksjonærregisteroppgaven, mva-melding, a-melding. country="GB" covers the two
Companies House obligations for a company number (CRN): the annual accounts filing and
the confirmation statement (CS01).
Pass today (YYYY-MM-DD) for a reproducible answer; it defaults to the server's
current UTC date. Quote due_date, not statutory_date. Each deadline's
applies_because states where the date came from — quote it rather than presenting a
date as unconditional fact: for Norway it names the legal form or flag and any
assumption behind a computed date, and for the UK it says whether the date is
Companies House's own published figure or one this tool computed from the statutory
period. UK dates never roll forward off a weekend or bank holiday, so due_date
equals statutory_date there; days_until goes negative for a filing Companies House
still shows as overdue rather than rolling it to the next cycle. An empty deadlines
list is a real answer — for Norway a bankrupt, deleted or compulsorily-liquidated
entity or a branch/sub-unit, and for the UK any company whose status is not active —
and notes explains why.
On error, this tool raises with the error text {"error": {"code", "message", "hint"}}. bad_request means today was not YYYY-MM-DD — fix the format and
retry. Any lookup_company error code (invalid_id, not_found,
unsupported_country, upstream_error, upstream_timeout) can also surface here,
since this tool looks the entity up first — follow that code's hint.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The company's national identifier. Norway (country='NO'): a nine-digit organisasjonsnummer (orgnr), e.g. '923609016'; spaces, dots and a 'NO...MVA' VAT suffix are accepted and normalised. United Kingdom (country='GB'): a Companies House company number (CRN), eight characters, e.g. '00445790' or 'OC303675'; a short number is zero-padded for you. | |
| today | No | Date to compute deadlines from, YYYY-MM-DD. Defaults to the server's current UTC date — pass it explicitly for a reproducible answer. A value that is not YYYY-MM-DD is a bad_request naming the required format. | |
| country | No | ISO-3166-1 alpha-2 country code. 'NO' = Norway (Brønnøysundregistrene / Enhetsregisteret), 'GB' = United Kingdom (Companies House). 'UK' is not a country code here and is rejected. Call list_countries for the current set rather than hard-coding one. | NO |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | Caveats to surface to the user, carried over from the company report: why the list is empty, an unclassified legal form, a status that suspends filing. | |
| today | Yes | The date 'next occurrence' was computed from, inclusive. Echoed back so the answer is reproducible and an agent can tell a cached answer from a fresh one. | |
| country | Yes | ISO-3166-1 alpha-2, upper-case. | |
| registry | Yes | Registry slug, e.g. 'brreg'. | |
| deadlines | No | One entry per obligation kind, always the next occurrence, sorted by due_date. An empty list is a real answer, not an error — read `notes` for why. | |
| company_id | Yes | Canonical national identifier the deadlines were computed for. | |
| company_name | No | Registered name, so the caller can echo it back to a user. |