Ovaj članak se bavi objektom pozicija unutar objekta dokumenta (Document object).
Potpuni opis RetailForce DOM-a (modela objekata dokumenta), kao i opis pojedinačnih elemenata, možete pronaći u odjeljku za preuzimanje na web stranici RetailForce (Object model documentation.pdf) u odgovarajućem direktoriju verzija.
Objekt "positions" sadrži informacije o odgovarajućoj poziciji dokumenta.
Objekt pozicije se sastoji od:
- DocumentPositionBase - sadrži osnovne informacije o poziciji (nezavisno od tipa dotične pozicije)
- Informacije specifične za tip pozicije - ovisno o tipu pozicije "type" (DocumentPositionType), moraju se navesti različiti sadržaji (tip pozicije definira sadržaj pozicije).
DocumentPositionsBase
Sljedeći objekt sadrži primjere podataka.
"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 sadrži sljedeće informacije.
Informacije u koloni "Type":
- M ... obavezno / potrebno
- M* ... obavezno / potrebno u određenim zemljama ili pod određenim uslovima
- R ... preporučeno
- O... opcionalno
| Elementi | Tip | Opis | |
| brojpozicije | M |
Redni broj pozicije.
Pažnja:
Broj prve pozicije je uvijek "0"!
|
|
| Referenca položaja | O | Referenca na drugu poziciju unutar dokumenta. Ekvivalentno documentReference. | |
| {...} | O | ||
| pozicija otkazivanja | M | "true" ako ova pozicija poništava poziciju drugog dokumenta; u suprotnom "false". | |
| izbrisanaPozicija | O | "true" ako je ova pozicija izbrisana; u suprotnom "false". | |
| tip | M |
određuje tip pozicije "type" (DocumentPositionType). Enum:
Objašnjenja pojedinačnih tipova (DocumentPositionTypes) mogu se pronaći nakon ove tabele. |
|
| dodatnaPolja | O | ||
| {...} | |||
| datumKretanja | M | Vrijeme kada je pozicija kreirana. | |
| externalIdentifier | O | Vanjski ID (iz prethodnog sistema), za interne svrhe, nije relevantan za fiskalizaciju. | |
| korisnik | O | Podaci o korisniku (blagajne) koji je unio odgovarajuću stavku. | |
| {...} | |||
| prodavač | O | Podaci o prodajnom osoblju za odgovarajuću poziciju. | |
| {...} | |||
| Dodatna fiskalna polja | O | ||
Tip pozicije dokumenta
[0] = stavka
Tip "item" (DocumentPositionItem) je specifična stavka prodaje (roba ili usluga).
Primjer 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 sadrži sljedeće informacije.
Informacije u koloni "Tip":
- M ... obavezno / potrebno
- M* ... obavezno / potrebno u određenim zemljama ili pod određenim uslovima
- R ... preporučeno
- O... opcionalno
| Elementi | Tip | Opis | |
| naziv stavke | M |
Naziv artikla, opis usluge Podaci o zemlji:
|
|
| Kratki opis stavke | O | Kratak naziv stavke, koji se koristi npr. kada postoje ograničenja dužine karaktera, kao što je slučaj kod fiskalnih štampača. | |
| serijskiBrojArtikla | M* |
Serijski broj stavke. Podaci o zemlji:
|
|
| popusti | Detalji o popustima, sniženjima cijena itd. | ||
| vrijednostpopusta | M |
Iznos popusta / iznos rabata
Napomena:
ako je discountType [1] = discount, iznos popusta se mora unijeti sa 4 decimalne znamenke!
|
|
| natpis | R |
Naziv popusta Podaci o zemlji:
|
|
| discountOrder | M* |
Označava redoslijed u kojem se popust obračunava. Prvi popust koji se uzima u obzir ima vrijednost 0. Mora biti navedeno ako se na stavku primjenjuje više popusta. |
|
| vrsta | M |
Vrsta popusta Enum:
|
|
| tipVrijednost | M |
Vrijednost povrata (zbir smanjenja) bei [0] = Naknada: vrijednost popusta (=> discountValue = typeValue) bei [1] = Popust: procenat (npr. 10% popusta) |
|
| ključevi promocije | OVrijednost povrata (zbir umanjenja)bei [0] = Naknada: popust | Ključevi promocije - ako se koriste (npr. kod vaučera) | |
| identifikator | O | Dodatni identifikator za popust (može se koristiti npr. za grupisanje popusta u tipove popusta). | |
| vrsta | M | Tip pozicije (Tip dokumentne pozicije) | |
| useSubItemVatCalculation | O | "true" ako se treba preuzeti obračun PDV-a za podstavke (SubItems) i zanemariti PDV glavne stavke; u suprotnom "false". Zadano (ako nije poslano): "true". Sa "true", svaki podstavka mora imati identifikaciju za PDV, a zbir bruto, neto i poreznih vrijednosti podstavki mora biti jednak osnovnoj bruto vrijednosti (baseGrossValue), osnovnoj neto vrijednosti (baseNetValue) i osnovnoj poreznoj vrijednosti (baseTaxValue) glavne stavke; u suprotnom se dokument odbacuje. | |
| podstavke | O | Detalji podstavki. Vidi: Tip pozicije dokumenta [1] = Podstavka | |
| [...] | |||
| unutarnje | O | Označava prodaju unutar kuće ili prodaju izvan kuće (true / false). | |
| ID grupe stavki | M* |
Indikator grupe članaka Podaci o zemlji:
|
|
| nazivGrupeArtikla | O | Naznaka grupe artikala | |
| cijenaKupovne | O/M* |
Jedinična cijena artikla Podaci o zemlji:
|
|
| datumUlaskaArtikla | M* |
Vrijeme kreiranja artikla. Podaci o zemlji:
|
|
| količina | M | Informacije o količini za artikl | |
| količina po jedinici | M* |
Specifikacija mjerne jedinice Podaci o zemlji:
|
|
| id | M* |
Navod jedinice mjere. Podaci o zemlji:
|
|
| ISO kod | M* |
Standardna mjerna jedinica se šalje kao naziv vrijednosti QuantityUnitIsoCode (npr. "Quantity" za komade, "Kilogram"), a ne kao sam ISO/UCUM kod. Modul pretvara naziv u ISO/UCUM kod (npr. "Quantity" = "1"). Broj se čita kao numerička vrijednost enuma, tako da "1" znači "Postotak". Za više informacija pogledajte povezani članak. | |
| ID stavke | M |
ID članka Podaci o zemlji:
|
|
| vrsta artikla | M* |
Opisuje vrstu stavke: robu ili usluge.
Podaci o zemlji:
|
|
| baseNetValue | M* |
Neto ukupan iznos (bez PDV-a) prije popusta ili doplate
Pažnja:
(Neto) zbroj redka/pozicije, A NE artikla. Ako je količina = 2, onda je baseNetValue također cijena artikla x 2!
|
|
| baseGrossValue | M* |
Bruto ukupno (uključujući PDV) prije popusta ili nadoplate
Pažnja:
(Bruto) zbroj retka/pozicije, A NE artikla. Ako je količina = 2, onda je i baseGrossValue cijena artikla x 2!
|
|
| osnovna vrijednost za porez | M* |
Ukupni PDV (ili zbir prve poreske stope) prije popusta ili doplate
Pažnja:
(PDV) zbir redka/pozicije, A NE artikla. Ako je količina = 2, tada je baseTaxValue također cijena artikla x 2!
Podaci o zemlji:
|
|
| osnovnaPoreznaVrijednost2 | M* |
Zbir drugog poreznog stope za stavku prije popusta / nadoplate. Podaci o zemlji:
|
|
| gtin | O/R |
Globalni broj trgovačke stavke (GTIN) Podaci o zemlji:
|
|
| vrstaPoslovneTransakcije | M |
Vrsta poslovnog slučaja. Enum:
|
|
| klasifikacija vrste stavke | O/M* |
ItemTypeClassification se može koristiti za primjenu dodatne klasifikacije na stavku. ItemTypeClassification se može postaviti samo ako je svojstvo 'ItemType' postavljeno na "[0] - Article" ili "ItemType": 0. Detaljne informacije o svojstvu "ItemTypeClassification" mogu se pronaći u povezanom članku. Sljedeće klasifikacije su dostupne.
Podaci o zemlji:
|
|
| identifikacijaPDV-a | M |
ID stope PDV-a. Može se upititi putem GET /api/v1/information/client/ {clientId}/getVatIdentification, navodeći stopu PDV-a dotične zemlje. stopu dotične zemlje. |
|
| vatPercent | M |
Stopa PDV-a u procentima ili prva poreska stopa koja se primjenjuje na artikl u dotičnoj zemlji. Podaci o zemlji:
|
|
| vatPercent2 | M* |
druga poreska stopa koja se primjenjuje na proizvod, izražena u procentima u dotičnoj zemlji. Podaci o zemlji:
|
|
| neto vrijednost | M |
Neto ukupan iznos stavke (umanjen za popuste / uvećan za doplate) - bez PDV-a. Mora uvijek biti navedeno. |
|
| bruto vrijednost | N |
Bruto ukupan iznos pozicije (umanjen za sve popuste / uvećan za sve nadoplate) - uklj. PDV. Mora uvijek biti navedeno. |
|
| vrijednostPoreza | M |
Ukupni PDV (ili zbroj prvog poreznog stope) za poziciju (umanjeno za popuste / uvećano za nadoplate) Mora uvijek biti navedeno. Podaci o zemlji:
|
|
| taxValue2 | M* |
Zbir drugog poreznog stope artikla nakon popusta / nadoplate. Podaci o zemlji:
|
|
| identifikatorRačunovodstva | O | Dodatni identifikator za računovodstvene svrhe (računovodstveni interfejs) | |
| vrstaPoreza | M* |
Porezni tip pozicije:
Podaci o zemlji:
|
|
| brojpozicije | M | Broj pozicije, počevši od 0 | |
| pozicijskiReferentbrojpozicijeMBroj pozicije, počevši od 0 | O | Specifikacija broja pozicije na koju se treba pozvati | |
| pozicija otkazivanja | O/M* | "true" ako ova pozicija poništava poziciju drugog dokumenta; u suprotnom "false" | |
| datumKreiranja | O | Vrijeme evidentiranja pozicije | |
[1] = Podstavka
"Podstavke" (DocumentPositionSubItem) omogućavaju objašnjenje sastava prodanih proizvoda ili opisa grupe proizvoda na nivou stavke.
Primjer: Jelo = Coca-Cola i hamburger.
Podstavke se ne moraju koristiti. Ako rodni stavka ima "useSubItemVatCalculation": true (zadano), PDV podstavki se koristi umjesto PDV-a rodne stavke i njihove vrijednosti moraju biti zbir osnovnih vrijednosti rodne stavke. Sa "useSubItemVatCalculation": false, primjenjuje se PDV rodne stavke, a podstavke samo objašnjavaju sastav stavke.
[2] = Tekst
Koristi se za konverziju pozicije teksta ili barkoda unutar dokumenta.
Primjer 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 sadrži sljedeće informacije.
Informacije u koloni "Type":
- M ... obavezno / potrebno
- M* ... obavezno / potrebno u određenim zemljama ili pod određenim uslovima
- R ... preporučeno
- O... opcionalno
| Elementi | Tip | Opis | |
| tip | M | Pozicije-tip (Tip dokumentne pozicije) | |
| tekst | O |
Polje za slobodan tekst Podaci o zemlji:
|
|
| vrsta barkoda | O |
Indikacija tipa barkoda Enum:
|
|
| bar kod | O | Podaci o crtičnom kodu | |
| pozicijaBroj | M | Broj pozicije, počevši od 0 | |
[3] = Rezervacija
Pozicije rezervacija (DocumentPositionBooking) koriste se za depozite, isplate, kao i za prodaju višenamjenskih vaučera (payIn, payOut, multiPurposeVoucher,...).
Primjer 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 sadrži sljedeće informacije.
Informacije u koloni "Type":
- M ... obavezno / potrebno
- M* ... obavezno / potrebno u određenim zemljama ili pod određenim uslovima
- R ... preporučeno
- O... opcionalno
| Elementi | Tip | Opis | |
| tip | M | Pozicije-tip (Tip dokumentne pozicije) | |
| natpis | M | Opis pozicije rezervacije | |
| identifikator | O | Dodatni ID indikator rezervacije | |
| vrsta poslovne transakcije | M |
Tip poslovne transakcije. Enum:
|
|
| tipIsplate | M* |
Oznaka vrste isplate. Obavezno u nekim zemljama. Moguće vrijednosti:
Podaci o zemlji:
Napomena:
Novo od DOM v1.2.0 / Client v1.7.6
|
|
| identifikacijaPDV-a | M |
ID stope PDV-a. Može se upititi putem GET /api/v1/information/client/ {clientId}/getVatIdentification, navodeći stopu PDV-a za odgovarajuću zemlju. |
|
| vatPercent | M | Stopa PDV-a u procentima | |
| neto vrijednost | M |
Neto ukupan iznos pozicije (umanjen za sve popuste) - bez PDV-a. Mora uvijek biti navedeno. |
|
| bruto vrijednost | M |
Bruto ukupan iznos pozicije (umanjen za sve popuste) - uklj. PDV. Mora uvijek biti navedeno. |
|
| poreznaVrijednost | M |
Ukupni PDV za stavku (umanjen za sve popuste) Uvijek mora biti navedeno. |
|
| računskiIdentifikator | O | Dodatni identifikator za računovodstvene svrhe (računovodstveni interfejs) | |
| vrstaPoreza | M* |
Porezni tip pozicije:
Podaci o zemlji:
|
|
| brojpozicije | M | Broj pozicije, počevši od 0 | |
| pozicijskiReferentbrojpozicijepozicijskiReferentbrojpozicijepozicijskiRefer | O | Specifikacija broja stavke na koji se treba pozvati | |
| pozicija otkazivanja | O | "true" ako ova pozicija poništava poziciju drugog dokumenta; inače "false". | |
| izbrisanaPozicija | O | "true" ako je ova pozicija izbrisana; u suprotnom "false". | |
| O"true" ako je ova pozicija kreirana; inače "false".createDateO"true" ako je | O | Vrijeme snimanja pozicije | |
[9] = Subtotal
Pozicija podzbroja
[10] = Total
Ukupna pozicija. Ako se koristi DocumentPositionTotal, ona mora uvijek biti posljednja pozicija u dokumentu (najveći positionNumber).
Primjer 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 sadrži sljedeće informacije.
Informacije u koloni "Type":
- M ... obavezno / potrebno
- M* ... obavezno / potrebno u određenim zemljama ili pod određenim uslovima
- R ... preporučeno
- O... opcionalno
| Elementi | Tip | Opis | |
| tip | M | Pozicije-tip (Tip dokumentne pozicije) | |
| zaokruživanje | O |
primijenjeno zaokruživanje. Ako zbir pozicija (bruto vrijednost) ne odgovara zbiru uplata. Zaokruživanje se dodaje zbroju bruto vrijednosti stavki i pozicija rezervacije, a zbroj uplata mora tačno odgovarati tom rezultatu. To je potpisani iznos, a ne tolerancija: npr. -0,02 znači da su uplate za 0,02 niže od bruto zbroja pozicija, a 0,01 znači da su tačno za 0,01 više. Napomena: Molimo koristite pažljivo. Ako se isplate i pozicije ne razlikuju za tačno ovaj iznos, dokument se odbacuje. |
|
| osnovna vrijednost | M* | Osnovni iznos pozicije prije primjene popusta (samo ako se primjenjuju popusti) | |
| vrijednost | M | Vrijednost pozicije uključujući popuste. | |
| popusti | Detalji o popustima, sniženjima cijena itd. | ||
| vrijednostpopusta | M |
Iznos popusta / iznos povrata
Napomena:
ako je discountType [1] = discount, iznos popusta se mora unijeti sa 4 decimalne znamenke!
|
|
| natpis | O | Naziv popusta | |
| discountOrder | M* |
Označava redoslijed u kojem se popust izračunava. Prvi popust koji se uzima u obzir ima vrijednost 0. Mora biti navedeno ako se na stavku primjenjuje više popusta. |
|
| tip | M |
Tip popusta Enum:
|
|
| vrsta vrijednosti | M |
Vrijednost povrata (zbir smanjenja) pri [0] = Allowance: vrijednost popusta pri [1] = Popust: procenat (npr. 10% popusta) |
|
| ključevi promocije | OVrijednost povrata (zbir umanjenja)bei [0] = Naknada: iznos | Ključevi promocije - ako se koriste (npr. kod vaučera) | |
| identifikator | O | Dodatni identifikator za popust (može se koristiti npr. za grupiranje popusta u vrste popusta). | |
| natpis | O | Naznaka pozicije | |
| brojpozicije | M | Broj pozicije, počevši od 0 | |
| pozicijskiReferentReferent pozicije | O | Specifikacija broja pozicije na koji se treba pozvati | |
| pozicija otkazivanja | O | "true" ako ova pozicija poništava poziciju drugog dokumenta; inače "false". | |
| izbrisanaPozicija | O | "true" ako je ova pozicija izbrisana; u suprotnom "false". | |
| O"true" ako je ova pozicija kreirana; inače "false".createDateO"true" ako je | O | Vrijeme snimanja pozicije | |
Ovaj članak je automatski preveden.
Comments
0 comments
Please sign in to leave a comment.