[
  {
    "country": "AT",
    "country_name": "Austria",
    "regulation": {
      "name": "RKSV (Registrierkassensicherheitsverordnung)",
      "authority": "Federal Ministry of Finance (BMF Austria)",
      "effective_date": "2017-04-01"
    },
    "requirements": {
      "tss": true,
      "tss_description": "Security device (Signaturerstellungseinheit) for each cash register",
      "digital_receipts": false,
      "receipt_obligation": true,
      "receipt_description": "Receipt must be issued for every transaction (Belegerteilungspflicht)",
      "fiscal_export": true,
      "export_format": "DEP (Datenerfassungsprotokoll)",
      "qr_code": true,
      "qr_description": "Machine-readable code on receipts (QR or link)",
      "real_time_reporting": false,
      "certification_required": true,
      "certification_body": "A-Trust / A-SIT"
    },
    "mandatory_fields": [
      "cash_register_id",
      "receipt_number",
      "timestamp",
      "vat_amounts",
      "signature",
      "certificate_serial"
    ],
    "fiskaly_product": "SIGN AT",
    "spec_url": "/specs/spec-sign-at.json",
    "docs_url": "/sign-at/introduction"
  },
  {
    "country": "DE",
    "country_name": "Germany",
    "regulation": {
      "name": "KassenSichV (Kassensicherungsverordnung)",
      "authority": "Federal Ministry of Finance (BMF)",
      "effective_date": "2020-01-01",
      "enforcement_date": "2023-01-01"
    },
    "requirements": {
      "tss": true,
      "tss_description": "Certified Technical Security System (TSE) for every electronic recording system",
      "digital_receipts": false,
      "receipt_obligation": true,
      "receipt_description": "Receipt must be offered to every customer (Belegausgabepflicht)",
      "fiscal_export": true,
      "export_format": "DSFinV-K",
      "qr_code": true,
      "qr_description": "QR code on receipts containing transaction signature data",
      "real_time_reporting": false,
      "certification_required": true,
      "certification_body": "BSI (Federal Office for Information Security)"
    },
    "mandatory_fields": [
      "transaction_number",
      "start_time",
      "end_time",
      "signature_counter",
      "signature_value",
      "tss_serial_number",
      "client_serial_number"
    ],
    "fiskaly_product": "SIGN DE",
    "spec_url": "/specs/sign-de-v2.json",
    "docs_url": "/countries/germany/introduction"
  },
  {
    "country": "ES",
    "country_name": "Spain",
    "regulation": {
      "name": "TicketBAI / Verifactu",
      "authority": "Agencia Tributaria / Basque Country Tax Authorities",
      "effective_date": "2024-01-01"
    },
    "requirements": {
      "tss": true,
      "tss_description": "Software generating signed XML invoices (TicketBAI) or Verifactu records",
      "digital_receipts": false,
      "receipt_obligation": true,
      "receipt_description": "Invoice or simplified invoice for every transaction",
      "fiscal_export": false,
      "qr_code": true,
      "qr_description": "QR code containing TicketBAI verification URL",
      "real_time_reporting": true,
      "reporting_description": "Real-time submission of signed XML to tax authority (Verifactu)",
      "certification_required": false
    },
    "mandatory_fields": [
      "invoice_number",
      "timestamp",
      "total_amount",
      "vat_breakdown",
      "xml_signature",
      "tbai_identifier"
    ],
    "fiskaly_product": "SIGN ES",
    "spec_url": "/specs/spec-sign-es.yaml",
    "docs_url": "/sign-es/introduction"
  },
  {
    "country": "FR",
    "country_name": "France",
    "regulation": {
      "name": "NF 525",
      "authority": "Direction Générale des Finances Publiques (DGFiP)",
      "effective_date": "2018-01-01"
    },
    "requirements": {
      "tss": true,
      "tss_description": "Certified cash register software meeting NF 525 requirements",
      "digital_receipts": false,
      "receipt_obligation": true,
      "receipt_description": "Receipt for every B2C transaction",
      "fiscal_export": true,
      "export_format": "Journal des Événements (JDE)",
      "qr_code": false,
      "real_time_reporting": false,
      "certification_required": true,
      "certification_body": "LNE (Laboratoire national de métrologie et d'essais) or INFOCERT"
    },
    "mandatory_fields": [
      "transaction_number",
      "timestamp",
      "total_amount",
      "vat_breakdown",
      "signature",
      "chain_hash"
    ],
    "fiskaly_product": "SIGN FR",
    "spec_url": "/specs/spec-sign-fr.yaml",
    "docs_url": "/sign-fr/2026-02-03/introduction"
  },
  {
    "country": "IT",
    "country_name": "Italy",
    "regulation": {
      "name": "Registratore Telematico (RT)",
      "authority": "Agenzia delle Entrate (AdE)",
      "effective_date": "2020-01-01"
    },
    "requirements": {
      "tss": true,
      "tss_description": "Registratore Telematico for electronic transmission of receipts",
      "digital_receipts": true,
      "receipt_obligation": true,
      "receipt_description": "Commercial document (documento commerciale) for every B2C transaction",
      "fiscal_export": false,
      "qr_code": true,
      "qr_description": "QR code for receipt lottery (Lotteria degli Scontrini)",
      "real_time_reporting": true,
      "reporting_description": "Real-time submission of transaction data to AdE",
      "certification_required": true,
      "certification_body": "Agenzia delle Entrate"
    },
    "mandatory_fields": [
      "document_number",
      "timestamp",
      "total_amount",
      "vat_breakdown",
      "lottery_code",
      "rt_serial_number"
    ],
    "fiskaly_product": "SIGN IT",
    "spec_url": "/specs/spec-sign-it.yaml",
    "docs_url": "/sign-it/2026-02-03/introduction"
  }
]