Skip to main content

Reference tables#

Service Status: ftState#

The ftState is returned with every receipt response. Through this status, fiskaltrust.Middleware can signal its operability or request processing logic.

The value 0xXXXX000000000000 indicates that the fiskaltrust.Middleware is available without reporting problems or notifications - it’s a kind of a "ready" state. The XXXX contains the country specific code for which the service has been configured. The country specific code, is made of the country’s code value following the ISO-3166-1-ALPHA-2 standard, converted from ASCII into hex.

The table below describes supported statuses for the ftState field. Those codes can be combined by using the logic operator OR.

ValueDescriptionMiddleware Version
0xXXXX000000000001"out of service"
The security mechanism has not yet been activated or was already deactivated.
1.0
0xXXXX000000000008Late Signing Mode
End of Fail Receipt required
1.0

Example of reading ftState parameter

The following example shows how to extract the value of a flag into the ftState property.

if ((ReceiptResponse.ftState & 0x0000000000000001) != 0){  //your code in case of out of service condition}
if ((ReceiptResponse.ftState & 0x0000000000000008) != 0){  //your code in case of Late Signing condition}
if ((ReceiptResponse.ftState & 0x0000000000000040) != 0){  //your code in case of Message Pending condition}

Type of Receipt: ftReceiptCase#

The ftReceiptCase indicates the receipt type and defines how it should be processed by the fiskaltrust.SecurityMechanism. The data type is Int64 and contains the country specific code, which is a value following the ISO-3166-1-ALPHA-2 standard converted from ASCII into hex and used as byte 8 and 7. For definitions regarding national laws, please refer to the appropriate appendix.

ValueDescriptionMiddleware Version
0x0000000000000000"default value"
Unknown type of receipt.
Automatic processing through the localization setting of the fiskaltrust.Middleware is attempted.
1.1

ftReceiptCaseFlag#

Business transactions can result in combinations of receipt types, which would be indicated using codes in bytes 6, 5, 4 and 3. These codes can be combined using the logic operator OR.

ValueDescriptionMiddleware Version
0x0000000000010000"failed receipt"
Receipt was created and handed out in a moment when the communication between the fiskaltrust.Middleware and the cash register terminal was not possible.
The transferred receipt contains data, which has been created during an outage of the fiskaltrust.Middleware. The original receipts are available in handwritten or digital format and are to be transferred. The first ReceiptRequest including this flag sets the fiskaltrust.Middleware in a "late signing mode". In order to leave this mode, an "end of failure" Receipt Request has to be made by the cash register terminal using a Zero Receipt. This can be necessary e.g. after a power or server outage.
"Zero Receipt" section.
1.0
0x0000000000020000"training receipt"
Used to separate the normal usage of the cash register system from the training mode. This flag can be added to each Receipt Request when training/testing is performed. This receipt will not produce any tax relevant changes.
1.0
0x0000000000040000"reverse receipt" or "voided receipt"
Used to separate regular receipts from the receipts which were voided by setting the negative values for either Amount or Quantity (not both) in Chargeitems and Payitems of the receipt. The cbPreviousReceiptReference should be set to the ReceiptReference of the Receipt which should be voided.
1.0
0x0000000000080000"handwritten receipt "
The transferred receipt contains data which has been collected in a handwritten receipt. There is no requirement for a precise time annotation on a handwritten receipt; we recommend using 12:00 for this purpose.
1.0
0x0000800000000000"receipt request".
Used to retrieve an already processed receipt from the fiskaltrust.Middleware using the cbReceiptReference field. The cbTerminalID can also be included in this request. Chargeitems and payitems have to be exactly the same as in the requested receipt. If a matching receipt is found, its content will be returned. If nothing is found a null value is returned. This can be nescessary if a communication problem occurs while fiskaltrust.Middleware processes a request.
1.1
To prevent a duplication of requested receipt, the cash register terminal can place an additional parameter inside the queue to influence the behavior of this "receipt request" when no receipt is found.
Parameter name: "receiptrequestmode"
Parameter values:
0 (default) … null is returned
1 … request is handled in the same way as new request. If processing is successful, the created ReceiptResponse is returned.
1.2

These flags are based on national laws and regulations, for further information please refer to the appropriate country specific appendix.

Type of Service: ftChargeItemCase#

The ftChargeItemCase defines the type of service or item in the charge item block and thus how the fiskaltrust.SecurityMechanism processes the individual receipts with regards to receipt generation. The data type is Int64 and contains a country specific code which is a value following the ISO-3166-1-ALPHA-2 standard, converted from ASCII into hex and used as byte 8 and 7.

For definitions regarding national laws, please refer to the appropriate country specific appendix.

ValueDescriptionMiddleware-Version
0xXXXX000000000000"default value"
Unknown type of service: Automatic processing through the localization setting of the fiskaltrust.Middleware is attempted.
1.0

Type of Payment: ftPayItemCase#

The ftPayItemCase indicates the type of payment within the pay items block and defines how the fiskaltrust.SecurityMechanism processes the individual payment in terms of the receipt. The data type is Int64 and contains a country specific code which is a value following the ISO-3166-1-ALPHA-2 standard, converted from ASCII into hex and used as byte 8 and 7.

For definitions regarding national laws, please refer to the appropriate appendix.

ValueDescriptionMiddleware Version
0xXXXX000000000000"default value"
unknown payment type: Automatic processing through the localization setting of the fiskaltrust.Middleware is attempted.
1.0

Format of Signature: ftSignatureFormat#

The ftSignatureFormat tells the cash register or input station which display format is required for the signature block section on the receipt.

ValueDescriptionMiddleware Version
0x00Unknown / no format defined1.0
0x01Text1.0
0x02Link1.0
0x03QR-Code (2D Code)1.0
0x04Code128 (Barcode)1.0
0x05OCR-A (optical character recognition, possible for Base32 data)1.0
0x06PDF417-(2D Code)1.0
0x07DATAMATRIX-(2D Code)1.0
0x08AZTEC-(2D Code)1.0
0x09EAN-8 (Barcode)1.0
0x0AEAN-13 (Barcode)1.0
0x0BUPC-A (Barcode)1.0
0x0CCode39 (Barcode, possible for Base32 data)1.0
0x0DBase641.3

Type of Signature: ftSignatureType#

The ftSignatureType indicates type and origin of the signature. The data type is Int64 and can contain a country specific code which is a value following the ISO-3166-1-ALPHA-2 standard, converted from ASCII into hex and used as byte 8 and 7.

For definitions regarding national laws, please refer to the appropriate appendix.

ValueDescriptionMiddleware-Version
0x0000000000000000unknown1.0
0x0000000000001000information notification1.0
0x0000000000002000alert notification1.0
0x0000000000003000failure notification1.0

Type of Journal: ftJournalType#

The ftJournalType is used with the journal function and specifies the content and format of the returned journal stream. The data type is Int64 and contains a country specific code which is a value following the ISO-3166-1-ALPHA-2 standard, converted from ASCII into hex and used as byte 8 and 7.

For definitions regarding national laws, please refer to the appropriate appendix.

ValueDescriptionMiddleware-Version
0x0000000000000000Version information

Version information informs which version of the fiskaltrust.Middleware is currently being used
1.1
0x0000000000000001fiskaltrust.ActionJournal in internal format

The fiskaltrust.ActionJournal collects all operational incidents. This can be the date and time of start or failure of the service, as well as any other information related to the fiskaltrust.Middleware and fiskaltrust.SecurityMechanism.
1.1
0x0000000000000002ReceiptJournal in internal format

The fiskaltrust.ReceiptJournal is used to record, hash, and chain all requests to the fiskaltrust.Middleware and the resulting responses. The first part of the returned ReceiptIdentification is an upcounting number generated by ReceiptJournal.
1.1
0x0000000000000003QueueItemJournal in internal format

QueueItemJournal shows every information related to to the fiskaltrust.Middleware and fiskaltrust.SecurityMechanism, as well as all receipts sent to the fiskaltrust.Middleware and all resulting responses. This is useful for archiving purposes.
1.1

Example for version information :

{    "Assembly": "fiskaltrust.Middleware.Queue, Version=1.3.24.0, Culture=neutral, PublicKeyToken=null",    "Version": {        "Major": 1,        "Minor": 3,        "Build": 24,        "Revision": 0,        "MajorRevision": 0,        "MinorRevision": 0    }}