If you invoice from Sweden, two things changed today.
The Peppol network applies seven Swedish rules. We used to check none of them
Sweden has a national rule family in the Peppol rulebook — seven fatal rules on
top of the universal ones. Until today, getpeppr had no Swedish cartridge, so a
Swedish invoice went straight to the provider. We answered 201, you saw a
success, and if the network refused the document it did so afterwards and
somewhere else.
That is the worst shape a failure can take: you have already told your customer the invoice is on its way.
Two of those rules are now checked before anything leaves.
A missing organisationsnummer returns 422 with the code SE-R-003:
Swedish suppliers must include an organisationsnummer. Register one on the Peppol identity page (scheme
0007) — the Peppol network rejects Swedish invoices without it.
A standard VAT rate outside 6 %, 12 % or 25 % returns 422 with the code
SE-R-006. Sweden allows exactly those three rates at the standard rate, and
the network refuses anything else. This covers your invoice lines and your
document-level allowances and charges — the Peppol rule applies to the tax
category of all three, so checking only lines would have let a 21 % delivery
charge through to a rejection you would never have seen coming.
Both responses carry the official rule page in a docs field, so you can read
the rule rather than take our word for it.
What this changes for you
A request that used to return 201 can now return 422. It was never going to
arrive — the difference is that you find out synchronously, with a message that
says what to do, instead of chasing a rejection later.
The VAT one deserves a word, because it is the first time we refuse an invoice on a commercial value rather than the shape of an identifier. If you send a Swedish standard-rated line at 21 %, we now stop it. We are not advising you on tax: we are repeating what the Swedish rulebook allows, and refusing early rather than late. If a line genuinely is not standard-rated, classify it in the VAT category that fits and the rule no longer applies to it.
Sweden is self-serve
Sweden moves from assisted to ready on our countries page. What that changes is who is in the loop: no call with us, no manual approval on our side. You register your own identifiers and send.
Two independent things had to be true for that, and both now are. Your organisationsnummer is verified automatically against Bolagsverket — that half has been in place for a while. And nothing national is left unaccounted for on the send path, which is what shipped today. Norway is the country that shows these halves are genuinely independent: its national family is fully accounted for and it stays assisted, because no registry verifies Norwegian identifiers yet.
We did not take our own word for either half. A Swedish invoice was sent for real through the Peppol test network, and we read back the document the network actually received — not the one our code thought it was sending. Your organisationsnummer arrives where the Swedish rules look for it, your VAT number arrives in the shape they require, and the one rule whose status we could not settle from reading code is now settled from the wire. That is the same standard we held the Netherlands, Denmark and Norway to, and Sweden did not move to self-serve until it met it.
One thing to register before your first send
Not obvious, and we measured it rather than assumed it: an invoice that
carries VAT also needs a VAT identifier on your legal entity, not only the
organisationsnummer. Without one you get 422 sender_tax_identifier_missing.
It is a clean refusal — nothing leaves, and the message says what is missing — but it surprises you if you expected the orgnr to be enough. Register both and the path is clear. This is not a Swedish rule: it applies to every sender whose invoice carries VAT.
Three bounds worth stating
Saying "Swedish rules are now checked" without these would be too strong.
- It covers the JSON send path —
POST /v1/invoicesand the server-side validator.POST /v1/invoices/import, where you supply your own UBL, runs no country cartridge; that document is judged by the UBL validator instead, and underx-skip-validationby nothing at all. - Two rules are checked here, not seven. The other five are accounted for by other parts of the send path — the identifier you register, and the universal tax-identity guard — rather than by this check. We publish the breakdown rule by rule rather than a reassuring total.
SE-R-006only judges what is sent at the standard rate. A line, allowance or charge in another VAT category is outside the rule's scope on the network, so it is outside ours too. Being stricter than the network is its own kind of bug — and one case is subtler than it looks: a standard-rated item at 0 % is sent as zero-rated, because a standard rate of zero is invalid everywhere in Peppol. We do not refuse it, because the network does not either.
If your address is Swedish but your VAT is not
Country rules follow the postal address for Sweden — that is what the Swedish rulebook keys on, unlike Norway, which keys on the VAT prefix. A seller addressed in Sweden and registered for Norwegian VAT is judged by both families on the network, and now by both here too.