Skip to content

Germany (SIGN DE)

Germany has the most comprehensive fiscal compliance requirements of any fiskaly-supported country. A full German integration requires three products working together:

ProductWhat it doesRequired?
SIGN DECryptographically signs every transaction via a BSI-certified Cloud-TSSYes — KassenSichV
DSFINVK DEGenerates audit-ready fiscal data exports from your cash point closingsYes — for tax audits
SUBMIT DEFiles electronic declarations to ELSTER (German tax authority interface)Yes — since 2025
SAFEArchives fiscal data for 10-30 years in certified data centersRecommended

The Kassensicherungsverordnung (KassenSichV) requires all electronic recording systems (ERS) in Germany to:

  • Use a certified Technical Security System (TSS) to sign every transaction
  • Maintain tamper-proof audit trails with cryptographic signatures
  • Generate DSFinV-K exports for tax auditors
  • Print QR codes on receipts containing the signature data

fiskaly’s Cloud-TSS is the first cloud-based TSS to achieve BSI certification, currently valid until 2033. No hardware, no local crypto modules — just API calls.

For PMs estimating the work:

PhaseDurationWhat happens
Sandbox setup1-2 daysAccount creation, API keys, first signed transaction
SIGN DE integration3-5 weeksTSS provisioning, transaction signing, receipt QR codes, error handling
DSFINVK DE integration2-3 weeksMap POS data model to DSFINVK DE taxonomy, implement cash point closings
SUBMIT DE integration1-2 weeksTaxpayer registration, declaration filing
End-to-end testing1-2 weeksFull flow validation in sandbox
Go-live1 weekLIVE provisioning, staged rollout, monitoring setup
Total8-13 weeks1-2 backend developers with POS domain experience

See the Integration Planning Guide for team requirements, dependency maps, and a rollout timeline template.

Your POS System
|
|-- POST /auth (API key + secret) --> Bearer token (24h)
|
|-- PUT /tss/{id} -----------------> Create + initialize TSS (one-time per location)
|-- PUT /tss/{id}/client/{id} -----> Create client (one per POS terminal)
|
|-- PUT /tss/{id}/tx/{id} ---------> Start transaction (state: ACTIVE)
|-- PUT /tss/{id}/tx/{id} ---------> Finish transaction (state: FINISHED)
| Response includes signature + QR code data
|
|-- POST /dsfinvk/closings --------> Submit cash point closing data
|-- GET /dsfinvk/exports --------> Generate DSFinV-K export file
|
|-- POST /submission/submit -------> File declaration to ELSTER
  • Integrate the fiskaly TSS into your ERS
  • Ensure every transaction is signed before receipt generation
  • Print QR codes containing signature data on receipts
  • Generate DSFINVK DE cash point closings at end-of-day
  • File declarations via SUBMIT DE
  • Handle timeouts gracefully (see error handling)

Your customer’s responsibility (taxpayer)

Section titled “Your customer’s responsibility (taxpayer)”
  • Have an ERS with integrated TSS attached to their account
  • Deliver TSS exports and DSFinV-K exports to auditors within required timeframes
  • Maintain backups of fiscal data (10-30 years retention, two physical locations recommended)
  • Operate and maintain the certified Cloud-TSS (99.9% uptime SLA)
  • Provide software updates and security patches (free of charge)
  • Handle certification renewals
  • Maintain API availability and performance

Before launching in production, verify:

  • For each location/shop make sure to have an individual TSS created, set to UNINITIALIZED, Admin PIN set and TSS set to INITIALIZED
  • Client created for each POS terminal
  • Every transaction is signed (start + finish lifecycle)
  • Receipt includes KassenSichV QR code (format reference)
  • QR code validates correctly (validation tool)
  • DSFINVK DE cash point closings generate successfully
  • SUBMIT DE declaration accepted by ELSTER
  • Signing timeout is 3-5 seconds and does not block checkout
  • Retry logic handles 5xx errors with exponential backoff
  • Admin is logged out after provisioning
  • LIVE environment provisioned separately from TEST

Was this page helpful?