Tento článek se zabývá objektem „positions“ v rámci objektu „Document“ (objekt Document).
Úplný popis DOM (Document Object Model) systému RetailForce, stejně jako popis jednotlivých prvků, najdete v sekci ke stažení na webových stránkách RetailForce (Object model documentation.pdf) v příslušném adresáři s verzemi.
Objekt „positions“ obsahuje informace o příslušné pozici v dokumentu.
Objekt „positions“ se skládá z:
- DocumentPositionBase – obsahuje základní informace o pozici (nezávisle na typu dané pozice)
- Informace specifické pro typ pozice – v závislosti na typu pozice „type“ (DocumentPositionType) je třeba specifikovat různý obsah (typ pozice definuje obsah pozice).
DocumentPositionsBase
Následující objekt obsahuje vzorová data.
"positions": [
{
"positionNumber": 0,
"positionReference": {
"positionNumber": 0,
"referenceType": "[0] = Cancellation",
"storeNumber": "string",
"terminalNumber": "string",
"documentType": "[0] = Receipt",
"documentNumber": "string",
"documentNumberSeries": "string",
"fiscalDocumentNumber": 0,
"documentGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"documentId": "string",
"documentBookDate": "2023-05-03T11:20:40.057+01:00",
"returnReasonType": "userMistake",
"returnReasonText": "string"
},
"cancellationPosition": true,
"deletedPosition": false,
"type": "[0] = Item",
"additionalFields": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"createDate": "2023-05-03T11:20:40.057+01:00",
"externalIdentifier": [
"string"
],
"user": {
"id": "string",
"caption": "string",
"firstName": "string",
"lastName": "string",
"taxNumber": "string"
},
"salesPerson": {
"id": "string",
"caption": "string",
"firstName": "string",
"lastName": "string",
"taxNumber": "string"
},
"FiscalAdditionalFields": {}
}
],Objekt DocumentPositionsBase obsahuje následující informace.
Informace ve sloupci „Type“:
- M … povinné / vyžadované
- M* ... povinné / vyžadované v určitých zemích nebo za určitých podmínek
- R ... doporučeno
- O... volitelné
| Prvky | Typ | Popis | |
| číslo pozice | M |
Poradové číslo pozice.
Pozor:
Číslo první pozice je vždy „0“!
|
|
| positionReference | O | Odkaz na jinou pozici v dokumentu. Ekvivalentní parametru documentReference. | |
| {...} | O | ||
| cancellationPosition | M | „true“, pokud tato pozice ruší pozici jiného dokumentu; jinak „false“. | |
| DeletedPosition | O | „true“, pokud byla tato pozice odstraněna; jinak „false“. | |
| typ | M |
určuje typ pozice „type“ (DocumentPositionType). Výčtový typ:
Vysvětlení jednotlivých typů (DocumentPositionType) naleznete za touto tabulkou. |
|
| AdditionalFields | O | ||
| {...} | |||
| createDate | M | Čas, kdy byla pozice vytvořena. | |
| externalIdentifier | O | Externí ID (z předchozího systému), pro interní účely, není relevantní pro fiskalizaci. | |
| user | O | Údaje o uživateli (pokladny), který zadal danou položku. | |
| {...} | |||
| SalesPerson | O | Údaje o prodejním personálu na dané pozici. | |
| {...} | |||
| FiscalAdditionalFields | O | ||
DocumentPositionType
[0] = Položka
Typ „položka“ (DocumentPositionItem) představuje konkrétní prodejní položku (zboží nebo službu).
Příklad DocumentPositionItem:
positions": [
{
"itemCaption": "Prime rib steak house style",
"itemShortCaption": "PrimeRibSpec",
"itemSerialNumber": "string",
"discounts": [
{
"discountValue": 1.6900,
"caption": "Regular customer discount",
"discountOrder": 0,
"type": 1,
"typeValue": 10.00,
"promotionKeys": [],
"identifier": null
}
],
"type": 0,
"useSubItemVatCalculation": false,
"subItems": [],
"inHouse": true,
"itemGroupId": "1000",
"itemGroupCaption": "mains",
"costPrice": null,
"itemDateOfEntry": null,
"quantity": 1.0,
"quantityUnit": {
"id": null,
"isoCode": "Quantity"
},
"itemId": "1028",
"itemType": "[0] = Article",
"baseNetValue": 14.08,
"baseGrossValue": 16.90,
"baseTaxValue": 2.82,
"baseTaxValue2": 0,
"gtin": "8718274490558",
"businessTransactionType": 0,
"itemTypeClassification": "[1] = AlcoholicBeverage",
"vatIdentification": 1,
"vatPercent": 20.00,
"vatPercent2": 5,
"additionalTax": {
"additionalTaxType": "alcohol",
"additionalTaxTypeIdentification": "string",
"taxPercent": 0,
"taxValue": 0
},
"netValue": 12.68,
"grossValue": 15.21,
"taxValue": 2.53,
"taxValue2": 0,
"accountingIdentifier": null,
"itemTaxType": null,
"positionNumber": 0,
"positionReference": null,
"cancellationPosition": false,
"deletedPosition": false,
"additionalFields": {},
"createDate": null,
"externalIdentifier": [
"string"
],
"user": {
"id": "string",
"caption": "string",
"firstName": "string",
"lastName": "string",
"taxNumber": "string"
},
"salesPerson": {
"id": "string",
"caption": "string",
"firstName": "string",
"lastName": "string",
"taxNumber": "string"
},
"FiscalAdditionalFields": {}
}
],Objekt DocumentPositionItem obsahuje následující informace.
Informace ve sloupci „Typ“:
- M ... povinné / vyžadované
- M* ... povinné / vyžadované v určitých zemích nebo za určitých podmínek
- R ... doporučeno
- O... volitelné
| Prvky | Typ | Popis | |
| popisek položky | M |
Označení položky, popis služby Údaje o zemi:
|
|
| ItemShortCaption | O | Zkrácený název položky, používaný např. v případě omezení délky znaků, jako je tomu u fiskálních tiskáren. | |
| itemSerialNumber | M* |
Sériové číslo položky. Údaje o zemi:
|
|
| slevy | Údaje o slevách, cenových sníženích atd. | ||
| hodnotaSlevy | M |
Částka slevy / výše rabatu
Upozornění:
pokud je DiscountType [1] = discount, musí být částka slevy zadána s 4 desetinnými místy!
|
|
| caption | R |
Označení slevy Údaje o zemi:
|
|
| DiscountOrder | M* |
Označuje pořadí, v jakém se sleva počítá. První zohledněná sleva má hodnotu 0. Musí být zadáno, pokud se na položku vztahuje více slev. |
|
| type | M |
Typ slevy Výčet:
|
|
| typeValue | M |
Hodnota rabatu (součet snížení) při [0] = Sleva: hodnota slevy (=> hodnotaSlevy = typHodnoty) při [1] = Sleva: procentní sazba (např. 10% sleva) |
|
| PromotionKeys | O | Propagační klíče – pokud se používají (např. kód poukazu) | |
| identifikátor | O | Další identifikátor slevy (lze použít např. pro seskupení slev do typů slev). | |
| typ | M | Typ pozice (DocumentPositionType) | |
| UseSubItemVatCalculation | O | „true“, pokud má být převzato výpočtu DPH podpoložek (SubItems) a DPH nadřazené položky má být ignorována; jinak „false“. Výchozí hodnota (pokud není zadána): „true“. Při hodnotě „true“ musí mít každá podpoložka vatIdentification a součet hrubých, čistých a daňových hodnot podpoložek se musí rovnat hodnotám baseGrossValue, baseNetValue a baseTaxValue nadřazené položky; v opačném případě bude dokument odmítnut. | |
| SubItems | O | Podrobnosti o SubItems. Viz: DocumentPositionType [1] = SubItem | |
| [...] | |||
| inHouse | O | Označuje interní prodej nebo externí prodej (true / false). | |
| ItemGroupId | M* |
Indikátor skupiny článků Údaje o zemi:
|
|
| ItemGroupCaption | O | Označení skupiny položek | |
| costPrice | O/M* |
Jednotková cena položky Údaje o zemi:
|
|
| datum_zadání_položky | M* |
Čas vytvoření položky. Údaje o zemi:
|
|
| množství | M | Údaje o množství pro danou položku | |
| QuantityUnit | M* |
Specifikace měrné jednotky Údaje o zemi:
|
|
| id | M* |
Údaj o jednotce míry. Údaje o zemi:
|
|
| isoCode | M* |
Standardní měrná jednotka, zasílaná jako název hodnoty QuantityUnitIsoCode (např. „Quantity“ pro kusy, „Kilogram“), nikoli jako samotný kód ISO/UCUM. Modul převádí název na kód ISO/UCUM (např. „Quantity“ = „1“). Číslo se interpretuje jako číselná hodnota výčtu, takže „1“ znamená „Percent“. Další informace najdete v článku, na který odkazuje tento odkaz. | |
| itemId | M |
ID položky Údaje o zemi:
|
|
| itemType | M* |
Popisuje typ položky: zboží nebo služby.
Údaje o zemi:
|
|
| baseNetValue | M* |
Celková čistá částka (bez Vat) před slevou nebo příplatkem
Upozornění:
(Čistá) částka řádku/položky, NE článku. Pokud je množství = 2, pak je hodnota baseNetValue také cenou položky x 2!
|
|
| baseGrossValue | M* |
Hrubá celková částka (vč. Vat) před slevou nebo příplatkem
Pozor:
(Hrubá) částka řádku/položky, NE položky. Pokud je množství = 2, pak je baseGrossValue také cenou položky x 2!
|
|
| baseTaxValue | M* |
Celková částka Vat (nebo součet první sazby Vat) před slevou nebo příplatkem
Pozor:
(Vat) součet řádku/položky, NE položky. Pokud je množství = 2, pak je baseTaxValue také cenou položky x 2!
Údaje o zemi:
|
|
| BaseTaxValue2 | M* |
Součet druhé daňové sazby položky před slevou / příplatkem. Údaje o zemi:
|
|
| gtin | O/R |
Globální číslo obchodní položky (GTIN) Údaje o zemi:
|
|
| businessTransactionType | M |
Typ obchodní transakce. Výčtový typ:
|
|
| klasifikace typu položky | O/M* |
ItemTypeClassification lze použít k další klasifikaci položky. ItemTypeClassification lze nastavit pouze v případě, že vlastnost „ItemType“ byla nastavena na „[0] – Článek“ nebo „ItemType“: 0. Podrobné informace o vlastnosti „ItemTypeClassification“ naleznete v článku, na který odkazuje tento odkaz. K dispozici jsou následující klasifikace.
Údaje o zemi:
|
|
| vatIdentification | M |
ID sazby Vat. Lze zjistit pomocí GET /api/v1/information/client/ {clientId}/getVatIdentification, přičemž je třeba zadat sazbu DPH příslušné země. sazba příslušné země. |
|
| vatPercent | M |
Sazba Vat v procentech nebo první daňová sazba platná pro daný článek v příslušné zemi. Údaje o zemi:
|
|
| VatPercent2 | M* |
druhá daňová sazba platná pro daný výrobek, vyjádřená v procentech v dané zemi. Údaje o zemi:
|
|
| netValue | M |
Čistá celková částka položky (po odečtení slev / připočtení příplatků) – bez Vat. Musí být vždy uvedeno. |
|
| grossValue | M |
Hrubá celková částka položky (bez případných slev / včetně případných příplatků) – včetně Vat. Musí být vždy uvedeno. |
|
| taxValue | M |
Celková částka Vat (nebo součet první sazby Vat) položky (bez případných slev / včetně případných příplatků) Musí být vždy uvedeno. Údaje o zemi:
|
|
| TaxValue2 | M* |
Součet druhé sazby daně položky po slevě / příplatku. Údaje o zemi:
|
|
| AccountingIdentifier | O | Doplňkový identifikátor pro účetní účely (účetní rozhraní) | |
| ItemTaxType | M* |
Daňový typ položky:
Údaje o zemi:
|
|
| číslo položky | M | Číslo pozice, začínající číslicí 0 | |
| positionReference | O | Specifikace čísla pozice, na kterou se má odkazovat | |
| poziceZrušení | O/M* | „true“, pokud tato pozice ruší pozici v jiném dokumentu; jinak „false“ | |
| createDate | O | Čas zaznamenání pozice | |
[1] = SubItem
„Podpoložky“ (DocumentPositionSubItem) umožňují vysvětlit složení prodávaných produktů nebo popisy skupin produktů na úrovni položky.
Příklad: Menu = Cola a hamburger.
SubItems nemusí být použity. Pokud má nadřazená položka „UseSubItemVatCalculation“: true (výchozí nastavení), použije se Vat podpoložek namísto Vatu nadřazené položky a jejich hodnoty se musí sčítat do základních hodnot nadřazené položky. Při nastavení „UseSubItemVatCalculation“: false platí Vat nadřazené položky a podpoložky pouze vysvětlují složení položky.
[2] = Text
Slouží k převodu pozice textu nebo Barcode v dokumentu.
Příklad DocumentPositionText:
positions": [
{
"type": 2,
"text": "Example text",
"barcodeType": code128,
"barcode": "Example text",
"positionNumber": 0,
"positionReference": null,
"cancellationPosition": false,
"deletedPosition": false,
"additionalFields": {},
"createDate": null,
"externalIdentifier": [
"string"
],
"user": {
"id": "string",
"caption": "string",
"firstName": "string",
"lastName": "string",
"taxNumber": "string"
},
"salesPerson": {
"id": "string",
"caption": "string",
"firstName": "string",
"lastName": "string",
"taxNumber": "string"
},
"FiscalAdditionalFields": {}
}
],Objekt DocumentPositionText obsahuje následující informace.
Informace ve sloupci „Type“:
- M ... povinné / vyžadované
- M* ... povinné / vyžadované v určitých zemích nebo za určitých podmínek
- R ... doporučeno
- O... volitelné
| Prvky | Typ | Popis | |
| typ | M | Typ pozic (DocumentPositionType) | |
| text | O |
Pole pro volný text Údaje o zemi:
|
|
| barcodeType | O |
Označení typu Barcode Výčet:
|
|
| čárový kód | O | Údaje o Barcode | |
| číslo pozice | M | Číslo pozice, počínaje 0 | |
[3] = Rezervace
Pozice rezervace (DocumentPositionBooking) se používají pro vklady, výběry i prodej víceúčelových poukázek (payIn, payOut, multiPurposeVoucher,...).
Příklad DocumentPositionBooking:
positions": [
{
"type": 3,
"caption": "Deposit",
"identifier": null,
"businessTransactionType": 11,
"payOutType": null,
"vatIdentification": 4,
"vatPercent": 0.00,
"netValue": 20.00,
"grossValue": 20.00,
"taxValue": 0.00,
"accountingIdentifier": null,
"itemTaxType": null,
"positionNumber": 0,
"positionReference": null,
"cancellationPosition": false,
"deletedPosition": false,
"additionalFields": {},
"createDate": null,
"externalIdentifier": [
"string"
],
"user": {
"id": "string",
"caption": "string",
"firstName": "string",
"lastName": "string",
"taxNumber": "string"
},
"salesPerson": {
"id": "string",
"caption": "string",
"firstName": "string",
"lastName": "string",
"taxNumber": "string"
},
"FiscalAdditionalFields": {}
}
],Objekt DocumentPositionBooking obsahuje následující informace.
Informace ve sloupci „Type“:
- M ... povinné / vyžadované
- M* ... povinné / vyžadované v určitých zemích nebo za určitých podmínek
- R ... doporučeno
- O... volitelné
| Prvky | Typ | Popis | |
| typ | M | Typ pozic (DocumentPositionType) | |
| popisek | M | Popis rezervační pozice | |
| identifikátor | O | Indikátor doplňkového ID účetního zápisu | |
| businessTransactionType | M |
Typ obchodní transakce. Výčet:
|
|
| payOutType | M* |
Označuje typ výplaty. V některých zemích je tento údaj povinný. Možné hodnoty:
Údaje o zemi:
Poznámka:
Novinka od verze DOM v1.2.0 / Client v1.7.6
|
|
| vatIdentification | M |
ID sazby Vat. Lze zjistit pomocí GET /api/v1/information/client/ {clientId}/getVatIdentification, přičemž je třeba zadat sazbu DPH příslušné země. |
|
| vatPercent | M | Sazba Vat v procentech | |
| netValue | M |
Čistá celková částka položky (po odečtení případných slev) – bez Vat. Musí být vždy uvedena. |
|
| Hrubá hodnota | M |
Hrubá celková částka položky (bez případných slev) – včetně Vat. Musí být vždy uvedeno. |
|
| taxValue | M |
Celková částka položky včetně Vat (bez případných slev) Musí být vždy uvedeno. |
|
| AccountingIdentifier | O | Doplňkový identifikátor pro účetní účely (účetní rozhraní) | |
| ItemTaxType | M* |
Daňový typ položky:
Údaje o zemi:
|
|
| číslo položky | M | Číslo pozice, začínající číslicí 0 | |
| positionReference | O | Specifikace čísla položky, na kterou se má odkazovat | |
| poziceZrušení | O | „true“, pokud tato pozice ruší pozici v jiném dokumentu; jinak „false“. | |
| DeletedPosition | O | „true“, pokud byla tato pozice smazána; jinak „false“. | |
| createDate | O | Čas zaznamenání pozice | |
[9] = SubTotal
Položka „SubTotal“
[10] = Total
Celková pozice. Pokud se používá DocumentPositionTotal, musí to být vždy poslední pozice v dokumentu (nejvyšší číslo pozice).
Příklad DocumentPositionTotal:
positions": [
{
"type": 10,
"rounding": null,
"baseValue": 200.00,
"value": "200.00",
"discounts": [
{
"discountValue": 1.6900,
"caption": "Regulars discount",
"discountOrder": 0,
"type": 1,
"typeValue": 10.00,
"promotionKeys": [],
"identifier": null
}
],
"caption": "Total",
"positionNumber": 0,
"positionReference": null,
"cancellationPosition": false,
"deletedPosition": false,
"additionalFields": {},
"createDate": null,
"externalIdentifier": [
"string"
],
"user": {
"id": "string",
"caption": "string",
"firstName": "string",
"lastName": "string",
"taxNumber": "string"
},
"salesPerson": {
"id": "string",
"caption": "string",
"firstName": "string",
"lastName": "string",
"taxNumber": "string"
},
"FiscalAdditionalFields": {}
}
],Objekt DocumentPositionTotal obsahuje následující informace.
Informace ve sloupci „Type“:
- M ... povinné / vyžadované
- M* ... povinné / vyžadované v určitých zemích nebo za určitých podmínek
- R ... doporučeno
- O... volitelné
| Prvky | Typ | Popis | |
| typ | M | Typ pozic (DocumentPositionType) | |
| zaokrouhlování | O |
použito zaokrouhlování. Pokud se součet pozic (hrubá hodnota) nerovná částce platby. Zaokrouhlení se přičte k součtu hrubých hodnot položek a účetních pozic a součet plateb se musí přesně rovnat výsledku. Jedná se o částku se znaménkem, nikoli o toleranci: např. -0,02 znamená, že platby jsou o 0,02 nižší než hrubý součet pozic, 0,01 znamená, že jsou přesně o 0,01 vyšší. Poznámka: Používejte prosím opatrně. Pokud se platby a položky neliší přesně o tuto hodnotu, dokument bude zamítnut. |
|
| baseValue | M* | Základní částka pozice před uplatněním slev (pouze v případě, že jsou slevy uplatněny) | |
| hodnota | M | Hodnota pozice včetně slev. | |
| slevy | Podrobnosti o slevách, cenových sníženích atd. | ||
| hodnotaSlevy | M |
Částka slevy / výše rabatu
Upozornění:
pokud je DiscountType [1] = discount, musí být částka slevy zadána s 4 desetinnými místy!
|
|
| caption | O | Označení slevy | |
| DiscountOrder | M* |
Udává pořadí, v jakém se sleva počítá. První zohledněná sleva má hodnotu 0. Musí být zadáno, pokud se na položku vztahuje více slev. |
|
| typ | M |
Typ slevy Výčet:
|
|
| typeValue | M |
Hodnota slevy (součet snížení) u [0] = Sleva: hodnota slevy při [1] = Sleva: procentuální sazba (např. 10% sleva) |
|
| PromotionKeys | O | Propagační klíče – pokud se používají (např. kód poukazu) | |
| identifikátor | O | Další identifikátor slevy (lze použít např. pro seskupení slev do typů slev). | |
| popisek | O | Označení pozice | |
| číslo pozice | M | Číslo pozice, počínaje 0 | |
| odkazNaPozici | O | Specifikace čísla pozice, na kterou se má odkazovat | |
| poziceZrušení | O | „true“, pokud tato pozice ruší pozici v jiném dokumentu; v opačném případě „false“. | |
| DeletedPosition | O | „true“, pokud byla tato pozice smazána; jinak „false“. | |
| createDate | O | Čas zaznamenání polohy | |
Tento článek byl přeložen automaticky.
Komentáře
0 komentářů
Prosím přihlaste se, abyste mohli napsat komentář.