Tjeckiska EET 2.0 från 1 januari 2027: vad specialutvecklade kassa- och kiosksystem måste klara

Den tjeckiska försäljningsregistreringen är tillbaka. President Petr Pavel skrev under lagen om EET 2.0 den 17 september 2026, och skatteförvaltningens tillkännagivande är tydligt om datumet: skyldigheten att registrera försäljning börjar 1 januari 2027. Den gäller kontaktbetalningar mellan företag och kund, inklusive alla kontantbetalningar. Kontanter, kort, telefon eller QR-kod: om kunden betalar på plats eller i dina lokaler skickas försäljningen till skattemyndigheten i samma stund.
För de flesta små handlare innebär det en uppdatering från leverantören eller en kostnadsfri statlig webbapp. För kedjor som kör egen kassaprogramvara, självbetjäningskiosker eller en betalapp som personalen bär med sig i lokalen är det ett integrationsprojekt med ungefär 90 dagar kvar. Den här artikeln är för dem.
Vad som ändrats sedan den första EET
Det ursprungliga EET avskaffades 2022. EET 2.0 behåller grundidén (varje försäljning som omfattas skickas online och kvitteras av staten) och tar bort mycket av tyngden:
- Minimal data. Det gamla systemet delade upp varje försäljning per momssats. EET 2.0 skickar en totalsumma, moms inräknad, oavsett skattesatser.
- Ingen kvittoskyldighet. Företag behöver inte längre utfärda ett kvitto för EET:s räkning, och kvitteringskoden behöver inte stå på något kvitto.
- Ett snävare tillämpningsområde. Bara kontaktbetalningar mellan kund och företag registreras; det gamla systemet täckte fler typer av betalningar.
- Ett kostnadsfritt statligt alternativ. MOJE eet, en webbapp för de minsta företagen, plus ett sätt att avstå som heter EET OFF för vissa enskilda näringsidkare med schablonbeskattning.
Den tekniska förändringen är större än listan antyder. Transporten är bekant: SOAP 1.1 över HTTPS med WS-Security-signaturer, som tidigare. Meddelandet är det inte. Det nya gränssnittet är version 4.1, det gamla var 3.1, och specifikationen säger att ändringarna 2026 ”inte är kompatibla med det tidigare systemet”. Presentationen från utvecklarseminariet listar säkerhetskoden BKP, flaggan för förenklat läge och momsposterna som borttagna. Gammal EET-kod duger som referens för rörläggningen och inget mer.
Vad som omfattas
Den officiella sidan om vem som måste registrera försäljning ställer upp tre villkor: betalningen är en kontaktbetalning eller en kontantbetalning av vilket slag som helst, den är rörelseinkomst och inget undantag gäller.
En kontaktbetalning sker antingen i personlig kontakt med dig eller din personal, eller i dina lokaler eller ditt fordon i samband med varan eller tjänsten. Seminariepresentationen säger rakt ut att den andra regeln är riktad mot självbetjäningskassor och lokaler med självbetjäning. En kiosk inne i din butik omfattas även om ingen anställd rör transaktionen. Kontanter registreras alltid, även utanför dina lokaler, utom postförskott som tas emot av en posttjänst.
Betalningssättet spelar ingen roll. Kontanter, kort, QR-kod, en banköverföring eller autogiro som görs vid försäljningsstället, kryptotillgångar, presentkort, måltidskuponger och förbetalda kort finns alla med.
Betalningar på distans omfattas inte: en e-butik som betalas via en betallösning, eller en faktura som kunden betalar från sitt kontor. Det som räknas är hur pengarna faktiskt rörde sig, inte vad fakturan säger. Om en kund betalar 200 CZK med kort vid disken och resterande 800 CZK med överföring hemifrån dagen därpå registreras bara de 200 CZK.
Automater som är lokaler i sig (kaffeautomaten är det officiella exemplet) är undantagna, liksom självbetjäningsställ utanför dina lokaler där registrering vore opraktisk. Listan över undantag omfattar bland annat även offentliga organ, banker, spel och energi.
Vem som kan hoppa över det mesta
Mikroföretag kan använda MOJE eet, som lanseras 1 december 2026. Utvecklarseminariet i juni riktade den till företag med upp till två registreringsenheter och två anställda. Enskilda näringsidkare med schablonbeskattning i det första skiktet och inkomster upp till 1 miljon CZK kan avstå via EET OFF.
Företag med en vanlig kassaprodukt bör få en uppdatering från leverantören. Fråga när den kommer och vad som händer vid ett avbrott, registrera dig sedan i skatteportalen och installera certifikatet.
Alla andra bör läsa vidare: egenutvecklad eller anpassad kassaprogramvara, kiosker du byggt själv, betalappar för personalen eller en koncern där en och samma betalning kan tillhöra två bolag.
Vad som måste byggas
Allt finns på sidan med utvecklardokument: gränssnittsbeskrivningen (den engelska versionen är inte bindande), XSD och WSDL, exempel på signerade anrop och testcertifikat för playground-miljön. Den engelska utgåvan är nu version 1.2a från 2 oktober 2026; den rättar en felaktig maxlängd för porad_cis i avsnitt 3.3.3.10, så kontrollera dina fältgränser mot den.
Registreringsenheter och enhets-ID:n
Varje meddelande bär ett ID för registreringsenheten. Du skapar enheter (en butik, ett mobilt försäljningsställe, ett leveransfordon) i DIS+, skatteportalen, och systemet ger var och en ett nummer. Kedjor kan importera enheter i bulk, och ändringar måste anmälas inom 15 dagar. Ditt kassasystem behöver en underhållen mappning från varje ställe till dess enhets-ID, plus ett enhets-ID för själva apparaten på upp till 20 tecken som är unikt inom registreringsenheten.
Certifikat
Det är här specialutvecklade system brukar förlora tid. Certifikatrutinen beskriver stegen:
- Nyckelparet genereras av EET:s certifikatutfärdare, inte på din enhet. Du laddar ner en lösenordsskyddad PKCS#12-fil, som finns tillgänglig tills du bekräftar nedladdningen och i högst 30 dagar.
- Filen använder den äldre krypteringen 3DES för äldre kassors skull. Dokumentet varnar för att den kanske inte går att läsa in i OpenSSL 3 utan legacy-providern och rekommenderar att paketera om den eller flytta nyckeln till ett valv.
- Certifikaten gäller i ett år. Ett certifikat kan användas av en enhet eller flera; hur många du utfärdar bestämmer du själv.
- Förnyelsen kan automatiseras via ett REST-API: en kortlivad JWT signerad med certifikatet som ska förnyas, sedan avfrågning av begäran, nedladdning och kvittering. Utfärdaren rekommenderar att förnya två till tre veckor före utgången. När ett certifikat väl har gått ut är API-vägen stängd, och någon måste förnya det manuellt.
- Att skydda den privata nyckeln är den skattskyldiges lagstadgade skyldighet. En nyckelfil som kopierats till fyrtio kassor är en återkallelse som bara väntar på att hända.
Datameddelandet
Huvudet innehåller ett nytt UUID för varje försök, sändningstiden, en flagga för första försöket och en valfri verifieringsflagga. Datadelen innehåller den skattskyldiges EIČ, enhets-ID:t, apparatens ID, ett löpnummer (upp till 25 tecken, unikt per registreringsenhet och apparat), försäljningstiden med tidszonsförskjutning och totalbeloppet i CZK med exakt två decimaler. Två valfria belopp täcker påfyllning och uttag av förbetalt saldo; ytterligare två fält täcker registrering för en annan skattskyldigs räkning.
Registrera det som faktiskt togs emot: en kontantnota på 78,90 som avrundas till 79 förs in som 79,00, samma nota betald med kort som 78,90. En nota som betalas delvis med måltidskuponger och delvis med kort är ett meddelande med totalsumman.
Signering och sändning
Varje meddelande signeras med XML Signature i WS-Security-huvudet: exklusiv kanonisering, en SHA-256-sammanfattning, RSA-SHA256, certifikatet bifogat som BinarySecurityToken och bara SOAP-kroppen signerad. Utelämna extra huvuden som Timestamp eller WS-Addressing: meddelanden över 12 kB avvisas, och ett meddelande som ser ut som en attack kanske inte får något svar alls. TLS 1.2 eller senare är obligatoriskt, och klienten måste verifiera servercertifikatet. Produktionsmiljön använder DNS-lastbalansering, så slå upp värdnamnet vid varje anslutning i stället för att låsa en IP-adress.
Sedan version 1.2 stöder slutpunkten CORS, så ett webbläsarbaserat kassasystem kan anropa den direkt. Bestäm var den privata nyckeln ska ligga innan någon skriver den JavaScript-koden.
Svar, avbrott och 48-timmarsregeln
Ett giltigt meddelande får ett synkront svar med en kvitteringskod (POK) på 39 tecken, signerad av skattemyndigheten. Verifiera signaturen och spara POK med försäljningen. Ett ogiltigt meddelande får en felkod; -1 betyder ett tillfälligt fel, så skicka igen senare. Mindre problem kommer tillbaka som varningar, bland annat när försäljningstiden ligger mer än två timmar före serverns klocka. Kioskernas klockor driver. Synkronisera dem.
Du sätter svarstidsgränsen själv, till minst två sekunder. Kommer ingen POK i tid hamnar försäljningen i en kö. Enligt seminariepresentationen återanvänder omförsöket den ursprungliga kroppen med ett nytt huvud: nytt UUID, flaggan för första försöket satt till false, ny sändningstid och ursprunglig försäljningstid. Det skickas så snart anslutningen är tillbaka och senast 48 timmar efter försäljningen. Skyldigheten upphör inte heller efter 48 timmar: ett sent meddelande måste ändå skickas.
Kön måste alltså överleva en omstart och larma i god tid innan de 48 timmarna har gått. En fälla till: om certifikatet går ut medan försäljningar väntar måste de signeras med ett certifikat som gäller just då.
Returer, rättelser och dubbletter
En retur eller annullering är ett nytt meddelande med negativt belopp, daterat nu och inte kopplat till originalet. En rättelse är antingen en annullering följd av rätt meddelande eller ett enda differensmeddelande. Dubbletter känns igen på sex fält (EIČ, registreringsenhet, apparat, löpnummer, försäljningstid och totalbelopp), så ett omförsök med samma kropp är säkert. Ett omförsök som genererar ett nytt löpnummer är en andra försäljning.
Kvitton
Mindre arbete än under det första EET: inget kvitto krävs för EET:s räkning, och POK behöver inte stå på något. Ta bort all kod som håller tillbaka utskriften tills POK har kommit. Där du utfärdar kvitton enligt konsumentlagstiftningen, håll EET-löpnumret i linje med kvittonumret; specifikationen noterar att de två i praktiken oftast stämmer överens.
Specialfall som kedjor stöter på
- Förbetalda kort, armband och plånböcker: påfyllningen och varje köp registreras, med de extra beloppsfälten ifyllda.
- En betalning, två skattskyldiga: presentationens exempel med en bensinstation (bränsle som säljs för ett annat bolags räkning, kaffe för egen räkning) kräver två meddelanden, vart och ett med sin egen skattskyldigs uppgifter.
Tidslinjen
- 5 juni 2026: den tekniska dokumentationen publiceras.
- 1 juli 2026: playground-miljön öppnar. Mellan 26 juli och 26 augusti behandlade den 170 389 testtransaktioner från 624 klient-IP-adresser, varav 94,6 % behandlades utan fel.
- 1 november 2026: EET i DIS+, registreringsenheter och produktionscertifikat.
- 1 december 2026: MOJE eet lanseras.
- 1 januari 2027: skyldigheten börjar för alla samtidigt, utan infasning.
Den officiella tidsplanen kallar januari en pilotmånad men tillägger sedan att det redan kommer att vara vanlig registrering. Ett tidigare tillkännagivande beskrev piloten som frivillig. Tills det har klarats ut, planera för att skicka riktiga meddelanden från 1 januari.
Lagen publicerades i lagsamlingen 7 oktober 2026 som lag nr 180/2026 Sb.. Den träder i kraft 1 januari 2027; sju av dess avsnitt trädde i kraft dagen efter publiceringen.
En plan för 90 dagar
Oktober: avgränsa och bygg.
- Lista varje ställe där pengar byter ägare: kassor, kiosker, handdatorer, flöden för beställning vid bordet som betalas på plats, egna förare som tar emot kontanter. Koppla vart och ett till en skattskyldig och en framtida registreringsenhet.
- Välj arkitektur: signera på varje enhet, eller kör en tjänst som signerar och köar åt alla. Systemet tar emot båda. För en kedja vinner oftast den centrala lösningen: ett nyckellager, en kö, ett ställe att övervaka.
- Bygg meddelandebyggaren, signeraren och kön mot playground-miljön med de delade testcertifikaten. Validera varje meddelande mot XSD:n i CI.
November: produktionsuppgifter.
- Från 1 november, aktivera EET i DIS+, skapa enheterna (bulkimport om du har många) och utfärda produktionscertifikat. Lägg dem i ett valv, inte på USB-minnen.
- Specifikationen anger 1 november 2026 som det tidigaste giltiga försäljningsdatumet i produktion. Skicka meddelanden i verifieringsläge med det riktiga certifikatet: de testar hela kedjan utan att registrera någon försäljning.
- Gör klart returer, förbetalda flöden, certifikatförnyelse och larm på köns ålder.
December: repetera.
- Rulla ut till ett ställe. Dra ur nätverkskabeln mitt i lunchrusningen och se hur kön töms efteråt.
- Lasttesta din mest belastade timme genom signeraren.
- Frys ändringarna före julrusningen. Berätta för personalen hur ett avbrott ser ut; om kön fungerar behöver de inte göra något.
Januari: pilotmånaden.
- Stäm av dagligen. Jämför kassasystemets totaler med de sammanställda summorna i DIS+, där du också kan begära en detaljerad CSV-export som innehåller varje POK.
Var du får hjälp
Vi bygger och ändrar kassaintegrationer: meddelandebyggaren och signeraren, avbrottskön, lagring och förnyelse av certifikat, mappningen av enheter och avstämningen mot DIS+. När kassaprogramvaran är gammal och dess upphovspersoner har gått vidare är vår tjänst för underhåll av äldre system där det arbetet börjar. Om ditt eget team känner systemet men saknar händer före januari kan vi förstärka det med utvecklare.
Om du driver egna kassor eller kiosker i Tjeckien och ännu inte har skickat ett meddelande till playground-miljön, skriv till office@c9group.dev.
Skatte- och ekonomisystem
Nya guider och regeländringar via mejl
När en regel ändras, en deadline flyttas eller vi publicerar en ny guide skickar vi det till dig via mejl.