This article shows, by means of an example, how so-called "long-term order processes" can be implemented and sent to the RetailForce Fiscal Service.
Long-lasting order transactions are required for the implementation of the German KassenSichV.
The classic example of a long-lasting order process is the normal process in gastronomy with customer orderes booked on tables. Several oders are made independently of each other and at the end these orders are summarized and are paid for by one or more guests.
This process is known in Germany as the long-lastin order process.
In the RetailForce system orders are implemented as seperate documents. See also article charactaristics in the catering industry.
The connection between the billing documents (DocumentType=Receipt) and the orders (DocumentType=LongTermOrder) is established via the property AllocationGroups (Document.AllocationGroups). Here you can store, for example, a table number or any other order reference. It is important that the total quantity of the ordered items and the items that are then invoiced are exactly the same.
Function and procedure
The customer takes a seat at the table and orders a Coke.
An order with DocumentType = LongTermOrder is to be sent.
{
"ModelVersion": "1.0.1",
"UniqueClientId": "c1062c55-57c4-4ed2-9c53-aff1762326a4",
"AdditionalFields": {},
"AutomaticVatCalculation": 0,
"DocumentGuid": "aea8f885-8f44-4e9c-ac35-d1100d89aa30",
"DocumentId": "20211002T1607265029230+0200",
"CreateDate": "2021-10-02T16:07:26.502923+02:00",
"BookDate": "2021-10-02T16:07:26.502923+02:00",
"ProcessStartDate": null,
"DocumentNumber": null,
"CancellationDocument": false,
"DocumentReference": null,
"IsTraining": false,
"DocumentType": 80,
"DocumentTypeCaption": null,
"User": {
"Id": "123",
"Caption": "TestUser"
},
"AllocationGroups": [
"Table 1"
],
"Partner": null,
"Notes": null,
"FiscalResponse": null,
"FiscalDocumentNumber": 0,
"FiscalDocumentRevision": 0,
"FiscalDocumentStartTime": null,
"Positions": [
{
"ItemCaption": "Cola 0.33",
"ItemShortCaption": null,
"Discounts": [],
"Type": 0,
"UseSubItemVatCalculation": true,
"SubItems": null,
"InHouse": true,
"ItemGroupId": null,
"ItemGroupCaption": null,
"Quantity": 1.0,
"QuantityUnit": null,
"ItemId": "003145",
"BaseNetValue": 3.18,
"BaseGrossValue": 3.4,
"BaseTaxValue": 0.22,
"GTIN": "7622300429331",
"BusinessTransactionType": 0,
"VatIdentification": 2,
"VatPercent": 7.0,
"NetValue": 3.18,
"GrossValue": 3.4,
"TaxValue": 0.22,
"AccountingIdentifier": null,
"PositionNumber": 0,
"PositionReference": null,
"CancellationPosition": false,
"AdditionalFields": {}
}
],
"Payments": []
}
Now the customer orders 2 more Cokes for himself and for another guest:
{
"ModelVersion": "1.0.1",
"UniqueClientId": "c1062c55-57c4-4ed2-9c53-aff1762326a4",
"AdditionalFields": {},
"AutomaticVatCalculation": 0,
"DocumentGuid": "b7d79184-62f4-4879-81d3-f2d2139746c3",
"DocumentId": "20211002T1609397066852+0200",
"CreateDate": "2021-10-02T16:09:39.7066852+02:00",
"BookDate": "2021-10-02T16:09:39.7066852+02:00",
"ProcessStartDate": null,
"DocumentNumber": null,
"CancellationDocument": false,
"DocumentReference": null,
"IsTraining": false,
"DocumentType": 80,
"DocumentTypeCaption": null,
"User": {
"Id": "123",
"Caption": "TestUser"
},
"AllocationGroups": [
"Table 1"
],
"Partner": null,
"Notes": null,
"FiscalResponse": null,
"FiscalDocumentNumber": 0,
"FiscalDocumentRevision": 0,
"FiscalDocumentStartTime": null,
"Positions": [
{
"ItemCaption": "Cola 0.33",
"ItemShortCaption": null,
"Discounts": [],
"Type": 0,
"UseSubItemVatCalculation": true,
"SubItems": null,
"InHouse": true,
"ItemGroupId": null,
"ItemGroupCaption": null,
"Quantity": 1.0,
"QuantityUnit": null,
"ItemId": "003145",
"BaseNetValue": 3.18,
"BaseGrossValue": 3.4,
"BaseTaxValue": 0.22,
"GTIN": "7622300429331",
"BusinessTransactionType": 0,
"VatIdentification": 2,
"VatPercent": 7.0,
"NetValue": 3.18,
"GrossValue": 3.4,
"TaxValue": 0.22,
"AccountingIdentifier": null,
"PositionNumber": 0,
"PositionReference": null,
"CancellationPosition": false,
"AdditionalFields": {}
},
{
"ItemCaption": "Cola 0.33",
"ItemShortCaption": null,
"Discounts": [],
"Type": 0,
"UseSubItemVatCalculation": true,
"SubItems": null,
"InHouse": true,
"ItemGroupId": null,
"ItemGroupCaption": null,
"Quantity": 1.0,
"QuantityUnit": null,
"ItemId": "003145",
"BaseNetValue": 3.18,
"BaseGrossValue": 3.4,
"BaseTaxValue": 0.22,
"GTIN": "7622300429331",
"BusinessTransactionType": 0,
"VatIdentification": 2,
"VatPercent": 7.0,
"NetValue": 3.18,
"GrossValue": 3.4,
"TaxValue": 0.22,
"AccountingIdentifier": null,
"PositionNumber": 1,
"PositionReference": null,
"CancellationPosition": false,
"AdditionalFields": {}
}
],
"Payments": []
}
Both customers would like to leave and pay separately, 1 customer is paying for one Coke:
{
"ModelVersion": "1.0.1",
"UniqueClientId": "c1062c55-57c4-4ed2-9c53-aff1762326a4",
"AdditionalFields": {},
"AutomaticVatCalculation": 0,
"DocumentGuid": "cd8f59c3-7514-40cc-931c-c42151bd44d3",
"DocumentId": "20211002T1611296576261+0200",
"CreateDate": "2021-10-02T16:11:29.6576261+02:00",
"BookDate": "2021-10-02T16:11:29.6576261+02:00",
"ProcessStartDate": null,
"DocumentNumber": null,
"CancellationDocument": false,
"DocumentReference": null,
"IsTraining": false,
"DocumentType": 0,
"DocumentTypeCaption": null,
"User": {
"Id": "123",
"Caption": "TestUser"
},
"AllocationGroups": [
"Table 1"
],
"Partner": null,
"Notes": null,
"FiscalResponse": null,
"FiscalDocumentNumber": 0,
"FiscalDocumentRevision": 0,
"FiscalDocumentStartTime": null,
"Positions": [
{
"ItemCaption": "Chocolate",
"ItemShortCaption": null,
"Discounts": [],
"Type": 0,
"UseSubItemVatCalculation": true,
"SubItems": null,
"InHouse": true,
"ItemGroupId": null,
"ItemGroupCaption": null,
"Quantity": 1.0,
"QuantityUnit": null,
"ItemId": "003145",
"BaseNetValue": 3.18,
"BaseGrossValue": 3.4,
"BaseTaxValue": 0.22,
"GTIN": "7622300429331",
"BusinessTransactionType": 0,
"VatIdentification": 2,
"VatPercent": 7.0,
"NetValue": 3.18,
"GrossValue": 3.4,
"TaxValue": 0.22,
"AccountingIdentifier": null,
"PositionNumber": 0,
"PositionReference": null,
"CancellationPosition": false,
"AdditionalFields": {}
}
],
"Payments": [
{
"Amount": 3.4,
"CurrencyIsoCode": "EUR",
"Caption": null,
"UniqueReadablePaymentIdentifier": null,
"ForeignAmount": 0.0,
"ForeignAmountExchangeRate": 0.0,
"AdditionalFields": {},
"PaymentType": 0,
"VatIdentification": null,
"VatPercent": null,
"TaxValue": null
}
]
}
The 2nd customer also pays (the remaining two Cokes) with EC card:
{
"ModelVersion": "1.0.1",
"UniqueClientId": "c1062c55-57c4-4ed2-9c53-aff1762326a4",
"AdditionalFields": {},
"AutomaticVatCalculation": 0,
"DocumentGuid": "2c215c9b-64f4-4785-9bd9-2d068f02346b",
"DocumentId": "20211002T1612589529701+0200",
"CreateDate": "2021-10-02T16:12:58.9529701+02:00",
"BookDate": "2021-10-02T16:12:58.9529701+02:00",
"ProcessStartDate": null,
"DocumentNumber": null,
"CancellationDocument": false,
"DocumentReference": null,
"IsTraining": false,
"DocumentType": 0,
"DocumentTypeCaption": null,
"User": {
"Id": "123",
"Caption": "TestUser"
},
"AllocationGroups": [
"Table 1"
],
"Partner": null,
"Notes": null,
"FiscalResponse": null,
"FiscalDocumentNumber": 0,
"FiscalDocumentRevision": 0,
"FiscalDocumentStartTime": null,
"Positions": [
{
"ItemCaption": "Chocolate",
"ItemShortCaption": null,
"Discounts": [],
"Type": 0,
"UseSubItemVatCalculation": true,
"SubItems": null,
"InHouse": true,
"ItemGroupId": null,
"ItemGroupCaption": null,
"Quantity": 1.0,
"QuantityUnit": null,
"ItemId": "003145",
"BaseNetValue": 3.18,
"BaseGrossValue": 3.4,
"BaseTaxValue": 0.22,
"GTIN": "7622300429331",
"BusinessTransactionType": 0,
"VatIdentification": 2,
"VatPercent": 7.0,
"NetValue": 3.18,
"GrossValue": 3.4,
"TaxValue": 0.22,
"AccountingIdentifier": null,
"PositionNumber": 0,
"PositionReference": null,
"CancellationPosition": false,
"AdditionalFields": {}
},
{
"ItemCaption": "Chocolate",
"ItemShortCaption": null,
"Discounts": [],
"Type": 0,
"UseSubItemVatCalculation": true,
"SubItems": null,
"InHouse": true,
"ItemGroupId": null,
"ItemGroupCaption": null,
"Quantity": 1.0,
"QuantityUnit": null,
"ItemId": "003145",
"BaseNetValue": 3.18,
"BaseGrossValue": 3.4,
"BaseTaxValue": 0.22,
"GTIN": "7622300429331",
"BusinessTransactionType": 0,
"VatIdentification": 2,
"VatPercent": 7.0,
"NetValue": 3.18,
"GrossValue": 3.4,
"TaxValue": 0.22,
"AccountingIdentifier": null,
"PositionNumber": 1,
"PositionReference": null,
"CancellationPosition": false,
"AdditionalFields": {}
}
],
"Payments": [
{
"Amount": 6.8,
"CurrencyIsoCode": "EUR",
"Caption": "EC",
"UniqueReadablePaymentIdentifier": null,
"ForeignAmount": 0.0,
"ForeignAmountExchangeRate": 0.0,
"AdditionalFields": {},
"PaymentType": 1,
"VatIdentification": null,
"VatPercent": null,
"TaxValue": null
}
]
}
With this, the table is closed again and all orderes are settled.
Comments
0 comments
Please sign in to leave a comment.