ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

SAF-T — accounting reporting mandatory (on demand) since 2020

SAF-T stands for Standard Audit File for Tax: a standardised export format for accounting data, originally defined by the OECD. For newcomers: picture a "universal PDF of your general ledger" that any tax administration can read. In Norway, SAF-T Financial is mandatory on demand from the administration since 1 January 2020: it is not a real-time feed, but a file you must produce during an audit.

History — from the OECD standard to the 2020 mandate

The OECD published the SAF-T recommendation in 2005 to standardise accounting exports during tax audits. Norway published its SAF-T Financial specification via Skatteetaten in 2016, with a long voluntary period. On 1 January 2020 the file became mandatory on demand: a company does not send it spontaneously every month, but must be able to generate it if Skatteetaten requests it (typically during an audit).

text saf-t-norway-timeline.txt
2005       | The OECD publishes the SAF-T (Standard Audit File for Tax)
           | v1.0 recommendation — a standardised accounting export
           | format for tax audits.
           |
2016       | Skatteetaten (Norwegian tax administration) publishes the
           | Norwegian SAF-T Financial specification and a voluntary
           | usage period.
           |
2017-2019  | Pilots and accounting-software testing. The NO SAF-T
           | Financial schema stabilises (standardised VAT codes).
           |
2020       | 1 January: SAF-T Financial becomes MANDATORY on demand.
           | Any entity required to keep digital accounting must be able
           | to produce the file when Skatteetaten requests it.
           |
2022       | The new MVA-melding (digital VAT return) builds on the SAF-T
           | VAT codes — convergence of reporting + accounting.
           |
2023-2026  | SAF-T Financial maintained. Extension work (Cash Register,
           | Payroll) and alignment with the DRR/ViDA trajectory.

Governance — Skatteetaten

Skatteetaten (the Norwegian Tax Administration) publishes and maintains the SAF-T Financial schema, the standardised VAT codes, the standardised accounts (StandardAccountID) and the technical documentation. The legal basis sits in the bookkeeping act and regulation (Bokføringsloven / Bokføringsforskriften), which require accounting systems to be able to export in SAF-T format.

Skatteetaten also coordinates the use of SAF-T codes with the MVA-melding (digital VAT return, see the MVA page), so that accounting and tax reporting speak the same code vocabulary since 2022.

Technical schema — SAF-T Financial XML

The NO SAF-T Financial file is an XML structured in two main blocks:

  • Header — company identity (organisasjonsnummer), period, currency, schema version.
  • MasterFiles — chart of accounts (GeneralLedgerAccounts) mapped to the standardised accounts, VAT table (TaxTable), customers (Customers), suppliers (Suppliers).
  • GeneralLedgerEntries — the detailed accounting entries, journal by journal, line by line.

The key Norwegian point is the StandardAccountID: each internal account must be mapped to a standardised account (2- or 4-digit model), which lets Skatteetaten compare heterogeneous ledgers.

xml saf-t-financial-no.xml
<?xml version="1.0" encoding="UTF-8"?>
<AuditFile xmlns="urn:StandardAuditFile-Taxation-Financial:NO">
  <Header>
    <AuditFileVersion>1.10</AuditFileVersion>
    <AuditFileCountry>NO</AuditFileCountry>
    <Company>
      <RegistrationNumber>991825827</RegistrationNumber>
      <Name>Bergen Maritime Engineering AS</Name>
    </Company>
    <DefaultCurrencyCode>NOK</DefaultCurrencyCode>
    <SelectionCriteria>
      <PeriodStart>1</PeriodStart>
      <PeriodStartYear>2026</PeriodStartYear>
      <PeriodEnd>12</PeriodEnd>
      <PeriodEndYear>2026</PeriodEndYear>
    </SelectionCriteria>
  </Header>

  <MasterFiles>
    <GeneralLedgerAccounts>
      <Account>
        <AccountID>3000</AccountID>
        <AccountDescription>Salgsinntekt, avgiftspliktig</AccountDescription>
        <StandardAccountID>30</StandardAccountID>
      </Account>
    </GeneralLedgerAccounts>
    <TaxTable>
      <TaxTableEntry>
        <TaxCode>3</TaxCode>          <!-- MVA 25% output -->
        <Description>Utgaaende mva, hoy sats</Description>
        <StandardTaxCode>3</StandardTaxCode>
        <Percentage>25</Percentage>
      </TaxTableEntry>
    </TaxTable>
  </MasterFiles>
</AuditFile>

SAF-T NO vs Portugal vs Poland JPK

DimensionSAF-T NorwaySAF-T PortugalJPK Poland
BaseOECD SAF-TOECD SAF-TOECD SAF-T (derived)
FrequencyOn demand (audit)Periodic + invoicingMandatory monthly
ScopeFinancial (accounting)Accounting + invoicingJPK_VAT, JPK_FA, etc.
VAT codesStandardised SkatteetatenStandardised ATStandardised MF
Standard accountsStandardAccountIDSNC chartPolish chart
Since2020 (mandatory)2008+2016-2018

Adoption — who is affected

  • Companies with digital accounting. The obligation targets entities required to keep accounts whose entries are electronic, above turnover and entry-volume thresholds.
  • Accounting software vendors. All major products on the Norwegian market (Visma, Tripletex, PowerOffice, Unimicro, Fiken) natively generate SAF-T Financial.
  • Firms and auditors. The file has become the standard exchange tool during audits and assurance engagements.
  • VAT convergence. Since 2022 the same codes feed the MVA-melding — SAF-T adoption is now inseparable from VAT reporting.

Common pitfalls

  • Assuming SAF-T = monthly submission. In Norway it is produced on demand. The periodicity is the MVA-melding, not SAF-T Financial.
  • Forgetting the StandardAccountID mapping. A chart of accounts without mapping to the standardised accounts makes the file invalid.
  • Wrong VAT codes. Using internal codes not aligned with the Skatteetaten standard table breaks consistency with the MVA-melding.
  • Encoding / characters. UTF-8 mandatory; badly encoded æ, ø, å break the import on the administration side.
  • Confusing SAF-T and e-invoice. SAF-T is an accounting export, EHF is a transactional invoice. Two distinct worlds.