# Germany (`DE`)

Use `DE_KASSENSICHV` to preserve final TSE evidence. The owner device joins the
encrypted merchant payload with server-known party and payment context and
generates the receipt locally.

## Before Cheqi

- Run the transaction through the merchant's TSE-connected POS.
- Wait for the TSE operation to complete successfully.
- Obtain the transaction times, TSE number, register and security-module
identities, signature evidence, payment split, and DSFinV-K QR payload.
- Do not mark the receipt final while the TSE operation is pending or failed.


## In the Cheqi request

| Value | Request location |
|  --- | --- |
| External regime | `jurisdictionalData.regime = DE_KASSENSICHV` |
| Regime contract version | `jurisdictionalData.regimeVersion` |
| TSE system | `jurisdictionalData.fiscalization.system` |
| Final status | `jurisdictionalData.fiscalization.status = FISCALIZED` |
| TSE transaction number | `jurisdictionalData.fiscalization.transactionId` |
| Register ID | `jurisdictionalData.fiscalization.cashRegisterId` |
| Security-module serial | `jurisdictionalData.fiscalization.fiscalDeviceId` |
| Signature/verification value | `signature` and/or `verificationCode` |
| Signature counter | Fiscal additional field `DE:SIGNATURE_COUNTER` |
| Transaction start | `transactionDate` |
| Transaction end | Root field `DE:TRANSACTION_END` |
| Payment split | Root fields such as `DE:PAYMENT_AMOUNT:CARD` |
| DSFinV-K payload | Top-level `barcodes[]` |


## Example payload fragment

```json
{
  "transactionDate": "2026-07-29T08:14:55Z",
  "barcodes": [
    {
      "type": "QR_CODE",
      "data": "exact-dsfinv-k-payload",
      "label": "DSFinV-K"
    }
  ],
  "jurisdictionalData": {
    "countryCode": "DE",
    "regime": "DE_KASSENSICHV",
    "regimeVersion": "2026-07",
    "fiscalization": {
      "system": "DE_TSE",
      "status": "FISCALIZED",
      "fiscalDocumentNumber": "BON-2026-0042",
      "fiscalDeviceId": "TSE-SERIAL-001",
      "cashRegisterId": "KASSE-01",
      "transactionId": "TSE-TX-123",
      "sequenceNumber": "42",
      "verificationCode": "opaque-tse-verification-value",
      "signature": "opaque-tse-signature",
      "signatureAlgorithm": "authority-defined",
      "timestamp": "2026-07-29T08:15:30Z",
      "additionalFields": [
        {
          "code": "DE:SIGNATURE_COUNTER",
          "value": "991"
        }
      ]
    },
    "additionalFields": [
      {
        "code": "DE:TRANSACTION_END",
        "value": "2026-07-29T08:15:30Z"
      }
    ]
  }
}
```

For a single card, cash, or bank payment, the server-known `paymentMeans`
context and receipt total already describe the payment; do not repeat the
amount. Use the `DE:PAYMENT_AMOUNT:*` extensions only for a genuine split
payment that the current single-payment structure cannot represent. The device
preserves these values exactly; Cheqi does not operate or emulate a TSE.

## Related

- [Supplying jurisdiction data](/countries/jurisdictional-data)
- [Country support boundary](/countries/overview)