Skip to content

Commit

Permalink
Merge pull request #76 from fiskaltrust/user/tst/stabilization_1_3_1
Browse files Browse the repository at this point in the history
details for middleware 1.3.1
  • Loading branch information
steininger committed May 27, 2020
2 parents 575539c + 5804620 commit dcdc580
Show file tree
Hide file tree
Showing 7 changed files with 46 additions and 286 deletions.
279 changes: 0 additions & 279 deletions doc/appendix-de-kassensichv/reference-tables/reference-tables.md

Large diffs are not rendered by default.

Expand Up @@ -4,4 +4,12 @@ The table below describes supported statuses for the ftState field in accordance

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. For Germany (DE) this is `0x4445`, which results in `0x4445000000000000` as the value for the "ready" status.

At the time being there are no additional statuses for the german market. For an overview of the available statuses please see the description in the general part.
The table below describes supported statuses for the ftState field. Those codes can be combined by using the logic operator `OR`<span id="t-service-status-ftstate-22">.</span>

| **Value** | **Description** | **Middleware Version** |
|----------------------|-----------------------------------------------------------------------------------------------------|---------------------|
| `0x4445000000000002` | TSE device communication broken<br />The security mechanism was not able to communicate with the TSE device for at least one cycle. If this is the case no more communication trials are done to avoid long waiting times for each ReceiptRequest/ReceiptResponse sequence. To leave this state throw a Zero-Receipt, which forces a communication retry towards the TSE device.<br /> Receipts created in a state where no communication is possible with the TSE device are protected by the security mechanism of fiskaltrust. | 1.0 |
| `0xXXXX000000000004` | Reserved | |
| `0xXXXX000000000010` | Reserved | |
| `0xXXXX000000000020` | Reserved | |
| `0xXXXX000000000080` | Reserved | |
@@ -0,0 +1,9 @@
### 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 German market<span id="t-type-of-journal-ftjournaltype-190">.</span>

| **Value** | **Description** | **Version** |
|----------------------|--------------------------------|-------------|
| `0x4445000000000000` | status information for QueueDE | 1.3.1 |
| `0x4445000000000001` | .TAR-File from TSE device | 1.3.1 |
| `0x4445000000000002` | DSFinV-K-File | later |
Expand Up @@ -38,14 +38,20 @@ This table expands on the values provided in table [ftReceiptCaseFlag in General

| Value | Description | Middleware-Version |
|---|---|---|
| 0x0000000000010000 | out of service | 1.3- |
| 0x0000000000010000 | out of service ??? clarify | 1.3- |
| 0x0000000000020000 | training receipt<br /> DSFinV-K: overrides BON_TYP=AVTraining | 1.3- |
| 0x0000000000040000 | reverse/voided receipt<br /> DSFinV-K: overrides BON_TYP=AVBelegstorno | 1.3- |
| 0x0000000000040000 | reverse/voided receipt<br /> DSFinV-K: overrides BON_TYP=AVBelegstorno | 1.3- |
| 0x0000000000080000 | paper/handwritten receipt | 1.3- |
| 0x0000000000100000 | small business, not taxable sales. TBD: law reference | 1.3- |
| 0x0000000000200000 | receiver is a company | 1.3- |
| 0x0000000000400000 | contains characteristics related to UStG. TBD: law reference | 1.3- |
| 0x0000000100000000 | Implicit Transaction. No Start-Transaction call to ´Sign´ is required, it is done implicitly. If the unique identifier set in property ´cbReceiptReference´ already started a transaction, this will throw an exception. | 1.3- |
| 0x0000000000800000 | Request additional informations from used TSE device. This is valid for Zero-Receipts only and responses a `TseInfo` entry in `ftStateData` field. Content of this item is same as declared in the IDESSCD interface described at [github.com/fiskaltrust](https://github.com/fiskaltrust/middleware-interface-dotnet/blob/master/src/fiskaltrust.ifPOS/v1/de/Models/TseInfo.cs) | 1.3.1 |
| 0x0000000001000000 | Request `ExecuteSelftest` and `ExecuteTimeUpdate` of used TSE device. This is valid for Zero-Receipts only and initiates a selftest and timeupdate at the used TSE device. Some devices (e.g. Swissbit) do require a selftest on a special period (e.g. 25h for Swissbit). On some devices this selftest is timeconsuming (e.g. up to 2 minutes on Swissbit) and therefore a pos-system can trigger this off peak serivcehours, to not block on receipt generation. <br /> If this is not used by pos-system the fiskaltrust-middleware cares on execution of selftest and timeupdate. | 1.3.1 |
| 0x0000000001000000 | Request `clientId` registration only. This is valid for Initial-Operations-Receipt only. If an Initial-Operations-Receipt is executed with this flag set, no lifecycle-check is done for the connected TSE-device and also no initialization is triggerd. This requires a proper initialized TSE-device and then the current cbCashBoxIdentification of the Queue is registerd as a `cliendId` at the TSE-device. | 1.3.1 |
| 0x0000000001000000 | Request `clientId` de-registration only. This is valid for Out-of-Operations-Receipt only. If an Out-of-Operations-Receipt is executed with this flag set, no lifecycle-change done for the connected TSE-device and also no diabling of the secure element is triggerd. This leaves back a TSE-device in initialized lifecycle and the current cbCashBoxIdentification of the Queue is de-registerd as a `cliendId` at the TSE-device. De-registration only is not supported by all TSE-devices. <br /> The normal behaviour of the Out-of-Operations-Receipt to disable the Queue is not influenced by this flag, what mean the Queue will not be useable anymore after execution of a Out-of-Operations-Receipt, the TSE-device can be used with a different Queue for further operations. | 1.3.1 |
| 0x0000000002000000 | Request download of TSE device .Tar-File. This is valid for Zero-Receipts only and processes a data-download from TSE device and this also leads to a data-upload to fiskaltrust-cloud. In case of an audit this can be used to get latest .Tar-File data available for download by using fiskaltrust-portal. .Tar-File download from TSE device is time consuming an may take more than 10 minutes to complete. <br /> If this is not used by pos-system the fiskaltrust-middleware cares on .Tar-File download after execution of daily-closing, monthly-closing, and yearly-closing. | later |
| 0x0000000004000000 | Request to bypass/avoid the download of TSE device .Tar-File. This is valid for daily-, montly-, and yearly-closing only. After the operations described before, a download of TSE device .Tar-File is done. This can be time consuming and also requires to not run any other operations on TSE device to be successfull. If this should **not** be executed, this flag can be used to bypass execution and keep TSE device useable for imediate receipt signing requests. | later |
| 0x0000000008000000 | Request to update masterdata. This is valid for daily-, montly-, and yearly-closing only. Change of master-data already prepared in fiskaltrust-portal after rebuild of configuration and polled by fiskaltrust-middleware will be included in the moment of successfull execution of daily-, montly-, and yearly-closing. <br /> Master data are leaded by fiskaltrust-portal, manual change and update can be executed by ui, automated change and update will be possible by api (description will be provided later). <br /> This `ftReceiptCaseFlag` give a local point-of-sale-terminal the power do execute peviouse prepared master-data change. A default implementation could be to execute this on each daily-closing to get changes as soon done as they are reflacted to cashbox/queue. | later |
| 0x0000000010000000 | Request to fail an raise exception on daily-closing with started transactions. | 1.3.1 |
| 0x0000000100000000 | Implicit Transaction. No Start-Transaction call to ´Sign´ is required, it is done implicitly. If the unique identifier set in property ´cbReceiptReference´ already started a transaction, this will throw an exception. | 1.3.0 |
| 0x0000800000000000 | Receipt request. Common behaviour. | 1.3- |


Expand Up @@ -126,6 +126,15 @@ This table expands on the values provided in Table [ftChargeItemCase in General
| `0x44450000000000A2` | not own sales | 5 | Umsatz | 1.3- |


#### ftChargeItemCaseFlag

This table shows flags that can be added to each ftChargeItemCase with values applicable to the German market.

| Value | Description | Middleware-Version |
|---|---|---|
| 0x0000000000010000 | Take away marker. For some cases it is nescessary to differ for the same good from in-house-consumption and take away. This flag signals a take away situation or in other words a not-in-house-consumption if it is set. | 1.3.1- |


#### Table with vat rate reference numbers defined in DSFinV-K

This table will be removed in the future / replaced by a reference
Expand Down
8 changes: 7 additions & 1 deletion doc/general/reference-tables/reference-tables.md
Expand Up @@ -30,10 +30,16 @@ if ((ReceiptResponse.ftState & 0x0000000000000001) != 0)
{
//your code in case of out of service condition
}
else if ((ReceiptResponse.ftState & 0x0000000000000008) != 0)

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
}
```

<span id="_Toc527986838" class="anchor"></span>*Code 14. Extracting the flag value into the ftState property*
Expand Down
1 change: 1 addition & 0 deletions doc/toc.md
Expand Up @@ -40,4 +40,5 @@
### [Type of Service: ftChargeItemCase](appendix-de-kassensichv/reference-tables/type-of-service-ftchargeitemcase.md)
### [Type of Payment: ftPayItemCase](appendix-de-kassensichv/reference-tables/type-of-payment-ftpayitemcase.md)
### [Type of Signature: ftSignatureType](appendix-de-kassensichv/reference-tables/type-of-signature-ftsignaturetype.md)
### [Type of Journal: ftJournalType](appendix-de-kassensichv/reference-tables/type-of-journal-ftjournaltype.md)
## [Procedural documentation for DSFinV-K generation](appendix-de-kassensichv/procedural-documentation/dsfinv-k-generation.md)

0 comments on commit dcdc580

Please sign in to comment.