Skip to content
This repository was archived by the owner on Feb 26, 2026. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
247 changes: 247 additions & 0 deletions doc/middleware-at-rksv/reference-tables/reference-tables-v0.md

Large diffs are not rendered by default.

254 changes: 30 additions & 224 deletions doc/middleware-at-rksv/reference-tables/reference-tables.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
slug: /poscreators/middleware-doc/austria/reference-tables/ftstate
title: 'Service Status: ftState'
---

# Service Status: ftState

## Format

_CCCC_vlll_gggg_gggg_

#### v - version
version 2

#### gggg_gggg - global tagging/flag
| **Value** | **Description** | **Middleware Version** |
|----------------------|-----------------------------------------------------------------------------------------------------|---------------------|
| `0000_0001 ` | **Security Mechanism is out Out of Operation** <br />Queue is not started or already stopped. | 1.3.45 |
| `0000_0002 ` | **SCU (Signature Creation Unit) temporary out of service**<br />For at least one receipt, it was not possible to receive the signature from an allocated SCU, therefore the security mechanism has been put into "signature creation device out of service" mode. Regardless of whether an allocated SCU is available again or not, the mode remains in place until a ZeroReceipt cleans up the state and takes the market specific action required.| 1.3.45 |
| `0000_0004 ` | **SCU (Signature Creation Unit) permanently out of service**<br />The status "SSCD temporary out of service" was activated more than 48h ago. Thus a FinanzOnline notification has been generated.For conduct and termination of this mode, see "SSCD temporary out of service".| 1.3.45 |
| `0000_0008 ` | **Deferred Queue Mode / Late Signing Mode is active**<br />When the cash register doesn’t reach the queue, it queues up the receipt requests while continuing to do business. Also, with a major failure of the cash register or a power outage, handwritten paper receipts are queued up while continuing to do business. After getting back to a full functional state, these queued-up ReceiptRequests are sent to the queue, having the original cbReceiptMoment of the business case and ReceiptCase tagged/flagged with 0001 (Deferred Queue / Late Signing) or 0008 (Handwritten). <br />A result of this is a marker within the ftState, which can be resolved via ZeroReceipt. The reason for the marker is a mismatch between processed time along the receipt chain and a manual event to clean up the state and maybe notify 3rd parties of an outage. | 1.3.45 |
| `0000_0010 ` | **MonthlyClosing due** <br />If the latest monthly has not been performed, the service will signal this. This status does not impact the signature conduct of the service; it is merely an indicative notification. | 1.3.45 |
| `0000_0020 ` | **AnnualClosing due** <br />If the latest annual closing has not been performed, the service will signal this. This status does not impact the signature conduct of the service; it is merely an indicative notification. | 1.3.45 |
| `0000_0040 ` | **Message Pending** <br />Middleware/Queue is a headless background service, but there are situations where communication with the cashier/operator or the cash register is necessary. For example, if the last daily closing was missed or if a special condition related to the signature creation unit or service happened. This is the moment when the message pending flag is set by the middleware, which should be signalled to the cashier by the POS system. By executing a ZeroReceipt, the cashier can read the message or instruction on the printed or displayed receipt.<br />Related to local regulations, this receipt may be stored/archived with/for bookkeeping purposes; if this is the case, this is also visualized. | 1.3.45 |
| `0000_0080 ` | **Backup SSCD in use** <br />The receipt was signed by a signature creation unit configured for backup use. | 1.3.45 |
| `EEEE_EEEE ` | **Error** <br />Something went wrong while processing the last request. QueueItem exists but didn’t reach the state of a ReceiptItem and didn’t consume a ftReceiptNumber within the chain. Error reason is shown within the responded ftSignatureItems. <br />This happens, for example, if the ReceiptCase is not recognized or is wrong. | 1.3.45 |
| `FFFF_FFFF ` | **Fail** <br />Something went wrong while processing the last request, and nothing persisted within the Queue. Fail reason is shown within the responded ftSignatureItems. <br />This happens, for example, when the flag ReceiptRequest is used after a communication outage, and no properly processed item is found. | 1.3.45 |


#### llll -local flags

cba c=reserved; b=reporting; a=scu related

| **Value** | **Description** | **Middleware Version** |
|----------------------|-----------------------------------------------------------------------------------------------------|---------------------|
| `001 ` | **[RT-Printer\|RT-Server\|Government Service] not reachable** <br />Responded in case of a zero-receipt and other hard dependencies to the service. | 1.3.45 |

Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
slug: /poscreators/middleware-doc/austria/reference-tables/ftjournaltype
title: 'Type of Journal: ftJournalType'
---

# Type of Journal: ftJournalType

This table expands on the values provided in table of Chapter ["Type of Journal: ftJournalType"](../../general/reference-tables/reference-tables.md#c-type-of-journal-ftjournaltype-129) of the General part with values applicable to the Austrian market<span id="t-type-of-journal-ftjournaltype-190">.</span>

| **Value** | **Description** | **Version** |
|----------------------|--------------------------------|-------------|
| `000` | Status Information QueueAT | 1.3.45 |

Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
---
slug: /poscreators/middleware-doc/austria/reference-tables/ftpayitemcase
title: 'Type of Payment: ftPayItemCase'
---

# Type of Payment: ftPayItemCase

This table expands on the values provided in table [ftPayItemCase in General Part](../../general/reference-tables/reference-tables.md#type-of-payment-ftpayitemcase) with values applicable to the Austrian market.

## Format

_CCCC_vlll_gggg_xxPP_

#### v - version
version 2

#### PP - payment type
| **Value** | **Description** | **Middleware version** |
| -------------------- | ---------------------------------------------------------------------------------------------- | ---------------------- |
| `00` | **Unknown payment type for AT**<br />This is handled like a cash payment in national currency. | 1.3.45 |
| `01` | **Cash payment**<br />cash | 1.3.45 |
| `02` | **NonCash**<br />cash | 1.3.45 |
| `03` | **Crossed cheque**<br />cash | 1.3.45 |
| `04` | **Debit card payment**<br />cash | 1.3.45 |
| `05` | **Credit card payment**<br />cash | 1.3.45 |
| `06` | **Voucher payment (coupon) - voucher by money value**<br />cash | 1.3.45 |
| `07` | **Online payment**<br />noncash | 1.3.45 |
| `08` | **Loyalty program Customer card payment**<br />|1.3.45|
| `09` | **Accounts receivable**<br />| 1.3.45 |
| `0A` | **SEPA transfer**<br />| 1.3.45 |
| `0B` | **Other Bank transfer**<br />| 1.3.45 |
| `0C` | **Transfer to Cashbook / Vault / Owner / Employee**<br />Positive (+) amount contributes to cashbox/vault. This higher the amount in cashbox/vault.<br />Negative (-) amount lowers the amount in cashbox/vault. |1.3.45|
| `0D` | **Internal / Material consumption**<br />| 1.3.45|
| `0E` | **Grant**<br />| 1.3.45|
| `0F` | **Ticket Restaurant / (Sodexo, edenred, usw.)**<br />| 1.3.45|

#### v - version
version 2

#### gggg - global tagging/flag
| **Value** | **Description** | **Middleware version** |
| -------------------- | ---------------------------------------------------------------------------------------------- | ---------------------- |
| `0001` | **IsVoid**<br />Marks PayItem as Void previous position. Quantity and amount are inverted, related to original item. <br />IsVoid is used in cases where the exchange of money has not been executed yet. | 1.3.45|
| `0002` | **IsReturn/IsRefund**<br />Marks PayItem as Return of good or service. Quantity and amount are inverted, related to original item.<br />IsReturn/IsRefund is used in cases where the exchange of money has been executed already.| 1.3.45|
| `0004` |**(reserved)**<br />| 1.3.45|
| `0008` |**Downpayment**<br />Marks PayItem as a downpayment. <br />Positive (+) amount is reduction of downpayment. <br/>Negative (-) amount is creation of downpayment.| 1.3.45|
| `0010` | **IsForeignCurrency**<br />Amount is still in EUR, at the moment of acceptance. ftPayItemData requires two data elements with “foreignCurrencySymbol” and “foreignCurrencyAmount” to persist data for daily closing and later bookkeeping transactions| 1.3.45|
| `0020` | **IsChange**<br />Usually contains a negative (-) amount.<br /> (IsVoid => can be inverted)| 1.3.45 |
| `0040` | **IsTip**<br />Must be a negative (-) amount to flow out of payment method.<br />ShowInChargeItems flag can be used to raise the total amount by the tip amount, to have a more convenient visualization.| 1.3.45 |
| `0080` | **IsDigital/IsElectronic**<br />Electronic money, digital money | 1.3.45 |
| `8000` | **ShowInChargeItems**<br />Visualize the item before Total Amount. This inverts amount and does include the amount into the visualized total amount on the receipt. |1.3.45|
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
---
slug: /poscreators/middleware-doc/austria/reference-tables/ftreceiptcase
title: 'Type of receipt: ftReceiptCase'
---

# Type of Receipt: ftReceiptCase

The `ftReceiptCase` indicates the receipt type and defines how the fiskaltrust.SecurityMechanism should process it following Austrian law.

For Austria (AT), the country code is `0x4154`. Thus, the value of an unknown `ftReceiptCase` in Austria is `0x4154000000000000`.

## Format

_CCCC_vlll_gggg_txcc_

#### v - version
version 2

| **Value** | **Description** |
|----------------------|-----------------------------------------------------------------------------------------------------|
|t|ReceiptCaseType|
|txcc|ReceiptCase|
|gggg|global tagging/flag|
|lll|local tagging/flag|

#### t - ReceiptCaseType

| **Value** | **Category** | **Description** |
|-----------|-----------------|-------------------------|
| `0` | Receipt | A basic receipt that is generated as part of a POS sale. A receipt usually serves as proof of payment. The receipt is used after the transaction is done (if goods are received). This is the usual process that is done at a POS. |
| `1` | Invoice | An invoice is generated for those cases where payment isn't handled immediately. |
| `2` | DailyOperations | This category contains receipt cases that the Middleware requires for various downstream processes (e.g. book keeping) |
| `3` | Log | Logs can be used for storing / securing events that need are needed for additional processing or downstream processes. (e.g. log for cash drawer opened) |
| `4` | Lifecycle | These operations are used for changing the overall state of the Middleware. Depending on the local regulations these receipts are handed over as part of a notification (e.g. FinanzOnline) |


#### txcc - ReceiptCase

| **Value** | **Description** | **Middleware version** |
|-----------|-----------------|-------------------------|
| `0000` | **Unknown type for country-code "AT"**<br /><br />This receipt case is handled like a "pos-receipt" (`0001 `). See below: | 1.3.45 |
| `0001` | **POS receipt**<br /><br />Represents the main kind of receipt processed by a POS system. Creates a turnover and/or a change in the amount of cash in the till or similar operations. <br /><br />Use the `ftChargeItems` and `ftPayItems` to hand over details about goods, services and payments for processing. The `ftChargeItems` and `ftPayItems` should contain the full final state of the receipt. | 1.3.45 |
| `0002` | **Payment transfer receipt type**<br /><br />| 1.3.45 |
| `0003` | **Point-Of-Sale receipt without fiscalization**<br /><br /> Obligation or with exeption on fiscalization regulation | 1.3.45 |
| `0004` | **E-Commerce receipt type**<br /><br />| 1.3.45 |
| `0005` | **Delivery Note**<br /><br />| 1.3.45 |
| `1000` | **Unknown invoice type**<br /><br />| 1.3.45 |
| `1001` | **B2C invoice type**<br /><br />| 1.3.45 |
| `1002` | **B2B invoice type**<br /><br />| 1.3.45 |
| `1003` | **B2G invoice type**<br /><br />| 1.3.45 |
| `2000` | **Zero Receipt**<br /><br />Used for communication test and functional test of the fiskaltrust.SecurityMechanism. The request is only valid when the charge items block (ftChargeItems) and the pay items block (ftPayItems) in the ftReceiptRequest are empty arrays.| 1.3.45 |
| `2001` | **(reserved) One Receipt**<br /><br />| 1.3.45 |
| `2010` | **Shift Closing Receipt**<br /><br />| 1.3.45 |
| `2012` | **Monthly Closing Receipt**<br /><br />| 1.3.45 |
| `2013` | **Yearly Closing Receipt**<br /><br />| 1.3.45 |
| `3000` | **Protocol (unspecified type)**<br /><br />| 1.3.45 |
| `3001` | **Protocol (technical event)**<br /><br />| 1.3.45 |
| `3002` | **Protocol (audit event / accounting event)**<br /><br />| 1.3.45 |
| `3003` | **Internal usage / Material consumption**<br /><br />| 1.3.45 |
| `3004` | **Order**<br /><br />| 1.3.45 |
| `3010` | **Copy Receipt / Print existing Receipt**<br /><br />| 1.3.45 |
| `4001` | **Queue-Start-Receipt (Initial operations receipt)**<br /><br />| 1.3.45 |
| `4002` | **Queue-Stop-Receipt (Out of operations receipt)**<br /><br />| 1.3.45 |

#### gggg - global tagging/flag

| **Value** | **Description** | **Middleware version** |
|-----------|-----------------|-------------------------|
| `0001` | **Process as Late Signing Receipt**<br /><br />The cash register lost connection to the queue and processed receipts without communicating with the queue. All processed receipts marked with the hint “Security mechanism not reachable” need to be sent to the queue with this maker. | 1.3.45 |
| `0002` | **Training Receipt** | 1.3.45 |
| `0004` | **IsVoid**<br /><br />Marks Receipt as Void to previous one. Mark lineitems also as IsVoid to signal clear data. | 1.3.45 |
| `0008` | **Process as Handwritten Receipt**<br /><br />During a power outage, the Cash register will not work, and the merchant hands out handwritten receipts. These handwritten receipts need to be sent to the Security Mechanism by using this flag. | 1.3.45 |
| `0010` | **IssuerIsSmallBusiness**<br /><br />Businesses below a country-specific size in revenue need not declare VAT.<br />With this marker, the receipt shows no VAT, all prices are gross, and a country-specific hint must be printed. | 1.3.45 |
| `0020` | **ReceiverIsBusiness **<br /><br />Specific data need to be placed onto the receipt. | 1.3.45 |
| `0040` | **ReceiverIsKnown**<br /><br />Characteristics related to VAT taxes are given. For example, Name, Adress, VAT-ID, other local info. | 1.3.45 |
| `0080` | **IsSaleInForeignCountry**<br /><br /> | 1.3.45 |
| `0100` | **IsReturn/IsRefund**<br /><br />Marks Receipt as Return of good or service. | 1.3.45 |
| `0800` | **Group by Position-Number / 100**<br /><br />100 = first position, 101 first subitem, 102 second subitem.<br />The sum of all chargeitems within a position must count toward the total receipt amount.<br />If the quantity and amount are 0,00, the quantity and amount will not be visualized for this line on the digital receipt. Independent if main our subitem. | 1.3.45 |
| `8000` | **ReceiptRequest**<br /><br />If you don’t receive a response, try this flag first before taking any other action.<br />This will return a stored result for example in case of a timeout when cashregister calls queue. | 1.3.45 |


#### lll - local tagging/flag

| **Value** | **Description** | **Middleware version** |
|-----------|-----------------|-------------------------|


Loading