Les SubItems permettent de composer un article principal sur un ticket de caisse à partir de plusieurs éléments. Un exemple typique est un menu vendu comme un seul article mais contenant, par exemple, un hamburger, des frites et une boisson. L’article parent a un prix total, et les SubItems sont enregistrés avec leurs propres prix, taux d’imposition et informations de stock.
1. Structure technique et champs clés
Article parent
L’article parent est un Position objet de type Type: 0 (Article). Pour les SubItems, les champs suivants sont obligatoires :
| Propriété | Type | Description |
|---|---|---|
| UseSubItemVatCalculation | booléen | (Obligatoire) Doit être défini sur « true » pour que les valeurs de TVA soient calculées à partir des SubItems. |
| VatIdentification | entier | (Obligatoire) Doit être égal à 0 lorsque UseSubItemVatCalculation est activé. |
| VatPercent | décimal | (Obligatoire) Doit être égal à 0 lorsque UseSubItemVatCalculation est activé. |
| SubItems | Tableau<subitem></subitem> | (Obligatoire) Contient les SubItems avec leurs propres informations de prix et de TVA. |
Remarque : NetValue, GrossValue et TaxValue de l’élément parent doivent être égales à la somme des SubItems.
SubItems
| Propriété | Type | Description |
|---|---|---|
| type | chaîne de caractères | (Obligatoire) Doit être « SubItem ». |
| Quantité | décimal | (Obligatoire) Quantité du sous-article. |
| VatIdentification | entier | (Obligatoire) ID TVA du sous-article. |
| VatPercent | décimal | (Obligatoire) Taux de TVA du SubItem. |
| NetValue , TaxValue , GrossValue | décimal | (Obligatoire) Informations sur le prix par SubItem. GrossValue = NetValue + TaxValue . |
2. Exemple : charge utile complète
La storeDocument demande contient un élément parent (« Élément de test 1 (Menu) ») avec deux SubItems :
{
"fiscalDocumentNumber": "2",
"fiscalDocumentStartTime": 1755507048,
"FiscalDocumentRevision": 1,
"ModelVersion": "1.4.0",
"UniqueClientId": "8ccedd62-9f72-4cda-b101-7e5e62fb37dc",
"AutomaticVatCalculation": 1,
"DocumentGuid": "08679cec-0df2-4ee0-a138-7ddf55ed2372",
"DocumentId": "08679cec-0df2-4ee0-a138-7ddf55ed2372",
"documentNumber": "08679cec-0df2-4ee0-a138-7ddf55ed2372",
"AllowedVatDeviation": 0.01,
"isTraining": true,
"CreateDate": "2025-08-18T08:52:37Z",
"BookDate": "2025-08-18T08:52:37Z",
"DocumentType": 0,
"positionCount": 2,
"User": {
"Id": "test",
"Caption": "test"
},
"Positions": [
{
"PositionNumber": 0,
"ItemCaption": "Testartikel 1 (Menü)",
"Type": 0,
"InHouse": false,
"Quantity": 1,
"ItemId": "Artikel1",
"VatIdentification": 0,
"VatPercent": 0,
"BusinessTransactionType": 0,
"BaseNetValue": 0.84,
"BaseGrossValue": 1,
"BaseTaxValue": 0.16,
"Discounts": [],
"NetValue": 0.84,
"GrossValue": 1,
"TaxValue": 0.16,
"useSubItemVatCalculation": true,
"subItems": [
{
"type": "SubItem",
"positionNumber": 1,
"ItemCaption": "Unterposition 1.1",
"ItemId": "SubArtikel1-1",
"Quantity": 1,
"VatIdentification": "1",
"VatPercent": 19,
"BusinessTransactionType": 0,
"NetValue": 0.50,
"GrossValue": 0.60,
"TaxValue": 0.10
},
{
"type": "SubItem",
"positionNumber": 2,
"ItemCaption": "Unterposition 1.2",
"ItemId": "SubArtikel1-2",
"Quantity": 1,
"VatIdentification": "1",
"VatPercent": 19,
"BusinessTransactionType": 0,
"NetValue": 0.34,
"GrossValue": 0.40,
"TaxValue": 0.06
}
]
},
{
"PositionNumber": 1,
"ItemCaption": "Testartikel 2",
"Type": 0,
"InHouse": false,
"Quantity": 1,
"ItemId": "Artikel2",
"VatIdentification": "1",
"VatPercent": 19,
"BusinessTransactionType": 0,
"BaseNetValue": 0.84,
"BaseGrossValue": 1,
"BaseTaxValue": 0.16,
"Discounts": [],
"NetValue": 0.84,
"GrossValue": 1,
"TaxValue": 0.16
}
],
"Payments": [
{
"Amount": 2,
"CurrencyIsoCode": "EUR",
"paymentType": "cash",
"caption": "Barzahlung",
"uniqueReadablePaymentIdentifier": "CASH/EUR",
"ExternalIdentifier": []
}
]
}
3. Liste de contrôle
✓ L’article parent est "subItems".
✓ "useSubItemVatCalculation": true est défini.
✓ VatIdentification et VatPercent de l’élément parent sont 0.
✓ Chaque sous-élément dispose "type": "SubItem".
✓ Les SubItems disposent de leurs propres informations relatives à la taxe et au prix.
✓ Les totaux des SubItems correspondent aux valeurs de l’article parent.
Cet article a été traduit automatiquement.
Commentaires
0 commentaire
Vous devez vous connecter pour laisser un commentaire.