From f5a7ad5d2fb5a559f9c6d2e4ee1e81bc8b93d4e6 Mon Sep 17 00:00:00 2001 From: Christian Rogobete Date: Wed, 6 May 2020 15:16:53 +0200 Subject: [PATCH 01/16] Create receipt-case-definitions.md --- .../receipt-case-definitions/receipt-case-definitions.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md diff --git a/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md b/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md new file mode 100644 index 00000000..dab37c06 --- /dev/null +++ b/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md @@ -0,0 +1,3 @@ +## Receipt Case Definitions + +This chapter expands on the definitions of Receipt Cases covered in Chapter ["Receipt Case Definitions"](../../general/receipt-case-definitions/receipt-case-definitions.md) of the General Part, with country specific information applicable to the German market. From 763b15c3584cee2f956ae5e07423cfbd32be7dd6 Mon Sep 17 00:00:00 2001 From: Christian Rogobete Date: Wed, 6 May 2020 18:20:41 +0200 Subject: [PATCH 02/16] work on vouchers --- .../receipt-case-definitions.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md b/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md index dab37c06..43496dc4 100644 --- a/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md +++ b/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md @@ -1,3 +1,21 @@ ## Receipt Case Definitions This chapter expands on the definitions of Receipt Cases covered in Chapter ["Receipt Case Definitions"](../../general/receipt-case-definitions/receipt-case-definitions.md) of the General Part, with country specific information applicable to the German market. + +### Voucher (Service/Product) + +The issuance and redemption of vouchers are processes with DSFinV-K requirements. There are two kinds of vouchers to be considered: + +- Single purpose vouchers (DE: Einzweckgutscheine) +- Multi purpose vouchers (DE: Mehrzweckgutscheine) + +The difference is that for single purpose vouchers the VAT rate is known already at issuance because it refers to a single purpose (service or product). In case of multi purpose vouchers the VAT rate is not known because it can be redeemed for different purposes (services and/or products). + +Handling the issuance and redemption of single purpose vouchers depends on the type of business that the pos operator operates: + +1. If she operates a business with profit determination in regards of **§ 4 Abs. 1 EStG** than she must not consider the VAT rate at issuance and the charge item case (`ftChargeItemCase`) `0x4445000000000065` should be used at issuance. At redemption a charge item case considering the VAT rate must be used (one of this: `0x4445000000000069`, `0x444500000000006A`, `0x444500000000006B`, `0x444500000000006C`, `0x444500000000006E` or `0x444500000000006F`). + +2. On the other side, if she operates a business with profit determination in regards of **§ 4 Abs. 3 EStG** than she must consider the VAT as shoon as she issues the voucher. In this case one of the following VAT specific charge item cases can be used for issuance: `0x4445000000000061`, `0x4445000000000062`, `0x4445000000000063`, `0x4445000000000064`, `0x4445000000000066` or `0x4445000000000067`. And for redemption the charge item case `0x444500000000006D`should be used. + + +The issuance of multi purpose vouchers is covered by the charge item case (`ftChargeItemCase`): `0x4445000000000060`. Since there is no specific product or service coverded by the voucher the issuance is not taxable and the VAT rate must be specified on redemption. From fff06ad3f7dc73757c9649154ab46acbfc0d84fa Mon Sep 17 00:00:00 2001 From: Christian Rogobete Date: Wed, 6 May 2020 22:07:14 +0200 Subject: [PATCH 03/16] work on muti purpose voucher --- .../receipt-case-definitions/receipt-case-definitions.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md b/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md index 43496dc4..39a75d37 100644 --- a/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md +++ b/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md @@ -17,5 +17,6 @@ Handling the issuance and redemption of single purpose vouchers depends on the t 2. On the other side, if she operates a business with profit determination in regards of **§ 4 Abs. 3 EStG** than she must consider the VAT as shoon as she issues the voucher. In this case one of the following VAT specific charge item cases can be used for issuance: `0x4445000000000061`, `0x4445000000000062`, `0x4445000000000063`, `0x4445000000000064`, `0x4445000000000066` or `0x4445000000000067`. And for redemption the charge item case `0x444500000000006D`should be used. +The issuance of multi purpose vouchers is covered by the charge item case (`ftChargeItemCase`): `0x4445000000000060`. Since there is no specific product or service coverded by the voucher the issuance is not taxable and no VAT rate must be specified. Same applies for redemption since the VAT rate is included in the charge items for the products or services of the request. For redemption of a multi purpose voucher, one can use the charge item case (`ftChargeItemCase`): `0x4445000000000068`. -The issuance of multi purpose vouchers is covered by the charge item case (`ftChargeItemCase`): `0x4445000000000060`. Since there is no specific product or service coverded by the voucher the issuance is not taxable and the VAT rate must be specified on redemption. +For the issuance and redemption of a multi purpose voucher, you can also alternatively use pay items instead of charge items. The pay item case (`ftPayItemCase`) to be used is `0x444500000000000D`. Negative amounts get converted to an issuance, positive amounts get converted to a redemption. From 1549175208de25989317a078801b938f507b8d3f Mon Sep 17 00:00:00 2001 From: Christian Rogobete Date: Wed, 6 May 2020 22:11:54 +0200 Subject: [PATCH 04/16] improve wording for vouchers --- .../receipt-case-definitions.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md b/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md index 39a75d37..65486cae 100644 --- a/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md +++ b/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md @@ -9,14 +9,14 @@ The issuance and redemption of vouchers are processes with DSFinV-K requirements - Single purpose vouchers (DE: Einzweckgutscheine) - Multi purpose vouchers (DE: Mehrzweckgutscheine) -The difference is that for single purpose vouchers the VAT rate is known already at issuance because it refers to a single purpose (service or product). In case of multi purpose vouchers the VAT rate is not known because it can be redeemed for different purposes (services and/or products). +The difference is that for single purpose vouchers the VAT rate is known already at issuance because it refers to a single purpose (service or product). On the other hand, in case of multi purpose vouchers the VAT rate is not known because it can be redeemed for different purposes (services and/or products). -Handling the issuance and redemption of single purpose vouchers depends on the type of business that the pos operator operates: +Handling the issuance and redemption of single purpose vouchers depends on the type of business that the pos operator runns: -1. If she operates a business with profit determination in regards of **§ 4 Abs. 1 EStG** than she must not consider the VAT rate at issuance and the charge item case (`ftChargeItemCase`) `0x4445000000000065` should be used at issuance. At redemption a charge item case considering the VAT rate must be used (one of this: `0x4445000000000069`, `0x444500000000006A`, `0x444500000000006B`, `0x444500000000006C`, `0x444500000000006E` or `0x444500000000006F`). +1. If she runns a business with profit determination in regards of **§ 4 Abs. 1 EStG** than she must not consider the VAT rate at issuance of the voucher and the charge item case (`ftChargeItemCase`) `0x4445000000000065` should be used at issuance. At redemption a charge item case considering the VAT rate must be used (one of this: `0x4445000000000069`, `0x444500000000006A`, `0x444500000000006B`, `0x444500000000006C`, `0x444500000000006E` or `0x444500000000006F`). -2. On the other side, if she operates a business with profit determination in regards of **§ 4 Abs. 3 EStG** than she must consider the VAT as shoon as she issues the voucher. In this case one of the following VAT specific charge item cases can be used for issuance: `0x4445000000000061`, `0x4445000000000062`, `0x4445000000000063`, `0x4445000000000064`, `0x4445000000000066` or `0x4445000000000067`. And for redemption the charge item case `0x444500000000006D`should be used. +2. On the other side, if she runns a business with profit determination in regards of **§ 4 Abs. 3 EStG** than she must consider the VAT as shoon as she issues the voucher. In this case one of the following VAT specific charge item cases can be used for issuance: `0x4445000000000061`, `0x4445000000000062`, `0x4445000000000063`, `0x4445000000000064`, `0x4445000000000066` or `0x4445000000000067`. And for redemption the charge item case `0x444500000000006D`should be used. -The issuance of multi purpose vouchers is covered by the charge item case (`ftChargeItemCase`): `0x4445000000000060`. Since there is no specific product or service coverded by the voucher the issuance is not taxable and no VAT rate must be specified. Same applies for redemption since the VAT rate is included in the charge items for the products or services of the request. For redemption of a multi purpose voucher, one can use the charge item case (`ftChargeItemCase`): `0x4445000000000068`. +The issuance of multi purpose vouchers is covered by the charge item case (`ftChargeItemCase`): `0x4445000000000060`. Since there is no specific product or service coverded by the voucher, the issuance is not taxable and no VAT rate must be specified. Same applies for redemption since the VAT rate is included in the charge items for the products or services of the request. For redemption of a multi purpose voucher, one can use the charge item case (`ftChargeItemCase`): `0x4445000000000068`. -For the issuance and redemption of a multi purpose voucher, you can also alternatively use pay items instead of charge items. The pay item case (`ftPayItemCase`) to be used is `0x444500000000000D`. Negative amounts get converted to an issuance, positive amounts get converted to a redemption. +For the issuance and redemption of multi purpose vouchers, you can alternatively use pay items instead of charge items. The pay item case (`ftPayItemCase`) to be used is `0x444500000000000D`. Negative amounts get converted to an issuance, positive amounts get converted to a redemption. From 90eec8d17a9d5e158b5d884d5db21daef1b250a9 Mon Sep 17 00:00:00 2001 From: Christian Rogobete Date: Wed, 6 May 2020 22:29:07 +0200 Subject: [PATCH 05/16] add more details for multi purpose vouchers --- .../receipt-case-definitions/receipt-case-definitions.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md b/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md index 65486cae..4d23dac5 100644 --- a/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md +++ b/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md @@ -17,6 +17,6 @@ Handling the issuance and redemption of single purpose vouchers depends on the t 2. On the other side, if she runns a business with profit determination in regards of **§ 4 Abs. 3 EStG** than she must consider the VAT as shoon as she issues the voucher. In this case one of the following VAT specific charge item cases can be used for issuance: `0x4445000000000061`, `0x4445000000000062`, `0x4445000000000063`, `0x4445000000000064`, `0x4445000000000066` or `0x4445000000000067`. And for redemption the charge item case `0x444500000000006D`should be used. -The issuance of multi purpose vouchers is covered by the charge item case (`ftChargeItemCase`): `0x4445000000000060`. Since there is no specific product or service coverded by the voucher, the issuance is not taxable and no VAT rate must be specified. Same applies for redemption since the VAT rate is included in the charge items for the products or services of the request. For redemption of a multi purpose voucher, one can use the charge item case (`ftChargeItemCase`): `0x4445000000000068`. +The issuance of multi purpose vouchers is covered by the charge item case (`ftChargeItemCase`): `0x4445000000000060`. Since there is no specific product or service coverded by the voucher, the issuance is not taxable and no VAT rate must be specified. Same applies for redemption since the VAT rate is included in the charge items for the products or services of the request. For redemption of a multi purpose voucher, one can use the pay item case (`ftPayItemCase`): `0x444500000000000D` with a positive amount. If the cash register can not handle the redemption within a pay item, then it can alternatively use a charge item having the charge item case (`ftChargeItemCase`): `0x4445000000000068`. -For the issuance and redemption of multi purpose vouchers, you can alternatively use pay items instead of charge items. The pay item case (`ftPayItemCase`) to be used is `0x444500000000000D`. Negative amounts get converted to an issuance, positive amounts get converted to a redemption. +Furthermore for the issuance of multi purpose vouchers, one can alternatively use pay items instead of charge items. The pay item case (`ftPayItemCase`) to be used is `0x444500000000000D`. Negative amounts get converted to an issuance. From e1cedb07f98d4c9064626ef02d6f0be4d351621f Mon Sep 17 00:00:00 2001 From: Christian Rogobete Date: Wed, 6 May 2020 22:34:40 +0200 Subject: [PATCH 06/16] fix typos for vouchers --- .../receipt-case-definitions/receipt-case-definitions.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md b/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md index 4d23dac5..88680a3a 100644 --- a/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md +++ b/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md @@ -11,11 +11,11 @@ The issuance and redemption of vouchers are processes with DSFinV-K requirements The difference is that for single purpose vouchers the VAT rate is known already at issuance because it refers to a single purpose (service or product). On the other hand, in case of multi purpose vouchers the VAT rate is not known because it can be redeemed for different purposes (services and/or products). -Handling the issuance and redemption of single purpose vouchers depends on the type of business that the pos operator runns: +Handling the issuance and redemption of single purpose vouchers depends on the type of business that the pos operator runs: -1. If she runns a business with profit determination in regards of **§ 4 Abs. 1 EStG** than she must not consider the VAT rate at issuance of the voucher and the charge item case (`ftChargeItemCase`) `0x4445000000000065` should be used at issuance. At redemption a charge item case considering the VAT rate must be used (one of this: `0x4445000000000069`, `0x444500000000006A`, `0x444500000000006B`, `0x444500000000006C`, `0x444500000000006E` or `0x444500000000006F`). +1. If she runs a business with profit determination in regards of **§ 4 Abs. 1 EStG** than she must not consider the VAT rate at issuance of the voucher and the charge item case (`ftChargeItemCase`) `0x4445000000000065` should be used at issuance. At redemption a charge item case considering the VAT rate must be used (one of this: `0x4445000000000069`, `0x444500000000006A`, `0x444500000000006B`, `0x444500000000006C`, `0x444500000000006E` or `0x444500000000006F`). -2. On the other side, if she runns a business with profit determination in regards of **§ 4 Abs. 3 EStG** than she must consider the VAT as shoon as she issues the voucher. In this case one of the following VAT specific charge item cases can be used for issuance: `0x4445000000000061`, `0x4445000000000062`, `0x4445000000000063`, `0x4445000000000064`, `0x4445000000000066` or `0x4445000000000067`. And for redemption the charge item case `0x444500000000006D`should be used. +2. On the other side, if she runs a business with profit determination in regards of **§ 4 Abs. 3 EStG** than she must consider the VAT as shoon as she issues the voucher. In this case one of the following VAT specific charge item cases can be used for issuance: `0x4445000000000061`, `0x4445000000000062`, `0x4445000000000063`, `0x4445000000000064`, `0x4445000000000066` or `0x4445000000000067`. And for redemption the charge item case `0x444500000000006D`should be used. The issuance of multi purpose vouchers is covered by the charge item case (`ftChargeItemCase`): `0x4445000000000060`. Since there is no specific product or service coverded by the voucher, the issuance is not taxable and no VAT rate must be specified. Same applies for redemption since the VAT rate is included in the charge items for the products or services of the request. For redemption of a multi purpose voucher, one can use the pay item case (`ftPayItemCase`): `0x444500000000000D` with a positive amount. If the cash register can not handle the redemption within a pay item, then it can alternatively use a charge item having the charge item case (`ftChargeItemCase`): `0x4445000000000068`. From f83fb81bad8268214df16ce4622c73df42d4094c Mon Sep 17 00:00:00 2001 From: Christian Rogobete Date: Thu, 7 May 2020 13:48:14 +0200 Subject: [PATCH 07/16] add changes proposed by AKO to vouchers --- .../receipt-case-definitions.md | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md b/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md index 88680a3a..7e0ea7b9 100644 --- a/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md +++ b/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md @@ -4,19 +4,21 @@ This chapter expands on the definitions of Receipt Cases covered in Chapter ["Re ### Voucher (Service/Product) -The issuance and redemption of vouchers are processes with DSFinV-K requirements. There are two kinds of vouchers to be considered: +The issuance and redemption of vouchers are processes with DSFinV-K requirements. According to the [EU directive](https://eur-lex.europa.eu/legal-content/EN/ALL/?uri=CELEX%3A32016L1065) as regards the treatment of vouchers there are two kinds of vouchers to be considered: -- Single purpose vouchers (DE: Einzweckgutscheine) -- Multi purpose vouchers (DE: Mehrzweckgutscheine) +- Single-purpose voucher (DE: Einzweckgutscheine) +- Multi-purpose voucher (DE: Mehrzweckgutscheine) -The difference is that for single purpose vouchers the VAT rate is known already at issuance because it refers to a single purpose (service or product). On the other hand, in case of multi purpose vouchers the VAT rate is not known because it can be redeemed for different purposes (services and/or products). +The difference is, that for single-purpose vouchers, the VAT rate is known already at transfer (issue) because it refers to a single purpose (service or product). On the other hand, in case of multi purpose vouchers the VAT rate is not known because it can be redeemed for different purposes (goods or services). -Handling the issuance and redemption of single purpose vouchers depends on the type of business that the pos operator runs: +The issuance of single-purpose vouchers is covered by our charge item cases (`ftChargeItemCase`): `0x4445000000000061`, `0x4445000000000062`, `0x4445000000000063`, `0x4445000000000064`, `0x4445000000000065`, `0x4445000000000066` and `0x4445000000000067`. -1. If she runs a business with profit determination in regards of **§ 4 Abs. 1 EStG** than she must not consider the VAT rate at issuance of the voucher and the charge item case (`ftChargeItemCase`) `0x4445000000000065` should be used at issuance. At redemption a charge item case considering the VAT rate must be used (one of this: `0x4445000000000069`, `0x444500000000006A`, `0x444500000000006B`, `0x444500000000006C`, `0x444500000000006E` or `0x444500000000006F`). +The redemption of single-purpose vouchers is covered by `ftChargeItemCase`: `0x4445000000000069`, `0x444500000000006A`, `0x444500000000006B`, `0x444500000000006C`, `0x444500000000006D`, `0x444500000000006E`, `0x444500000000006F`. When used in the request, the charge item amount of the good or service should be a positive value and the charge item amount of the voucher should be negative (e.g. +1 and -1). -2. On the other side, if she runs a business with profit determination in regards of **§ 4 Abs. 3 EStG** than she must consider the VAT as shoon as she issues the voucher. In this case one of the following VAT specific charge item cases can be used for issuance: `0x4445000000000061`, `0x4445000000000062`, `0x4445000000000063`, `0x4445000000000064`, `0x4445000000000066` or `0x4445000000000067`. And for redemption the charge item case `0x444500000000006D`should be used. +If the cash register can not handle the redemption of single-purpose vouchers within the charge items than it can alternatively use a pay item having the pay item case (`ftPayItemCase`): `0x444500000000000A`. When used like this in the request, the charge item amount of the good or service should be a positive value and the pay item amount of the voucher should also be a positive value (e.g. +1 and +1). -The issuance of multi purpose vouchers is covered by the charge item case (`ftChargeItemCase`): `0x4445000000000060`. Since there is no specific product or service coverded by the voucher, the issuance is not taxable and no VAT rate must be specified. Same applies for redemption since the VAT rate is included in the charge items for the products or services of the request. For redemption of a multi purpose voucher, one can use the pay item case (`ftPayItemCase`): `0x444500000000000D` with a positive amount. If the cash register can not handle the redemption within a pay item, then it can alternatively use a charge item having the charge item case (`ftChargeItemCase`): `0x4445000000000068`. +The issuance of multi-purpose vouchers is covered within the pay items by `ftPayItemCase`: `0x444500000000000D`. Negative amounts get converted to an issuance. Since there is no specific product or service coverded by the voucher, the issuance is not taxable and no VAT rate must be specified. Same applies for redemption since the VAT rate is included in the charge items for the products or services of the request. For redemption of a multi-purpose voucher, one can use `ftPayItemCase`: `0x444500000000000D` with a positive amount. -Furthermore for the issuance of multi purpose vouchers, one can alternatively use pay items instead of charge items. The pay item case (`ftPayItemCase`) to be used is `0x444500000000000D`. Negative amounts get converted to an issuance. +If the cash register can not handle the redemption within a pay item, then it can alternatively use a charge item having `ftChargeItemCase`: `0x4445000000000068`. + +Furthermore for the issuance of multi-purpose vouchers, one can alternatively use a charge item instead of a pay item. The `ftChargeItemCase`: `0x4445000000000060` has to be used. From 0fae09153a805806afd347123d58ed77b4e97805 Mon Sep 17 00:00:00 2001 From: Christian Rogobete Date: Fri, 8 May 2020 12:51:58 +0200 Subject: [PATCH 08/16] add voucher examples --- .../examples/vouchers.md | 259 ++++++++++++++++++ 1 file changed, 259 insertions(+) create mode 100644 doc/appendix-de-kassensichv/examples/vouchers.md diff --git a/doc/appendix-de-kassensichv/examples/vouchers.md b/doc/appendix-de-kassensichv/examples/vouchers.md new file mode 100644 index 00000000..421c82dc --- /dev/null +++ b/doc/appendix-de-kassensichv/examples/vouchers.md @@ -0,0 +1,259 @@ +## Vouchers - Implicit Flow + +Examples of single-purpose and multi-purpose requests. + +### Single-purpose voucher issuance + +Request: + +```json +{ + "ftCashBoxID":"cashboxid-guid", + "ftPosSystemId":"possystemid-guid", + "cbTerminalID":"terminalid", + "cbReceiptReference":"233348", + "cbReceiptMoment":"2019-07-19T12:52:34.9609375Z", + "cbChargeItems":[ + { + "Quantity":1.0, + "Description":"Voucher for RX234 MP3 Player", + "Amount":15.00, + "VATRate":19.0000, + // 0x4445000000000061 (coupon sales normal) + "ftChargeItemCase":4919338167972135009 + } + ], + "cbPayItems":[ + { + "Quantity":1.0, + "Description":"Cash", + "Amount":15.00, + // 0x4445 0000 0000 0001 (cash payment in national currency) + "ftPayItemCase":4919338167972134913 + } + ], + // 0x4445 0000 0000 0001 (pos-receipt) + 0000 0001 0000 0000 (implicit flow) + "ftReceiptCase":4919338172267102209, + "cbArea":"Store 56" +} +``` + +### Single-purpose voucher redemption + +Request (voucher within charge items): + +```json +{ + "ftCashBoxID":"cashboxid-guid", + "ftPosSystemId":"possystemid-guid", + "cbTerminalID":"terminalid", + "cbReceiptReference":"233349", + "cbReceiptMoment":"2020-05-08T12:52:34.9609375Z", + "cbChargeItems":[ + { + "Quantity":1.0, + "Description":"RX234 MP3 Player", + "Amount":15.00, + "VATRate":19.0000, + // 0x4445000000000011 (delivery normal) + "ftChargeItemCase":4919338167972134929 + }, + { + "Quantity":1.0, + "Description":"Voucher for RX234 MP3 Player", + "Amount":-15.00, + "VATRate":19.0000, + // 0x4445000000000069 (coupon redeem normal) + "ftChargeItemCase":4919338167972135017 + } + ], + "cbPayItems":[], + // 0x4445 0000 0000 0001 (pos-receipt) + 0000 0001 0000 0000 (implicit flow) + "ftReceiptCase":4919338172267102209, + "cbArea":"Store 56" +} +``` + +Request (voucher within pay items): + +```json +{ + "ftCashBoxID":"cashboxid-guid", + "ftPosSystemId":"possystemid-guid", + "cbTerminalID":"terminalid", + "cbReceiptReference":"233349", + "cbReceiptMoment":"2020-05-08T12:52:34.9609375Z", + "cbChargeItems":[ + { + "Quantity":1.0, + "Description":"RX234 MP3 Player", + "Amount":15.00, + "VATRate":19.0000, + // 0x4445000000000011 (delivery normal) + "ftChargeItemCase":4919338167972134929 + } + ], + "cbPayItems":[ + { + "Quantity":1.0, + "Description":"Voucher for RX234 MP3 Player", + "Amount":15.00, + // 0x4445 0000 0000 000A (internal / material consumption) + "ftPayItemCase":4919338167972134922 + } + ], + // 0x4445 0000 0000 0001 (pos-receipt) + 0000 0001 0000 0000 (implicit flow) + "ftReceiptCase":4919338172267102209, + "cbArea":"Store 56" +} +``` + +### Multi-purpose voucher issuance + +Request (voucher within pay items): + +```json +{ + "ftCashBoxID":"cashboxid-guid", + "ftPosSystemId":"possystemid-guid", + "cbTerminalID":"terminalid", + "cbReceiptReference":"233349", + "cbReceiptMoment":"2020-05-08T12:52:34.9609375Z", + "cbChargeItems":[ ], + "cbPayItems":[ + { + "Quantity":1.0, + "Description":"Voucher for food and drinks", + "Amount":-150.00, + // 0x4445 0000 0000 000D (voucher, not taxable) + "ftPayItemCase":4919338167972134925 + }, + { + "Quantity":1.0, + "Description":"Cash", + "Amount":150.00, + // 0x4445 0000 0000 0001 (cash payment in national currency) + "ftPayItemCase":4919338167972134913 + } + ], + // 0x4445 0000 0000 0001 (pos-receipt) + 0000 0001 0000 0000 (implicit flow) + "ftReceiptCase":4919338172267102209, + "cbArea":"Jack in the Box 1256" +} +``` +Request (voucher within charge items): + +```json +{ + "ftCashBoxID":"cashboxid-guid", + "ftPosSystemId":"possystemid-guid", + "cbTerminalID":"terminalid", + "cbReceiptReference":"233349", + "cbReceiptMoment":"2020-05-08T12:52:34.9609375Z", + "cbChargeItems":[ + { + "Quantity":1.0, + "Description":"Voucher for food and drinks", + "Amount":150.00, + // 0x4445000000000060 (voucher sale not taxable) + "ftChargeItemCase":4919338167972135008 + } + ], + "cbPayItems":[ + { + "Quantity":1.0, + "Description":"Cash", + "Amount":150.00, + // 0x4445 0000 0000 0001 (cash payment in national currency) + "ftPayItemCase":4919338167972134913 + } + ], + // 0x4445 0000 0000 0001 (pos-receipt) + 0000 0001 0000 0000 (implicit flow) + "ftReceiptCase":4919338172267102209, + "cbArea":"Jack in the Box 1256" +} +``` + + +### Multi-purpose voucher redemption + +Request (voucher within pay items): + +```json +{ + "ftCashBoxID":"cashboxid-guid", + "ftPosSystemId":"possystemid-guid", + "cbTerminalID":"terminalid", + "cbReceiptReference":"233349", + "cbReceiptMoment":"2020-05-08T12:52:34.9609375Z", + "cbChargeItems":[ + { + "Quantity":2.0, + "Description":"0,5 Soda Zitrone", + "Amount":7.00, + "VATRate":19.0000, + "ftChargeItemCase":4919338167972134913 + } + ], + "cbPayItems":[ + { + "Quantity":1.0, + "Description":"Voucher for food and drinks", + "Amount":150.00, + // 0x4445 0000 0000 000D (voucher, not taxable) + "ftPayItemCase":4919338167972134925 + }, + { + "Quantity":1.0, + "Description":"Cash", + "Amount":-143.00, + // 0x4445 0000 0000 0001 (cash payment in national currency) + "ftPayItemCase":4919338167972134913 + } + ], + // 0x4445 0000 0000 0001 (pos-receipt) + 0000 0001 0000 0000 (implicit flow) + "ftReceiptCase":4919338172267102209, + "cbArea":"Jack in the Box 1256" +} +``` + +Request (voucher within charge items): + +```json +{ + "ftCashBoxID":"cashboxid-guid", + "ftPosSystemId":"possystemid-guid", + "cbTerminalID":"terminalid", + "cbReceiptReference":"233349", + "cbReceiptMoment":"2020-05-08T12:52:34.9609375Z", + "cbChargeItems":[ + { + "Quantity":2.0, + "Description":"0,5 Soda Zitrone", + "Amount":7.00, + "VATRate":19.0000, + "ftChargeItemCase":4919338167972134913 + }, + { + "Quantity":1.0, + "Description":"Voucher for food and drinks", + "Amount":-150.00, + // 0x4445000000000068 (voucher redeem not taxable) + "ftChargeItemCase":4919338167972135016 + } + ], + "cbPayItems":[ + { + "Quantity":1.0, + "Description":"Cash", + "Amount":-143.00, + // 0x4445 0000 0000 0001 (cash payment in national currency) + "ftPayItemCase":4919338167972134913 + } + ], + // 0x4445 0000 0000 0001 (pos-receipt) + 0000 0001 0000 0000 (implicit flow) + "ftReceiptCase":4919338172267102209, + "cbArea":"Jack in the Box 1256" +} +``` + From f7deea853872d6195b866a7b720f2c1384a40835 Mon Sep 17 00:00:00 2001 From: Christian Rogobete Date: Fri, 8 May 2020 13:02:17 +0200 Subject: [PATCH 09/16] connect voucher examples --- .../receipt-case-definitions.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md b/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md index 7e0ea7b9..5340f467 100644 --- a/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md +++ b/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md @@ -11,14 +11,18 @@ The issuance and redemption of vouchers are processes with DSFinV-K requirements The difference is, that for single-purpose vouchers, the VAT rate is known already at transfer (issue) because it refers to a single purpose (service or product). On the other hand, in case of multi purpose vouchers the VAT rate is not known because it can be redeemed for different purposes (goods or services). -The issuance of single-purpose vouchers is covered by our charge item cases (`ftChargeItemCase`): `0x4445000000000061`, `0x4445000000000062`, `0x4445000000000063`, `0x4445000000000064`, `0x4445000000000065`, `0x4445000000000066` and `0x4445000000000067`. +The issuance of single-purpose vouchers is covered by our charge item cases (`ftChargeItemCase`): `0x4445000000000061`, `0x4445000000000062`, `0x4445000000000063`, `0x4445000000000064`, `0x4445000000000065`, `0x4445000000000066` and `0x4445000000000067`. -The redemption of single-purpose vouchers is covered by `ftChargeItemCase`: `0x4445000000000069`, `0x444500000000006A`, `0x444500000000006B`, `0x444500000000006C`, `0x444500000000006D`, `0x444500000000006E`, `0x444500000000006F`. When used in the request, the charge item amount of the good or service should be a positive value and the charge item amount of the voucher should be negative (e.g. +1 and -1). +The redemption of single-purpose vouchers is covered by `ftChargeItemCase`: `0x4445000000000069`, `0x444500000000006A`, `0x444500000000006B`, `0x444500000000006C`, `0x444500000000006D`, `0x444500000000006E`, `0x444500000000006F`. When used in the request, the charge item amount of the good or service should be a positive value and the charge item amount of the voucher should be negative (e.g. +15 and -15). -If the cash register can not handle the redemption of single-purpose vouchers within the charge items than it can alternatively use a pay item having the pay item case (`ftPayItemCase`): `0x444500000000000A`. When used like this in the request, the charge item amount of the good or service should be a positive value and the pay item amount of the voucher should also be a positive value (e.g. +1 and +1). +If the cash register can not handle the redemption of single-purpose vouchers within the charge items than it can alternatively use a pay item having the pay item case (`ftPayItemCase`): `0x444500000000000A`. When used like this in the request, the charge item amount of the good or service should be a positive value and the pay item amount of the voucher should also be a positive value (e.g. +15 and +15). + +Please find examples of requests with single-purpose vouchers [here](../examples/vouchers.md#single-purpose-voucher-issuance). The issuance of multi-purpose vouchers is covered within the pay items by `ftPayItemCase`: `0x444500000000000D`. Negative amounts get converted to an issuance. Since there is no specific product or service coverded by the voucher, the issuance is not taxable and no VAT rate must be specified. Same applies for redemption since the VAT rate is included in the charge items for the products or services of the request. For redemption of a multi-purpose voucher, one can use `ftPayItemCase`: `0x444500000000000D` with a positive amount. If the cash register can not handle the redemption within a pay item, then it can alternatively use a charge item having `ftChargeItemCase`: `0x4445000000000068`. Furthermore for the issuance of multi-purpose vouchers, one can alternatively use a charge item instead of a pay item. The `ftChargeItemCase`: `0x4445000000000060` has to be used. + +Please find examples of requests with multi-purpose vouchers [here](../examples/vouchers.md#multi-purpose-voucher-issuance). From 338d7adbe017cc186b36b4c5f6b44e4b88bd527b Mon Sep 17 00:00:00 2001 From: Christian Rogobete Date: Mon, 11 May 2020 12:22:04 +0200 Subject: [PATCH 10/16] add voucher number to voucher description and example --- .../examples/vouchers.md | 19 +++++++++++++------ .../receipt-case-definitions.md | 2 ++ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/doc/appendix-de-kassensichv/examples/vouchers.md b/doc/appendix-de-kassensichv/examples/vouchers.md index 421c82dc..2eb9d285 100644 --- a/doc/appendix-de-kassensichv/examples/vouchers.md +++ b/doc/appendix-de-kassensichv/examples/vouchers.md @@ -20,7 +20,8 @@ Request: "Amount":15.00, "VATRate":19.0000, // 0x4445000000000061 (coupon sales normal) - "ftChargeItemCase":4919338167972135009 + "ftChargeItemCase":4919338167972135009, + "ftChargeItemCaseData":"{\"VoucherNr\":\"UAUA91829182HH\"}" } ], "cbPayItems":[ @@ -64,7 +65,8 @@ Request (voucher within charge items): "Amount":-15.00, "VATRate":19.0000, // 0x4445000000000069 (coupon redeem normal) - "ftChargeItemCase":4919338167972135017 + "ftChargeItemCase":4919338167972135017, + "ftChargeItemCaseData":"{\"VoucherNr\":\"UAUA91829182HH\"}" } ], "cbPayItems":[], @@ -100,6 +102,7 @@ Request (voucher within pay items): "Amount":15.00, // 0x4445 0000 0000 000A (internal / material consumption) "ftPayItemCase":4919338167972134922 + "ftPayItemCaseData":"{\"VoucherNr\":\"UAUA91829182HH\"}" } ], // 0x4445 0000 0000 0001 (pos-receipt) + 0000 0001 0000 0000 (implicit flow) @@ -126,7 +129,8 @@ Request (voucher within pay items): "Description":"Voucher for food and drinks", "Amount":-150.00, // 0x4445 0000 0000 000D (voucher, not taxable) - "ftPayItemCase":4919338167972134925 + "ftPayItemCase":4919338167972134925, + "ftPayItemCaseData":"{\"VoucherNr\":\"UAUA91829182HH\"}" }, { "Quantity":1.0, @@ -156,7 +160,8 @@ Request (voucher within charge items): "Description":"Voucher for food and drinks", "Amount":150.00, // 0x4445000000000060 (voucher sale not taxable) - "ftChargeItemCase":4919338167972135008 + "ftChargeItemCase":4919338167972135008, + "ftChargeItemCaseData":"{\"VoucherNr\":\"UAUA91829182HH\"}" } ], "cbPayItems":[ @@ -201,7 +206,8 @@ Request (voucher within pay items): "Description":"Voucher for food and drinks", "Amount":150.00, // 0x4445 0000 0000 000D (voucher, not taxable) - "ftPayItemCase":4919338167972134925 + "ftPayItemCase":4919338167972134925, + "ftChargeItemCaseData":"{\"VoucherNr\":\"UAUA91829182HH\"}" }, { "Quantity":1.0, @@ -239,7 +245,8 @@ Request (voucher within charge items): "Description":"Voucher for food and drinks", "Amount":-150.00, // 0x4445000000000068 (voucher redeem not taxable) - "ftChargeItemCase":4919338167972135016 + "ftChargeItemCase":4919338167972135016, + "ftChargeItemCaseData":"{\"VoucherNr\":\"UAUA91829182HH\"}" } ], "cbPayItems":[ diff --git a/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md b/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md index 7e0ea7b9..f74a4960 100644 --- a/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md +++ b/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md @@ -22,3 +22,5 @@ The issuance of multi-purpose vouchers is covered within the pay items by `ftPay If the cash register can not handle the redemption within a pay item, then it can alternatively use a charge item having `ftChargeItemCase`: `0x4445000000000068`. Furthermore for the issuance of multi-purpose vouchers, one can alternatively use a charge item instead of a pay item. The `ftChargeItemCase`: `0x4445000000000060` has to be used. + +For all voucher requests you can optionally submit the voucher number. It can be sent via `ftPayItemCaseData` or `ftChargeItemCaseData` in JSON format. To send, add the key value pair `VoucherNr` e.g. `"ftPayItemCaseData":"{ ..., "VoucherNr":"UAUA91829182HH", ... }"`. \ No newline at end of file From d984ffa0b16056f176c30194b1552a1a6d54f7b1 Mon Sep 17 00:00:00 2001 From: Christian Rogobete Date: Mon, 11 May 2020 12:32:22 +0200 Subject: [PATCH 11/16] fix text for vouchers, move hint to bottom --- .../receipt-case-definitions/receipt-case-definitions.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md b/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md index ecdbaeab..a84d2c4c 100644 --- a/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md +++ b/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md @@ -25,7 +25,7 @@ If the cash register can not handle the redemption within a pay item, then it ca Furthermore for the issuance of multi-purpose vouchers, one can alternatively use a charge item instead of a pay item. The `ftChargeItemCase`: `0x4445000000000060` has to be used. -For all voucher requests you can optionally submit the voucher number. It can be sent via `ftPayItemCaseData` or `ftChargeItemCaseData` in JSON format. To send, add the key value pair `VoucherNr` e.g. `"ftPayItemCaseData":"{ ..., "VoucherNr":"UAUA91829182HH", ... }"`. - Please find examples of requests with multi-purpose vouchers [here](../examples/vouchers.md#multi-purpose-voucher-issuance). +For all voucher requests you can optionally submit the voucher number. It can be sent via `ftPayItemCaseData` or `ftChargeItemCaseData` in JSON format. To send, add the key value pair `VoucherNr` e.g. `"ftPayItemCaseData":"{ ..., "VoucherNr":"UAUA91829182HH", ... }"`. + From a1e1881f982eb1287208be2ce59ab0e49cd19901 Mon Sep 17 00:00:00 2001 From: Christian Rogobete Date: Mon, 11 May 2020 12:34:33 +0200 Subject: [PATCH 12/16] fix JSON in voucher example --- doc/appendix-de-kassensichv/examples/vouchers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/appendix-de-kassensichv/examples/vouchers.md b/doc/appendix-de-kassensichv/examples/vouchers.md index 2eb9d285..3e198a58 100644 --- a/doc/appendix-de-kassensichv/examples/vouchers.md +++ b/doc/appendix-de-kassensichv/examples/vouchers.md @@ -101,7 +101,7 @@ Request (voucher within pay items): "Description":"Voucher for RX234 MP3 Player", "Amount":15.00, // 0x4445 0000 0000 000A (internal / material consumption) - "ftPayItemCase":4919338167972134922 + "ftPayItemCase":4919338167972134922, "ftPayItemCaseData":"{\"VoucherNr\":\"UAUA91829182HH\"}" } ], From 0bb2512c1672423520ee6c95342d20810576a418 Mon Sep 17 00:00:00 2001 From: Christian Rogobete Date: Mon, 11 May 2020 14:03:49 +0200 Subject: [PATCH 13/16] improve voucher description as proposed by AKO --- .../receipt-case-definitions.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md b/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md index a84d2c4c..a2b905d4 100644 --- a/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md +++ b/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md @@ -2,14 +2,14 @@ This chapter expands on the definitions of Receipt Cases covered in Chapter ["Receipt Case Definitions"](../../general/receipt-case-definitions/receipt-case-definitions.md) of the General Part, with country specific information applicable to the German market. -### Voucher (Service/Product) +### Voucher (goods/services) The issuance and redemption of vouchers are processes with DSFinV-K requirements. According to the [EU directive](https://eur-lex.europa.eu/legal-content/EN/ALL/?uri=CELEX%3A32016L1065) as regards the treatment of vouchers there are two kinds of vouchers to be considered: - Single-purpose voucher (DE: Einzweckgutscheine) - Multi-purpose voucher (DE: Mehrzweckgutscheine) -The difference is, that for single-purpose vouchers, the VAT rate is known already at transfer (issue) because it refers to a single purpose (service or product). On the other hand, in case of multi purpose vouchers the VAT rate is not known because it can be redeemed for different purposes (goods or services). +The difference is, that for single-purpose vouchers, the VAT rate is known already at transfer (issue) because it refers to a single purpose (service or good). On the other hand, in case of multi purpose vouchers the VAT rate is not known because it can be redeemed for different purposes (goods or services). A multi-purpose voucher is a money substitute. The issuance of single-purpose vouchers is covered by our charge item cases (`ftChargeItemCase`): `0x4445000000000061`, `0x4445000000000062`, `0x4445000000000063`, `0x4445000000000064`, `0x4445000000000065`, `0x4445000000000066` and `0x4445000000000067`. @@ -19,12 +19,12 @@ If the cash register can not handle the redemption of single-purpose vouchers wi Please find examples of requests with single-purpose vouchers [here](../examples/vouchers.md#single-purpose-voucher-issuance). -The issuance of multi-purpose vouchers is covered within the pay items by `ftPayItemCase`: `0x444500000000000D`. Negative amounts get converted to an issuance. Since there is no specific product or service coverded by the voucher, the issuance is not taxable and no VAT rate must be specified. Same applies for redemption since the VAT rate is included in the charge items for the products or services of the request. For redemption of a multi-purpose voucher, one can use `ftPayItemCase`: `0x444500000000000D` with a positive amount. - -If the cash register can not handle the redemption within a pay item, then it can alternatively use a charge item having `ftChargeItemCase`: `0x4445000000000068`. +The issuance of multi-purpose vouchers is covered within the pay items by `ftPayItemCase`: `0x444500000000000D`. Negative amounts get converted to an issuance. Since there is no specific good or service coverded by the voucher, the issuance is not taxable and no VAT rate must be specified. Same applies for redemption since the VAT rate is determined by the charge items for the goods or services of the request. For redemption of a multi-purpose voucher, one can use `ftPayItemCase`: `0x444500000000000D` with a positive amount. Furthermore for the issuance of multi-purpose vouchers, one can alternatively use a charge item instead of a pay item. The `ftChargeItemCase`: `0x4445000000000060` has to be used. +If the cash register can not handle the redemption within a pay item, then it can alternatively use a charge item having `ftChargeItemCase`: `0x4445000000000068` with negative amount. + Please find examples of requests with multi-purpose vouchers [here](../examples/vouchers.md#multi-purpose-voucher-issuance). For all voucher requests you can optionally submit the voucher number. It can be sent via `ftPayItemCaseData` or `ftChargeItemCaseData` in JSON format. To send, add the key value pair `VoucherNr` e.g. `"ftPayItemCaseData":"{ ..., "VoucherNr":"UAUA91829182HH", ... }"`. From 2652690267b11f4f8ed321ddd78ba670c424d1e4 Mon Sep 17 00:00:00 2001 From: Christian Rogobete Date: Mon, 8 Jun 2020 15:16:44 +0200 Subject: [PATCH 14/16] update DE voucher examples --- ...E.Vouchers.Postman.postman_collection.json | 400 ++++++ .../examples/vouchers.md | 1260 ++++++++++++++--- 2 files changed, 1447 insertions(+), 213 deletions(-) create mode 100644 doc/appendix-de-kassensichv/examples/ft.DE.Vouchers.Postman.postman_collection.json diff --git a/doc/appendix-de-kassensichv/examples/ft.DE.Vouchers.Postman.postman_collection.json b/doc/appendix-de-kassensichv/examples/ft.DE.Vouchers.Postman.postman_collection.json new file mode 100644 index 00000000..846ff876 --- /dev/null +++ b/doc/appendix-de-kassensichv/examples/ft.DE.Vouchers.Postman.postman_collection.json @@ -0,0 +1,400 @@ +{ + "info": { + "_postman_id": "35809cee-1978-409b-8384-13d8e53e718f", + "name": "ft.DE.Vouchers.Postman", + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" + }, + "item": [ + { + "name": "single-purpose-issuance (within charge items)", + "request": { + "method": "POST", + "header": [ + { + "key": "accesstoken", + "type": "text", + "value": "BNTlup7JAaBVw4KwXwodBfJ4pYGyR4LN8cLf2eIAASQdWPHHHh8yd53Q1ci2QW4umG37WzFVW0Iznm7QXCC6uas=", + "disabled": true + }, + { + "key": "cashboxid", + "type": "text", + "value": "9cfbee6b-3342-4972-bf5f-3356b159f323" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"ftCashBoxID\": \"65a863b1-4a08-46da-9ab0-9201bedb5bb7\",\r\n \"cbTerminalID\": \"D\",\r\n \"cbReceiptReference\":\"RR223\",\r\n \"cbReceiptMoment\":\"2020-06-08T10:00:00.01Z\",\r\n \"cbChargeItems\":[\r\n {\r\n \"Quantity\":1.0,\r\n \"Description\":\"Voucher for RX234 MP3 Player\",\r\n \"Amount\":15.00,\r\n \"VATRate\":19.00,\r\n \"ftChargeItemCase\":4919338167972135009,\r\n \"ftChargeItemCaseData\":\"{\\\"VoucherNr\\\":\\\"UAUA91829182HH\\\"}\"\r\n \t}\r\n ],\r\n \"cbPayItems\":[\r\n {\r\n \"Quantity\":1.0,\r\n \"Description\":\"Cash\",\r\n \"Amount\":15.00, \r\n \"ftPayItemCase\":4919338167972134913,\r\n \"Moment\":\"2020-06-08T10:00:00.01Z\"\r\n }\r\n ], \r\n \"ftReceiptCase\":4919338172267102209\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://172.16.37.128:1200/fiskaltrust/json/v1/sign", + "protocol": "http", + "host": [ + "172", + "16", + "37", + "128" + ], + "port": "1200", + "path": [ + "fiskaltrust", + "json", + "v1", + "sign" + ] + } + }, + "response": [] + }, + { + "name": "single-purpose-redemption (within charge items)", + "request": { + "method": "POST", + "header": [ + { + "key": "accesstoken", + "type": "text", + "value": "BNTlup7JAaBVw4KwXwodBfJ4pYGyR4LN8cLf2eIAASQdWPHHHh8yd53Q1ci2QW4umG37WzFVW0Iznm7QXCC6uas=", + "disabled": true + }, + { + "key": "cashboxid", + "type": "text", + "value": "9cfbee6b-3342-4972-bf5f-3356b159f323" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"ftCashBoxID\": \"65a863b1-4a08-46da-9ab0-9201bedb5bb7\",\r\n \"cbTerminalID\": \"D\",\r\n \"cbReceiptReference\":\"RR223\",\r\n \"cbReceiptMoment\":\"2020-06-08T10:00:00.01Z\",\r\n \"cbChargeItems\":[\r\n {\r\n \"Quantity\":1.0,\r\n \"Description\":\"RX234 MP3 Player\",\r\n \"Amount\":15.00,\r\n \"VATRate\":19.00,\r\n \"ftChargeItemCase\":4919338167972134929\r\n },\r\n {\r\n \"Quantity\":1.0,\r\n \"Description\":\"Voucher for RX234 MP3 Player\",\r\n \"Amount\":-15.00,\r\n \"VATRate\":19.00,\r\n \"ftChargeItemCase\":4919338167972135017,\r\n \"ftChargeItemCaseData\":\"{\\\"VoucherNr\\\":\\\"UAUA91829182HH\\\"}\"\r\n }\r\n ],\r\n \"cbPayItems\":[], \r\n \"ftReceiptCase\":4919338172267102209\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://172.16.37.128:1200/fiskaltrust/json/v1/sign", + "protocol": "http", + "host": [ + "172", + "16", + "37", + "128" + ], + "port": "1200", + "path": [ + "fiskaltrust", + "json", + "v1", + "sign" + ] + } + }, + "response": [] + }, + { + "name": "single-purpose-redemption (within pay items)", + "request": { + "method": "POST", + "header": [ + { + "key": "accesstoken", + "type": "text", + "value": "BNTlup7JAaBVw4KwXwodBfJ4pYGyR4LN8cLf2eIAASQdWPHHHh8yd53Q1ci2QW4umG37WzFVW0Iznm7QXCC6uas=", + "disabled": true + }, + { + "key": "cashboxid", + "type": "text", + "value": "9cfbee6b-3342-4972-bf5f-3356b159f323" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"ftCashBoxID\":\"65a863b1-4a08-46da-9ab0-9201bedb5bb7\",\n \"cbTerminalID\":\"D\",\n \"cbReceiptReference\":\"RR223\",\n \"cbReceiptMoment\":\"2020-06-08T10:00:00.01Z\",\n \"cbChargeItems\":[\n {\n \"Quantity\":1.0,\n \"Description\":\"RX234 MP3 Player\",\n \"Amount\":15.00,\n \"VATRate\":19.00,\n \"ftChargeItemCase\":4919338167972134929\n }\n ],\n \"cbPayItems\":[\n {\n \"Quantity\":1.0,\n \"Description\":\"Voucher for RX234 MP3 Player\",\n \"Amount\":15.00,\n \"ftPayItemCase\":4919338167972134922,\n \"ftPayItemCaseData\":\"{\\\"VoucherNr\\\":\\\"UAUA91829182HH\\\"}\"\n }\n ],\n \"ftReceiptCase\":4919338172267102209\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://172.16.37.128:1200/fiskaltrust/json/v1/sign", + "protocol": "http", + "host": [ + "172", + "16", + "37", + "128" + ], + "port": "1200", + "path": [ + "fiskaltrust", + "json", + "v1", + "sign" + ] + } + }, + "response": [] + }, + { + "name": "single-purpose-redemption (within pay items)", + "request": { + "method": "POST", + "header": [ + { + "key": "accesstoken", + "type": "text", + "value": "BNTlup7JAaBVw4KwXwodBfJ4pYGyR4LN8cLf2eIAASQdWPHHHh8yd53Q1ci2QW4umG37WzFVW0Iznm7QXCC6uas=", + "disabled": true + }, + { + "key": "cashboxid", + "type": "text", + "value": "9cfbee6b-3342-4972-bf5f-3356b159f323" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"ftCashBoxID\": \"65a863b1-4a08-46da-9ab0-9201bedb5bb7\",\r\n \"cbTerminalID\": \"D\",\r\n \"cbReceiptReference\":\"RR223\",\r\n \"cbReceiptMoment\":\"2020-06-08T10:00:00.01Z\",\r\n \"cbChargeItems\":[\r\n {\r\n \"Quantity\":1.0,\r\n \"Description\":\"RX234 MP3 Player\",\r\n \"Amount\":15.00,\r\n \"VATRate\":19.00,\r\n \"ftChargeItemCase\":4919338167972134929\r\n },\r\n {\r\n \"Quantity\":1.0,\r\n \"Description\":\"Voucher for RX234 MP3 Player\",\r\n \"Amount\":-15.00,\r\n \"VATRate\":19.00,\r\n \"ftChargeItemCase\":4919338167972135017,\r\n \"ftChargeItemCaseData\":\"{\\\"VoucherNr\\\":\\\"UAUA91829182HH\\\"}\"\r\n }\r\n ],\r\n \"cbPayItems\":[], \r\n \"ftReceiptCase\":4919338172267102209\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://172.16.37.128:1200/fiskaltrust/json/v1/sign", + "protocol": "http", + "host": [ + "172", + "16", + "37", + "128" + ], + "port": "1200", + "path": [ + "fiskaltrust", + "json", + "v1", + "sign" + ] + } + }, + "response": [] + }, + { + "name": "multi-purpose-issuance (within pay items)", + "request": { + "method": "POST", + "header": [ + { + "key": "accesstoken", + "type": "text", + "value": "BNTlup7JAaBVw4KwXwodBfJ4pYGyR4LN8cLf2eIAASQdWPHHHh8yd53Q1ci2QW4umG37WzFVW0Iznm7QXCC6uas=", + "disabled": true + }, + { + "key": "cashboxid", + "type": "text", + "value": "9cfbee6b-3342-4972-bf5f-3356b159f323" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"ftCashBoxID\": \"65a863b1-4a08-46da-9ab0-9201bedb5bb7\",\r\n \"cbTerminalID\": \"D\",\r\n \"cbReceiptReference\":\"RR223\",\r\n \"cbReceiptMoment\":\"2020-06-08T10:00:00.01Z\",\r\n \"cbChargeItems\":[],\r\n \"cbPayItems\":[\r\n \t{\r\n \"Quantity\":1.0,\r\n \"Description\":\"Voucher for food and drinks\",\r\n \"Amount\":-150.00,\r\n \"ftPayItemCase\":4919338167972134925,\r\n \"ftPayItemCaseData\":\"{\\\"VoucherNr\\\":\\\"UAUA91829182HH\\\"}\",\r\n \"Moment\":\"2020-06-08T10:00:00.01Z\"\r\n },\r\n {\r\n \"Quantity\":1.0,\r\n \"Description\":\"Cash\",\r\n \"Amount\":150.00, \r\n \"ftPayItemCase\":4919338167972134913,\r\n \"Moment\":\"2020-06-08T10:00:00.01Z\"\r\n }\r\n ], \r\n \"ftReceiptCase\":4919338172267102209\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://172.16.37.128:1200/fiskaltrust/json/v1/sign", + "protocol": "http", + "host": [ + "172", + "16", + "37", + "128" + ], + "port": "1200", + "path": [ + "fiskaltrust", + "json", + "v1", + "sign" + ] + } + }, + "response": [] + }, + { + "name": "multi-purpose-issuance (within charge items)", + "request": { + "method": "POST", + "header": [ + { + "key": "accesstoken", + "type": "text", + "value": "BNTlup7JAaBVw4KwXwodBfJ4pYGyR4LN8cLf2eIAASQdWPHHHh8yd53Q1ci2QW4umG37WzFVW0Iznm7QXCC6uas=", + "disabled": true + }, + { + "key": "cashboxid", + "type": "text", + "value": "9cfbee6b-3342-4972-bf5f-3356b159f323" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"ftCashBoxID\":\"65a863b1-4a08-46da-9ab0-9201bedb5bb7\",\n \"cbTerminalID\":\"D\",\n \"cbReceiptReference\":\"RR223\",\n \"cbReceiptMoment\":\"2020-06-08T10:00:00.01Z\",\n \"cbChargeItems\":[\n {\n \"Quantity\":1.0,\n \"Description\":\"Voucher for food and drinks\",\n \"Amount\":150.00,\n \"VATRate\":0.0,\n \"ftChargeItemCase\":4919338167972135008,\n \"ftChargeItemCaseData\":\"{\\\"VoucherNr\\\":\\\"UAUA91829182HH\\\"}\",\n \"Moment\":\"2020-06-08T10:00:00.01Z\"\n }\n ],\n \"cbPayItems\":[\n {\n \"Quantity\":1.0,\n \"Description\":\"Cash\",\n \"Amount\":150.00,\n \"ftPayItemCase\":4919338167972134913,\n \"Moment\":\"2020-06-08T10:00:00.01Z\"\n }\n ],\n \"ftReceiptCase\":4919338172267102209\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://172.16.37.128:1200/fiskaltrust/json/v1/sign", + "protocol": "http", + "host": [ + "172", + "16", + "37", + "128" + ], + "port": "1200", + "path": [ + "fiskaltrust", + "json", + "v1", + "sign" + ] + } + }, + "response": [] + }, + { + "name": "multi-purpose-redemption (within pay items)", + "request": { + "method": "POST", + "header": [ + { + "key": "accesstoken", + "type": "text", + "value": "BNTlup7JAaBVw4KwXwodBfJ4pYGyR4LN8cLf2eIAASQdWPHHHh8yd53Q1ci2QW4umG37WzFVW0Iznm7QXCC6uas=", + "disabled": true + }, + { + "key": "cashboxid", + "type": "text", + "value": "9cfbee6b-3342-4972-bf5f-3356b159f323" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"ftCashBoxID\":\"65a863b1-4a08-46da-9ab0-9201bedb5bb7\",\n \"cbTerminalID\":\"D\",\n \"cbReceiptReference\":\"RR223\",\n \"cbReceiptMoment\":\"2020-06-08T10:00:00.01Z\",\n \"cbChargeItems\":[\n {\n \"Quantity\":2.0,\n \"Description\":\"0,5 Soda Zitrone\",\n \"Amount\":7.00,\n \"VATRate\":19.00,\n \"ftChargeItemCase\":4919338167972134913\n }\n ],\n \"cbPayItems\":[\n {\n \"Quantity\":1.0,\n \"Description\":\"Voucher for food and drinks\",\n \"Amount\":150.00,\n \"ftPayItemCase\":4919338167972134925,\n \"ftChargeItemCaseData\":\"{\\\"VoucherNr\\\":\\\"UAUA91829182HH\\\"}\"\n },\n {\n \"Quantity\":1.0,\n \"Description\":\"Cash\",\n \"Amount\":-143.00,\n \"ftPayItemCase\":4919338167972134913\n }\n ],\n \"ftReceiptCase\":4919338172267102209\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://172.16.37.128:1200/fiskaltrust/json/v1/sign", + "protocol": "http", + "host": [ + "172", + "16", + "37", + "128" + ], + "port": "1200", + "path": [ + "fiskaltrust", + "json", + "v1", + "sign" + ] + } + }, + "response": [] + }, + { + "name": "multi-purpose-redemption (within charge items)", + "request": { + "method": "POST", + "header": [ + { + "key": "accesstoken", + "type": "text", + "value": "BNTlup7JAaBVw4KwXwodBfJ4pYGyR4LN8cLf2eIAASQdWPHHHh8yd53Q1ci2QW4umG37WzFVW0Iznm7QXCC6uas=", + "disabled": true + }, + { + "key": "cashboxid", + "type": "text", + "value": "9cfbee6b-3342-4972-bf5f-3356b159f323" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"ftCashBoxID\":\"65a863b1-4a08-46da-9ab0-9201bedb5bb7\",\n \"cbTerminalID\":\"D\",\n \"cbReceiptReference\":\"RR223\",\n \"cbReceiptMoment\":\"2020-06-08T10:00:00.01Z\",\n \"cbChargeItems\":[\n {\n \"Quantity\":2.0,\n \"Description\":\"0,5 Soda Zitrone\",\n \"Amount\":7.00,\n \"VATRate\":19.00,\n \"ftChargeItemCase\":4919338167972134913\n },\n {\n \"Quantity\":1.0,\n \"Description\":\"Voucher for food and drinks\",\n \"Amount\":-150.00,\n \"VATRate\":0.0,\n \"ftChargeItemCase\":4919338167972135016,\n \"ftChargeItemCaseData\":\"{\\\"VoucherNr\\\":\\\"UAUA91829182HH\\\"}\"\n }\n ],\n \"cbPayItems\":[\n {\n \"Quantity\":1.0,\n \"Description\":\"Cash\",\n \"Amount\":-143.00,\n \"ftPayItemCase\":4919338167972134913\n }\n ],\n \"ftReceiptCase\":4919338172267102209\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://172.16.37.128:1200/fiskaltrust/json/v1/sign", + "protocol": "http", + "host": [ + "172", + "16", + "37", + "128" + ], + "port": "1200", + "path": [ + "fiskaltrust", + "json", + "v1", + "sign" + ] + } + }, + "response": [] + } + ], + "event": [ + { + "listen": "prerequest", + "script": { + "id": "6f360b92-a508-43e2-b789-7d858071884d", + "type": "text/javascript", + "exec": [ + "" + ] + } + }, + { + "listen": "test", + "script": { + "id": "57d9e31f-15a0-406f-a411-fa453831ecb7", + "type": "text/javascript", + "exec": [ + "" + ] + } + } + ], + "protocolProfileBehavior": {} +} \ No newline at end of file diff --git a/doc/appendix-de-kassensichv/examples/vouchers.md b/doc/appendix-de-kassensichv/examples/vouchers.md index 3e198a58..df9ba130 100644 --- a/doc/appendix-de-kassensichv/examples/vouchers.md +++ b/doc/appendix-de-kassensichv/examples/vouchers.md @@ -1,266 +1,1100 @@ ## Vouchers - Implicit Flow -Examples of single-purpose and multi-purpose requests. +Examples of single-purpose and multi-purpose requests and responses. ### Single-purpose voucher issuance -Request: +Request (single-purpose voucher issuance **within charge items**): ```json { - "ftCashBoxID":"cashboxid-guid", - "ftPosSystemId":"possystemid-guid", - "cbTerminalID":"terminalid", - "cbReceiptReference":"233348", - "cbReceiptMoment":"2019-07-19T12:52:34.9609375Z", - "cbChargeItems":[ - { - "Quantity":1.0, - "Description":"Voucher for RX234 MP3 Player", - "Amount":15.00, - "VATRate":19.0000, - // 0x4445000000000061 (coupon sales normal) - "ftChargeItemCase":4919338167972135009, - "ftChargeItemCaseData":"{\"VoucherNr\":\"UAUA91829182HH\"}" - } - ], - "cbPayItems":[ - { - "Quantity":1.0, - "Description":"Cash", - "Amount":15.00, - // 0x4445 0000 0000 0001 (cash payment in national currency) - "ftPayItemCase":4919338167972134913 - } - ], - // 0x4445 0000 0000 0001 (pos-receipt) + 0000 0001 0000 0000 (implicit flow) - "ftReceiptCase":4919338172267102209, - "cbArea":"Store 56" + "ftCashBoxID": "cashboxid-guid", + "cbTerminalID": "D", + "cbReceiptReference":"RR223", + "cbReceiptMoment":"2020-06-08T10:00:00.01Z", + "cbChargeItems":[ + { + "Quantity":1.0, + "Description":"Voucher for RX234 MP3 Player", + "Amount":15.00, + "VATRate":19.0000, + // 0x4445000000000061 (coupon sales normal) + "ftChargeItemCase":4919338167972135009, + "ftChargeItemCaseData":"{\"VoucherNr\":\"UAUA91829182HH\"}" + } + ], + "cbPayItems":[ + { + "Quantity":1.0, + "Description":"Cash", + "Amount":15.00, + "ftPayItemCase":4919338167972134913, + "Moment":"2020-06-08T10:00:00.01Z" + } + ], + // 0x4445 0000 0000 0001 (pos-receipt) + 0000 0001 0000 0000 (implicit flow) + "ftReceiptCase":4919338172267102209 +} +``` +Response: + +```json +{ + "ftCashBoxID": "65a863b1-4a08-46da-9ab0-9201bedb5bb7", + "ftQueueID": "ec35244c-a1bb-4748-bfa8-f4aaa01888ce", + "ftQueueItemID": "bb41154c-73ca-4249-8914-ed99d5fbb266", + "ftQueueRow": 53, + "cbTerminalID": "D", + "cbReceiptReference": "RR223", + "ftCashBoxIdentification": "DEMO1256", + "ftReceiptIdentification": "ft2B#IT39", + "ftReceiptMoment": "2020-06-08T11:34:43.1523882Z", + "ftSignatures": [ + { + "ftSignatureFormat": 3, + "ftSignatureType": 4919338167972134913, + "Caption": "www.fiskaltrust.de", + "Data": "V0;DEMO1256;Kassenbeleg-V1;Beleg^15.00_0.00_0.00_0.00_0.00^15.00:Bar;39;875;2020-06-08T11:34:42.000Z;2020-06-08T11:34:43.000Z;ecdsa-plain-SHA384;unixTime;DdxmTYRiAIm3jQJYwb7dyRthzG0hErod7ZobdmIKpIVlVXESbSzTxZ0cVx08c4PgQ2S4oXedpUZV3vRXIU1q80IfrI2Xh4ZFMEq7515cfIcPIwsFQFEo7ZT58aDlBXlI;BFhnDaPRoUxAYUktkUqoaV2l+TVpLdT7wPTRFDkZcHXFS7WZhGsvKh/lT3jEYJLNLD/sjQVg/JrobVU5kue/k2d9sK7dnWPdMgYlr4E4Ff8ziKclzs1u7BuOYJ4jRI65rg==" + }, + { + "ftSignatureFormat": 13, + "ftSignatureType": 4919338167972134928, + "Caption": "start-transaction-signature", + "Data": "AP2zvSjWKtnFhs/PTFPw8Bldw9C2wHofpjF6cnPZSy0qv33Ib/vnNyjUDAFjZa6rMq8Pslz2lYXDnYv+/S+VhlJmqU4dUUeMRSTtVqMqG5sxAWLLpJu1JLxB3rOzNvr1" + }, + { + "ftSignatureFormat": 13, + "ftSignatureType": 4919338167972134929, + "Caption": "finish-transaction-payload", + "Data": "QmVsZWdeMTUuMDBfMC4wMF8wLjAwXzAuMDBfMC4wMF4xNS4wMDpCYXI=" + }, + { + "ftSignatureFormat": 13, + "ftSignatureType": 4919338167972134930, + "Caption": "finish-transaction-signature", + "Data": "DdxmTYRiAIm3jQJYwb7dyRthzG0hErod7ZobdmIKpIVlVXESbSzTxZ0cVx08c4PgQ2S4oXedpUZV3vRXIU1q80IfrI2Xh4ZFMEq7515cfIcPIwsFQFEo7ZT58aDlBXlI" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134931, + "Caption": "", + "Data": "V0" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134932, + "Caption": "", + "Data": "DEMO1256" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134933, + "Caption": "", + "Data": "Kassenbeleg-V1" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134934, + "Caption": "", + "Data": "Beleg^15.00_0.00_0.00_0.00_0.00^15.00:Bar" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134935, + "Caption": "", + "Data": "39" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134936, + "Caption": "", + "Data": "875" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134937, + "Caption": "", + "Data": "2020-06-08T11:34:42.000Z" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134938, + "Caption": "", + "Data": "2020-06-08T11:34:43.000Z" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134939, + "Caption": "", + "Data": "ecdsa-plain-SHA384" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134940, + "Caption": "", + "Data": "unixTime" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134941, + "Caption": "", + "Data": "DdxmTYRiAIm3jQJYwb7dyRthzG0hErod7ZobdmIKpIVlVXESbSzTxZ0cVx08c4PgQ2S4oXedpUZV3vRXIU1q80IfrI2Xh4ZFMEq7515cfIcPIwsFQFEo7ZT58aDlBXlI" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134942, + "Caption": "", + "Data": "BFhnDaPRoUxAYUktkUqoaV2l+TVpLdT7wPTRFDkZcHXFS7WZhGsvKh/lT3jEYJLNLD/sjQVg/JrobVU5kue/k2d9sK7dnWPdMgYlr4E4Ff8ziKclzs1u7BuOYJ4jRI65rg==" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134943, + "Caption": "", + "Data": "2020-06-08T10:00:00.010Z" + } + ], + "ftState": 4919338167972134912 } ``` ### Single-purpose voucher redemption -Request (voucher within charge items): +1. Request (single-purpose voucher redemption **within charge items**): ```json { - "ftCashBoxID":"cashboxid-guid", - "ftPosSystemId":"possystemid-guid", - "cbTerminalID":"terminalid", - "cbReceiptReference":"233349", - "cbReceiptMoment":"2020-05-08T12:52:34.9609375Z", - "cbChargeItems":[ - { - "Quantity":1.0, - "Description":"RX234 MP3 Player", - "Amount":15.00, - "VATRate":19.0000, - // 0x4445000000000011 (delivery normal) - "ftChargeItemCase":4919338167972134929 - }, - { - "Quantity":1.0, - "Description":"Voucher for RX234 MP3 Player", - "Amount":-15.00, - "VATRate":19.0000, - // 0x4445000000000069 (coupon redeem normal) - "ftChargeItemCase":4919338167972135017, - "ftChargeItemCaseData":"{\"VoucherNr\":\"UAUA91829182HH\"}" - } - ], - "cbPayItems":[], - // 0x4445 0000 0000 0001 (pos-receipt) + 0000 0001 0000 0000 (implicit flow) - "ftReceiptCase":4919338172267102209, - "cbArea":"Store 56" + "ftCashBoxID": "cashboxid-guid", + "cbTerminalID": "D", + "cbReceiptReference":"RR223", + "cbReceiptMoment":"2020-06-08T10:00:00.01Z", + "cbChargeItems":[ + { + "Quantity":1.0, + "Description":"RX234 MP3 Player", + "Amount":15.00, + "VATRate":19.0000, + // 0x4445000000000011 (delivery normal) + "ftChargeItemCase":4919338167972134929 + }, + { + "Quantity":1.0, + "Description":"Voucher for RX234 MP3 Player", + "Amount":-15.00, + "VATRate":19.0000, + // 0x4445000000000069 (coupon redeem normal) + "ftChargeItemCase":4919338167972135017, + "ftChargeItemCaseData":"{\"VoucherNr\":\"UAUA91829182HH\"}" + } + ], + "cbPayItems":[], + // 0x4445 0000 0000 0001 (pos-receipt) + 0000 0001 0000 0000 (implicit flow) + "ftReceiptCase":4919338172267102209 } ``` -Request (voucher within pay items): +Response: +```json +{ + "ftCashBoxID": "65a863b1-4a08-46da-9ab0-9201bedb5bb7", + "ftQueueID": "ec35244c-a1bb-4748-bfa8-f4aaa01888ce", + "ftQueueItemID": "8b04dbbd-51c1-41f9-a0a2-0af7b6837754", + "ftQueueRow": 54, + "cbTerminalID": "D", + "cbReceiptReference": "RR223", + "ftCashBoxIdentification": "DEMO1256", + "ftReceiptIdentification": "ft2C#IT40", + "ftReceiptMoment": "2020-06-08T11:40:44.2104535Z", + "ftSignatures": [ + { + "ftSignatureFormat": 3, + "ftSignatureType": 4919338167972134913, + "Caption": "www.fiskaltrust.de", + "Data": "V0;DEMO1256;Kassenbeleg-V1;Beleg^0.00_0.00_0.00_0.00_0.00^;40;877;2020-06-08T11:40:49.000Z;2020-06-08T11:40:49.000Z;ecdsa-plain-SHA384;unixTime;Yjn55OMRLgXht/MymIlwhVSDc1H09UFMoDlWqrsIGl8JwidAF+4Wxb2tTIp1qTBjCtOyxZohaoYRVJem6LHAIfvpW6cUJVX0eRTDmTnjxYAcfu68lzmmS4SxxqhS2FuV;BFhnDaPRoUxAYUktkUqoaV2l+TVpLdT7wPTRFDkZcHXFS7WZhGsvKh/lT3jEYJLNLD/sjQVg/JrobVU5kue/k2d9sK7dnWPdMgYlr4E4Ff8ziKclzs1u7BuOYJ4jRI65rg==" + }, + { + "ftSignatureFormat": 13, + "ftSignatureType": 4919338167972134928, + "Caption": "start-transaction-signature", + "Data": "OMnoY7SBMe4tFWwPwXDGlH7lYAqRCj6xMObj/GPb6sFsSZqDwuJ25cgtmD/8axDabZaaiZy5xi72JyN5CAQkvH2pjh+9P8ZeJ6JZvT0m4lGuMMV4Wm5C/z3hSoqH2Cy7" + }, + { + "ftSignatureFormat": 13, + "ftSignatureType": 4919338167972134929, + "Caption": "finish-transaction-payload", + "Data": "QmVsZWdeMC4wMF8wLjAwXzAuMDBfMC4wMF8wLjAwXg==" + }, + { + "ftSignatureFormat": 13, + "ftSignatureType": 4919338167972134930, + "Caption": "finish-transaction-signature", + "Data": "Yjn55OMRLgXht/MymIlwhVSDc1H09UFMoDlWqrsIGl8JwidAF+4Wxb2tTIp1qTBjCtOyxZohaoYRVJem6LHAIfvpW6cUJVX0eRTDmTnjxYAcfu68lzmmS4SxxqhS2FuV" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134931, + "Caption": "", + "Data": "V0" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134932, + "Caption": "", + "Data": "DEMO1256" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134933, + "Caption": "", + "Data": "Kassenbeleg-V1" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134934, + "Caption": "", + "Data": "Beleg^0.00_0.00_0.00_0.00_0.00^" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134935, + "Caption": "", + "Data": "40" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134936, + "Caption": "", + "Data": "877" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134937, + "Caption": "", + "Data": "2020-06-08T11:40:49.000Z" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134938, + "Caption": "", + "Data": "2020-06-08T11:40:49.000Z" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134939, + "Caption": "", + "Data": "ecdsa-plain-SHA384" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134940, + "Caption": "", + "Data": "unixTime" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134941, + "Caption": "", + "Data": "Yjn55OMRLgXht/MymIlwhVSDc1H09UFMoDlWqrsIGl8JwidAF+4Wxb2tTIp1qTBjCtOyxZohaoYRVJem6LHAIfvpW6cUJVX0eRTDmTnjxYAcfu68lzmmS4SxxqhS2FuV" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134942, + "Caption": "", + "Data": "BFhnDaPRoUxAYUktkUqoaV2l+TVpLdT7wPTRFDkZcHXFS7WZhGsvKh/lT3jEYJLNLD/sjQVg/JrobVU5kue/k2d9sK7dnWPdMgYlr4E4Ff8ziKclzs1u7BuOYJ4jRI65rg==" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134943, + "Caption": "", + "Data": "2020-06-08T10:00:00.010Z" + } + ], + "ftState": 4919338167972134912 +} + +``` +Request (single-purpose voucher redemption **within pay items**): + +```json +{ + "ftCashBoxID":"65a863b1-4a08-46da-9ab0-9201bedb5bb7", + "cbTerminalID":"D", + "cbReceiptReference":"RR223", + "cbReceiptMoment":"2020-06-08T10:00:00.01Z", + "cbChargeItems":[ + { + "Quantity":1.0, + "Description":"RX234 MP3 Player", + "Amount":15.00, + "VATRate":19.00, + // 0x4445000000000011 (delivery normal) + "ftChargeItemCase":4919338167972134929 + } + ], + "cbPayItems":[ + { + "Quantity":1.0, + "Description":"Voucher for RX234 MP3 Player", + "Amount":15.00, + // 0x4445 0000 0000 000A (internal / material consumption) + "ftPayItemCase":4919338167972134922, + "ftPayItemCaseData":"{\"VoucherNr\":\"UAUA91829182HH\"}" + } + ], + // 0x4445 0000 0000 0001 (pos-receipt) + 0000 0001 0000 0000 (implicit flow) + "ftReceiptCase":4919338172267102209 +} +``` +Response: ```json { - "ftCashBoxID":"cashboxid-guid", - "ftPosSystemId":"possystemid-guid", - "cbTerminalID":"terminalid", - "cbReceiptReference":"233349", - "cbReceiptMoment":"2020-05-08T12:52:34.9609375Z", - "cbChargeItems":[ - { - "Quantity":1.0, - "Description":"RX234 MP3 Player", - "Amount":15.00, - "VATRate":19.0000, - // 0x4445000000000011 (delivery normal) - "ftChargeItemCase":4919338167972134929 - } - ], - "cbPayItems":[ - { - "Quantity":1.0, - "Description":"Voucher for RX234 MP3 Player", - "Amount":15.00, - // 0x4445 0000 0000 000A (internal / material consumption) - "ftPayItemCase":4919338167972134922, - "ftPayItemCaseData":"{\"VoucherNr\":\"UAUA91829182HH\"}" - } - ], - // 0x4445 0000 0000 0001 (pos-receipt) + 0000 0001 0000 0000 (implicit flow) - "ftReceiptCase":4919338172267102209, - "cbArea":"Store 56" + "ftCashBoxID": "65a863b1-4a08-46da-9ab0-9201bedb5bb7", + "ftQueueID": "ec35244c-a1bb-4748-bfa8-f4aaa01888ce", + "ftQueueItemID": "40a18092-a87f-4b68-8935-872432c86bbc", + "ftQueueRow": 60, + "cbTerminalID": "D", + "cbReceiptReference": "RR223", + "ftCashBoxIdentification": "DEMO1256", + "ftReceiptIdentification": "ft32#IT46", + "ftReceiptMoment": "2020-06-08T12:55:21.1396774Z", + "ftSignatures": [ + { + "ftSignatureFormat": 3, + "ftSignatureType": 4919338167972134913, + "Caption": "www.fiskaltrust.de", + "Data": "V0;DEMO1256;Kassenbeleg-V1;Beleg^15.00_0.00_0.00_0.00_0.00^;46;900;2020-06-08T12:55:40.000Z;2020-06-08T12:55:41.000Z;ecdsa-plain-SHA384;unixTime;YZViGkV+iNdykmu5Ww/IFC6kTYUCkIrI4YXHI+BTSbHS8c8nUsdhpeE7IRuoTnXSb+vDUgCZYU+Hr4rQ0ITcmb1d/Rza4d8C0c84htG7E5letOSEXNPJYTl0kdykaJEh;BFhnDaPRoUxAYUktkUqoaV2l+TVpLdT7wPTRFDkZcHXFS7WZhGsvKh/lT3jEYJLNLD/sjQVg/JrobVU5kue/k2d9sK7dnWPdMgYlr4E4Ff8ziKclzs1u7BuOYJ4jRI65rg==" + }, + { + "ftSignatureFormat": 13, + "ftSignatureType": 4919338167972134928, + "Caption": "start-transaction-signature", + "Data": "P7dXJW+UN8TgJpH1/ILdN5wblTIA2f+48Q5tN9Z8Jmucpkgk8brGKxL/OvsH8+r6XjZ7loInVPAAl7z6xABaa5+wubl5wesqeSGzv7SWpjzxKoAWrq+tHf32vyQjoGhf" + }, + { + "ftSignatureFormat": 13, + "ftSignatureType": 4919338167972134929, + "Caption": "finish-transaction-payload", + "Data": "QmVsZWdeMTUuMDBfMC4wMF8wLjAwXzAuMDBfMC4wMF4=" + }, + { + "ftSignatureFormat": 13, + "ftSignatureType": 4919338167972134930, + "Caption": "finish-transaction-signature", + "Data": "YZViGkV+iNdykmu5Ww/IFC6kTYUCkIrI4YXHI+BTSbHS8c8nUsdhpeE7IRuoTnXSb+vDUgCZYU+Hr4rQ0ITcmb1d/Rza4d8C0c84htG7E5letOSEXNPJYTl0kdykaJEh" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134931, + "Caption": "", + "Data": "V0" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134932, + "Caption": "", + "Data": "DEMO1256" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134933, + "Caption": "", + "Data": "Kassenbeleg-V1" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134934, + "Caption": "", + "Data": "Beleg^15.00_0.00_0.00_0.00_0.00^" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134935, + "Caption": "", + "Data": "46" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134936, + "Caption": "", + "Data": "900" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134937, + "Caption": "", + "Data": "2020-06-08T12:55:40.000Z" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134938, + "Caption": "", + "Data": "2020-06-08T12:55:41.000Z" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134939, + "Caption": "", + "Data": "ecdsa-plain-SHA384" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134940, + "Caption": "", + "Data": "unixTime" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134941, + "Caption": "", + "Data": "YZViGkV+iNdykmu5Ww/IFC6kTYUCkIrI4YXHI+BTSbHS8c8nUsdhpeE7IRuoTnXSb+vDUgCZYU+Hr4rQ0ITcmb1d/Rza4d8C0c84htG7E5letOSEXNPJYTl0kdykaJEh" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134942, + "Caption": "", + "Data": "BFhnDaPRoUxAYUktkUqoaV2l+TVpLdT7wPTRFDkZcHXFS7WZhGsvKh/lT3jEYJLNLD/sjQVg/JrobVU5kue/k2d9sK7dnWPdMgYlr4E4Ff8ziKclzs1u7BuOYJ4jRI65rg==" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134943, + "Caption": "", + "Data": "2020-06-08T10:00:00.010Z" + } + ], + "ftState": 4919338167972134912 } ``` ### Multi-purpose voucher issuance -Request (voucher within pay items): +Request (multi-purpose voucher issuance **within pay items**): ```json { - "ftCashBoxID":"cashboxid-guid", - "ftPosSystemId":"possystemid-guid", - "cbTerminalID":"terminalid", - "cbReceiptReference":"233349", - "cbReceiptMoment":"2020-05-08T12:52:34.9609375Z", - "cbChargeItems":[ ], - "cbPayItems":[ - { - "Quantity":1.0, - "Description":"Voucher for food and drinks", - "Amount":-150.00, - // 0x4445 0000 0000 000D (voucher, not taxable) - "ftPayItemCase":4919338167972134925, - "ftPayItemCaseData":"{\"VoucherNr\":\"UAUA91829182HH\"}" - }, - { - "Quantity":1.0, - "Description":"Cash", - "Amount":150.00, - // 0x4445 0000 0000 0001 (cash payment in national currency) - "ftPayItemCase":4919338167972134913 - } - ], - // 0x4445 0000 0000 0001 (pos-receipt) + 0000 0001 0000 0000 (implicit flow) - "ftReceiptCase":4919338172267102209, - "cbArea":"Jack in the Box 1256" + "ftCashBoxID": "cashboxid-guid", + "cbTerminalID": "D", + "cbReceiptReference":"RR223", + "cbReceiptMoment":"2020-06-08T10:00:00.01Z", + "cbChargeItems":[], + "cbPayItems":[ + { + "Quantity":1.0, + "Description":"Voucher for food and drinks", + "Amount":-150.00, + // 0x4445 0000 0000 000D (voucher, not taxable) + "ftPayItemCase":4919338167972134925, + "ftPayItemCaseData":"{\"VoucherNr\":\"UAUA91829182HH\"}", + "Moment":"2020-06-08T10:00:00.01Z" + }, + { + "Quantity":1.0, + "Description":"Cash", + "Amount":150.00, + // 0x4445 0000 0000 0001 (cash payment in national currency) + "ftPayItemCase":4919338167972134913, + "Moment":"2020-06-08T10:00:00.01Z" + } + ], + // 0x4445 0000 0000 0001 (pos-receipt) + 0000 0001 0000 0000 (implicit flow) + "ftReceiptCase":4919338172267102209 } ``` -Request (voucher within charge items): +Response: ```json { - "ftCashBoxID":"cashboxid-guid", - "ftPosSystemId":"possystemid-guid", - "cbTerminalID":"terminalid", - "cbReceiptReference":"233349", - "cbReceiptMoment":"2020-05-08T12:52:34.9609375Z", - "cbChargeItems":[ - { - "Quantity":1.0, - "Description":"Voucher for food and drinks", - "Amount":150.00, - // 0x4445000000000060 (voucher sale not taxable) - "ftChargeItemCase":4919338167972135008, - "ftChargeItemCaseData":"{\"VoucherNr\":\"UAUA91829182HH\"}" - } - ], - "cbPayItems":[ - { - "Quantity":1.0, - "Description":"Cash", - "Amount":150.00, - // 0x4445 0000 0000 0001 (cash payment in national currency) - "ftPayItemCase":4919338167972134913 - } - ], - // 0x4445 0000 0000 0001 (pos-receipt) + 0000 0001 0000 0000 (implicit flow) - "ftReceiptCase":4919338172267102209, - "cbArea":"Jack in the Box 1256" + "ftCashBoxID": "65a863b1-4a08-46da-9ab0-9201bedb5bb7", + "ftQueueID": "ec35244c-a1bb-4748-bfa8-f4aaa01888ce", + "ftQueueItemID": "82f89e91-d334-48ec-8f62-e526b0d65e8d", + "ftQueueRow": 55, + "cbTerminalID": "D", + "cbReceiptReference": "RR223", + "ftCashBoxIdentification": "DEMO1256", + "ftReceiptIdentification": "ft2D#IT41", + "ftReceiptMoment": "2020-06-08T11:47:57.2549995Z", + "ftSignatures": [ + { + "ftSignatureFormat": 3, + "ftSignatureType": 4919338167972134913, + "Caption": "www.fiskaltrust.de", + "Data": "V0;DEMO1256;Kassenbeleg-V1;Beleg^0.00_0.00_0.00_0.00_0.00^150.00:Bar_-150.00:Unbar;41;879;2020-06-08T11:48:08.000Z;2020-06-08T11:48:08.000Z;ecdsa-plain-SHA384;unixTime;QtdOvOi1prM0+SUVm/Y9LvKr05ZvQ19W59JCFdbtnKnC+rKaw0ksfdArVRGPQrj9H+Vw0axskhXSRcMryBISE5SkGAeLMFik06jl/cKalArBXSKhu96uyLmEC/ao747Z;BFhnDaPRoUxAYUktkUqoaV2l+TVpLdT7wPTRFDkZcHXFS7WZhGsvKh/lT3jEYJLNLD/sjQVg/JrobVU5kue/k2d9sK7dnWPdMgYlr4E4Ff8ziKclzs1u7BuOYJ4jRI65rg==" + }, + { + "ftSignatureFormat": 13, + "ftSignatureType": 4919338167972134928, + "Caption": "start-transaction-signature", + "Data": "WH821UyRp/9nJ1V8iVebQ2qgk0DbiWACGEZm4JsjEymvRA9rs2TfcbW7Y/M7MiLkhtcP32knMFPHuXQA3aHMsyZLYi5Sn1VlxmeZJKCZ1xj+lnhVNTlXZDmXsskW/+OS" + }, + { + "ftSignatureFormat": 13, + "ftSignatureType": 4919338167972134929, + "Caption": "finish-transaction-payload", + "Data": "QmVsZWdeMC4wMF8wLjAwXzAuMDBfMC4wMF8wLjAwXjE1MC4wMDpCYXJfLTE1MC4wMDpVbmJhcg==" + }, + { + "ftSignatureFormat": 13, + "ftSignatureType": 4919338167972134930, + "Caption": "finish-transaction-signature", + "Data": "QtdOvOi1prM0+SUVm/Y9LvKr05ZvQ19W59JCFdbtnKnC+rKaw0ksfdArVRGPQrj9H+Vw0axskhXSRcMryBISE5SkGAeLMFik06jl/cKalArBXSKhu96uyLmEC/ao747Z" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134931, + "Caption": "", + "Data": "V0" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134932, + "Caption": "", + "Data": "DEMO1256" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134933, + "Caption": "", + "Data": "Kassenbeleg-V1" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134934, + "Caption": "", + "Data": "Beleg^0.00_0.00_0.00_0.00_0.00^150.00:Bar_-150.00:Unbar" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134935, + "Caption": "", + "Data": "41" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134936, + "Caption": "", + "Data": "879" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134937, + "Caption": "", + "Data": "2020-06-08T11:48:08.000Z" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134938, + "Caption": "", + "Data": "2020-06-08T11:48:08.000Z" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134939, + "Caption": "", + "Data": "ecdsa-plain-SHA384" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134940, + "Caption": "", + "Data": "unixTime" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134941, + "Caption": "", + "Data": "QtdOvOi1prM0+SUVm/Y9LvKr05ZvQ19W59JCFdbtnKnC+rKaw0ksfdArVRGPQrj9H+Vw0axskhXSRcMryBISE5SkGAeLMFik06jl/cKalArBXSKhu96uyLmEC/ao747Z" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134942, + "Caption": "", + "Data": "BFhnDaPRoUxAYUktkUqoaV2l+TVpLdT7wPTRFDkZcHXFS7WZhGsvKh/lT3jEYJLNLD/sjQVg/JrobVU5kue/k2d9sK7dnWPdMgYlr4E4Ff8ziKclzs1u7BuOYJ4jRI65rg==" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134943, + "Caption": "", + "Data": "2020-06-08T10:00:00.010Z" + } + ], + "ftState": 4919338167972134912 } + ``` +Request (multi-purpose voucher issuance **within charge items**): + +```json +{ + "ftCashBoxID":"cashboxid-guid", + "cbTerminalID":"D", + "cbReceiptReference":"RR223", + "cbReceiptMoment":"2020-06-08T10:00:00.01Z", + "cbChargeItems":[ + { + "Quantity":1.0, + "Description":"Voucher for food and drinks", + "Amount":150.00, + "VATRate":0.0, + // 0x4445000000000060 (voucher sale not taxable) + "ftChargeItemCase":4919338167972135008, + "ftChargeItemCaseData":"{\"VoucherNr\":\"UAUA91829182HH\"}", + "Moment":"2020-06-08T10:00:00.01Z" + } + ], + "cbPayItems":[ + { + "Quantity":1.0, + "Description":"Cash", + "Amount":150.00, + // 0x4445 0000 0000 0001 (cash payment in national currency) + "ftPayItemCase":4919338167972134913, + "Moment":"2020-06-08T10:00:00.01Z" + } + ], + // 0x4445 0000 0000 0001 (pos-receipt) + 0000 0001 0000 0000 (implicit flow) + "ftReceiptCase":4919338172267102209 +} +``` +Rsponse: + +```json +{ + "ftCashBoxID": "65a863b1-4a08-46da-9ab0-9201bedb5bb7", + "ftQueueID": "ec35244c-a1bb-4748-bfa8-f4aaa01888ce", + "ftQueueItemID": "952db53a-f569-4baa-be86-007ca591b575", + "ftQueueRow": 56, + "cbTerminalID": "D", + "cbReceiptReference": "RR223", + "ftCashBoxIdentification": "DEMO1256", + "ftReceiptIdentification": "ft2E#IT42", + "ftReceiptMoment": "2020-06-08T11:59:40.8667577Z", + "ftSignatures": [ + { + "ftSignatureFormat": 3, + "ftSignatureType": 4919338167972134913, + "Caption": "www.fiskaltrust.de", + "Data": "V0;DEMO1256;Kassenbeleg-V1;Beleg^0.00_0.00_0.00_0.00_150.00^150.00:Bar;42;881;2020-06-08T12:00:02.000Z;2020-06-08T12:00:02.000Z;ecdsa-plain-SHA384;unixTime;Y93Z6PoBibHtla/QQzL9IULpDzXc76Zpl6LpgHudpf/Fznhx/U7WpR6dnxWK+16QMbJ44pqNhnkwoulYx3ExTqWRQXJLlQshpwhWzwNwC6pRB017m9lugmsVrudkyecG;BFhnDaPRoUxAYUktkUqoaV2l+TVpLdT7wPTRFDkZcHXFS7WZhGsvKh/lT3jEYJLNLD/sjQVg/JrobVU5kue/k2d9sK7dnWPdMgYlr4E4Ff8ziKclzs1u7BuOYJ4jRI65rg==" + }, + { + "ftSignatureFormat": 13, + "ftSignatureType": 4919338167972134928, + "Caption": "start-transaction-signature", + "Data": "i3mBec2m2qa/7gXrbMBORfSELRuHvrN63q46uD7PltaWKwXdb/yd+isgBCyv5mq4gWgkGvZNj2bVz48zCvE9TCXiuZsFQYvr4F/++z6YdFQj1dT0iZ+xs28C2rVdzCNz" + }, + { + "ftSignatureFormat": 13, + "ftSignatureType": 4919338167972134929, + "Caption": "finish-transaction-payload", + "Data": "QmVsZWdeMC4wMF8wLjAwXzAuMDBfMC4wMF8xNTAuMDBeMTUwLjAwOkJhcg==" + }, + { + "ftSignatureFormat": 13, + "ftSignatureType": 4919338167972134930, + "Caption": "finish-transaction-signature", + "Data": "Y93Z6PoBibHtla/QQzL9IULpDzXc76Zpl6LpgHudpf/Fznhx/U7WpR6dnxWK+16QMbJ44pqNhnkwoulYx3ExTqWRQXJLlQshpwhWzwNwC6pRB017m9lugmsVrudkyecG" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134931, + "Caption": "", + "Data": "V0" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134932, + "Caption": "", + "Data": "DEMO1256" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134933, + "Caption": "", + "Data": "Kassenbeleg-V1" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134934, + "Caption": "", + "Data": "Beleg^0.00_0.00_0.00_0.00_150.00^150.00:Bar" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134935, + "Caption": "", + "Data": "42" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134936, + "Caption": "", + "Data": "881" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134937, + "Caption": "", + "Data": "2020-06-08T12:00:02.000Z" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134938, + "Caption": "", + "Data": "2020-06-08T12:00:02.000Z" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134939, + "Caption": "", + "Data": "ecdsa-plain-SHA384" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134940, + "Caption": "", + "Data": "unixTime" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134941, + "Caption": "", + "Data": "Y93Z6PoBibHtla/QQzL9IULpDzXc76Zpl6LpgHudpf/Fznhx/U7WpR6dnxWK+16QMbJ44pqNhnkwoulYx3ExTqWRQXJLlQshpwhWzwNwC6pRB017m9lugmsVrudkyecG" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134942, + "Caption": "", + "Data": "BFhnDaPRoUxAYUktkUqoaV2l+TVpLdT7wPTRFDkZcHXFS7WZhGsvKh/lT3jEYJLNLD/sjQVg/JrobVU5kue/k2d9sK7dnWPdMgYlr4E4Ff8ziKclzs1u7BuOYJ4jRI65rg==" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134943, + "Caption": "", + "Data": "2020-06-08T10:00:00.010Z" + } + ], + "ftState": 4919338167972134912 +} +``` ### Multi-purpose voucher redemption -Request (voucher within pay items): +Request (multi-purpose voucher redemption **within pay items**): + +```json +{ + "ftCashBoxID":"cashboxid-guid", + "cbTerminalID":"D", + "cbReceiptReference":"RR223", + "cbReceiptMoment":"2020-06-08T10:00:00.01Z", + "cbChargeItems":[ + { + "Quantity":2.0, + "Description":"0,5 Soda Zitrone", + "Amount":7.00, + "VATRate":19.0000, + "ftChargeItemCase":4919338167972134913 + } + ], + "cbPayItems":[ + { + "Quantity":1.0, + "Description":"Voucher for food and drinks", + "Amount":150.00, + // 0x4445 0000 0000 000D (voucher, not taxable) + "ftPayItemCase":4919338167972134925, + "ftChargeItemCaseData":"{\"VoucherNr\":\"UAUA91829182HH\"}" + }, + { + "Quantity":1.0, + "Description":"Cash", + "Amount":-143.00, + // 0x4445 0000 0000 0001 (cash payment in national currency) + "ftPayItemCase":4919338167972134913 + } + ], + // 0x4445 0000 0000 0001 (pos-receipt) + 0000 0001 0000 0000 (implicit flow) + "ftReceiptCase":4919338172267102209 +} +``` + +Response: ```json { - "ftCashBoxID":"cashboxid-guid", - "ftPosSystemId":"possystemid-guid", - "cbTerminalID":"terminalid", - "cbReceiptReference":"233349", - "cbReceiptMoment":"2020-05-08T12:52:34.9609375Z", - "cbChargeItems":[ - { - "Quantity":2.0, - "Description":"0,5 Soda Zitrone", - "Amount":7.00, - "VATRate":19.0000, - "ftChargeItemCase":4919338167972134913 - } - ], - "cbPayItems":[ - { - "Quantity":1.0, - "Description":"Voucher for food and drinks", - "Amount":150.00, - // 0x4445 0000 0000 000D (voucher, not taxable) - "ftPayItemCase":4919338167972134925, - "ftChargeItemCaseData":"{\"VoucherNr\":\"UAUA91829182HH\"}" - }, - { - "Quantity":1.0, - "Description":"Cash", - "Amount":-143.00, - // 0x4445 0000 0000 0001 (cash payment in national currency) - "ftPayItemCase":4919338167972134913 - } - ], - // 0x4445 0000 0000 0001 (pos-receipt) + 0000 0001 0000 0000 (implicit flow) - "ftReceiptCase":4919338172267102209, - "cbArea":"Jack in the Box 1256" + "ftCashBoxID": "65a863b1-4a08-46da-9ab0-9201bedb5bb7", + "ftQueueID": "ec35244c-a1bb-4748-bfa8-f4aaa01888ce", + "ftQueueItemID": "d287de01-f945-47f3-8e21-3385974b1afa", + "ftQueueRow": 57, + "cbTerminalID": "D", + "cbReceiptReference": "RR223", + "ftCashBoxIdentification": "DEMO1256", + "ftReceiptIdentification": "ft2F#IT43", + "ftReceiptMoment": "2020-06-08T12:13:09.1833015Z", + "ftSignatures": [ + { + "ftSignatureFormat": 3, + "ftSignatureType": 4919338167972134913, + "Caption": "www.fiskaltrust.de", + "Data": "V0;DEMO1256;Kassenbeleg-V1;Beleg^7.00_0.00_0.00_0.00_0.00^-143.00:Bar_150.00:Unbar;43;888;2020-06-08T12:13:17.000Z;2020-06-08T12:13:17.000Z;ecdsa-plain-SHA384;unixTime;QhCdENV8bvbuxbvfNjwAQ9oWrHwj9eyMRxJqRs5SvZEMJ0aaii1WWYmm6JxFsTdJX70qVpP5hnSvNzWAEdjcHNz3yTCYSsngV+gtzrDk7FPsFgcx/EAl4DTXTvRrNEG6;BFhnDaPRoUxAYUktkUqoaV2l+TVpLdT7wPTRFDkZcHXFS7WZhGsvKh/lT3jEYJLNLD/sjQVg/JrobVU5kue/k2d9sK7dnWPdMgYlr4E4Ff8ziKclzs1u7BuOYJ4jRI65rg==" + }, + { + "ftSignatureFormat": 13, + "ftSignatureType": 4919338167972134928, + "Caption": "start-transaction-signature", + "Data": "J1NNi+DqSdRAGPuaeYIf9u4OVsbDqfP2HI3vYAfntg+pHdZB53gsB+NvUZHD3SQtOI4gRtZwvm6XPV3qUZk91cJ8pk79TmxmHYYioyaGnEvvqWhZwvB6vo3TXReEuBtn" + }, + { + "ftSignatureFormat": 13, + "ftSignatureType": 4919338167972134929, + "Caption": "finish-transaction-payload", + "Data": "QmVsZWdeNy4wMF8wLjAwXzAuMDBfMC4wMF8wLjAwXi0xNDMuMDA6QmFyXzE1MC4wMDpVbmJhcg==" + }, + { + "ftSignatureFormat": 13, + "ftSignatureType": 4919338167972134930, + "Caption": "finish-transaction-signature", + "Data": "QhCdENV8bvbuxbvfNjwAQ9oWrHwj9eyMRxJqRs5SvZEMJ0aaii1WWYmm6JxFsTdJX70qVpP5hnSvNzWAEdjcHNz3yTCYSsngV+gtzrDk7FPsFgcx/EAl4DTXTvRrNEG6" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134931, + "Caption": "", + "Data": "V0" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134932, + "Caption": "", + "Data": "DEMO1256" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134933, + "Caption": "", + "Data": "Kassenbeleg-V1" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134934, + "Caption": "", + "Data": "Beleg^7.00_0.00_0.00_0.00_0.00^-143.00:Bar_150.00:Unbar" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134935, + "Caption": "", + "Data": "43" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134936, + "Caption": "", + "Data": "888" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134937, + "Caption": "", + "Data": "2020-06-08T12:13:17.000Z" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134938, + "Caption": "", + "Data": "2020-06-08T12:13:17.000Z" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134939, + "Caption": "", + "Data": "ecdsa-plain-SHA384" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134940, + "Caption": "", + "Data": "unixTime" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134941, + "Caption": "", + "Data": "QhCdENV8bvbuxbvfNjwAQ9oWrHwj9eyMRxJqRs5SvZEMJ0aaii1WWYmm6JxFsTdJX70qVpP5hnSvNzWAEdjcHNz3yTCYSsngV+gtzrDk7FPsFgcx/EAl4DTXTvRrNEG6" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134942, + "Caption": "", + "Data": "BFhnDaPRoUxAYUktkUqoaV2l+TVpLdT7wPTRFDkZcHXFS7WZhGsvKh/lT3jEYJLNLD/sjQVg/JrobVU5kue/k2d9sK7dnWPdMgYlr4E4Ff8ziKclzs1u7BuOYJ4jRI65rg==" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134943, + "Caption": "", + "Data": "2020-06-08T10:00:00.010Z" + } + ], + "ftState": 4919338167972134912 } ``` -Request (voucher within charge items): +Request (multi-purpose voucher redemption **within charge items**): ```json { - "ftCashBoxID":"cashboxid-guid", - "ftPosSystemId":"possystemid-guid", - "cbTerminalID":"terminalid", - "cbReceiptReference":"233349", - "cbReceiptMoment":"2020-05-08T12:52:34.9609375Z", - "cbChargeItems":[ - { - "Quantity":2.0, - "Description":"0,5 Soda Zitrone", - "Amount":7.00, - "VATRate":19.0000, - "ftChargeItemCase":4919338167972134913 - }, - { - "Quantity":1.0, - "Description":"Voucher for food and drinks", - "Amount":-150.00, - // 0x4445000000000068 (voucher redeem not taxable) - "ftChargeItemCase":4919338167972135016, - "ftChargeItemCaseData":"{\"VoucherNr\":\"UAUA91829182HH\"}" - } - ], - "cbPayItems":[ - { - "Quantity":1.0, - "Description":"Cash", - "Amount":-143.00, - // 0x4445 0000 0000 0001 (cash payment in national currency) - "ftPayItemCase":4919338167972134913 - } - ], - // 0x4445 0000 0000 0001 (pos-receipt) + 0000 0001 0000 0000 (implicit flow) - "ftReceiptCase":4919338172267102209, - "cbArea":"Jack in the Box 1256" + "ftCashBoxID":"cashboxid-guid", + "cbTerminalID":"D", + "cbReceiptReference":"RR223", + "cbReceiptMoment":"2020-06-08T10:00:00.01Z", + "cbChargeItems":[ + { + "Quantity":2.0, + "Description":"0,5 Soda Zitrone", + "Amount":7.00, + "VATRate":19.0000, + "ftChargeItemCase":4919338167972134913 + }, + { + "Quantity":1.0, + "Description":"Voucher for food and drinks", + "Amount":-150.00, + "VATRate":0.0, + // 0x4445000000000068 (voucher redeem not taxable) + "ftChargeItemCase":4919338167972135016, + "ftChargeItemCaseData":"{\"VoucherNr\":\"UAUA91829182HH\"}" + } + ], + "cbPayItems":[ + { + "Quantity":1.0, + "Description":"Cash", + "Amount":-143.00, + // 0x4445 0000 0000 0001 (cash payment in national currency) + "ftPayItemCase":4919338167972134913 + } + ], + // 0x4445 0000 0000 0001 (pos-receipt) + 0000 0001 0000 0000 (implicit flow) + "ftReceiptCase":4919338172267102209 } ``` +Response: +```json +{ + "ftCashBoxID": "65a863b1-4a08-46da-9ab0-9201bedb5bb7", + "ftQueueID": "ec35244c-a1bb-4748-bfa8-f4aaa01888ce", + "ftQueueItemID": "14bc8bcc-bd0f-4adc-bb34-c4c8e35d58e0", + "ftQueueRow": 58, + "cbTerminalID": "D", + "cbReceiptReference": "RR223", + "ftCashBoxIdentification": "DEMO1256", + "ftReceiptIdentification": "ft30#IT44", + "ftReceiptMoment": "2020-06-08T12:19:54.3153262Z", + "ftSignatures": [ + { + "ftSignatureFormat": 3, + "ftSignatureType": 4919338167972134913, + "Caption": "www.fiskaltrust.de", + "Data": "V0;DEMO1256;Kassenbeleg-V1;Beleg^7.00_0.00_0.00_0.00_-150.00^-143.00:Bar;44;890;2020-06-08T12:20:08.000Z;2020-06-08T12:20:08.000Z;ecdsa-plain-SHA384;unixTime;Nbak5xnATCmR67/vlJ3pxYV0Po+UMJD3SIf3kntp6ZJC4DfqyuYig1epGUKllMOGhHAmY4k1VeysRq0G1jc1ORHI9GUeONaCtb1wVUaEIPZ5Vx1Leb1tN6YWyudCBM8/;BFhnDaPRoUxAYUktkUqoaV2l+TVpLdT7wPTRFDkZcHXFS7WZhGsvKh/lT3jEYJLNLD/sjQVg/JrobVU5kue/k2d9sK7dnWPdMgYlr4E4Ff8ziKclzs1u7BuOYJ4jRI65rg==" + }, + { + "ftSignatureFormat": 13, + "ftSignatureType": 4919338167972134928, + "Caption": "start-transaction-signature", + "Data": "bPlHWbSXS2MIK4gBQ+WIzr0DTO2uv682Pbz15vG7GYQ+CLsWdTlLgtcUz9J3RNaEX7mvnlDTAxLXiWPkRXdH5M9YGxdIdEYHQxJE9FMgEtnJ3gvduWoNPuERd8FjbLQf" + }, + { + "ftSignatureFormat": 13, + "ftSignatureType": 4919338167972134929, + "Caption": "finish-transaction-payload", + "Data": "QmVsZWdeNy4wMF8wLjAwXzAuMDBfMC4wMF8tMTUwLjAwXi0xNDMuMDA6QmFy" + }, + { + "ftSignatureFormat": 13, + "ftSignatureType": 4919338167972134930, + "Caption": "finish-transaction-signature", + "Data": "Nbak5xnATCmR67/vlJ3pxYV0Po+UMJD3SIf3kntp6ZJC4DfqyuYig1epGUKllMOGhHAmY4k1VeysRq0G1jc1ORHI9GUeONaCtb1wVUaEIPZ5Vx1Leb1tN6YWyudCBM8/" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134931, + "Caption": "", + "Data": "V0" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134932, + "Caption": "", + "Data": "DEMO1256" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134933, + "Caption": "", + "Data": "Kassenbeleg-V1" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134934, + "Caption": "", + "Data": "Beleg^7.00_0.00_0.00_0.00_-150.00^-143.00:Bar" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134935, + "Caption": "", + "Data": "44" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134936, + "Caption": "", + "Data": "890" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134937, + "Caption": "", + "Data": "2020-06-08T12:20:08.000Z" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134938, + "Caption": "", + "Data": "2020-06-08T12:20:08.000Z" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134939, + "Caption": "", + "Data": "ecdsa-plain-SHA384" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134940, + "Caption": "", + "Data": "unixTime" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134941, + "Caption": "", + "Data": "Nbak5xnATCmR67/vlJ3pxYV0Po+UMJD3SIf3kntp6ZJC4DfqyuYig1epGUKllMOGhHAmY4k1VeysRq0G1jc1ORHI9GUeONaCtb1wVUaEIPZ5Vx1Leb1tN6YWyudCBM8/" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134942, + "Caption": "", + "Data": "BFhnDaPRoUxAYUktkUqoaV2l+TVpLdT7wPTRFDkZcHXFS7WZhGsvKh/lT3jEYJLNLD/sjQVg/JrobVU5kue/k2d9sK7dnWPdMgYlr4E4Ff8ziKclzs1u7BuOYJ4jRI65rg==" + }, + { + "ftSignatureFormat": 1, + "ftSignatureType": 4919338167972134943, + "Caption": "", + "Data": "2020-06-08T10:00:00.010Z" + } + ], + "ftState": 4919338167972134912 +} + +``` From 998828971e01f6dcb4e5c106fa4b3799ddb75b80 Mon Sep 17 00:00:00 2001 From: Christian Rogobete Date: Mon, 8 Jun 2020 15:39:51 +0200 Subject: [PATCH 15/16] add voucher postman collection for DE --- ...E.Vouchers.Postman.postman_collection.json | 400 ------------------ .../receipt-case-definitions.md | 1 + 2 files changed, 1 insertion(+), 400 deletions(-) delete mode 100644 doc/appendix-de-kassensichv/examples/ft.DE.Vouchers.Postman.postman_collection.json diff --git a/doc/appendix-de-kassensichv/examples/ft.DE.Vouchers.Postman.postman_collection.json b/doc/appendix-de-kassensichv/examples/ft.DE.Vouchers.Postman.postman_collection.json deleted file mode 100644 index 846ff876..00000000 --- a/doc/appendix-de-kassensichv/examples/ft.DE.Vouchers.Postman.postman_collection.json +++ /dev/null @@ -1,400 +0,0 @@ -{ - "info": { - "_postman_id": "35809cee-1978-409b-8384-13d8e53e718f", - "name": "ft.DE.Vouchers.Postman", - "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" - }, - "item": [ - { - "name": "single-purpose-issuance (within charge items)", - "request": { - "method": "POST", - "header": [ - { - "key": "accesstoken", - "type": "text", - "value": "BNTlup7JAaBVw4KwXwodBfJ4pYGyR4LN8cLf2eIAASQdWPHHHh8yd53Q1ci2QW4umG37WzFVW0Iznm7QXCC6uas=", - "disabled": true - }, - { - "key": "cashboxid", - "type": "text", - "value": "9cfbee6b-3342-4972-bf5f-3356b159f323" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"ftCashBoxID\": \"65a863b1-4a08-46da-9ab0-9201bedb5bb7\",\r\n \"cbTerminalID\": \"D\",\r\n \"cbReceiptReference\":\"RR223\",\r\n \"cbReceiptMoment\":\"2020-06-08T10:00:00.01Z\",\r\n \"cbChargeItems\":[\r\n {\r\n \"Quantity\":1.0,\r\n \"Description\":\"Voucher for RX234 MP3 Player\",\r\n \"Amount\":15.00,\r\n \"VATRate\":19.00,\r\n \"ftChargeItemCase\":4919338167972135009,\r\n \"ftChargeItemCaseData\":\"{\\\"VoucherNr\\\":\\\"UAUA91829182HH\\\"}\"\r\n \t}\r\n ],\r\n \"cbPayItems\":[\r\n {\r\n \"Quantity\":1.0,\r\n \"Description\":\"Cash\",\r\n \"Amount\":15.00, \r\n \"ftPayItemCase\":4919338167972134913,\r\n \"Moment\":\"2020-06-08T10:00:00.01Z\"\r\n }\r\n ], \r\n \"ftReceiptCase\":4919338172267102209\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://172.16.37.128:1200/fiskaltrust/json/v1/sign", - "protocol": "http", - "host": [ - "172", - "16", - "37", - "128" - ], - "port": "1200", - "path": [ - "fiskaltrust", - "json", - "v1", - "sign" - ] - } - }, - "response": [] - }, - { - "name": "single-purpose-redemption (within charge items)", - "request": { - "method": "POST", - "header": [ - { - "key": "accesstoken", - "type": "text", - "value": "BNTlup7JAaBVw4KwXwodBfJ4pYGyR4LN8cLf2eIAASQdWPHHHh8yd53Q1ci2QW4umG37WzFVW0Iznm7QXCC6uas=", - "disabled": true - }, - { - "key": "cashboxid", - "type": "text", - "value": "9cfbee6b-3342-4972-bf5f-3356b159f323" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"ftCashBoxID\": \"65a863b1-4a08-46da-9ab0-9201bedb5bb7\",\r\n \"cbTerminalID\": \"D\",\r\n \"cbReceiptReference\":\"RR223\",\r\n \"cbReceiptMoment\":\"2020-06-08T10:00:00.01Z\",\r\n \"cbChargeItems\":[\r\n {\r\n \"Quantity\":1.0,\r\n \"Description\":\"RX234 MP3 Player\",\r\n \"Amount\":15.00,\r\n \"VATRate\":19.00,\r\n \"ftChargeItemCase\":4919338167972134929\r\n },\r\n {\r\n \"Quantity\":1.0,\r\n \"Description\":\"Voucher for RX234 MP3 Player\",\r\n \"Amount\":-15.00,\r\n \"VATRate\":19.00,\r\n \"ftChargeItemCase\":4919338167972135017,\r\n \"ftChargeItemCaseData\":\"{\\\"VoucherNr\\\":\\\"UAUA91829182HH\\\"}\"\r\n }\r\n ],\r\n \"cbPayItems\":[], \r\n \"ftReceiptCase\":4919338172267102209\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://172.16.37.128:1200/fiskaltrust/json/v1/sign", - "protocol": "http", - "host": [ - "172", - "16", - "37", - "128" - ], - "port": "1200", - "path": [ - "fiskaltrust", - "json", - "v1", - "sign" - ] - } - }, - "response": [] - }, - { - "name": "single-purpose-redemption (within pay items)", - "request": { - "method": "POST", - "header": [ - { - "key": "accesstoken", - "type": "text", - "value": "BNTlup7JAaBVw4KwXwodBfJ4pYGyR4LN8cLf2eIAASQdWPHHHh8yd53Q1ci2QW4umG37WzFVW0Iznm7QXCC6uas=", - "disabled": true - }, - { - "key": "cashboxid", - "type": "text", - "value": "9cfbee6b-3342-4972-bf5f-3356b159f323" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"ftCashBoxID\":\"65a863b1-4a08-46da-9ab0-9201bedb5bb7\",\n \"cbTerminalID\":\"D\",\n \"cbReceiptReference\":\"RR223\",\n \"cbReceiptMoment\":\"2020-06-08T10:00:00.01Z\",\n \"cbChargeItems\":[\n {\n \"Quantity\":1.0,\n \"Description\":\"RX234 MP3 Player\",\n \"Amount\":15.00,\n \"VATRate\":19.00,\n \"ftChargeItemCase\":4919338167972134929\n }\n ],\n \"cbPayItems\":[\n {\n \"Quantity\":1.0,\n \"Description\":\"Voucher for RX234 MP3 Player\",\n \"Amount\":15.00,\n \"ftPayItemCase\":4919338167972134922,\n \"ftPayItemCaseData\":\"{\\\"VoucherNr\\\":\\\"UAUA91829182HH\\\"}\"\n }\n ],\n \"ftReceiptCase\":4919338172267102209\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://172.16.37.128:1200/fiskaltrust/json/v1/sign", - "protocol": "http", - "host": [ - "172", - "16", - "37", - "128" - ], - "port": "1200", - "path": [ - "fiskaltrust", - "json", - "v1", - "sign" - ] - } - }, - "response": [] - }, - { - "name": "single-purpose-redemption (within pay items)", - "request": { - "method": "POST", - "header": [ - { - "key": "accesstoken", - "type": "text", - "value": "BNTlup7JAaBVw4KwXwodBfJ4pYGyR4LN8cLf2eIAASQdWPHHHh8yd53Q1ci2QW4umG37WzFVW0Iznm7QXCC6uas=", - "disabled": true - }, - { - "key": "cashboxid", - "type": "text", - "value": "9cfbee6b-3342-4972-bf5f-3356b159f323" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"ftCashBoxID\": \"65a863b1-4a08-46da-9ab0-9201bedb5bb7\",\r\n \"cbTerminalID\": \"D\",\r\n \"cbReceiptReference\":\"RR223\",\r\n \"cbReceiptMoment\":\"2020-06-08T10:00:00.01Z\",\r\n \"cbChargeItems\":[\r\n {\r\n \"Quantity\":1.0,\r\n \"Description\":\"RX234 MP3 Player\",\r\n \"Amount\":15.00,\r\n \"VATRate\":19.00,\r\n \"ftChargeItemCase\":4919338167972134929\r\n },\r\n {\r\n \"Quantity\":1.0,\r\n \"Description\":\"Voucher for RX234 MP3 Player\",\r\n \"Amount\":-15.00,\r\n \"VATRate\":19.00,\r\n \"ftChargeItemCase\":4919338167972135017,\r\n \"ftChargeItemCaseData\":\"{\\\"VoucherNr\\\":\\\"UAUA91829182HH\\\"}\"\r\n }\r\n ],\r\n \"cbPayItems\":[], \r\n \"ftReceiptCase\":4919338172267102209\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://172.16.37.128:1200/fiskaltrust/json/v1/sign", - "protocol": "http", - "host": [ - "172", - "16", - "37", - "128" - ], - "port": "1200", - "path": [ - "fiskaltrust", - "json", - "v1", - "sign" - ] - } - }, - "response": [] - }, - { - "name": "multi-purpose-issuance (within pay items)", - "request": { - "method": "POST", - "header": [ - { - "key": "accesstoken", - "type": "text", - "value": "BNTlup7JAaBVw4KwXwodBfJ4pYGyR4LN8cLf2eIAASQdWPHHHh8yd53Q1ci2QW4umG37WzFVW0Iznm7QXCC6uas=", - "disabled": true - }, - { - "key": "cashboxid", - "type": "text", - "value": "9cfbee6b-3342-4972-bf5f-3356b159f323" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"ftCashBoxID\": \"65a863b1-4a08-46da-9ab0-9201bedb5bb7\",\r\n \"cbTerminalID\": \"D\",\r\n \"cbReceiptReference\":\"RR223\",\r\n \"cbReceiptMoment\":\"2020-06-08T10:00:00.01Z\",\r\n \"cbChargeItems\":[],\r\n \"cbPayItems\":[\r\n \t{\r\n \"Quantity\":1.0,\r\n \"Description\":\"Voucher for food and drinks\",\r\n \"Amount\":-150.00,\r\n \"ftPayItemCase\":4919338167972134925,\r\n \"ftPayItemCaseData\":\"{\\\"VoucherNr\\\":\\\"UAUA91829182HH\\\"}\",\r\n \"Moment\":\"2020-06-08T10:00:00.01Z\"\r\n },\r\n {\r\n \"Quantity\":1.0,\r\n \"Description\":\"Cash\",\r\n \"Amount\":150.00, \r\n \"ftPayItemCase\":4919338167972134913,\r\n \"Moment\":\"2020-06-08T10:00:00.01Z\"\r\n }\r\n ], \r\n \"ftReceiptCase\":4919338172267102209\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://172.16.37.128:1200/fiskaltrust/json/v1/sign", - "protocol": "http", - "host": [ - "172", - "16", - "37", - "128" - ], - "port": "1200", - "path": [ - "fiskaltrust", - "json", - "v1", - "sign" - ] - } - }, - "response": [] - }, - { - "name": "multi-purpose-issuance (within charge items)", - "request": { - "method": "POST", - "header": [ - { - "key": "accesstoken", - "type": "text", - "value": "BNTlup7JAaBVw4KwXwodBfJ4pYGyR4LN8cLf2eIAASQdWPHHHh8yd53Q1ci2QW4umG37WzFVW0Iznm7QXCC6uas=", - "disabled": true - }, - { - "key": "cashboxid", - "type": "text", - "value": "9cfbee6b-3342-4972-bf5f-3356b159f323" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"ftCashBoxID\":\"65a863b1-4a08-46da-9ab0-9201bedb5bb7\",\n \"cbTerminalID\":\"D\",\n \"cbReceiptReference\":\"RR223\",\n \"cbReceiptMoment\":\"2020-06-08T10:00:00.01Z\",\n \"cbChargeItems\":[\n {\n \"Quantity\":1.0,\n \"Description\":\"Voucher for food and drinks\",\n \"Amount\":150.00,\n \"VATRate\":0.0,\n \"ftChargeItemCase\":4919338167972135008,\n \"ftChargeItemCaseData\":\"{\\\"VoucherNr\\\":\\\"UAUA91829182HH\\\"}\",\n \"Moment\":\"2020-06-08T10:00:00.01Z\"\n }\n ],\n \"cbPayItems\":[\n {\n \"Quantity\":1.0,\n \"Description\":\"Cash\",\n \"Amount\":150.00,\n \"ftPayItemCase\":4919338167972134913,\n \"Moment\":\"2020-06-08T10:00:00.01Z\"\n }\n ],\n \"ftReceiptCase\":4919338172267102209\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://172.16.37.128:1200/fiskaltrust/json/v1/sign", - "protocol": "http", - "host": [ - "172", - "16", - "37", - "128" - ], - "port": "1200", - "path": [ - "fiskaltrust", - "json", - "v1", - "sign" - ] - } - }, - "response": [] - }, - { - "name": "multi-purpose-redemption (within pay items)", - "request": { - "method": "POST", - "header": [ - { - "key": "accesstoken", - "type": "text", - "value": "BNTlup7JAaBVw4KwXwodBfJ4pYGyR4LN8cLf2eIAASQdWPHHHh8yd53Q1ci2QW4umG37WzFVW0Iznm7QXCC6uas=", - "disabled": true - }, - { - "key": "cashboxid", - "type": "text", - "value": "9cfbee6b-3342-4972-bf5f-3356b159f323" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"ftCashBoxID\":\"65a863b1-4a08-46da-9ab0-9201bedb5bb7\",\n \"cbTerminalID\":\"D\",\n \"cbReceiptReference\":\"RR223\",\n \"cbReceiptMoment\":\"2020-06-08T10:00:00.01Z\",\n \"cbChargeItems\":[\n {\n \"Quantity\":2.0,\n \"Description\":\"0,5 Soda Zitrone\",\n \"Amount\":7.00,\n \"VATRate\":19.00,\n \"ftChargeItemCase\":4919338167972134913\n }\n ],\n \"cbPayItems\":[\n {\n \"Quantity\":1.0,\n \"Description\":\"Voucher for food and drinks\",\n \"Amount\":150.00,\n \"ftPayItemCase\":4919338167972134925,\n \"ftChargeItemCaseData\":\"{\\\"VoucherNr\\\":\\\"UAUA91829182HH\\\"}\"\n },\n {\n \"Quantity\":1.0,\n \"Description\":\"Cash\",\n \"Amount\":-143.00,\n \"ftPayItemCase\":4919338167972134913\n }\n ],\n \"ftReceiptCase\":4919338172267102209\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://172.16.37.128:1200/fiskaltrust/json/v1/sign", - "protocol": "http", - "host": [ - "172", - "16", - "37", - "128" - ], - "port": "1200", - "path": [ - "fiskaltrust", - "json", - "v1", - "sign" - ] - } - }, - "response": [] - }, - { - "name": "multi-purpose-redemption (within charge items)", - "request": { - "method": "POST", - "header": [ - { - "key": "accesstoken", - "type": "text", - "value": "BNTlup7JAaBVw4KwXwodBfJ4pYGyR4LN8cLf2eIAASQdWPHHHh8yd53Q1ci2QW4umG37WzFVW0Iznm7QXCC6uas=", - "disabled": true - }, - { - "key": "cashboxid", - "type": "text", - "value": "9cfbee6b-3342-4972-bf5f-3356b159f323" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"ftCashBoxID\":\"65a863b1-4a08-46da-9ab0-9201bedb5bb7\",\n \"cbTerminalID\":\"D\",\n \"cbReceiptReference\":\"RR223\",\n \"cbReceiptMoment\":\"2020-06-08T10:00:00.01Z\",\n \"cbChargeItems\":[\n {\n \"Quantity\":2.0,\n \"Description\":\"0,5 Soda Zitrone\",\n \"Amount\":7.00,\n \"VATRate\":19.00,\n \"ftChargeItemCase\":4919338167972134913\n },\n {\n \"Quantity\":1.0,\n \"Description\":\"Voucher for food and drinks\",\n \"Amount\":-150.00,\n \"VATRate\":0.0,\n \"ftChargeItemCase\":4919338167972135016,\n \"ftChargeItemCaseData\":\"{\\\"VoucherNr\\\":\\\"UAUA91829182HH\\\"}\"\n }\n ],\n \"cbPayItems\":[\n {\n \"Quantity\":1.0,\n \"Description\":\"Cash\",\n \"Amount\":-143.00,\n \"ftPayItemCase\":4919338167972134913\n }\n ],\n \"ftReceiptCase\":4919338172267102209\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://172.16.37.128:1200/fiskaltrust/json/v1/sign", - "protocol": "http", - "host": [ - "172", - "16", - "37", - "128" - ], - "port": "1200", - "path": [ - "fiskaltrust", - "json", - "v1", - "sign" - ] - } - }, - "response": [] - } - ], - "event": [ - { - "listen": "prerequest", - "script": { - "id": "6f360b92-a508-43e2-b789-7d858071884d", - "type": "text/javascript", - "exec": [ - "" - ] - } - }, - { - "listen": "test", - "script": { - "id": "57d9e31f-15a0-406f-a411-fa453831ecb7", - "type": "text/javascript", - "exec": [ - "" - ] - } - } - ], - "protocolProfileBehavior": {} -} \ No newline at end of file diff --git a/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md b/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md index a2b905d4..ad445fd8 100644 --- a/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md +++ b/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md @@ -29,3 +29,4 @@ Please find examples of requests with multi-purpose vouchers [here](../examples/ For all voucher requests you can optionally submit the voucher number. It can be sent via `ftPayItemCaseData` or `ftChargeItemCaseData` in JSON format. To send, add the key value pair `VoucherNr` e.g. `"ftPayItemCaseData":"{ ..., "VoucherNr":"UAUA91829182HH", ... }"`. +Please also find a postman collection containing all examples here: [![Run in Postman](https://run.pstmn.io/button.svg)](https://app.getpostman.com/run-collection/e0afcde3e32e902f2fef) From 013429464d15f39e850c836e78f8b62e23187636 Mon Sep 17 00:00:00 2001 From: Christian Rogobete Date: Wed, 10 Jun 2020 15:18:42 +0200 Subject: [PATCH 16/16] add vouchers to toc for DE --- .../receipt-case-definitions.md | 29 ------------------- .../receipt-case-definitions/vouchers.md | 28 ++++++++++++++++++ doc/toc.md | 5 +++- 3 files changed, 32 insertions(+), 30 deletions(-) create mode 100644 doc/appendix-de-kassensichv/receipt-case-definitions/vouchers.md diff --git a/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md b/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md index ad445fd8..dab37c06 100644 --- a/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md +++ b/doc/appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md @@ -1,32 +1,3 @@ ## Receipt Case Definitions This chapter expands on the definitions of Receipt Cases covered in Chapter ["Receipt Case Definitions"](../../general/receipt-case-definitions/receipt-case-definitions.md) of the General Part, with country specific information applicable to the German market. - -### Voucher (goods/services) - -The issuance and redemption of vouchers are processes with DSFinV-K requirements. According to the [EU directive](https://eur-lex.europa.eu/legal-content/EN/ALL/?uri=CELEX%3A32016L1065) as regards the treatment of vouchers there are two kinds of vouchers to be considered: - -- Single-purpose voucher (DE: Einzweckgutscheine) -- Multi-purpose voucher (DE: Mehrzweckgutscheine) - -The difference is, that for single-purpose vouchers, the VAT rate is known already at transfer (issue) because it refers to a single purpose (service or good). On the other hand, in case of multi purpose vouchers the VAT rate is not known because it can be redeemed for different purposes (goods or services). A multi-purpose voucher is a money substitute. - -The issuance of single-purpose vouchers is covered by our charge item cases (`ftChargeItemCase`): `0x4445000000000061`, `0x4445000000000062`, `0x4445000000000063`, `0x4445000000000064`, `0x4445000000000065`, `0x4445000000000066` and `0x4445000000000067`. - -The redemption of single-purpose vouchers is covered by `ftChargeItemCase`: `0x4445000000000069`, `0x444500000000006A`, `0x444500000000006B`, `0x444500000000006C`, `0x444500000000006D`, `0x444500000000006E`, `0x444500000000006F`. When used in the request, the charge item amount of the good or service should be a positive value and the charge item amount of the voucher should be negative (e.g. +15 and -15). - -If the cash register can not handle the redemption of single-purpose vouchers within the charge items than it can alternatively use a pay item having the pay item case (`ftPayItemCase`): `0x444500000000000A`. When used like this in the request, the charge item amount of the good or service should be a positive value and the pay item amount of the voucher should also be a positive value (e.g. +15 and +15). - -Please find examples of requests with single-purpose vouchers [here](../examples/vouchers.md#single-purpose-voucher-issuance). - -The issuance of multi-purpose vouchers is covered within the pay items by `ftPayItemCase`: `0x444500000000000D`. Negative amounts get converted to an issuance. Since there is no specific good or service coverded by the voucher, the issuance is not taxable and no VAT rate must be specified. Same applies for redemption since the VAT rate is determined by the charge items for the goods or services of the request. For redemption of a multi-purpose voucher, one can use `ftPayItemCase`: `0x444500000000000D` with a positive amount. - -Furthermore for the issuance of multi-purpose vouchers, one can alternatively use a charge item instead of a pay item. The `ftChargeItemCase`: `0x4445000000000060` has to be used. - -If the cash register can not handle the redemption within a pay item, then it can alternatively use a charge item having `ftChargeItemCase`: `0x4445000000000068` with negative amount. - -Please find examples of requests with multi-purpose vouchers [here](../examples/vouchers.md#multi-purpose-voucher-issuance). - -For all voucher requests you can optionally submit the voucher number. It can be sent via `ftPayItemCaseData` or `ftChargeItemCaseData` in JSON format. To send, add the key value pair `VoucherNr` e.g. `"ftPayItemCaseData":"{ ..., "VoucherNr":"UAUA91829182HH", ... }"`. - -Please also find a postman collection containing all examples here: [![Run in Postman](https://run.pstmn.io/button.svg)](https://app.getpostman.com/run-collection/e0afcde3e32e902f2fef) diff --git a/doc/appendix-de-kassensichv/receipt-case-definitions/vouchers.md b/doc/appendix-de-kassensichv/receipt-case-definitions/vouchers.md new file mode 100644 index 00000000..2ee1612e --- /dev/null +++ b/doc/appendix-de-kassensichv/receipt-case-definitions/vouchers.md @@ -0,0 +1,28 @@ +### Voucher (goods/services) + +The issuance and redemption of vouchers are processes with DSFinV-K requirements. According to the [EU directive](https://eur-lex.europa.eu/legal-content/EN/ALL/?uri=CELEX%3A32016L1065) as regards the treatment of vouchers there are two kinds of vouchers to be considered: + +- Single-purpose voucher (DE: Einzweckgutscheine) +- Multi-purpose voucher (DE: Mehrzweckgutscheine) + +The difference is, that for single-purpose vouchers, the VAT rate is known already at transfer (issue) because it refers to a single purpose (service or good). On the other hand, in case of multi purpose vouchers the VAT rate is not known because it can be redeemed for different purposes (goods or services). A multi-purpose voucher is a money substitute. + +The issuance of single-purpose vouchers is covered by our charge item cases (`ftChargeItemCase`): `0x4445000000000061`, `0x4445000000000062`, `0x4445000000000063`, `0x4445000000000064`, `0x4445000000000065`, `0x4445000000000066` and `0x4445000000000067`. + +The redemption of single-purpose vouchers is covered by `ftChargeItemCase`: `0x4445000000000069`, `0x444500000000006A`, `0x444500000000006B`, `0x444500000000006C`, `0x444500000000006D`, `0x444500000000006E`, `0x444500000000006F`. When used in the request, the charge item amount of the good or service should be a positive value and the charge item amount of the voucher should be negative (e.g. +15 and -15). + +If the cash register can not handle the redemption of single-purpose vouchers within the charge items than it can alternatively use a pay item having the pay item case (`ftPayItemCase`): `0x444500000000000A`. When used like this in the request, the charge item amount of the good or service should be a positive value and the pay item amount of the voucher should also be a positive value (e.g. +15 and +15). + +Please find examples of requests with single-purpose vouchers [here](../examples/vouchers.md#single-purpose-voucher-issuance). + +The issuance of multi-purpose vouchers is covered within the pay items by `ftPayItemCase`: `0x444500000000000D`. Negative amounts get converted to an issuance. Since there is no specific good or service coverded by the voucher, the issuance is not taxable and no VAT rate must be specified. Same applies for redemption since the VAT rate is determined by the charge items for the goods or services of the request. For redemption of a multi-purpose voucher, one can use `ftPayItemCase`: `0x444500000000000D` with a positive amount. + +Furthermore for the issuance of multi-purpose vouchers, one can alternatively use a charge item instead of a pay item. The `ftChargeItemCase`: `0x4445000000000060` has to be used. + +If the cash register can not handle the redemption within a pay item, then it can alternatively use a charge item having `ftChargeItemCase`: `0x4445000000000068` with negative amount. + +Please find examples of requests with multi-purpose vouchers [here](../examples/vouchers.md#multi-purpose-voucher-issuance). + +For all voucher requests you can optionally submit the voucher number. It can be sent via `ftPayItemCaseData` or `ftChargeItemCaseData` in JSON format. To send, add the key value pair `VoucherNr` e.g. `"ftPayItemCaseData":"{ ..., "VoucherNr":"UAUA91829182HH", ... }"`. + +Please also find a postman collection containing all examples here: [![Run in Postman](https://run.pstmn.io/button.svg)](https://app.getpostman.com/run-collection/e0afcde3e32e902f2fef) diff --git a/doc/toc.md b/doc/toc.md index 45b06528..d4b41546 100644 --- a/doc/toc.md +++ b/doc/toc.md @@ -1,4 +1,4 @@ -# [General Part](general/general.md) +# [General Part](general/general.md) ## [Terminology](general/terminology/terminology.md) ## [Cash Register Integration](general/cash-register-integration/cash-register-integration.md) ## [Data Structures](general/data-structures/data-structures.md) @@ -41,4 +41,7 @@ ### [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) +## [Receipt Case Definitions](appendix-de-kassensichv/receipt-case-definitions/receipt-case-definitions.md) +### [Voucher (goods/services)](appendix-de-kassensichv/receipt-case-definitions/vouchers.md) +#### [Examples](appendix-de-kassensichv/examples/vouchers.md) ## [Procedural documentation for DSFinV-K generation](appendix-de-kassensichv/procedural-documentation/dsfinv-k-generation.md)