POS developer
No need to write and maintain EET communication yourself. Your system speaks HTTP; the gateway handles the rest.
Quick start
The open-source gateway accepts sales through a simple HTTP API and handles signing, submission to EET, response verification, retries during outages and queueing.
MIT license · TypeScript · binary or Docker · Releases and CHANGELOG
Not yet verified in production with a live certificate. No independent security audit has been performed. Unofficial project, without warranty. Each operator is responsible for certification, cash register registration and legal compliance.
The President signed the Sales Reporting Act, published as Act No. 180/2026 Coll.
Cash register certificates can be generated and reporting prepared in the DIS+ tax information portal.
The Czech Financial Administration launches a free web application for the smallest businesses.
Regular operation begins. The Financial Administration has announced January as a pilot month with guidance, but reporting is mandatory from day one.
Based on the Financial Administration’s schedule and Act No. 180/2026 Coll. Check the current official information at eet.gov.cz.
No need to write and maintain EET communication yourself. Your system speaks HTTP; the gateway handles the rest.
Quick startNo third-party cloud. The gateway runs on your infrastructure; your keys and certificates stay with you.
Run with DockerA typed client for your language and a ready-made foundation for your own code.
Client for your languageSubmit a sale and receive a typed result: accepted, verified, rejected, queued, uncertain or invalid. Documented in OpenAPI.
Every sale carries a receipt number. Resubmitting the same sale does not create a duplicate.
If EET is unavailable, the sale is stored and submitted later according to the defined rules. SQLite, no additional service.
Verifies the response signature and certificate chain, not just whether HTTP 200 was returned.
Batch submission in JSON, NDJSON, CSV or XML. Validate data without submitting it to EET.
Certificate validity, queue status and health checks. Switch between playground and production.
A binary for Linux, macOS or Windows, or a public Docker image. Other ways to run it are documented in the repository.
Configure an API key and a test certificate as described in the documentation. Production has not yet been verified.
A simple POST to /v1/sales. OpenAPI documents the exact request and result types.
curl -X POST http://localhost:8080/v1/sales \
-H "Authorization: Bearer $EET_API_KEY" \
-H "Idempotency-Key: R-1001" \
-H "Content-Type: application/json" \
-d '{"porad_cis":"R-1001","dat_trzby":"2026-10-30T12:00:00+01:00","celk_trzba":"123.50"}'docker run ghcr.io/hospodskej-cz/eet-2-0:0.2.0response — accepted (illustrative example)
{
"status": "accepted",
"porad_cis": "R-1001",
"pok": "3f9a1c…",
"dat_odpovedi": "2026-10-30T12:00:01+01:00"
}response — invalid data (illustrative example)
{
"status": "invalid",
"issues": [
{ "field": "celk_trzba", "code": "invalid_format",
"message": "expected a decimal number with a dot" }
]
}The gateway tracks each sale instead of using a “send and forget” approach. During an outage, the sale is queued and submitted when EET is available again.
Idempotency: same sale key = no duplicate reporting. Resubmitting the same receipt returns the original result, not a duplicate.
Typed clients v0.1.1 for five languages.
PHP 8.1+ · Composer
composer require hospodskej-cz/eet-gateway-clientPython 3.9+ · PyPI
pip install eet-gateway-client.NET 8 · NuGet
dotnet add package EetGateway.ClientJava 17+ · Maven Central, no dependencies
io.github.hospodskej-cz:eet-gateway-client:0.1.1npm · CLI and core, ingest, queue, server libraries
npm i @eet-gateway/clipublic image v0.2.0
docker run ghcr.io/hospodskej-cz/eet-2-0:0.2.0For other languages, generate a client from OpenAPI.
Live verification details: docs/SPEC_NOTES.md
We are looking for 2 to 3 operators with a production certificate to help verify the gateway in live operation. Get in touch — let’s discuss it.
No. This is an independent open-source project without any warranty.
No. Each operator must obtain their own certificate, register their cash register and ensure legal compliance, and remains responsible for these obligations.
The sale is queued and the gateway submits it later according to the defined rules. In the meantime, its status is queued or uncertain, so nothing disappears or is submitted twice.
Use the ready-made clients — installation commands are in the Clients section above. For other languages, generate a client from OpenAPI.
The Pod Palcem team and contributors maintain it. The MIT license lets you fork the source code and maintain it yourself. Governance rules are documented in GOVERNANCE.md.
The gateway API is versioned (/v1). Compatibility rules and the process for changes are documented in docs/STABILITY.md.
No. The gateway only handles communication with EET. The operator is responsible for certificates, registration and legal compliance.
No. A single binary is sufficient on a supported system. A Docker image is available as an option.
Use GitHub Issues and Discussions. Report security findings privately as described in SECURITY.md.
Yes, the MIT license permits commercial use. Dependency notices are in THIRD_PARTY_NOTICES.md.
And tell us what is missing.