Šiame straipsnyje aptariamas pozicijų objektas („positions“) dokumento objekte
(Document object).
Išsamų „RetailForce DOM“ (dokumento objektų modelio) aprašymą bei atskirų elementų aprašymą rasite „RetailForce“ svetainės atsisiuntimų skyriuje (Object model documentation.pdf) atitinkamoje versijos kataloge.
Objekte „positions“ pateikiama informacija apie atitinkamą dokumento dokumento poziciją.
Objektas „positions“ susideda iš:
- DocumentPositionBase – pateikia pagrindinę informaciją apie poziciją (nepriklausomai nuo atitinkamos pozicijos tipo)
- Pozicijos tipo specifinius duomenis – priklausomai nuo pozicijos tipo „type“ (DocumentPositionType) turi būti nurodyti skirtingi turiniai (pozicijos tipas apibrėžia pozicijos turinį).
DocumentPositionsBase
Toliau pateiktame objekte yra pavyzdiniai duomenys.
"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": {}
}
],„DocumentPositionsBase“ objektas apima toliau pateiktus duomenis.
Informacija stulpelyje „Tipas“:
- M ... privaloma („mandatory“)
- M* ... privaloma tam tikrose šalyse arba tam tikromis sąlygomis
- R ... rekomenduojama („recommended“)
- O ... neprivaloma
| Elementas | Tipas | Aprašymas | |
| positionNumber | M |
Pozicijos eilės numeris.
Dėmesio:
pirmosios pozicijos numeris visada yra „0“!
|
|
| positionReference | O | Nuoroda į kitą poziciją dokumente. Atitinka documentReference. | |
| {...} | O | ||
| cancellationPosition | M | „true“ (tiesa), jei ši pozicija panaikina kito dokumento poziciją; kitais atvejais „false“ (klaida). | |
| deletedPosition | O | „true“ (tiesa), jei ši pozicija buvo ištrinta; kitais atvejais „false“ (klaida). | |
| type | M |
nurodo pozicijos tipą „type“ (DocumentPositionType). Enum:
Paaiškinimai apie atskirus tipus (DocumentPositionTypes) pateikiami po lentele. |
|
| papildomi laukai | O | ||
| {...} | |||
| createDate | M | Laikas , kada buvo sukurta pozicija. | |
| externalIdentifier | O | Išorinis identifikatorius (iš pirminės sistemos), skirtas vidiniams tikslams, nesusijęs su fiskalizacija. | |
| user | O | Informacija apie (kasos aparato) vartotoją, kuris įvedė atitinkamą poziciją. | |
| {...} | |||
| salesPerson | O | Informacija apie pardavimo personalą, susijusį su atitinkama pozicija. | |
| {...} | |||
| FiscalAdditionalFields | O | ||
DocumentPositionType
[0] = Prekė
Tipas „item“ (DocumentPositionItem) reiškia konkretų parduodamą prekę (prekę ar paslaugą).
Pavyzdys DocumentPositionItem:
positions": [
{
"itemCaption": "Wiener Schnitzel",
"itemShortCaption": "W.Schnitzel",
"itemSerialNumber": "string",
"discounts": [
{
"discountValue": 1.6900,
"caption": "Stammkunden Rabatt",
"discountOrder": 0,
"type": 1,
"typeValue": 10.00,
"promotionKeys": [],
"identifier": null
}
],
"type": 0,
"useSubItemVatCalculation": false,
"subItems": [],
"inHouse": true,
"itemGroupId": "1000",
"itemGroupCaption": "Hauptspeisen",
"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": 0,
"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": {}
}
],„DocumentPositionItem“ objektas apima šiuos duomenis.
Informacija stulpelyje „Tipas“:
- M ... privaloma („mandatory“)
- M* ... privaloma tam tikrose šalyse arba tam tikromis sąlygomis
- R ... rekomenduojama („recommended“)
- O ... neprivaloma
| Elementas | Tipas | Aprašymas | |
| itemCaption | M | Prekės pavadinimas, paslaugos pavadinimas | |
| itemShortCaption | O | Trumpas prekės pavadinimas, naudojamas, pvz., kai yra apribojimai dėl simbolių skaičiaus, pvz., fiskaliniuose spausdintuvuose. | |
| itemSerialNumber | M* |
Prekės serijos numeris Informacija apie šalį:
|
|
| nuolaidos | Informacija apie nuolaidas, kainų sumažinimus ir pan. | ||
| nuolaidosVertė | M |
Nuolaidos suma / kainos sumažinimo suma
Dėmesio:
jei „discountType“: „[1] = discount“, nuolaidos suma turi būti nurodyta su 4 skaičiais po kablelio!
|
|
| caption | R |
Nuolaidos pavadinimas Informacija apie šalis:
|
|
| discountOrder | M* |
Nurodo nuolaidos apskaičiavimo tvarką. Pirmoji įskaičiuojama nuolaida turi vertę 0. Reikia nurodyti, jei vienam prekių vienetui taikomos kelios nuolaidos. |
|
| type | M |
Nuolaidos tipas Enum:
|
|
| typeValue | M |
Nuolaidos vertė kai [0] = Allowance: nuolaidos suma (t. y. discountValue = typeValue) kai [1] = Nuolaida: procentinė dalis (pvz., 10 % nuolaida) |
|
| promotionKeys | O | Akcijos raktų – jei naudojami (pvz., kupono kodas) | |
| identifier | O | Papildomas nuolaidos identifikatorius (gali būti naudojamas, pvz., nuolaidų grupavimui pagal nuolaidų tipus). | |
| type | M | Pozicijos tipas (DocumentPositionType) | |
| useSubItemVatCalculation | O | „true“ (taip), jei reikia perimti PVM skaičiavimą iš papunkčių (SubItems) ir ignoruoti viršesnės pozicijos PVM; kitais atvejais „false“ (ne). | |
| subItems | O | Informacija apie SubItems. Žr.: DocumentPositionType [1] = SubItem | |
| [...] | |||
| inHouse | O | Žymi pardavimą viduje arba už įmonės ribų (true / false) | |
| itemGroupId | M* |
Prekių grupės žymė Informacija apie šalį:
|
|
| itemGroupCaption | O | Prekių grupės pavadinimas | |
| costPrice | O/M* |
Prekės vienetinė kaina Informacija apie šalį:
|
|
| itemDateOfEntry | M* |
Prekės įvedimo data. Informacija apie šalį:
|
|
| quantity | M | Prekės kiekio nurodymas | |
| quantityUnit | M* |
Kiekio vieneto nurodymas Informacija apie šalį:
|
|
| id | M* |
Kiekio vieneto nurodymas. Informacija apie šalį:
|
|
| isoCode | M* |
Standartizuotas kiekio vienetas pagal ISO/UCUM kodą. Daugiau informacijos rasite nuorodoje pateiktame straipsnyje. | |
| itemId | M | Prekės identifikatorius | |
| itemType | M* |
Apibūdina prekės tipą: prekė ar paslauga
Informacija apie šalį:
|
|
| baseNetValue | M* |
Pozicijos grynoji suma (be PVM) prieš nuolaidą / priedą
Dėmesio:
pozicijos (grynoji) suma, NE prekės. Jei kiekis = 2, tuomet baseNetValue yra prekės kaina x 2!
|
|
| baseGrossValue | M* |
Pozicijos bruto suma (įskaitant PVM) prieš nuolaidą / priedą
Dėmesio:
pozicijos (bruto) suma, NE prekės. Jei kiekis = 2, tuomet baseGrossValue taip pat yra prekės kaina x 2!
|
|
| baseTaxValue | M* |
PVM suma (arba pirmojo mokesčio tarifo suma) už poziciją prieš nuolaidą / priedą
Dėmesio:
pozicijos (PVM) suma, NE prekės. Jei kiekis = 2, tuomet baseTaxValue taip pat yra prekės kaina x 2!
Informacija apie šalis:
|
|
| baseTaxValue2 | M* |
Pozicijos antrojo mokesčio tarifo suma prieš nuolaidą / priedą Informacija apie šalį:
|
|
| gtin | R |
Pasaulinis prekės numeris (GTIN) Informacija apie šalį:
|
|
| businessTransactionType | M |
Sandorio tipas. Enum:
|
|
| elemento tipo klasifikacija | O/M* |
Naudojant ItemTypeClassification galima atlikti papildomą prekės klasifikaciją. ItemTypeClassification galima nustatyti tik tuomet, jei savybėje „ItemType“ nustatyta: „[0] - Article“ arba „ItemType“: 0. Išsami informacija apie savybę „ItemTypeClassification“ pateikta nuorodoje nurodytame straipsnyje. Galimos šios klasifikacijos.
Informacija apie šalį:
|
|
| vatIdentification | M |
PVM tarifo identifikatorius. Jį galima gauti naudojant GET /api/v1/information/client/ {clientId}/getVatIdentification, nurodant atitinkamos šalies PVM tarifą. |
|
| vatPercent | M |
PVM tarifas procentais arba pirmasis prekės apmokestinimo tarifas atitinkamoje šalyje Informacija apie šalis:
|
|
| vatPercent2 | M* |
antrasis prekės apmokestinimo tarifas atitinkamoje šalyje procentais. Informacija apie šalį:
|
|
| netValue | M |
Pozicijos grynoji suma (atėmus galimas nuolaidas arba pridėjus galimus priedus) – be PVM. Visada turi būti nurodyta. |
|
| grossValue | M |
Pozicijos bruto suma (atėmus galimas nuolaidas arba pridėjus galimus priedus) – įskaitant PVM. Visada turi būti nurodyta. |
|
| taxValue | M |
Pozicijos PVM suma (arba pirmojo mokesčio tarifo suma) (atėmus galimas nuolaidas arba pridėjus galimus priedus) Reikia nurodyti visada. Informacija apie šalis:
|
|
| taxValue2 | M* |
Antrojo pozicijos mokesčio tarifo suma po nuolaidos / priedo Informacija apie šalį:
|
|
| apskaitos identifikatorius | O | Papildomas identifikatorius apskaitos tikslais (apskaitos sąsaja) | |
| itemTaxType | M* |
Prekės mokesčio rūšis:
Informacija apie šalį:
|
|
| positionNumber | M | Pozicijos numeris, prasidedantis nuo 0 | |
| positionReference | O | Pozicijos numeris, į kurį turi būti daroma nuoroda | |
| cancellationPosition | O | „true“ (teisinga), jei ši pozicija panaikina kito dokumento poziciją; kitais atvejais „false“ (klaidinga) | |
| deletedPosition | O | „true“ (teisinga), jei ši pozicija buvo ištrinta; kitais atvejais „false“ (klaidinga) | |
| createDate | O | Pozicijos užregistravimo laikas | |
[1] = SubItem
Papunkčiai arba „Subpositionen“ (DocumentPositionSubItem) suteikia galimybę paaiškinti parduotų produktų sudėtį arba prekių grupių pavadinimus prekių lygiu.
Pavyzdys: Meniu = Cola ir mėsainiai.
SubItems turi paaiškinamąjį pobūdį ir nėra privalomi. Be to, jie neturi jokio poveikio kainai ir apyvartos / pridėtinės vertės mokesčiui.
[2] = Tekstas
Naudojama teksto arba brūkšninio kodo pozicijai dokumente įgyvendinti.
Pavyzdys „DocumentPositionText“:
positions": [
{
"type": 2,
"text": "Beispieltext",
"barcodeType": code128,
"barcode": "Beispieltext",
"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": {}
}
],„DocumentPositionText“ objektas apima šiuos duomenis.
Informacija stulpelyje „Tipas“:
- M ... privaloma („mandatory“)
- M* ... privaloma tam tikrose šalyse arba tam tikromis sąlygomis
- R ... rekomenduojama („recommended“)
- O ... neprivaloma
| Elementas | Tipas | Aprašymas | |
| type | M | Pozicijos tipas (DocumentPositionType) | |
| text | O |
Laisvo teksto laukas Informacija apie šalį:
|
|
| barcodeType | O |
Informacija apie brūkšninio kodo tipą Enum:
|
|
| brūkšninis kodas | O | Brūkšninio kodo duomenys | |
| positionNumber | M | Pozicijos numeris, prasidedantis nuo 0 | |
[3] = Užsakymas
Užsakymo pozicijos (DocumentPositionBooking) naudojamos įmokoms, išmokoms ir daugiafunkcinių kuponų pardavimams (payIn, payOut, multiPurposeVoucher, ...).
Pavyzdys DocumentPositionBooking:
positions": [
{
"type": 3,
"caption": "Einzahlung",
"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": {}
}
],DocumentPositionBooking objektas apima šiuos duomenis.
Informacija stulpelyje „Tipas“:
- M ... privaloma („mandatory“)
- M* ... privaloma tam tikrose šalyse arba tam tikromis sąlygomis
- R ... rekomenduojama („recommended“)
- O ... neprivaloma
| Elementas | Tipas | Aprašymas | |
| type | M | Pozicijos tipas (DocumentPositionType) | |
| caption | M | Įrašo pozicijos pavadinimas | |
| identifikatorius | O | Papildomas įrašo identifikatorius | |
| businessTransactionType | M |
Sandorio tipas. Enum:
|
|
| payOutType | M* |
Nurodo išmokėjimo tipą. Būtina tam tikrose šalyse. Galimos reikšmės:
Informacija apie šalį:
Pastaba:
Nauja su DOM v1.2.0 / Client v1.7.6
|
|
| vatIdentification | M |
PVM tarifo identifikatorius. Jį galima gauti naudojant GET /api/v1/information/client/ {clientId}/getVatIdentification, nurodant atitinkamos šalies PVM tarifą. |
|
| vatPercent | M | PVM tarifas procentais | |
| netValue | M |
Pozicijos grynoji suma (atėmus galimas nuolaidas) – be PVM. Visada turi būti nurodyta. |
|
| grossValue | M |
Pozicijos bendra suma (atėmus galimas nuolaidas) – įskaitant PVM. Visada turi būti nurodyta. |
|
| taxValue | M |
Prekės pozicijos PVM suma (atėmus galimas nuolaidas) Reikia nurodyti visada. |
|
| accountingIdentifier | O | Papildomas identifikatorius apskaitos tikslais (apskaitos sąsaja) | |
| itemTaxType | M* |
Prekės mokesčio tipas:
Informacija apie šalį:
|
|
| positionNumber | M | Pozicijos numeris, prasidedantis nuo 0 | |
| positionReference | O | Pozicijos numeris, į kurį turi būti daroma nuoroda | |
| cancellationPosition | O | „true“ (taip), jei ši pozicija panaikina kito dokumento poziciją; kitais atvejais „false“ (ne) | |
| deletedPosition | O | „true“ (teisinga), jei ši pozicija buvo ištrinta; kitais atvejais „false“ (klaidinga) | |
| createDate | O | Pozicijos įrašymo laikas | |
[9] = SubTotal
Tarpinės sumos pozicija.
[10] = Total
Bendros sumos pozicija. Jei naudojama „DocumentPositionTotal“, ji visada turi būti paskutinė pozicija dokumente (didžiausias „positionNumber“).
Pavyzdys „DocumentPositionTotal“:
positions": [
{
"type": 10,
"rounding": null,
"baseValue": 200.00,
"value": "200.00",
"discounts": [
{
"discountValue": 1.6900,
"caption": "Stammkunden Rabatt",
"discountOrder": 0,
"type": 1,
"typeValue": 10.00,
"promotionKeys": [],
"identifier": null
}
],
"caption": "Summe",
"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": {}
}
],„DocumentPositionTotal“ objektas apima šiuos duomenis.
Informacija stulpelyje „Tipas“:
- M ... privaloma („mandatory“)
- M* ... privaloma tam tikrose šalyse arba tam tikromis sąlygomis
- R ... rekomenduojama („recommended“)
- O ... neprivaloma
| Elementas | Tipas | Aprašymas | |
| type | M | Pozicijos tipas (DocumentPositionType) | |
| apvalinimas | O |
Leidžiamas apvalinimas skaičiuojant sumą. Jei pozicijų suma (bruto vertė) nesutampa su mokėjimo suma. Pvz., 0,01 leistų apvalinimo skirtumus +/-0,01.
Pastaba:
naudokite atsargiai. Didelės vertės išjungia mokėjimo sumos / dokumento bruto vertės patikrinimą.
|
|
| baseValue | O | Pozicijos bazinė suma prieš taikant nuolaidas | |
| value | M | Suma / Tarpinė suma po nuolaidų | |
| discounts | Informacija apie nuolaidas, kainų sumažinimus ir pan. | ||
| nuolaidosVertė | M |
Nuolaidos suma / kainos sumažinimo suma
Dėmesio:
kai discountType [1] = discount, nuolaidos suma turi būti nurodyta su 4 skaičiais po kablelio!
|
|
| caption | O | Nuolaidos pavadinimas | |
| discountOrder | M* |
Nurodo nuolaidos skaičiavimo tvarką. Pirmoji įskaičiuojama nuolaida turi vertę 0. Būtina nurodyti, jei vienam prekių vienetui taikomos kelios nuolaidos. |
|
| type | M |
Nuolaidos tipas Enum:
|
|
| typeValue | M |
Nuolaidos vertė jei [0] = Allowance: nuolaidos suma kai [1] = Nuolaida: procentinė dalis (pvz., 10 % nuolaida) |
|
| promotionKeys | O | Akcijos kodai – jei naudojami (pvz., kupono kodas) | |
| identifier | O | Papildomas nuolaidos identifikatorius (gali būti naudojamas, pvz., nuolaidų grupavimui pagal nuolaidų tipus). | |
| caption | O | Pozicijos pavadinimas | |
| positionNumber | M | Pozicijos numeris, pradedant nuo 0 | |
| positionReference | O | Pozicijos numerio, į kurį turi būti daroma nuoroda, nurodymas | |
| cancellationPosition | O | „true“ (teisinga), jei ši pozicija panaikina kito dokumento poziciją; kitais atvejais „false“ (klaidinga) | |
| deletedPosition | O | „true“ (tiesa), jei ši pozicija buvo ištrinta; kitais atvejais „false“ (klaida) | |
| createDate | O | Pozicijos užregistravimo laikas | |
Komentarai
0 komentarų
Tam, kad paliktumėte komentarus prisijunkite