Skip to content

Document API

Method Endpoint Description
POST /api/document/get Get document
POST /api/document/get/offline Get offline documents
POST /api/document/print Print document which is waiting to be printed
POST /api/document/send/offline Send offline data
POST /api/document/store Store document
POST /api/document/update Update stuck document data

Get document

POST /api/document/get

Get document by Identifier

Request Body

Returns a document by the parameter in the request body. If none parameters are present, returns the last document.

Schema: GetDocumentRequest

Examples

Get last document

Without any search parameters, last document is returned.

{}

If printer parameter is provided, the found document will be printed.

{
  "printer": {}
}
Get document by Sequence ID

Searches the document by given sequence ID.

{
  "documentBySequenceId": {
    "sequenceId": 1,
    "month": 12,
    "year": 2024
  }
}

Searches the document by given sequence ID. The returned document will be printed as well.

{
  "documentBySequenceId": {
    "sequenceId": 1,
    "month": 12,
    "year": 2024
  },
  "printer": {}
}
Get document by External ID

Searches the document by given external identifier from the POS system.

{
  "documentByExternalId": {
    "externalId": "ABC123"
  }
}
Get document by OKP

Searches the document by given OKP code.

{
  "documentByOkp": {
    "okp": "ABCDEFAB-12345678-12345678-12345678-ABCDEFAB"
  }
}
Get document by PKP

Searches the document by given PKP code.

{
  "documentByPkp": {
    "pkp": "EjRWeJASNFra0KvN7xI0VniQq83vEjRWetrTRWeJEjRWeJEjRWetrQAGeJEjRWeJEjRWeAAARWSJcSNFZ4kSNFZ4kSNFZ4kVNFl4EjRWSJeqqqu7vMzN3d7v//EjRWeJEjRWeJEjRWeYC62u387yLtVfTvXvQV/q9Rrxpe8SxVAAVFRK2tpUQUFRUVUQgIgI4UUVEV8V8YVaVVtLVLQbW1RbFbFbuxvu8V7xXhX+FQUFUUUQVRBQWXl0kEAAAAAABUFFFRUSUhAAAAEjRWeJEjRWeJEjRWeJEjRlqJEjRWeJEjRdrYkSNFZ4kSNFZ4kSNK2trSNFZ5gSNFatraNFZw=="
  }
}
Get document by UUID

Searches the document by given UUID code.

{
  "documentByUUID": {
    "uuid": "O-A1B2C3D4E5F6000000123456789-TEST"
  }
}

Responses

200 — Document.

Schema: DocumentResponse

Online document

When the document matching the search criteria is an online printed document.

{
  "resultCode": 0,
  "document": {
    "type": "PD",
    "merchant": {
      "id": 12,
      "corporateFullName": "Company s.r.o.",
      "ico": "123456789",
      "dic": "SK123456789",
      "physicalAddress": {
        "country": "Slovenská Republika",
        "municipality": "Bratislava",
        "street": "Heydukova",
        "buildingNumber": "2155",
        "propertyRegistrationNumber": "6",
        "postalCode": "81108"
      },
      "organizationUnit": {
        "name": "Optional organization unit name",
        "cashRegisterCode": "88812345678900001",
        "cashRegisterType": "STANDARD",
        "location": {
          "physicalAddress": {
            "country": "Slovenská Republika",
            "municipality": "Bratislava",
            "street": "Heydukova",
            "buildingNumber": "2155",
            "propertyRegistrationNumber": "6",
            "postalCode": "81108"
          }
        }
      }
    },
    "cashRegisterCode": "88812345678900001",
    "amount": 10,
    "issueDate": "03.09.2025 16:56:01",
    "createDate": "03.09.2025 16:56:01",
    "processDate": "03.09.2025 16:56:01",
    "sequenceId": 1,
    "uuid": "O-A1B2C3D4E5F6000000123456789-TEST",
    "pkp": "EjRWeJASNFra0KvN7xI0VniQq83vEjRWetrTRWeJEjRWeJEjRWetrQAGeJEjRWeJEjRWeAAARWSJcSNFZ4kSNFZ4kSNFZ4kVNFl4EjRWSJeqqqu7vMzN3d7v//EjRWeJEjRWeJEjRWeYC62u387yLtVfTvXvQV/q9Rrxpe8SxVAAVFRK2tpUQUFRUVUQgIgI4UUVEV8V8YVaVVtLVLQbW1RbFbFbuxvu8V7xXhX+FQUFUUUQVRBQWXl0kEAAAAAABUFFFRUSUhAAAAEjRWeJEjRWeJEjRWeJEjRlqJEjRWeJEjRdrYkSNFZ4kSNFZ4kSNK2trSNFZ5gSNFatraNFZw==",
    "okp": "ABCDEFAB-12345678-12345678-12345678-ABCDEFAB",
    "qrCode": "O-A1B2C3D4E5F6000000123456789-TEST",
    "documentEntries": [
      {
        "type": "SALE",
        "price": 5,
        "quantity": 2,
        "name": "Tovar",
        "totalPrice": 10,
        "vatRate": "VAT_23"
      }
    ],
    "vatRateSums": [],
    "paymentTypes": {
      "Hotovosť EUR": 10
    },
    "header": "",
    "footer": "",
    "exception": false,
    "documentNumber": "202509/1"
  }
}
Online deposit

When the document matching the search criteria is an online cash deposit.

{
  "resultCode": 0,
  "document": {
    "type": "VK",
    "merchant": {
      "id": 12,
      "corporateFullName": "Company s.r.o.",
      "ico": "123456789",
      "dic": "SK123456789",
      "physicalAddress": {
        "country": "Slovenská Republika",
        "municipality": "Bratislava",
        "street": "Heydukova",
        "buildingNumber": "2155",
        "propertyRegistrationNumber": "6",
        "postalCode": "81108"
      },
      "organizationUnit": {
        "name": "Optional organization unit name",
        "cashRegisterCode": "88812345678900001",
        "cashRegisterType": "STANDARD",
        "location": {
          "physicalAddress": {
            "country": "Slovenská Republika",
            "municipality": "Bratislava",
            "street": "Heydukova",
            "buildingNumber": "2155",
            "propertyRegistrationNumber": "6",
            "postalCode": "81108"
          }
        }
      }
    },
    "cashRegisterCode": "88812345678900001",
    "amount": 150,
    "issueDate": "03.09.2025 16:56:01",
    "createDate": "03.09.2025 16:56:01",
    "processDate": "03.09.2025 16:56:01",
    "sequenceId": 1,
    "uuid": "O-A1B2C3D4E5F6000000123456789-TEST",
    "pkp": "EjRWeJASNFra0KvN7xI0VniQq83vEjRWetrTRWeJEjRWeJEjRWetrQAGeJEjRWeJEjRWeAAARWSJcSNFZ4kSNFZ4kSNFZ4kVNFl4EjRWSJeqqqu7vMzN3d7v//EjRWeJEjRWeJEjRWeYC62u387yLtVfTvXvQV/q9Rrxpe8SxVAAVFRK2tpUQUFRUVUQgIgI4UUVEV8V8YVaVVtLVLQbW1RbFbFbuxvu8V7xXhX+FQUFUUUQVRBQWXl0kEAAAAAABUFFFRUSUhAAAAEjRWeJEjRWeJEjRWeJEjRlqJEjRWeJEjRdrYkSNFZ4kSNFZ4kSNK2trSNFZ5gSNFatraNFZw==",
    "okp": "ABCDEFAB-12345678-12345678-12345678-ABCDEFAB",
    "qrCode": "O-A1B2C3D4E5F6000000123456789-TEST",
    "documentNumber": "202509/1"
  }
}
Not found

When no document matching the search criteria is found.

{
  "resultCode": 506,
  "error": "Document not found"
}

500 — An error occurred...


Get offline documents

POST /api/document/get/offline

Get offline documents and print report. Deprecated - use Get offline report instead.

Request Body

Document filter. Empty object returns all offline documents.

Schema: GetOfflineDocumentsRequest

Responses

500 — An error occurred...

default — Success

Schema: DocumentResponse


POST /api/document/print

If document wasn't printed normally (while being created) due to a printer error (e.g. due to printer without paper), this method must be called to print the original receipt. Without it, eKasa won't accept any request which stores data to CHDU.

Request Body

Printer properties.

Schema: Printer

Examples

No parameters are required.

{}

Responses

200 — Success response

Schema: GenericResponse

The document was printed successfully

Successful response doesn't return any additional data.

{
  "resultCode": 0
}

404 — Document to print was not found

Schema: ErrorResponse

Everything printed

No document is waiting to be printed.

{
  "resultCode": 505,
  "error": "No unprinted document found."
}
Electronic document

If the last document was electronic, only the error text changes.

{
  "resultCode": 505,
  "error": "Last document was electronic."
}

500 — An error occurred (for example printer or CHDU got disconnected)

Schema: ErrorResponse


Send offline data

POST /api/document/send/offline

Request to send offline documents and locations to eKasa servers

Request Body

Sending parameters

Schema: SendOfflineRequest

Responses

500 — An error occurred...

default — Standard response

Schema: OfflineReportResponse

Nothing was sent

Empty lists mean that no data were sent to the SFS. This may be caused by either that everything has been already sent or the sending has failed. To verify that everything is up to date, use the Offline report.

{
  "resultCode": 0,
  "documents": [],
  "locations": []
}
Data sent

One offline document and one offline location was sent. To check that nothing else is waiting to be sent, please use the offline report.

{
  "resultCode": 0,
  "documents": [
    {
      "type": "VK",
      "merchant": {
        "id": 12,
        "corporateFullName": "Company s.r.o.",
        "ico": "123456789",
        "dic": "SK123456789",
        "physicalAddress": {
          "country": "Slovenská Republika",
          "municipality": "Bratislava",
          "street": "Heydukova",
          "buildingNumber": "2155",
          "propertyRegistrationNumber": "6",
          "postalCode": "81108"
        },
        "organizationUnit": {
          "name": "Optional organization unit name",
          "cashRegisterCode": "88812345678900001",
          "cashRegisterType": "STANDARD",
          "location": {
            "physicalAddress": {
              "country": "Slovenská Republika",
              "municipality": "Bratislava",
              "street": "Heydukova",
              "buildingNumber": "2155",
              "propertyRegistrationNumber": "6",
              "postalCode": "81108"
            }
          }
        }
      },
      "cashRegisterCode": "88812345678900001",
      "amount": 150,
      "issueDate": "03.09.2025 16:56:01",
      "createDate": "03.09.2025 16:56:01",
      "processDate": "03.09.2025 16:56:01",
      "sequenceId": 1,
      "uuid": "O-A1B2C3D4E5F6000000123456789-TEST",
      "pkp": "EjRWeJASNFra0KvN7xI0VniQq83vEjRWetrTRWeJEjRWeJEjRWetrQAGeJEjRWeJEjRWeAAARWSJcSNFZ4kSNFZ4kSNFZ4kVNFl4EjRWSJeqqqu7vMzN3d7v//EjRWeJEjRWeJEjRWeYC62u387yLtVfTvXvQV/q9Rrxpe8SxVAAVFRK2tpUQUFRUVUQgIgI4UUVEV8V8YVaVVtLVLQbW1RbFbFbuxvu8V7xXhX+FQUFUUUQVRBQWXl0kEAAAAAABUFFFRUSUhAAAAEjRWeJEjRWeJEjRWeJEjRlqJEjRWeJEjRdrYkSNFZ4kSNFZ4kSNK2trSNFZ5gSNFatraNFZw==",
      "okp": "ABCDEFAB-12345678-12345678-12345678-ABCDEFAB",
      "qrCode": "O-A1B2C3D4E5F6000000123456789-TEST",
      "documentNumber": "202509/1"
    }
  ],
  "locations": [
    {
      "internalId": 100,
      "other": "Taxi SPZ AB12345",
      "createDate": "03.09.2025 16:56:01",
      "cashRegisterCode": "88812345678900001",
      "merchant": {
        "id": 12,
        "corporateFullName": "Company s.r.o.",
        "ico": "123456789",
        "dic": "SK123456789",
        "physicalAddress": {
          "country": "Slovenská Republika",
          "municipality": "Bratislava",
          "street": "Heydukova",
          "buildingNumber": "2155",
          "propertyRegistrationNumber": "6",
          "postalCode": "81108"
        },
        "organizationUnit": {
          "name": "Optional organization unit name",
          "cashRegisterCode": "88812345678900001",
          "cashRegisterType": "STANDARD",
          "location": {
            "physicalAddress": {
              "country": "Slovenská Republika",
              "municipality": "Bratislava",
              "street": "Heydukova",
              "buildingNumber": "2155",
              "propertyRegistrationNumber": "6",
              "postalCode": "81108"
            }
          }
        }
      },
      "sendingCount": 2
    }
  ]
}

Store document

POST /api/document/store

Store new document to eKasa

Request Body

Document data

Schema: StoreDocumentRequest

Examples

Basic document with one sale item

An example of a document with minimum data required

{
  "type": "PD",
  "amount": 10,
  "documentEntries": [
    {
      "price": 5,
      "quantity": 2,
      "name": "Tovar",
      "vatRate": "VAT_23",
      "itemType": "SALE"
    }
  ],
  "payments": {
    "Hotovosť EUR": 10
  }
}
Invoice payment

Invoice payment doesn't contain any items. Invoice number is mandatory.

{
  "type": "UF",
  "invoiceId": "FA123456",
  "amount": 200,
  "payments": {
    "Hotovosť EUR": 200
  }
}
Packing refund

Packing items must have zero VAT rate.

{
  "type": "PD",
  "amount": 9,
  "documentEntries": [
    {
      "price": 10,
      "quantity": 1,
      "name": "Tovar",
      "vatRate": "VAT_23",
      "itemType": "SALE"
    },
    {
      "price": -1,
      "quantity": 1,
      "name": "Vrátené obaly",
      "vatRate": "VAT_0",
      "itemType": "PACKING_REFUND"
    }
  ],
  "payments": {
    "Hotovosť EUR": 9
  }
}
Packing sale

Packing items must have zero VAT rate.

{
  "type": "PD",
  "amount": 11,
  "documentEntries": [
    {
      "price": 10,
      "quantity": 1,
      "name": "Tovar",
      "vatRate": "VAT_23",
      "itemType": "SALE"
    },
    {
      "price": 1,
      "quantity": 1,
      "name": "Obal",
      "vatRate": "VAT_0",
      "itemType": "PACKING"
    }
  ],
  "payments": {
    "Hotovosť EUR": 11
  }
}
Paragon

When registering a paragon, both paragon number and date must be provided.

{
  "type": "PD",
  "amount": 10.45,
  "paragonDate": "03.09.2025 16:56:02",
  "paragonNumber": 1,
  "documentEntries": [
    {
      "price": 10.45,
      "quantity": 1,
      "name": "Tovar",
      "vatRate": "VAT_19",
      "itemType": "SALE"
    }
  ],
  "payments": {
    "Hotovosť EUR": 10.45
  }
}
Voucher exchange

When exchanging a voucher, the voucher is paired with the sale item using the same voucher number.

{
  "type": "PD",
  "amount": 20,
  "documentEntries": [
    {
      "price": 100,
      "quantity": 1,
      "name": "Tovar",
      "vatRate": "VAT_23",
      "itemType": "SALE",
      "voucherNumber": "123456"
    },
    {
      "price": -80,
      "quantity": 1,
      "name": "Voucher",
      "vatRate": "VAT_23",
      "itemType": "VOUCHER",
      "voucherNumber": "123456"
    }
  ],
  "payments": {
    "Hotovosť EUR": 20
  }
}
Cash rounding example

Since the payment amounts for each payment method aren't being sent to the SFS, rounding amount is calculated automatically from the total receipt amount and item sum difference, if applicable.

{
  "type": "PD",
  "amount": 1.05,
  "documentEntries": [
    {
      "price": 1.03,
      "quantity": 1,
      "name": "Tovar",
      "vatRate": "VAT_23",
      "itemType": "SALE"
    }
  ],
  "payments": {
    "Hotovosť EUR": 1.05
  }
}

Document with custom header and footer data on receipt. The custom header is printed above the mandatory merchant header and the footer is printed above the QR code.

{
  "type": "PD",
  "amount": 10,
  "documentEntries": [
    {
      "price": 5,
      "quantity": 2,
      "name": "Tovar",
      "vatRate": "VAT_23",
      "itemType": "SALE"
    }
  ],
  "payments": {
    "Hotovosť EUR": 10
  },
  "header": "Custom header text",
  "footer": "Printed on Dotypay eKasa"
}
Electronic document

If the document is successfully sent to the SFS, it won't be printed. It will be returned as a PNG image in Base64 format. The caller is then obliged to send that document to the customer.

{
  "type": "PD",
  "amount": 10,
  "documentEntries": [
    {
      "price": 5,
      "quantity": 2,
      "name": "Tovar",
      "vatRate": "VAT_23",
      "itemType": "SALE"
    }
  ],
  "payments": {
    "Hotovosť EUR": 10
  },
  "electronicReceipt": true
}
Document with drawer

Registering a document and opening the cash drawer (if the printer allows it).

{
  "type": "PD",
  "amount": 10,
  "documentEntries": [
    {
      "price": 5,
      "quantity": 2,
      "name": "Tovar",
      "vatRate": "VAT_23",
      "itemType": "SALE"
    }
  ],
  "payments": {
    "Hotovosť EUR": 10
  },
  "openDrawer": true
}

Responses

200 — Document successfully stored

Schema: DocumentResponse

Document sent and printed

The document was successfully stored into the CHDÚ memory, successfully sent to the SFS and printed.

{
  "resultCode": 0,
  "document": {
    "type": "PD",
    "merchant": {
      "id": 12,
      "corporateFullName": "Company s.r.o.",
      "ico": "123456789",
      "dic": "SK123456789",
      "physicalAddress": {
        "country": "Slovenská Republika",
        "municipality": "Bratislava",
        "street": "Heydukova",
        "buildingNumber": "2155",
        "propertyRegistrationNumber": "6",
        "postalCode": "81108"
      },
      "organizationUnit": {
        "name": "Optional organization unit name",
        "cashRegisterCode": "88812345678900001",
        "cashRegisterType": "STANDARD",
        "location": {
          "physicalAddress": {
            "country": "Slovenská Republika",
            "municipality": "Bratislava",
            "street": "Heydukova",
            "buildingNumber": "2155",
            "propertyRegistrationNumber": "6",
            "postalCode": "81108"
          }
        }
      }
    },
    "cashRegisterCode": "88812345678900001",
    "amount": 10,
    "issueDate": "03.09.2025 16:56:01",
    "createDate": "03.09.2025 16:56:01",
    "processDate": "03.09.2025 16:56:01",
    "sequenceId": 1,
    "uuid": "O-A1B2C3D4E5F6000000123456789-TEST",
    "pkp": "EjRWeJASNFra0KvN7xI0VniQq83vEjRWetrTRWeJEjRWeJEjRWetrQAGeJEjRWeJEjRWeAAARWSJcSNFZ4kSNFZ4kSNFZ4kVNFl4EjRWSJeqqqu7vMzN3d7v//EjRWeJEjRWeJEjRWeYC62u387yLtVfTvXvQV/q9Rrxpe8SxVAAVFRK2tpUQUFRUVUQgIgI4UUVEV8V8YVaVVtLVLQbW1RbFbFbuxvu8V7xXhX+FQUFUUUQVRBQWXl0kEAAAAAABUFFFRUSUhAAAAEjRWeJEjRWeJEjRWeJEjRlqJEjRWeJEjRdrYkSNFZ4kSNFZ4kSNK2trSNFZ5gSNFatraNFZw==",
    "okp": "ABCDEFAB-12345678-12345678-12345678-ABCDEFAB",
    "qrCode": "O-A1B2C3D4E5F6000000123456789-TEST",
    "documentEntries": [
      {
        "type": "SALE",
        "price": 5,
        "quantity": 2,
        "name": "Tovar",
        "totalPrice": 10,
        "vatRate": "VAT_23"
      }
    ],
    "vatRateSums": [],
    "paymentTypes": {
      "Hotovosť EUR": 10
    },
    "header": "",
    "footer": "",
    "exception": false,
    "documentNumber": "202509/1"
  }
}
Offline printed document

The document was successfully stored into the CHDÚ memory, however wasn't sent to the SFS. Therefore, the document was printed as an offline document. Please, send the document online as soon as possible.

{
  "resultCode": 0,
  "document": {
    "type": "PD",
    "merchant": {
      "id": 12,
      "corporateFullName": "Company s.r.o.",
      "ico": "123456789",
      "dic": "SK123456789",
      "physicalAddress": {
        "country": "Slovenská Republika",
        "municipality": "Bratislava",
        "street": "Heydukova",
        "buildingNumber": "2155",
        "propertyRegistrationNumber": "6",
        "postalCode": "81108"
      },
      "organizationUnit": {
        "name": "Optional organization unit name",
        "cashRegisterCode": "88812345678900001",
        "cashRegisterType": "STANDARD",
        "location": {
          "physicalAddress": {
            "country": "Slovenská Republika",
            "municipality": "Bratislava",
            "street": "Heydukova",
            "buildingNumber": "2155",
            "propertyRegistrationNumber": "6",
            "postalCode": "81108"
          }
        }
      }
    },
    "cashRegisterCode": "88812345678900001",
    "amount": 10,
    "issueDate": "03.09.2025 16:56:01",
    "createDate": "03.09.2025 16:56:01",
    "sequenceId": 1,
    "pkp": "EjRWeJASNFra0KvN7xI0VniQq83vEjRWetrTRWeJEjRWeJEjRWetrQAGeJEjRWeJEjRWeAAARWSJcSNFZ4kSNFZ4kSNFZ4kVNFl4EjRWSJeqqqu7vMzN3d7v//EjRWeJEjRWeJEjRWeYC62u387yLtVfTvXvQV/q9Rrxpe8SxVAAVFRK2tpUQUFRUVUQgIgI4UUVEV8V8YVaVVtLVLQbW1RbFbFbuxvu8V7xXhX+FQUFUUUQVRBQWXl0kEAAAAAABUFFFRUSUhAAAAEjRWeJEjRWeJEjRWeJEjRlqJEjRWeJEjRdrYkSNFZ4kSNFZ4kSNK2trSNFZ5gSNFatraNFZw==",
    "okp": "ABCDEFAB-12345678-12345678-12345678-ABCDEFAB",
    "qrCode": "ABCDEFAB-12345678-12345678-12345678-ABCDEFAB:88812345678900001:250903165601:1:10.00",
    "documentEntries": [
      {
        "type": "SALE",
        "price": 5,
        "quantity": 2,
        "name": "Tovar",
        "totalPrice": 10,
        "vatRate": "VAT_23"
      }
    ],
    "vatRateSums": [],
    "paymentTypes": {
      "Hotovosť EUR": 10
    },
    "header": "",
    "footer": "",
    "exception": false,
    "documentNumber": "202509/1"
  }
}
Document sent but not printed

The document was successfully stored into the CHDÚ memory, successfully sent to the SFS, but not printed. Since it wasn't electronic, it must be printed first before storing any other data to the CHDÚ. Please print the document using the Print endpoint.

{
  "resultCode": 507,
  "document": {
    "type": "PD",
    "merchant": {
      "id": 12,
      "corporateFullName": "Company s.r.o.",
      "ico": "123456789",
      "dic": "SK123456789",
      "physicalAddress": {
        "country": "Slovenská Republika",
        "municipality": "Bratislava",
        "street": "Heydukova",
        "buildingNumber": "2155",
        "propertyRegistrationNumber": "6",
        "postalCode": "81108"
      },
      "organizationUnit": {
        "name": "Optional organization unit name",
        "cashRegisterCode": "88812345678900001",
        "cashRegisterType": "STANDARD",
        "location": {
          "physicalAddress": {
            "country": "Slovenská Republika",
            "municipality": "Bratislava",
            "street": "Heydukova",
            "buildingNumber": "2155",
            "propertyRegistrationNumber": "6",
            "postalCode": "81108"
          }
        }
      }
    },
    "cashRegisterCode": "88812345678900001",
    "amount": 10,
    "issueDate": "03.09.2025 16:56:01",
    "createDate": "03.09.2025 16:56:01",
    "processDate": "03.09.2025 16:56:01",
    "sequenceId": 1,
    "uuid": "O-A1B2C3D4E5F6000000123456789-TEST",
    "pkp": "EjRWeJASNFra0KvN7xI0VniQq83vEjRWetrTRWeJEjRWeJEjRWetrQAGeJEjRWeJEjRWeAAARWSJcSNFZ4kSNFZ4kSNFZ4kVNFl4EjRWSJeqqqu7vMzN3d7v//EjRWeJEjRWeJEjRWeYC62u387yLtVfTvXvQV/q9Rrxpe8SxVAAVFRK2tpUQUFRUVUQgIgI4UUVEV8V8YVaVVtLVLQbW1RbFbFbuxvu8V7xXhX+FQUFUUUQVRBQWXl0kEAAAAAABUFFFRUSUhAAAAEjRWeJEjRWeJEjRWeJEjRlqJEjRWeJEjRdrYkSNFZ4kSNFZ4kSNK2trSNFZ5gSNFatraNFZw==",
    "okp": "ABCDEFAB-12345678-12345678-12345678-ABCDEFAB",
    "qrCode": "O-A1B2C3D4E5F6000000123456789-TEST",
    "documentEntries": [
      {
        "type": "SALE",
        "price": 5,
        "quantity": 2,
        "name": "Tovar",
        "totalPrice": 10,
        "vatRate": "VAT_23"
      }
    ],
    "vatRateSums": [],
    "paymentTypes": {
      "Hotovosť EUR": 10
    },
    "header": "",
    "footer": "",
    "exception": false,
    "documentNumber": "202509/1"
  },
  "printResultCode": 101
}
Offline document not printed

The document was successfully stored into the CHDÚ memory, however wasn't sent to the SFS and wasn't printed either. In this case, the document must be printed first using the Print endpoint. Then, send the document using Send offline endpoint.

{
  "resultCode": 507,
  "document": {
    "type": "PD",
    "merchant": {
      "id": 12,
      "corporateFullName": "Company s.r.o.",
      "ico": "123456789",
      "dic": "SK123456789",
      "physicalAddress": {
        "country": "Slovenská Republika",
        "municipality": "Bratislava",
        "street": "Heydukova",
        "buildingNumber": "2155",
        "propertyRegistrationNumber": "6",
        "postalCode": "81108"
      },
      "organizationUnit": {
        "name": "Optional organization unit name",
        "cashRegisterCode": "88812345678900001",
        "cashRegisterType": "STANDARD",
        "location": {
          "physicalAddress": {
            "country": "Slovenská Republika",
            "municipality": "Bratislava",
            "street": "Heydukova",
            "buildingNumber": "2155",
            "propertyRegistrationNumber": "6",
            "postalCode": "81108"
          }
        }
      }
    },
    "cashRegisterCode": "88812345678900001",
    "amount": 10,
    "issueDate": "03.09.2025 16:56:01",
    "createDate": "03.09.2025 16:56:01",
    "sequenceId": 1,
    "pkp": "EjRWeJASNFra0KvN7xI0VniQq83vEjRWetrTRWeJEjRWeJEjRWetrQAGeJEjRWeJEjRWeAAARWSJcSNFZ4kSNFZ4kSNFZ4kVNFl4EjRWSJeqqqu7vMzN3d7v//EjRWeJEjRWeJEjRWeYC62u387yLtVfTvXvQV/q9Rrxpe8SxVAAVFRK2tpUQUFRUVUQgIgI4UUVEV8V8YVaVVtLVLQbW1RbFbFbuxvu8V7xXhX+FQUFUUUQVRBQWXl0kEAAAAAABUFFFRUSUhAAAAEjRWeJEjRWeJEjRWeJEjRlqJEjRWeJEjRdrYkSNFZ4kSNFZ4kSNK2trSNFZ5gSNFatraNFZw==",
    "okp": "ABCDEFAB-12345678-12345678-12345678-ABCDEFAB",
    "qrCode": "ABCDEFAB-12345678-12345678-12345678-ABCDEFAB:88812345678900001:250903165601:1:10.00",
    "documentEntries": [
      {
        "type": "SALE",
        "price": 5,
        "quantity": 2,
        "name": "Tovar",
        "totalPrice": 10,
        "vatRate": "VAT_23"
      }
    ],
    "vatRateSums": [],
    "paymentTypes": {
      "Hotovosť EUR": 10
    },
    "header": "",
    "footer": "",
    "exception": false,
    "documentNumber": "202509/1"
  },
  "printResultCode": 101
}
Online electronic document

The document was successfully stored into the CHDÚ memory, successfully sent to the SFS and the receipt is returned in the BASE64 format to be sent to the customer by the client app. The client app must provide the customer the receipt. Keep in mind, that the offline receipt cannot be issued electronically.

{
  "resultCode": 0,
  "document": {
    "type": "PD",
    "merchant": {
      "id": 12,
      "corporateFullName": "Company s.r.o.",
      "ico": "123456789",
      "dic": "SK123456789",
      "physicalAddress": {
        "country": "Slovenská Republika",
        "municipality": "Bratislava",
        "street": "Heydukova",
        "buildingNumber": "2155",
        "propertyRegistrationNumber": "6",
        "postalCode": "81108"
      },
      "organizationUnit": {
        "name": "Optional organization unit name",
        "cashRegisterCode": "88812345678900001",
        "cashRegisterType": "STANDARD",
        "location": {
          "physicalAddress": {
            "country": "Slovenská Republika",
            "municipality": "Bratislava",
            "street": "Heydukova",
            "buildingNumber": "2155",
            "propertyRegistrationNumber": "6",
            "postalCode": "81108"
          }
        }
      }
    },
    "cashRegisterCode": "88812345678900001",
    "amount": 10,
    "issueDate": "03.09.2025 16:56:01",
    "createDate": "03.09.2025 16:56:01",
    "processDate": "03.09.2025 16:56:01",
    "sequenceId": 1,
    "uuid": "O-A1B2C3D4E5F6000000123456789-TEST",
    "pkp": "EjRWeJASNFra0KvN7xI0VniQq83vEjRWetrTRWeJEjRWeJEjRWetrQAGeJEjRWeJEjRWeAAARWSJcSNFZ4kSNFZ4kSNFZ4kVNFl4EjRWSJeqqqu7vMzN3d7v//EjRWeJEjRWeJEjRWeYC62u387yLtVfTvXvQV/q9Rrxpe8SxVAAVFRK2tpUQUFRUVUQgIgI4UUVEV8V8YVaVVtLVLQbW1RbFbFbuxvu8V7xXhX+FQUFUUUQVRBQWXl0kEAAAAAABUFFFRUSUhAAAAEjRWeJEjRWeJEjRWeJEjRlqJEjRWeJEjRdrYkSNFZ4kSNFZ4kSNK2trSNFZ5gSNFatraNFZw==",
    "okp": "ABCDEFAB-12345678-12345678-12345678-ABCDEFAB",
    "qrCode": "O-A1B2C3D4E5F6000000123456789-TEST",
    "documentEntries": [
      {
        "type": "SALE",
        "price": 5,
        "quantity": 2,
        "name": "Tovar",
        "totalPrice": 10,
        "vatRate": "VAT_23"
      }
    ],
    "vatRateSums": [],
    "paymentTypes": {
      "Hotovosť EUR": 10
    },
    "header": "",
    "footer": "",
    "exception": false,
    "electronic": true,
    "electronicReceipt": "PNG image of the receipt in a BASE64 format",
    "documentNumber": "202509/1"
  }
}

500 — Some error occurred...


Update stuck document data

POST /api/document/update

Updates the stuck document record in CHDU. The request can only contain the data that needs to be fixed, i.e., it is not necessary to send all the data of the original document. See the schema for all possible attributes which may be updated.

Request Body

Data to update/change/repair

Schema: UpdateDocumentRequest

Examples

Send the document with latest merchant data

Stores and resends the stuck document with the latest stored merchant. Use this when the certificate of the offline document has expired.

{
  "fixDocument": {
    "useLastMerchant": true
  }
}
Fix document dates

Stores and resends the stuck document which contained wrong date (for example the future date).

{
  "fixDocument": {
    "createDate": "02.09.2025 16:56:02",
    "issueDate": "02.09.2025 16:56:02"
  }
}
Fix document invoice number

Changes the invoice number of the stuck document

{
  "fixDocument": {
    "invoiceId": "FA123456"
  }
}
Fix first item data

Changes the name and quantity of the first item.

{
  "fixDocument": {
    "documentEntries": [
      {
        "name": "Fixed item name",
        "quantity": 1.05
      }
    ]
  }
}
Fix second item data

If trying to fix nth item, keep the fix items before this one empty.

{
  "fixDocument": {
    "documentEntries": [
      {},
      {
        "specialRegulationChange": {
          "newValue": "UD"
        }
      }
    ]
  }
}

Responses

500 — An error occurred...

default — Standard response

Schema: DocumentResponse