Saftlint
Sources

Documentation conflicts

When official sources give different answers, Saftlint records and applies a conservative disposition. A file is not rejected solely because one source conflicts with another official source that permits the content.

Warnings are shown only when a file actually touches a relevant conflict. Other entries remain visible here as validation limitations.

Official code-list files use misleading types and inconsistent encodings

CONFLICT-CODELIST-PACKAGING-001

The file published as STAT_Grouping_Category_Code.csv is an XLSX/ZIP workbook. The KOSTRA files use Windows-1252 and a different column order.

Disposition
Original artifacts and checksums are preserved. Ingestion and tests are format-aware.
Validation output
Recorded in the catalogue; not emitted for every file.
Sources
Offisielt SAF-T-register, revisjon 021ede90bce361e285229da15aa2ba93831a3f0d

Public pages and the repository describe different testing access

CONFLICT-TEST-SUBMISSION-001

The public page says test submission is unavailable, while the repository says a replacement is ready for invited testing.

Disposition
Public test submission is described as unavailable; the repository note is treated as limited, invitation-only testing.
Validation output
Recorded in the catalogue; not emitted for every file.
Sources
Skatteetaten: Testinnsending; Offisielt SAF-T-register: New submission solution

SourceDocuments has conflicting status

CONFLICT-SOURCEDOCUMENTS-001

The documentation describes SourceDocuments as future content, the XSD permits the structures but marks the section Not in use, and the repository says the complete format becomes available on 1 January 2027.

Disposition
An empty SourceDocuments container is accepted. Content produces a warning and is not semantically evaluated.
Validation output
Emitted as a warning when the file touches this entry.
Sources
Dokumentasjon v1.7; SAF-T Financial 1.40 XSD; Offisielt register: Including SourceDocuments 01.01.2027

XSD identity constraints are not enforced reliably

CONFLICT-XSD-IDENTITY-001

The XSD declares keys and references, but the documentation says uniqueness is not validated during transfer, and the selectors do not work with the target namespace in tested standard validators.

Disposition
Saftlint implements reviewed relationships explicitly and does not claim that the XSD covers the remainder.
Validation output
Recorded in the catalogue; not emitted for every file.
Sources
SAF-T Financial 1.40 XSD; Teknisk beskrivelse s. 7

The official example breaks the Owner account reference

CONFLICT-OWNER-ACCOUNT-001

The XSD declares that Owner/AccountID references GeneralLedgerAccounts, but the official example uses accounts 2250 and 1370 without exporting them as ledger accounts.

Disposition
The reference is not enforced until the Norwegian Tax Administration resolves the conflict.
Validation output
Recorded in the catalogue; not emitted for every file.
Sources
SAF-T Financial 1.40 XSD; Offisielt 1.40-eksempel

The currency equation is contradicted by the official example

CONFLICT-CURRENCY-EQUATION-001

The technical description states CurrencyAmount × ExchangeRate = Amount. The official example contains values that do not satisfy the equation.

Disposition
Saftlint does not enforce the equation until rounding and the example are clarified.
Validation output
Recorded in the catalogue; not emitted for every file.
Sources
Teknisk beskrivelse s. 39; Offisielt 1.40-eksempel

The documentation shows the wrong element name for NOK amounts

CONFLICT-NOK-ELEMENT-001

The technical description shows Amount under DebitNOKTaxAmount, while the XSD and official example require NOKAmount.

Disposition
The XSD controls structural validation.
Validation output
Recorded in the catalogue; not emitted for every file.
Sources
Teknisk beskrivelse s. 49; SAF-T Financial 1.40 XSD

The FAQ disagrees with the 1.40 XSD about address fields

CONFLICT-ADDRESS-CARDINALITY-001

The FAQ says City and PostalCode are mandatory, while the 1.40 XSD and change history make both optional.

Disposition
The versioned 1.40 XSD controls validation.
Validation output
Recorded in the catalogue; not emitted for every file.
Sources
Skatteetaten: Spørsmål og svar; Dokumentasjon v1.7; SAF-T Financial 1.40 XSD

The Owner/AccountID change text mixes minimum and maximum cardinality

CONFLICT-OWNER-CARDINALITY-001

The documentation says AccountID changed from 1 to unbounded while also stating 0..U. The XSD uses 0..U.

Disposition
The text is interpreted as changing the maximum from one to unbounded; the minimum remains zero.
Validation output
Recorded in the catalogue; not emitted for every file.
Sources
Dokumentasjon v1.7; Offisielt register: About SAF-T Financial schema v1.40; SAF-T Financial 1.40 XSD

The mandatory 2027 format lacks a 2027 grouping list

CONFLICT-GROUPING-YEARS-001

SAF-T 1.40 becomes the only valid format from 2027, but the official repository only contains grouping lists for 2025–2026.

Disposition
Saftlint warns and does not reject account mappings for years without a published list.
Validation output
Emitted as a warning when the file touches this entry.
Sources
Skatteetaten: SAF-T-dokumentasjon; Offisielt SAF-T-register

The technical description and XSD disagree about negative amounts

CONFLICT-SIGNED-AMOUNTS-001

The technical description says signs must be avoided because the debit or credit element expresses direction. The DebitCreditIndicator XSD annotation nevertheless says that a return can produce a negative amount.

Disposition
Signs are reported conservatively as a warning until the Norwegian Tax Administration clarifies whether negative return amounts are allowed.
Validation output
Emitted as a warning when the file touches this entry.
Sources
Teknisk beskrivelse s. 8; SAF-T Financial 1.40 XSD: DebitCreditIndicator

The stated applicability period for standard VAT codes ends in 2021

CONFLICT-VAT-CODE-PERIOD-001

Guide v1.14 describes the standard VAT/tax codes for 2012–2021, while the same XML code list is used in the SAF-T Financial 1.40 material published in 2026 without updated effective dates.

Disposition
The codes are used for structural mapping checks, but Saftlint does not claim that their tax applicability after 2021 has been resolved.
Validation output
Recorded in the catalogue; not emitted for every file.
Sources
Standard VAT/Tax Codes v1.14; SAF-T Financial 1.40-kodeliste

Municipal KOSTRA CSV and XML disagree about codes 452–454

CONFLICT-KOSTRA-452-454

The CSV publishes KA_K/452, KA_K/453 and KA_K/454. The XML labels 452 and 453 as KA_KS and omits 454.

Disposition
The union is accepted to avoid false errors. An affected file receives a source-conflict warning.
Validation output
Emitted as a warning when the file touches this entry.
Sources
KOSTRA_Arts_kommuner.csv; KA_K_Grouping_Category_Code.xml