Registry entry
Norway Tax Return for Advance Assessment / Persons Without a Pre-Filled Return — Skattemelding for forhåndsfastsetting og for privatpersoner som ikke har mottatt forhåndsutfylt skattemelding
Skatteetaten's (the Norwegian Tax Administration) paper alternative income-tax return, used by (1) a person requesting forhåndsfastsetting — an advance tax assessment ahead of the ordinary annual cycle, most commonly a foreign worker whose temporary work stay in Norway has ended, or a deceased person's estate (dødsbo) — and (2) any privatperson (private individual) who has not received Skatteetaten's ordinary pre-filled skattemelding by 7 April and is not an electronic user able to file it online. Opens Norway's Taxes vertical: the ordinary, fully pre-filled skattemelding is filed exclusively through Skatteetaten's own BankID/ID-porten-gated online service (skatteetaten.no), which has no unauthenticated field-level equivalent, so this registry follows its own established precedent of modelling the government's own published unauthenticated paper fallback instead (the same approach already used for this jurisdiction's `notification-of-move-within-norway` civic-registration form) when the primary online channel is authentication-gated. This schema models the form's own three-page applicant-facing content in full: the taxpayer identity block, the tax-year and submission-reason selection, the foreign-worker-specific sub-section, the bounded (up to 3 rows each) wages/pension/other-work-deduction/business-income/bank/financial-holdings/real-property/other-assets/other-income tables, the minimum-deduction claim, travel and commuter-accommodation deductions, the submitter block (used when someone other than the taxpayer, e.g. an heir, is filing), and the signature date. It does not model the physical wet-ink signature itself (the source PDF has no fillable AcroForm widgets anywhere — a flat print-and-fill specimen, not an interactive form) or the form's own third-page purely-informational guidance text (rules on dødsbo eligibility, kildeskatt/source-tax consequences of choosing this route, and the deadline/reservation rules for privatpersoner), since none of that is an applicant-entered field. Filing this return is a citizen action performed directly with Skatteetaten (by post to the address printed on the form, or electronically per the form's own stated preference once the taxpayer becomes an electronic user); this schema does not file the return itself, and the live source (skatteetaten.no) is always authoritative. GovSchema is independent and is not affiliated with, endorsed by, or operated by the Kingdom of Norway or Skatteetaten.
Registry entry
no/skatteetaten/skattemelding-for-forhandsfastsetting
Machine access
- Schema document
registry/no/skatteetaten/skattemelding-for-forhandsfastsetting/1.0.0/schema.jsonapplication/schema+json- Verification record
registry/no/skatteetaten/skattemelding-for-forhandsfastsetting/1.0.0/VERIFICATION.mdtext/markdown- Registry catalog
registry/index.jsonone record per schema id
Field reference
115 fields, read from the published schema.json, with names, types, requiredness, and validation as the document states them. The live government form remains the authoritative source.
Fields
-
taxpayerFullNamestring requiredThe taxpayer's full name.
length: 0–200classification: pii -
taxpayerNationalIdstring requiredThe taxpayer's 11-digit Norwegian fødselsnummer (national identity number) or D-nummer (temporary identification number issued to people without a fødselsnummer, e.g. many first-time foreign workers).
patternclassification: sensitive-pii -
taxpayerAddressstring requiredThe taxpayer's current mailing address.
length: 0–300classification: pii -
taxpayerEmailstring optionalThe taxpayer's email address.
patternlength: 0–254classification: pii -
taxpayerPhonestring optionalThe taxpayer's telephone number.
length: 0–30classification: pii -
taxYearinteger requiredThe income year this return (skattemelding) is being filed for.
range: 2000–2100 -
submissionReasonenum requiredWhich of the form's three stated submission scenarios applies: a deceased person's estate (Dødsbo), a foreign worker with a temporary work stay in Norway (Utenlandsk arbeidstaker), or another reason not otherwise listed (Annet).
enum: Dødsbo | Utenlandsk arbeidstaker | Annet -
requiresAdvanceAssessmentboolean requiredWhether the taxpayer is requesting forhåndsfastsetting (an advance/early tax assessment before the ordinary annual cycle), rather than filing this as an ordinary substitute for a pre-filled return.
-
foreignWorkerAddressAbroadstring optionalThe foreign worker's home address abroad. Per the form's own guidance (page 3), this section and the fields below are relevant only when Utenlandsk arbeidstaker was selected above and forhåndsfastsetting is being requested for a temporary work stay in Norway that has ended.
length: 0–300classification: pii -
foreignWorkerNorwayMunicipalitystring optionalThe Norwegian municipality (kommune) where the foreign worker stayed during the work period being reported.
length: 0–200 -
foreignWorkerDaysInNorwayinteger optionalThe number of days the foreign worker stayed in Norway during the period being reported.
range: 0–366 -
foreignWorkerSocialSecurityExemptionboolean optionalWhether the foreign worker is claiming exemption from trygdeavgift (Norwegian social security contribution).
-
foreignWorkerStandardDeduction10Percentboolean optionalWhether the foreign worker is claiming the 10% standard deduction available to certain foreign workers in lieu of itemized deductions.
-
foreignWorkerWorkedAtSeaOrShelfboolean optionalWhether the foreign worker's work was performed at sea or on the continental shelf (offshore), which carries its own day-count reporting requirement below.
-
foreignWorkerDaysAtSeaOrShelfinteger optionalThe number of days the foreign worker worked at sea or on the continental shelf, required whenever the box above is answered Ja.
range: 0–366 -
wage1Employerstring optionalRow 1 of up to 3 in the "Lønn mv" (wages etc.) table: the employer's name.
length: 0–200 -
wage1Periodstring optionalRow 1 of up to 3 in the "Lønn mv" table: the employment period this wage income covers, as free text (from/to dates as printed on the form).
length: 0–100 -
wage1Amountnumber optionalRow 1 of up to 3 in the "Lønn mv" table: the wage amount in NOK for this employer/period.
classification: financial -
wage2Employerstring optionalRow 2 of up to 3 in the "Lønn mv" (wages etc.) table: the employer's name.
length: 0–200 -
wage2Periodstring optionalRow 2 of up to 3 in the "Lønn mv" table: the employment period this wage income covers, as free text (from/to dates as printed on the form).
length: 0–100 -
wage2Amountnumber optionalRow 2 of up to 3 in the "Lønn mv" table: the wage amount in NOK for this employer/period.
classification: financial -
wage3Employerstring optionalRow 3 of up to 3 in the "Lønn mv" (wages etc.) table: the employer's name.
length: 0–200 -
wage3Periodstring optionalRow 3 of up to 3 in the "Lønn mv" table: the employment period this wage income covers, as free text (from/to dates as printed on the form).
length: 0–100 -
wage3Amountnumber optionalRow 3 of up to 3 in the "Lønn mv" table: the wage amount in NOK for this employer/period.
classification: financial -
pension1Payerstring optionalRow 1 of up to 3 in the "Pensjon" table: the name of the payer of this pension.
length: 0–200 -
pension1Amountnumber optionalRow 1 of up to 3 in the "Pensjon" table: the pension amount in NOK.
classification: financial -
pension1Typestring optionalRow 1 of up to 3 in the "Pensjon" table: the type of pension (e.g. retirement, disability).
length: 0–100 -
pension1Gradestring optionalRow 1 of up to 3 in the "Pensjon" table: the pension grade/percentage (e.g. a partial-disability pension rate).
length: 0–20 -
pension1Periodstring optionalRow 1 of up to 3 in the "Pensjon" table: the period this pension payment covers, as free text.
length: 0–100 -
pension2Payerstring optionalRow 2 of up to 3 in the "Pensjon" table: the name of the payer of this pension.
length: 0–200 -
pension2Amountnumber optionalRow 2 of up to 3 in the "Pensjon" table: the pension amount in NOK.
classification: financial -
pension2Typestring optionalRow 2 of up to 3 in the "Pensjon" table: the type of pension (e.g. retirement, disability).
length: 0–100 -
pension2Gradestring optionalRow 2 of up to 3 in the "Pensjon" table: the pension grade/percentage (e.g. a partial-disability pension rate).
length: 0–20 -
pension2Periodstring optionalRow 2 of up to 3 in the "Pensjon" table: the period this pension payment covers, as free text.
length: 0–100 -
pension3Payerstring optionalRow 3 of up to 3 in the "Pensjon" table: the name of the payer of this pension.
length: 0–200 -
pension3Amountnumber optionalRow 3 of up to 3 in the "Pensjon" table: the pension amount in NOK.
classification: financial -
pension3Typestring optionalRow 3 of up to 3 in the "Pensjon" table: the type of pension (e.g. retirement, disability).
length: 0–100 -
pension3Gradestring optionalRow 3 of up to 3 in the "Pensjon" table: the pension grade/percentage (e.g. a partial-disability pension rate).
length: 0–20 -
pension3Periodstring optionalRow 3 of up to 3 in the "Pensjon" table: the period this pension payment covers, as free text.
length: 0–100 -
claimsMinimumDeductionboolean optionalWhether the taxpayer is claiming minstefradrag (the standard minimum deduction against employment/pension income). The form notes the deduction amount itself is calculated automatically, so only the yes/no claim is an applicant-entered field.
-
travelExpensesnumber optionalDeductible travel expenses (commuting costs) in NOK.
classification: financial -
commuterAccommodationExpensesnumber optionalAdditional deductible living costs incurred while staying away from home as a commuter (pendler), in NOK.
classification: financial -
otherWorkDeduction1Descriptionstring optionalRow 1 of up to 3 in the "Andre fradrag knyttet til arbeid/øvrige fradrag" (other work-related/other deductions) table: a free-text description of the deduction claimed.
length: 0–300 -
otherWorkDeduction1Amountnumber optionalRow 1 of up to 3 in the "Andre fradrag knyttet til arbeid/øvrige fradrag" table: the deduction amount in NOK.
classification: financial -
otherWorkDeduction2Descriptionstring optionalRow 2 of up to 3 in the "Andre fradrag knyttet til arbeid/øvrige fradrag" (other work-related/other deductions) table: a free-text description of the deduction claimed.
length: 0–300 -
otherWorkDeduction2Amountnumber optionalRow 2 of up to 3 in the "Andre fradrag knyttet til arbeid/øvrige fradrag" table: the deduction amount in NOK.
classification: financial -
otherWorkDeduction3Descriptionstring optionalRow 3 of up to 3 in the "Andre fradrag knyttet til arbeid/øvrige fradrag" (other work-related/other deductions) table: a free-text description of the deduction claimed.
length: 0–300 -
otherWorkDeduction3Amountnumber optionalRow 3 of up to 3 in the "Andre fradrag knyttet til arbeid/øvrige fradrag" table: the deduction amount in NOK.
classification: financial -
businessTypestring optionalThe type of self-employment/business activity generating the income reported below.
length: 0–200 -
businessIncomenumber optionalGross business/self-employment income in NOK.
classification: financial -
businessCostsnumber optionalBusiness/self-employment costs in NOK.
classification: financial -
businessNetIncomenumber optionalNet business/self-employment income in NOK (income minus costs), as the form's own label states.
classification: financial -
bank1Namestring optionalRow 1 of up to 3 in the "Bank" table: the name of the bank.
length: 0–200 -
bank1DepositsOrDebtnumber optionalRow 1 of up to 3 in the "Bank" table: the account balance in NOK, as a deposit (asset) or debt (liability).
classification: financial -
bank1InterestIncomeOrExpensenumber optionalRow 1 of up to 3 in the "Bank" table: interest income or interest expense in NOK for this account.
classification: financial -
bank2Namestring optionalRow 2 of up to 3 in the "Bank" table: the name of the bank.
length: 0–200 -
bank2DepositsOrDebtnumber optionalRow 2 of up to 3 in the "Bank" table: the account balance in NOK, as a deposit (asset) or debt (liability).
classification: financial -
bank2InterestIncomeOrExpensenumber optionalRow 2 of up to 3 in the "Bank" table: interest income or interest expense in NOK for this account.
classification: financial -
bank3Namestring optionalRow 3 of up to 3 in the "Bank" table: the name of the bank.
length: 0–200 -
bank3DepositsOrDebtnumber optionalRow 3 of up to 3 in the "Bank" table: the account balance in NOK, as a deposit (asset) or debt (liability).
classification: financial -
bank3InterestIncomeOrExpensenumber optionalRow 3 of up to 3 in the "Bank" table: interest income or interest expense in NOK for this account.
classification: financial -
financial1Descriptionstring optionalRow 1 of up to 3 in the "Finans" table: a free-text description of the financial holding (e.g. shares, fund units).
length: 0–300 -
financial1ValueAtYearEndnumber optionalRow 1 of up to 3 in the "Finans" table: the holding's value in NOK at year end.
classification: financial -
financial1GainDuringYearnumber optionalRow 1 of up to 3 in the "Finans" table: realized gain in NOK during the year.
classification: financial -
financial1LossDuringYearnumber optionalRow 1 of up to 3 in the "Finans" table: realized loss in NOK during the year.
classification: financial -
financial1DividendDuringYearnumber optionalRow 1 of up to 3 in the "Finans" table: dividend income in NOK received during the year.
classification: financial -
financial2Descriptionstring optionalRow 2 of up to 3 in the "Finans" table: a free-text description of the financial holding (e.g. shares, fund units).
length: 0–300 -
financial2ValueAtYearEndnumber optionalRow 2 of up to 3 in the "Finans" table: the holding's value in NOK at year end.
classification: financial -
financial2GainDuringYearnumber optionalRow 2 of up to 3 in the "Finans" table: realized gain in NOK during the year.
classification: financial -
financial2LossDuringYearnumber optionalRow 2 of up to 3 in the "Finans" table: realized loss in NOK during the year.
classification: financial -
financial2DividendDuringYearnumber optionalRow 2 of up to 3 in the "Finans" table: dividend income in NOK received during the year.
classification: financial -
financial3Descriptionstring optionalRow 3 of up to 3 in the "Finans" table: a free-text description of the financial holding (e.g. shares, fund units).
length: 0–300 -
financial3ValueAtYearEndnumber optionalRow 3 of up to 3 in the "Finans" table: the holding's value in NOK at year end.
classification: financial -
financial3GainDuringYearnumber optionalRow 3 of up to 3 in the "Finans" table: realized gain in NOK during the year.
classification: financial -
financial3LossDuringYearnumber optionalRow 3 of up to 3 in the "Finans" table: realized loss in NOK during the year.
classification: financial -
financial3DividendDuringYearnumber optionalRow 3 of up to 3 in the "Finans" table: dividend income in NOK received during the year.
classification: financial -
property1AddressInfostring optionalRow 1 of up to 3 in the "Eiendom" (real property) table: the property's address.
length: 0–300classification: pii -
property1KNrstring optionalRow 1 of up to 3 in the "Eiendom" table: the property's kommunenummer (municipality number), part of the Norwegian matrikkel (cadastre) identifier.
length: 0–10 -
property1GNrstring optionalRow 1 of up to 3 in the "Eiendom" table: the property's gårdsnummer (farm/holding number), part of the matrikkel identifier.
length: 0–10 -
property1BNrstring optionalRow 1 of up to 3 in the "Eiendom" table: the property's bruksnummer (usage number), part of the matrikkel identifier.
length: 0–10 -
property1SNrFNrstring optionalRow 1 of up to 3 in the "Eiendom" table: the property's seksjonsnummer (section number, for a sectioned condominium unit) or festenummer (leasehold number), whichever applies.
length: 0–10 -
property1Typestring optionalRow 1 of up to 3 in the "Eiendom" table: the type of property (e.g. primary residence, secondary residence, holiday home, rental).
length: 0–100 -
property1WealthValueSharenumber optionalRow 1 of up to 3 in the "Eiendom" table: the taxpayer's share of the property's formuesverdi (assessed wealth-tax value) in NOK.
classification: financial -
property2AddressInfostring optionalRow 2 of up to 3 in the "Eiendom" (real property) table: the property's address.
length: 0–300classification: pii -
property2KNrstring optionalRow 2 of up to 3 in the "Eiendom" table: the property's kommunenummer (municipality number), part of the Norwegian matrikkel (cadastre) identifier.
length: 0–10 -
property2GNrstring optionalRow 2 of up to 3 in the "Eiendom" table: the property's gårdsnummer (farm/holding number), part of the matrikkel identifier.
length: 0–10 -
property2BNrstring optionalRow 2 of up to 3 in the "Eiendom" table: the property's bruksnummer (usage number), part of the matrikkel identifier.
length: 0–10 -
property2SNrFNrstring optionalRow 2 of up to 3 in the "Eiendom" table: the property's seksjonsnummer (section number, for a sectioned condominium unit) or festenummer (leasehold number), whichever applies.
length: 0–10 -
property2Typestring optionalRow 2 of up to 3 in the "Eiendom" table: the type of property (e.g. primary residence, secondary residence, holiday home, rental).
length: 0–100 -
property2WealthValueSharenumber optionalRow 2 of up to 3 in the "Eiendom" table: the taxpayer's share of the property's formuesverdi (assessed wealth-tax value) in NOK.
classification: financial -
property3AddressInfostring optionalRow 3 of up to 3 in the "Eiendom" (real property) table: the property's address.
length: 0–300classification: pii -
property3KNrstring optionalRow 3 of up to 3 in the "Eiendom" table: the property's kommunenummer (municipality number), part of the Norwegian matrikkel (cadastre) identifier.
length: 0–10 -
property3GNrstring optionalRow 3 of up to 3 in the "Eiendom" table: the property's gårdsnummer (farm/holding number), part of the matrikkel identifier.
length: 0–10 -
property3BNrstring optionalRow 3 of up to 3 in the "Eiendom" table: the property's bruksnummer (usage number), part of the matrikkel identifier.
length: 0–10 -
property3SNrFNrstring optionalRow 3 of up to 3 in the "Eiendom" table: the property's seksjonsnummer (section number, for a sectioned condominium unit) or festenummer (leasehold number), whichever applies.
length: 0–10 -
property3Typestring optionalRow 3 of up to 3 in the "Eiendom" table: the type of property (e.g. primary residence, secondary residence, holiday home, rental).
length: 0–100 -
property3WealthValueSharenumber optionalRow 3 of up to 3 in the "Eiendom" table: the taxpayer's share of the property's formuesverdi (assessed wealth-tax value) in NOK.
classification: financial -
otherAssets1Descriptionstring optionalRow 1 of up to 3 in the "Annen formue" (other assets/wealth) table: a free-text description of the asset.
length: 0–300 -
otherAssets1Amountnumber optionalRow 1 of up to 3 in the "Annen formue" table: the asset's value in NOK.
classification: financial -
otherAssets2Descriptionstring optionalRow 2 of up to 3 in the "Annen formue" (other assets/wealth) table: a free-text description of the asset.
length: 0–300 -
otherAssets2Amountnumber optionalRow 2 of up to 3 in the "Annen formue" table: the asset's value in NOK.
classification: financial -
otherAssets3Descriptionstring optionalRow 3 of up to 3 in the "Annen formue" (other assets/wealth) table: a free-text description of the asset.
length: 0–300 -
otherAssets3Amountnumber optionalRow 3 of up to 3 in the "Annen formue" table: the asset's value in NOK.
classification: financial -
otherIncome1Descriptionstring optionalRow 1 of up to 3 in the "Andre inntekter" (other income) table: a free-text description of the income.
length: 0–300 -
otherIncome1Amountnumber optionalRow 1 of up to 3 in the "Andre inntekter" table: the income amount in NOK.
classification: financial -
otherIncome2Descriptionstring optionalRow 2 of up to 3 in the "Andre inntekter" (other income) table: a free-text description of the income.
length: 0–300 -
otherIncome2Amountnumber optionalRow 2 of up to 3 in the "Andre inntekter" table: the income amount in NOK.
classification: financial -
otherIncome3Descriptionstring optionalRow 3 of up to 3 in the "Andre inntekter" (other income) table: a free-text description of the income.
length: 0–300 -
otherIncome3Amountnumber optionalRow 3 of up to 3 in the "Andre inntekter" table: the income amount in NOK.
classification: financial -
submitterFullNamestring optionalThe full name of the person submitting the return, if different from the taxpayer (e.g. an heir filing on behalf of a deceased person's estate, or a representative).
length: 0–200classification: pii -
submitterNationalIdstring optionalThe submitter's 11-digit Norwegian fødselsnummer or D-nummer.
patternclassification: sensitive-pii -
submitterAddressstring optionalThe submitter's mailing address.
length: 0–300classification: pii -
submitterEmailstring optionalThe submitter's email address.
patternlength: 0–254classification: pii -
submitterPhonestring optionalThe submitter's telephone number.
length: 0–30classification: pii -
signatureDatedate optionalThe date the form is signed. The form's own signature line ("Signatur") is a wet-ink signature with no corresponding fillable field, so only the date is modelled, matching this registry's established precedent for flat, non-interactive specimen forms.
Verification record
Candidate selection
GOV-3288 ("GovSchema Standard Research") is the latest firing of this registry's recurring standard-research routine. CATALOG.md's "By Jurisdiction" table showed Norway at 4/6 (Passport and Taxes open). Four parallel scouting agents were dispatched this cycle across ~30 open jurisdiction/vertical gaps; Norway's Taxes gap came back as the strongest, cleanest candidate of the batch:
- NO Passport: re-confirmed a dead end.
politiet.no's passport application flow is a 100% in-person appointment/biometric process; a fresh HTML grep for.pdflinks across the booking flow found none. - NO Taxes: Skatteetaten's ordinary pre-filled
skattemeldingis filed exclusively through the BankID/ID-porten-gated online service, but Skatteetaten separately publishes, unauthenticated, a paper fallback for (a) forhåndsfastsetting requests and (b) privatpersoner who have not received their pre-filled return by 7 April — a live, no-login, no-CAPTCHA PDF.
A second candidate surfaced by the same research pass — Slovakia's 002-ziadost-o-narodne-vizum-SK.pdf ("national visa") — was independently re-checked and rejected before authoring: fetched both the national-visa and Schengen-visa PDFs from the same MZV SR document folder (via a Wayback Machine mirror, since live mzv.sk sits behind a Cloudflare challenge) and extracted both with pdfjs-dist. The two are a field-for-field match — same 33-item EU harmonized questionnaire, same checkboxes, same VIS/Schengen Borders Code prose in the declaration section — differing only in title. This is the same "national visa form reuses the EU harmonized Schengen template" pattern this registry has already found and declined for Czechia, Portugal, and Poland (see CATALOG.md's "Confirmed dead ends" section); it is recorded there as a fresh confirmation, not authored as a new schema.
Source
- URL:
https://www.skatteetaten.no/globalassets/skjema/alltid/ikke-forhandsutfylt-skattemelding.pdf - Fetched fresh this session with a plain HTTP GET (realistic browser
User-Agent, no cookies/session): HTTP 200,733,378bytes, genuine%PDF-1.4header, no login/CAPTCHA/WAF gate. Re-fetched a second time independently; both downloads share sha256f21f20dc81095119e0d83981d0c7e85a068ad8b09aa61c3431aff48210c38bdc, confirming the source is stable and not dynamically varied per-request. - The form carries no printed edition code/date (unlike this jurisdiction's
notification-of-move-within-norwayRF-1400B sibling, which prints "RF1400B - 2019" in its footer); it is Skatteetaten's current live download as of this cycle, cited by its own on-page title rather than a form number.
Extraction technique
pdfjs-dist v3.11.174 (legacy/build/pdf.js, from a disposable /tmp install) was used two ways:
page.getTextContent()per page — recovered every section heading, column label, and the full guidance/Veiledning prose on page 3, read in full to confirm which content is applicant-entered vs. purely informational.page.getAnnotations()per page — 0 Widget annotations across all 3 pages. This is a flat, non-interactive print-and-fill specimen, not an AcroForm — confirmed structurally, not just by visual inspection.- Rendered to PNG at 2x scale via
node-canvas(page.render()into a canvas, thencanvas.toBuffer('image/png')) for all 3 pages, then visually inspected. This was necessary because the flat PDF's extracted text alone does not reveal table structure (column boundaries, how many blank rows a repeating table actually prints) — only the rendered image shows, for example, that "Lønn mv" prints exactly 3 blank rows under its 3 column headers, not an open-ended table.
Field mapping (fields[] only; no documents[] — the form requests no
attachments)
115 fields, organized by the form's own section headings, in this order:
- Den skattepliktige (5 fields) — taxpayer name, fødselsnummer/ D-nummer, address, email, phone.
- Skattemeldingen gjelder for (3 fields) —
taxYear(integer),submissionReason(enum: Dødsbo / Utenlandsk arbeidstaker / Annet, matching the form's own three radio options exactly), andrequiresAdvanceAssessment(boolean, the Ja/Nei "Krever forhåndsfastsetting" choice). - Om utenlandsk arbeidstaker (7 fields) — gated with
visibleWhensubmissionReason equals "Utenlandsk arbeidstaker", since the section's own heading and the page-3 guidance text ("Utenlandsk arbeidstaker med midlertidig arbeidsopphold i Norge — Merk at du kun kan kreve forhåndsfastsetting hvis du...") tie it explicitly to that submission reason.foreignWorkerDaysAtSeaOrShelfadditionally carriesrequiredWhenforeignWorkerWorkedAtSeaOrShelf equals true(and the samevisibleWhen, for consistency with its sibling fields in the same block) — a real conditional dependency between two boxes on the form itself (the day-count box has no header of its own and only makes sense once "Arbeidet på sjø/sokkel" is answered Ja). - Lønn mv (9 fields) — a 3-column, 3-row wages table, modelled as
wage1Employer/wage1Period/wage1Amountthroughwage3..., following this registry's established bounded-repeating-group convention (e.g.dk/cpr/notification-of-entry'sentrantN...). All rows — including row 1 — arerequired: false: unlikedk/cpr's "always reporting at least one person" premise, a taxpayer filing this form for capital income alone could have zero wage rows to report. - Pensjon (15 fields) — 5-column, 3-row table (
pension1Payer/pension1Amount/pension1Type/pension1Grade/pension1Period×3), same convention, all optional. - Minstefradrag / Reiseutgifter / Merkostnader (3 fields) —
claimsMinimumDeduction(boolean; the form notes the deduction amount itself "beregnes automatisk," so only the claim checkbox is an applicant-entered field),travelExpenses,commuterAccommodationExpenses. - Andre fradrag knyttet til arbeid/øvrige fradrag (6 fields) — 2-column, 3-row table, same convention.
- Næringsinntekt (4 fields) —
businessType/businessIncome/businessCosts/businessNetIncome. Unlike every other table on this form, the rendered image shows only one row of cells under this section's two-column header (no 3-row grid) — modelled as a single non-repeating entry, notbusinessN..., since there is no second/third row printed on the source to justify a bounded-3 pattern here. - Bank (9 fields) — 3-column, 3-row table (
bank1Name/bank1DepositsOrDebt/bank1InterestIncomeOrExpense×3). - Finans (15 fields) — 5-column, 3-row table (
financial1Description/...ValueAtYearEnd/...GainDuringYear/...LossDuringYear/...DividendDuringYear×3). - Eiendom (21 fields) — 7-column, 3-row table (
property1AddressInfo/KNr/GNr/BNr/SNrFNr/Type/WealthValueShare×3).K.nr./G.nr./B.nr./S.nr. / F.nr.are the four components of the Norwegian matrikkel (cadastre) property identifier (kommunenummer/gårdsnummer/ bruksnummer/seksjonsnummer-or-festenummer); modelled as short strings rather than tightly-patterned integers, since the flat print form gives no ruled/boxed digit count to infer a precise length or numeric-only constraint from (unlike an AcroForm widget'smaxLen), and a festenummer in particular is not guaranteed to be purely numeric. - Annen formue (6 fields) and 13. Andre inntekter (6 fields) — both 2-column, 3-row tables, same convention.
- Innsendt av (5 fields) — mirrors "Den skattepliktige"'s 5 fields exactly (name/fødselsnummer/address/email/phone), for the case where someone other than the taxpayer files (e.g. an heir filing for a dødsbo). All optional, since the section is blank whenever the taxpayer files their own return.
- Signatur (1 field) —
signatureDateonly. The signature line itself has no fillable widget on this flat PDF (consistent with every other flat/non-AcroForm specimen already in this registry, e.g. the EU harmonized visa forms); no field models the wet-ink signature.
Every field's sourceRef cites its exact section heading and column label as printed on the form, in the applicant-facing language (Norwegian) the form itself uses, matching this registry's convention of quoting the source's own printed text rather than a translated paraphrase.
Conformance run
Two valid scenarios plus six single-violation mutation-control fixtures were authored with synthetic (non-real) data and checked against a disposable from-scratch checker script (/tmp/no-tax-gen/checker.mjs, not reused from any prior cycle) that evaluates every field's required/requiredWhen/visibleWhen/ validation (pattern, enum, minimum/maximum, minLength/ maxLength):
foreign-worker-sea-shelf-valid.json— a foreign worker requesting advance assessment, working at sea/shelf with the day-count filled in (exercises therequiredWhenpath positively). 0 errors.privatperson-full-income-picture-valid.json— an ordinary privatperson filing (not a foreign worker, so the foreign-worker block is correctly absent/not visible), with at least one entry in every repeating table (wages, pension, bank, financial, property, other assets, other income) plus business income and a submitter block. 0 errors.invalid-missing-taxpayer-name.json— drops the unconditionally-requiredtaxpayerFullName. 1 error.invalid-missing-tax-year.json— drops the unconditionally-requiredtaxYear. 1 error.invalid-malformed-national-id.json—taxpayerNationalIdset to a 6-digit string, violating the 11-digitpattern. 1 error.invalid-submission-reason-enum.json—submissionReasonset to"Ferie", not one of the form's three printed options. 1 error.invalid-malformed-email.json—taxpayerEmailset to a string with no@. 1 error.invalid-sea-shelf-requiredwhen-violation.json— starts from the sea/shelf-valid fixture and dropsforeignWorkerDaysAtSeaOrShelf, whileforeignWorkerWorkedAtSeaOrShelfstaystrue— exercises therequiredWhenpath negatively. 1 error (foreignWorkerDaysAtSeaOrShelf: required but missing), confirming the conditional-requiredness logic is correctly enforced, not silently skipped.
All eight fixtures produced exactly the error count listed above — no false positives on the two valid fixtures, no false negatives (more than the intended 1 error) on any mutation-control fixture. Both node tools/validate.mjs and node tools/validate-ajv.mjs also pass for the schema document itself; registry-index.json was regenerated via npm run build-index and the full registry re-validated at 501/501 documents passing (up from 500 before this addition).
Disclosed judgment calls
- No
documents[]entries. Unlike this jurisdiction'snotification-of-move-within-norwaysibling (which requires an identification copy), this form's own text requests no attachment — Skatteetaten's guidance describes it as a self-contained paper submission, sodocumentsis correctly absent rather than an empty array-with-nothing-to-say. - Bounded-3 repeating groups for every table except Næringsinntekt are inferred from the rendered image's visible row count (3 blank rows under every column header), not from any printed instruction stating a maximum; the form gives no indication of what to do if a taxpayer has a 4th employer or bank account. This is disclosed here rather than invented as a stated cap, following this registry's "spec precision over cleverness" convention of not asserting a constraint the source does not actually state.
- Matrikkel identifier fields (
KNr/GNr/BNr/SNrFNr) are modelled as short free-text strings rather than integers or a tightly-derived digit-count pattern, for the reason given in the field-mapping section above (no ruled boxes to measure on a flat, non-AcroForm PDF). fødselsnummer/D-nummerpattern (^[0-9]{11}$) follows this registry's existing Norwegian precedent (no/skatteetaten/notification-of-move-within-norway), even though a D-nummer is structurally a fødselsnummer with the first digit offset by 4 — both share the same 11-digit printed format the form itself asks for, and the form's own label ("Fødselsnummer/D-nummer") treats them as one field, not two.taxYearbounds (2000–2100) are a deliberately generous sanity range, not a source-stated constraint (the form prints a blank "Årstall" box with no printed range), consistent with this registry's convention of using wide, clearly-labeled-as-generic bounds when the source itself does not state one.
View the raw record (VERIFICATION.md)
Version history
-
1.0.0draftlatestthis pagehas verification recordschema.json
Independent and non-affiliated
GovSchema is an independent, open-source project. This reference is not produced, reviewed, or endorsed by Skatteetaten (the Norwegian Tax Administration) or any government. The authoritative source is always the live government form and its official instructions.