SubItems позволяват съставянето на основна позиция в касовата бележка от няколко части. Типичен пример е меню, което се продава като една позиция, но съдържа, например, бургер, картофи и напитка. Главната позиция има обща цена, а SubItems се записват със собствени цени, данъчни ставки и информация за наличностите.
1. Техническа структура и ключови полета
Главен артикул
Основният артикул е Position обект с Type: 0 (Item). За SubItems са задължителни следните полета:
| Свойство | Тип | Описание |
|---|---|---|
| UseSubItemVatCalculation | boolean | (Задължително) Трябва да бъде зададено на true, за да се извличат данъчните стойности от SubItems. |
| VatIdentification | цело число | (Задължително) Трябва да бъде 0, когато UseSubItemVatCalculation е активен. |
| VatPercent | десетична | (Задължително) Трябва да бъде 0, когато UseSubItemVatCalculation е активен. |
| SubItems | Масив<SUBITEM> | (Задължително) Съдържа SubItems с информация за цената и данъка за всяка от тях. |
Забележка: NetValue, GrossValue и TaxValue на родителския елемент трябва да се равняват на сумите на SubItems.
SubItems
| Свойство | Тип | Описание |
|---|---|---|
| тип | string | (Задължително) Трябва да бъде "SubItem" . |
| Количество | десетично | (Задължително) Количеството на поделемента. |
| VatIdentification | цяло число | (Задължително) ID по Vat на подпозицията. |
| VatPercent | десетична | (Задължително) Данъчна ставка на SubItems. |
| NetValue , TaxValue , GrossValue | десетичен | (Задължително) Информация за цената на всяка подпозиция. GrossValue = NetValue + TaxValue . |
2. Пример: Пълен payload
Следното storeDocument заявка съдържа родителски елемент („Тестов елемент 1 (Меню)“) с два 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. Контролен списък
✓ Родителският елемент съдържа "subItems".
✓ "useSubItemVatCalculation": true е зададен.
✓ VatIdentification и VatPercent на главния елемент са 0.
✓ Всеки SubItem има "type": "SubItem".
✓ SubItems имат собствена информация за данъка и цената.
✓ Общите суми на SubItems съвпадат със стойностите на родителския елемент.
Тази статия е преведена автоматично.
Коментари
0 коментара
Влезте в услугата, за да оставите коментар.