Receipt Compliance
This page documents the mandatory receipt fields and formatting rules required by Swedish cash register regulations (SKVFS 2021:17). POS providers must ensure their receipt output meets these requirements for all five fiscal document types.
Mandatory receipt fields
Section titled “Mandatory receipt fields”Every kassakvitto (standard cash register receipt) must include the following 13 fields as defined by SKVFS 2021:17:
| # | Field | Swedish Name | Description | Source |
|---|---|---|---|---|
| 1 | Business name | Företagsnamn | Company or individual name as registered with Skatteverket | Taxpayer name |
| 2 | Organisation number | Organisationsnummer | 10-digit org number (companies) or 12-digit personnummer (individuals) | Taxpayer fiscalization.tax_id_number |
| 3 | Business address | Försäljningsställets adress | Address of the physical location where the sale occurs | Location address |
| 4 | Date and time | Datum och tid | Timestamp of when the receipt was issued | Record issued_at |
| 5 | Receipt number | Löpnummer | Sequential number unique within the cash register | Record document.number |
| 6 | Item descriptions | Benämning | Description of each good or service sold | Entry data.text |
| 7 | Item prices | Pris per vara | Price per item including VAT | Entry data.value |
| 8 | Total amount | Totalbelopp | Total amount paid by the customer, including VAT | totals.vat.inclusive |
| 9 | VAT per rate | Moms per momssats | VAT amount broken down by applicable rate (25%, 12%, 6%, 0%) | breakdown[] entries |
| 10 | Payment method | Betalningssätt | How the customer paid (cash, card, etc.) | payments[] |
| 11 | Kassabeteckning | Kassabeteckning | Cash register designation — the 16-character tillverkningsnummer | System compliance data |
| 12 | Control code | Kontrollkod/Avstämningskod | The 113-character control code returned by the signing service | Record compliance artifact |
| 13 | TCS Control Server ID | Kontrollserverns ID | The 17-character identifier of the signing server: ISTCSKS0000000011 | Static value |
The control code (113 characters) must be printed in full on the receipt. It may span multiple lines but must be clearly identifiable. Common practice is to print it at the bottom of the receipt, before or after the kassabeteckning.
Per-document-type requirements
Section titled “Per-document-type requirements”Kassakvitto (standard receipt)
Section titled “Kassakvitto (standard receipt)”The standard cash register receipt. All 13 mandatory fields above apply. This is the most common document type.
- Control code: Required — 113 characters from the signing service
- Counters updated: A (sale amount), C (VAT), E (receipt count)
Returkvitto (return receipt)
Section titled “Returkvitto (return receipt)”Issued for full or partial refunds. Same mandatory fields as kassakvitto, plus:
- Must reference the original receipt number in
document.references - Refund amounts must be positive absolute values — the signing service prohibits negative amounts
- Uses
RETURNentry type (notSALEwith negative values) - Control code: Required
- Counters updated: B (return amount), E (receipt count)
The signing service strictly rejects negative values in refund amounts. Always
provide refund amounts as positive absolute values. The entry type: "RETURN"
signals to the system that this is a refund.
Kvittokopia (receipt copy)
Section titled “Kvittokopia (receipt copy)”A copy of a previously issued receipt. Additional requirements beyond the standard fields:
- Must display the text “Kopia” at 2x the standard font size — clearly visible and unambiguous
- Only one copy per original receipt is permitted
- The copy carries its own unique control code (different from the original)
- Contains two timestamps: original receipt timestamp and copy timestamp
- Contains two sequence numbers: original receipt number and copy number
- Counters updated: F (copy count)
- Uses
INTENTION::DUPLICATEfollowed byTRANSACTION::RECEIPT
Creating a receipt copy requires the INTENTION::DUPLICATE record type
(not INTENTION::TRANSACTION), followed by the standard
TRANSACTION::RECEIPT. The intention references the original record.
Pro forma-kvitto (pro forma receipt)
Section titled “Pro forma-kvitto (pro forma receipt)”A non-binding document used for price quotes or pre-payment scenarios. Not a legal receipt.
- Must display the text “Ej kvitto” (Not a receipt) — clearly visible
- Control code: Empty — the signing service returns an empty control code for pro forma documents
- The empty control code field must still be present on the printout (may be blank or show ”---”)
- Counters updated: H (pro forma count) only
- No effect on sales or VAT counters
Övningskvitto (training receipt)
Section titled “Övningskvitto (training receipt)”Issued during staff training with no legal fiscal effect.
- Must be clearly identifiable as a training receipt (recommended: display “Övningskvitto” or “Training”)
- Control code: Empty — no cryptographic signing performed
- Uses a separate sequence number series from normal receipts — training receipt numbers must not interfere with the production numbering
- Training is a per-request option (
RecordTrainingOption), not a system-level mode switch - Counters updated: G (training count) only
- No effect on sales, return, or VAT counters
The signing service does not have a system-level “training mode”. Training is specified
per-request via the details.training field in the TRANSACTION payload. This
means a single system can issue both production and training receipts without
switching modes.
Offline receipt (Kontantnota)
Section titled “Offline receipt (Kontantnota)”When the signing service is unreachable (Status Code 2: NO_CONTACT_WITH_KS), a kontantnota must be issued:
- Display the mandatory text: “Kvitto får skrivas ut - ej registrerat i kontrollservern”
- The kontantnota is a manual handwritten cash invoice — not an electronic receipt
- No control code is available (field should indicate offline status)
- The merchant is responsible for issuing the handwritten document
- When connectivity is restored, the POS resumes normal electronic operation
Formatting guidelines
Section titled “Formatting guidelines”While SKVFS 2021:17 does not mandate specific fonts or layout, the following best practices ensure compliance:
- All mandatory fields must be legible and clearly identifiable
- The control code (113 chars) should not be truncated or abbreviated
- The “Kopia” marking on receipt copies must be at least 2x standard font size
- The “Ej kvitto” marking on pro forma receipts must be prominent
- Amounts should clearly indicate the currency (SEK)
- VAT breakdown should list each applicable rate separately with both percentage and amount
Internal: TCS receipt type codes
For reference, these are the internal receipt type codes used by the underlying Tax Compliance System (TCS). Integrators do not need to set these — the UAPI maps document types automatically.
| Document type | TCS receipt type |
|---|---|
| Kassakvitto (standard receipt) | normal |
| Returkvitto (return receipt) | normal (with RefundAmount) |
| Kvittokopia (receipt copy) | kopia |
| Pro forma-kvitto | profo |
| Övningskvitto (training) | ovning |
Was this page helpful?