Niniejszy artykuł dotyczy obiektu „positions” w ramach obiektu „Document” (obiekt Document).
Pełny opis modelu obiektowego dokumentu (RetailForce DOM) RetailForce, a także opis poszczególnych elementów, można znaleźć w sekcji plików do pobrania na stronie internetowej RetailForce (Object model documentation.pdf) w odpowiednim katalogu wersji.
Obiekt „positions” zawiera informacje dotyczące poszczególnych pozycji w dokumencie.
Obiekt pozycji składa się z:
- DocumentPositionBase – zawiera podstawowe informacje o pozycji (niezależnie od typu danej pozycji)
- Informacje specyficzne dla typu pozycji – w zależności od typu pozycji „type” (DocumentPositionType) należy określić różne treści (typ pozycji definiuje zawartość pozycji).
DocumentPositionsBase
Poniższy obiekt zawiera przykładowe dane.
"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": {}
}
],Obiekt DocumentPositionsBase zawiera następujące informacje.
Informacje w kolumnie „Type”:
- M … obowiązkowe / wymagane
- M* ... obowiązkowe / wymagane w niektórych krajach lub pod pewnymi warunkami
- R … zalecane
- O... opcjonalne
| Elementy | Typ | Opis | |
| PositionNumber | M |
Numer porządkowy pozycji.
Uwaga:
Numer pierwszej pozycji to zawsze „0”!
|
|
| positionReference | O | Odwołanie do innej pozycji w dokumencie. Odpowiada parametrowi documentReference. | |
| {...} | O | ||
| cancellationPosition | M | „true”, jeśli dana pozycja unieważnia pozycję z innego dokumentu; w przeciwnym razie „false”. | |
| DeletedPosition | O | „true”, jeśli ta pozycja została usunięta; w przeciwnym razie „false”. | |
| typ | M |
określa typ pozycji „type” (DocumentPositionType). Enum:
Objaśnienia poszczególnych typów (DocumentPositionTypes) znajdują się poniżej tej tabeli. |
|
| AdditionalFields | O | ||
| {...} | |||
| CreateDate | M | Czas utworzenia pozycji. | |
| ExternalIdentifier | O | ID zewnętrzny (z poprzedniego systemu), przeznaczony do użytku wewnętrznego, nieistotny dla celów rozliczeń podatkowych. | |
| user | O | Dane użytkownika (kasy fiskalnej), który wprowadził daną pozycję. | |
| {...} | |||
| SalesPerson | O | Szczegółowe informacje dotyczące pracownika sprzedaży na danym stanowisku. | |
| {...} | |||
| FiscalAdditionalFields | O | ||
DocumentPositionType
[0] = Pozycja
Typ „pozycja” (DocumentPositionItem) oznacza konkretną pozycję sprzedaży (towar lub usługa).
Przykładowy obiekt 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": "1"
}
"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": {}
}
],Obiekt DocumentPositionItem zawiera następujące informacje.
Informacje w kolumnie „Typ”:
- M … obowiązkowe / wymagane
- M* ... obowiązkowe / wymagane w niektórych krajach lub pod pewnymi warunkami
- R … zalecane
- O... opcjonalne
| Elementy | Typ | Opis | |
| ItemCaption | M | Oznaczenie pozycji, opis usługi | |
| ItemShortCaption | O | Skrótowa nazwa pozycji, stosowana np. w przypadku ograniczeń dotyczących długości ciągu znaków, takich jak w przypadku drukarek fiskalnych. | |
| ItemSerialNumber | M* |
Numer seryjny pozycji. Szczegóły dotyczące kraju:
|
|
| rabaty | Szczegóły dotyczące rabatów, obniżek cen itp. | ||
| DiscountValue | M |
Kwota rabatu / wysokość zniżki
Uwaga:
jeśli DiscountType [1] = discount, kwotę rabatu należy podać z dokładnością do 4 miejsc po przecinku!
|
|
| caption | R |
Nazwa rabatu Szczegóły dotyczące kraju:
|
|
| DiscountOrder | M* |
Wskazuje kolejność, w jakiej obliczana jest zniżka. Pierwsza uwzględniona zniżka ma wartość 0. Należy podać tę wartość, jeśli do danego produktu stosowanych jest wiele rabatów. |
|
| typ | M |
Rodzaj rabatu Enum:
|
|
| TypeValue | M |
Wartość rabatu (suma obniżki) w przypadku [0] = Ulga: DiscountValue (=> DiscountValue = TypeValue) w przypadku [1] = Rabat: wartość procentowa (np. 10% rabatu) |
|
| PromotionKeys | O | Klucze promocyjne – jeśli są stosowane (np. kod kuponu) | |
| identyfikator | O | Dodatkowy identyfikator rabatu (może służyć np. do grupowania rabatów według typów). | |
| typ | M | Typ pozycji (DocumentPositionType) | |
| UseSubItemVatCalculation | O | „true”, jeśli obliczenie podatku Vat dla pozycji podrzędnych (SubItems) ma zostać przejęte, a podatek Vat pozycji nadrzędnej ma zostać pominięty; w przeciwnym razie „false”. | |
| SubItems | O | Szczegóły dotyczące SubItems. Zob. DocumentPositionType [1] = SubItem | |
| [...] | |||
| inhouse | O | Wskazuje, czy sprzedaż odbywa się wewnątrz firmy, czy poza nią (true / fałsz). | |
| ItemGroupId | M* |
Wskaźnik grupy artykułów Szczegóły dotyczące kraju:
|
|
| ItemGroupCaption | O | Oznaczenie grupy artykułów | |
| CostPrice | O/M* |
Cena jednostkowa artykułu Szczegóły dotyczące kraju:
|
|
| itemDateOfEntry | M* |
Czas utworzenia artykułu. Szczegóły dotyczące kraju:
|
|
| ilość | M | Informacje dotyczące ilości dla danego artykułu | |
| QuantityUnit | M* |
Określenie jednostki miary Szczegóły dotyczące kraju:
|
|
| ID | M* |
Oznaczenie jednostki miary. Szczegóły dotyczące kraju:
|
|
| isoCode | M* |
Standardowa jednostka miary zgodnie z kodem ISO/UCUM. Więcej informacji można znaleźć w artykule, do którego prowadzi link. | |
| ItemId | M | ID artykułu | |
| ItemType | M* |
Określa rodzaj pozycji: towary lub usługi.
Szczegóły dotyczące kraju:
|
|
| BaseNetValue | M* |
Suma netto (bez Vat) przed uwzględnieniem rabatu lub dopłaty
Uwaga:
Suma (netto) pozycji, a NIE artykułu. Jeśli ilość wynosi 2, wówczas wartość BaseNetValue również wynosi cenę jednostkową pomnożoną przez 2!
|
|
| BaseGrossValue | M* |
Suma brutto (z Vat) przed uwzględnieniem rabatu lub dopłaty
Uwaga:
(Brutto) suma wiersza/pozycji, a NIE artykułu. Jeśli ilość wynosi 2, wówczas wartość BaseGrossValue również wynosi cenę jednostkową pomnożoną przez 2!
|
|
| BaseTaxValue | M* |
Suma podatku Vat (lub suma pierwszej stawki podatkowej) przed uwzględnieniem rabatu lub dopłaty
Uwaga:
(Vat) suma pozycji, a NIE artykułu. Jeśli ilość wynosi 2, wówczas BaseTaxValue również wynosi cenę jednostkową pomnożoną przez 2!
Szczegóły dotyczące kraju:
|
|
| BaseTaxValue2 | M* |
Suma drugiej stawki podatkowej pozycji przed uwzględnieniem rabatu/dopłaty. Szczegóły dotyczące kraju:
|
|
| GTIN | O |
Globalny numer artykułu handlowego (GTIN) Szczegóły dotyczące kraju:
|
|
| BusinessTransactionType | M |
Rodzaj transakcji biznesowej. Enum:
|
|
| ItemTypeClassification |
ItemTypeClassification można wykorzystać do zastosowania dalszej klasyfikacji danej pozycji. Właściwość „ItemTypeClassification” można ustawić wyłącznie wtedy, gdy właściwość „ItemType” została ustawiona na „[0] – Artykuł” lub „ItemType”: 0. Szczegółowe informacje na temat właściwości „ItemTypeClassification” można znaleźć w artykule, do którego prowadzi link. Dostępne są następujące klasyfikacje.
Szczegóły dotyczące kraju:
|
||
| VatIdentification | M |
ID stawki Vat. Można uzyskać za pomocą żądania GET /api/v1/information/client/ {clientId}/getVatIdentification, podając stawkę Vat danego kraju. stawkę danego kraju. |
|
| VatPercent | M |
Stawka Vat w procentach lub pierwsza stawka podatkowa mająca zastosowanie do danego artykułu w danym kraju. Szczegóły dotyczące krajów:
|
|
| VatPercent2 | M* |
druga stawka podatku mająca zastosowanie do danego artykułu, wyrażona w procentach w danym kraju. Szczegóły dotyczące kraju:
|
|
| NetValue | M |
Wartość netto pozycji (pomniejszona o ewentualne rabaty / powiększona o dopłaty) – bez Vat. Należy zawsze podać tę wartość. |
|
| GrossValue | M |
Suma brutto pozycji (pomniejszona o ewentualne rabaty / powiększona o ewentualne dopłaty) – z Vat. Należy zawsze podawać. |
|
| TaxValue | M |
Suma Vat (lub suma według pierwszej stawki podatkowej) pozycji (pomniejszona o ewentualne rabaty / powiększona o ewentualne dopłaty) Należy zawsze podać. Informacje o kraju:
|
|
| TaxValue2 | M* |
Suma drugiej stawki podatkowej pozycji po uwzględnieniu rabatu / dopłaty. Szczegóły dotyczące kraju:
|
|
| AccountingIdentifier | O | Dodatkowy identyfikator do celów księgowych (interfejs księgowy) | |
| ItemTaxType | M* |
Rodzaj podatku dla pozycji:
Szczegóły dotyczące kraju:
|
|
| PositionNumber | M | Numer pozycji, zaczynający się od 0 | |
| positionReference | O | Określenie numeru pozycji, do której należy się odnieść | |
| cancellationPosition | O | „true”, jeśli dana pozycja unieważnia pozycję z innego dokumentu; w przeciwnym razie „false” | |
| CreateDate | O | Czas zarejestrowania pozycji | |
[1] = SubItem
„Podpozycje” (DocumentPositionSubItem) umożliwiają wyjaśnienie składu sprzedawanych produktów lub opisów grup produktów na poziomie poszczególnych pozycji.
Przykład: Menu = Coca-Cola i hamburger.
SubItems mają charakter wyjaśniający i nie ma obowiązku ich stosowania. Nie mają one również żadnego wpływu na cenę oraz sprzedaż i podatek od wartości dodanej.
[2] = Tekst
Służy do określenia położenia tekstu lub Barcode w dokumencie.
Przykład 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": {}
}
],Obiekt DocumentPositionText zawiera następujące informacje.
Informacje w kolumnie „Type”:
- M ... obowiązkowe / wymagane
- M* … obowiązkowe / wymagane w niektórych krajach lub pod pewnymi warunkami
- R ... zalecane
- O... opcjonalne
| Elementy | Typ | Opis | |
| typ | M | Typ pozycji (DocumentPositionType) | |
| tekst | O |
Pole tekstowe Szczegóły dotyczące kraju:
|
|
| barcodeType | O |
Oznaczenie typu Barcode Enum:
|
|
| kod kreskowy | O | Dane Barcode | |
| PositionNumber | M | Numer pozycji, zaczynający się od 0 | |
[3] = Rezerwacja
Pozycje rezerwacji (DocumentPositionBooking) są wykorzystywane w przypadku wpłat, wypłat oraz sprzedaży bonów wielofunkcyjnych (PayIn, payOut, MultiPurposeVoucher, ...).
Przykład obiektu DocumentPositionBooking:
positions": [
{
"type": 3,
"caption": "Depositg",
"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": {}
}
],Obiekt DocumentPositionBooking zawiera następujące informacje.
Informacje w kolumnie „Typ”:
- M ... obowiązkowe / wymagane
- M* ... obowiązkowe / wymagane w niektórych krajach lub pod pewnymi warunkami
- R ... zalecane
- O... opcjonalne
| Elementy | Typ | Opis | |
| typ | M | Typ pozycji (DocumentPositionType) | |
| caption | M | Opis pozycji księgowej | |
| identyfikator | O | Dodatkowy wskaźnik ID księgowania | |
| BusinessTransactionType | M |
Enum:
|
|
| PayOutType | M* |
Wskazuje rodzaj wypłaty. Wymagane w niektórych krajach. Możliwe wartości:
Szczegóły dotyczące kraju:
Uwaga:
Nowość od wersji DOM v1.2.0 / Client v1.7.6
|
|
| VatIdentification | M |
ID stawki Vat. Można uzyskać za pomocą żądania GET /api/v1/information/client/ {clientId}/getVatIdentification, podając stawkę Vat odpowiedniego kraju. |
|
| VatPercent | M | Stawka Vat w procentach | |
| NetValue | M |
Suma netto pozycji (po odliczeniu ewentualnych rabatów) – bez Vat. Należy zawsze podać tę wartość. |
|
| GrossValue | M |
Suma brutto pozycji (pomniejszona o ewentualne rabaty) – z Vat. Należy zawsze podać. |
|
| TaxValue | M |
Suma pozycji z uwzględnieniem podatku Vat (pomniejszona o ewentualne rabaty) Należy zawsze podać. |
|
| AccountingIdentifier | O | Dodatkowy identyfikator do celów księgowych (interfejs księgowy) | |
| ItemTaxType | M* |
Rodzaj podatku dla pozycji:
Szczegóły dotyczące kraju:
|
|
| PositionNumber | M | Numer pozycji, zaczynający się od 0 | |
| positionReference | O | Określenie numeru pozycji, do której należy się odnieść | |
| cancellationPosition | O | „true”, jeśli dana pozycja unieważnia pozycję z innego dokumentu; w przeciwnym razie „false”. | |
| DeletedPosition | O | „true”, jeśli ta pozycja została usunięta; w przeciwnym razie „false”. | |
| CreateDate | O | Czas zarejestrowania pozycji | |
[9] = Suma częściowa
Pozycja „SubTotal”
[10] = Suma
Pozycja „Suma całkowita”. W przypadku stosowania pozycji „DocumentPositionTotal” musi ona zawsze stanowić ostatnią pozycję w dokumencie (najwyższy numer pozycji).
Przykład 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": {}
}
],Obiekt DocumentPositionTotal zawiera następujące informacje.
Informacje w kolumnie „Type”:
- M … obowiązkowe / wymagane
- M* ... obowiązkowe / wymagane w niektórych krajach lub pod pewnymi warunkami
- R ... zalecane
- O... opcjonalne
| Elementy | Typ | Opis | |
| typ | M | Typ pozycji (DocumentPositionType) | |
| zaokrąglenie | O |
Zastosowano zaokrąglenie. Jeśli suma pozycji (wartość brutto) nie jest równa sumie płatności. Np. wartość 0,01 pozwoliłaby na różnice w zaokrągleniu wynoszące +/-0,01 Uwaga: Prosimy o ostrożność podczas stosowania tej opcji. Wysokie wartości spowodują wyłączenie walidacji kwoty płatności / wartości brutto dokumentu |
|
| BaseValue | M* | Kwota bazowa pozycji przed zastosowaniem rabatów (tylko w przypadku stosowania rabatów) | |
| value | M | Wartość pozycji z uwzględnieniem rabatów. | |
| rabaty | Szczegóły dotyczące rabatów, obniżek cen itp. | ||
| DiscountValue | M |
Suma rabatu / kwota zniżki
Uwaga:
jeśli DiscountType [1] = discount, kwotę rabatu należy podać z dokładnością do 4 miejsc po przecinku!
|
|
| caption | O | Nazwa rabatu | |
| DiscountOrder | M* |
Wskazuje kolejność, w jakiej obliczana jest zniżka. Pierwsza uwzględniona zniżka ma wartość 0. Należy podać tę wartość, jeśli do pozycji stosowanych jest wiele rabatów. |
|
| typ | M |
Rodzaj rabatu Enum:
|
|
| TypeValue | M |
Wartość rabatu (suma obniżki) w przypadku [0] = ulga: DiscountValue w przypadku [1] = Rabat: wartość procentowa (np. 10% rabatu) |
|
| PromotionKeys | O | Klucze promocyjne – jeśli są stosowane (np. kod kuponu) | |
| identyfikator | O | Dodatkowy identyfikator rabatu (może być wykorzystywany np. do grupowania rabatów według typów). | |
| caption | O | Oznaczenie pozycji | |
| PositionNumber | M | Numer stanowiska, zaczynający się od 0 | |
| positionReference | O | Określenie numeru pozycji, do której należy się odnieść | |
| cancellationPosition | O | „true”, jeśli dana pozycja unieważnia pozycję z innego dokumentu; w przeciwnym razie „false”. | |
| DeletedPosition | O | „true”, jeśli ta pozycja została usunięta; w przeciwnym razie „false”. | |
| CreateDate | O | Czas zarejestrowania pozycji | |
Ten artykuł został przetłumaczony automatycznie.
Komentarze
Komentarze: 0
Zaloguj się, aby dodać komentarz.