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.

PEPPOL BIS Billing 3.0 — the Swedish spec

PEPPOL BIS Billing 3.0 is the single format imposed for B2G invoicing in Sweden since 1 April 2019. The CIUS Sweden adds a dozen national SE-* rules maintained by DIGG and SFTI, and coexists with the SveFaktura legacy (pre-PEPPOL national format used 2003-2019).

PEPPOL BIS Billing 3.0 specification

PEPPOL BIS Billing 3.0 was adopted in Sweden as the single format replacing SveFaktura SFTI (see below). Specification hierarchy:

  • UBL 2.1 (XML syntax, OASIS) — root
  • EN 16931 (European semantics, CEN) — core
  • PEPPOL BIS Billing 3.0 (PEPPOL profile, OpenPEPPOL) — profile
  • CIUS Sweden (national rules DIGG/SFTI) — SE-* extensions

Sweden automatically adopts each semi-annual OpenPEPPOL release (May / November). No local freeze as in France (FNFE-MPE). No parallel spec as in Germany with XRechnung.

CIUS Sweden — SE-* rules

The CIUS Sweden (Core Invoice Usage Specification) is jointly maintained by DIGG (legal aspect) and SFTI (retail/industry business aspect). It adds a dozen national business rules without modifying the semantic model:

RuleDescriptionSeverity
SE-R-001 BT-29 (sender orgnummer) at schemeID 0007 mandatory if sender country = SE fatal
SE-R-002 BT-49 (receiver orgnummer) at schemeID 0007 mandatory if receiver country = SE fatal
SE-R-003 SE orgnummer must be 10 digits with valid Luhn checksum fatal
SE-R-004 BT-31 (sender VAT) in SE + 12-character format if applicable fatal
SE-R-005 BT-84 (PayeeFinancialAccount/ID) SE IBAN 24 characters or Bankgiro 7-8 digits or Plusgiro 1-7 digits fatal
SE-R-006 BT-83 (PaymentID) — Bankgirot OCR reference (25-character reference including checksum) warning
SE-R-007 VAT code AE (reverse charge) with Swedish exemption text mandatory if sender country = SE fatal
SE-R-008 BT-3 (InvoiceTypeCode) limited to 380 (invoice), 381 (credit note), 384 (correcting invoice), 386 (prepayment) fatal
SE-R-009 BT-23 (Buyer reference) mandatory for B2G — often kommun/region registration number fatal
SE-R-010 Currency SEK or EUR mandatory warning
SE-R-011 BT-90 (BIC) mandatory if foreign IBAN (non-SE) warning
SE-R-012 Invoice date (BT-2) cannot be > 90 days in the past warning

SveFaktura legacy (2003-2019)

Before PEPPOL, Sweden used SveFaktura, a national e-invoicing format developed in 2003 by the SFTI project for the public sector and industry. SveFaktura was used for 16 years before being gradually replaced by PEPPOL BIS:

  • Origin: published by SFTI (Single Face To Industry), a collective bringing together Ekonomistyrningsverket (ESV), SKL (now SKR) and Verva (former e-government office).
  • Technical format: XML based on EDIFACT D96A INVOIC (with a custom schema), no EN 16931 alignment (which didn't exist in 2003).
  • Adoption: ~90% of Swedish B2G invoices were in SveFaktura in 2015 (before the PEPPOL pivot).
  • Versions: SveFaktura 1.0 (2003), SveFaktura 1.1 (2009), SveFaktura 1.2 (2015 — last version before deprecation).
  • Deprecation: announced by DIGG in 2017, official support withdrawn on 1 April 2019 (entry into force of Lag 2018:1277 mandate). Some residual SveFaktura flows until 2022.

SveFaktura → PEPPOL UBL mapping

For migration, DIGG and SFTI published a SveFaktura 1.2 → PEPPOL BIS Billing 3.0 mapping guide. Main mappings:

  • SveFaktura/Header/Invoice/InvoiceNumbercbc:ID (BT-1)
  • SveFaktura/Header/Invoice/InvoiceDatecbc:IssueDate (BT-2)
  • SveFaktura/Header/Invoice/DueDatecbc:DueDate (BT-9)
  • SveFaktura/Parties/Supplier/OrganisationNumbercac:PartyLegalEntity/cbc:CompanyID[@schemeID=0007] (BT-30)
  • SveFaktura/Parties/Buyer/OrganisationNumbercac:AccountingCustomerParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID[@schemeID=0007] (BT-47)
  • SveFaktura/Payment/Bankgirocbc:ID in PayeeFinancialAccount (BT-84) with ID schemeID="SE:BANKGIRO"
  • SveFaktura/Lines/Line/Descriptioncac:Item/cbc:Name (BT-153)

The full guide is available on sfti.se with samples and transformation XSLT.

SFTI — Single Face To Industry

SFTI (Single Face To Industry) is a Swedish public-private cooperation collective founded in 2003 to standardise electronic exchanges between the public sector and its suppliers. Members:

  • Public side: Ekonomistyrningsverket (ESV), SKR (Sveriges Kommuner och Regioner), Upphandlingsmyndigheten, DIGG.
  • Private side: Svenskt Näringsliv (employer confederation), Svensk Handel (commerce), Företagarna (SMEs), plus about fifty ERP vendors (Visma, Fortnox, Hogia, Briljant Ekonomi).
  • Current role: co-maintenance of CIUS Sweden, publication of business guides, training for ERP vendors. Monthly technical forum.
  • Documentation: sfti.se — PEPPOL guides in Swedish, sectoral mappings, Schematron schemas.

SE invoice sample

xml peppol-bis-sweden-invoice.xml
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
         xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
         xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
  <cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</cbc:CustomizationID>
  <cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
  <cbc:ID>SE-INV-2026-00412</cbc:ID>
  <cbc:IssueDate>2026-05-21</cbc:IssueDate>
  <cbc:DueDate>2026-06-20</cbc:DueDate>
  <cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
  <cbc:DocumentCurrencyCode>SEK</cbc:DocumentCurrencyCode>
  <cbc:BuyerReference>2026-PO-9821</cbc:BuyerReference>
  <cac:AccountingSupplierParty>
    <cac:Party>
      <cbc:EndpointID schemeID="0007">5560330923</cbc:EndpointID>
      <cac:PartyName><cbc:Name>Acme Sverige AB</cbc:Name></cac:PartyName>
      <cac:PostalAddress>
        <cbc:StreetName>Sveavägen 100</cbc:StreetName>
        <cbc:CityName>Stockholm</cbc:CityName>
        <cbc:PostalZone>11346</cbc:PostalZone>
        <cac:Country><cbc:IdentificationCode>SE</cbc:IdentificationCode></cac:Country>
      </cac:PostalAddress>
      <cac:PartyTaxScheme>
        <cbc:CompanyID>SE556033092301</cbc:CompanyID>
        <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
      </cac:PartyTaxScheme>
      <cac:PartyLegalEntity>
        <cbc:RegistrationName>Acme Sverige AB</cbc:RegistrationName>
        <cbc:CompanyID schemeID="0007">5560330923</cbc:CompanyID>
      </cac:PartyLegalEntity>
    </cac:Party>
  </cac:AccountingSupplierParty>
  <cac:AccountingCustomerParty>
    <cac:Party>
      <cbc:EndpointID schemeID="0007">2120000282</cbc:EndpointID>
      <cac:PartyName><cbc:Name>Kammarkollegiet</cbc:Name></cac:PartyName>
      <cac:PartyTaxScheme>
        <cbc:CompanyID>SE212000028201</cbc:CompanyID>
        <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
      </cac:PartyTaxScheme>
    </cac:Party>
  </cac:AccountingCustomerParty>
  <cac:PaymentMeans>
    <cbc:PaymentMeansCode>30</cbc:PaymentMeansCode>
    <cbc:PaymentID>SE-INV-2026-00412</cbc:PaymentID>
    <cac:PayeeFinancialAccount>
      <cbc:ID>SE3550000000054910000003</cbc:ID>
      <cac:FinancialInstitutionBranch>
        <cbc:ID>ESSESESS</cbc:ID>
      </cac:FinancialInstitutionBranch>
    </cac:PayeeFinancialAccount>
  </cac:PaymentMeans>
  <cac:TaxTotal>
    <cbc:TaxAmount currencyID="SEK">2500.00</cbc:TaxAmount>
    <cac:TaxSubtotal>
      <cbc:TaxableAmount currencyID="SEK">10000.00</cbc:TaxableAmount>
      <cbc:TaxAmount currencyID="SEK">2500.00</cbc:TaxAmount>
      <cac:TaxCategory>
        <cbc:ID>S</cbc:ID>
        <cbc:Percent>25</cbc:Percent>
        <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
      </cac:TaxCategory>
    </cac:TaxSubtotal>
  </cac:TaxTotal>
  <cac:LegalMonetaryTotal>
    <cbc:LineExtensionAmount currencyID="SEK">10000.00</cbc:LineExtensionAmount>
    <cbc:TaxExclusiveAmount currencyID="SEK">10000.00</cbc:TaxExclusiveAmount>
    <cbc:TaxInclusiveAmount currencyID="SEK">12500.00</cbc:TaxInclusiveAmount>
    <cbc:PayableAmount currencyID="SEK">12500.00</cbc:PayableAmount>
  </cac:LegalMonetaryTotal>
  <cac:InvoiceLine>
    <cbc:ID>1</cbc:ID>
    <cbc:InvoicedQuantity unitCode="C62">2</cbc:InvoicedQuantity>
    <cbc:LineExtensionAmount currencyID="SEK">10000.00</cbc:LineExtensionAmount>
    <cac:Item>
      <cbc:Name>Consulting service - May 2026</cbc:Name>
      <cac:ClassifiedTaxCategory>
        <cbc:ID>S</cbc:ID>
        <cbc:Percent>25</cbc:Percent>
        <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
      </cac:ClassifiedTaxCategory>
    </cac:Item>
    <cac:Price>
      <cbc:PriceAmount currencyID="SEK">5000.00</cbc:PriceAmount>
    </cac:Price>
  </cac:InvoiceLine>
</Invoice>