Овај чланак се бави објектом positions унутар Document објекта (Document object).
Комплетна документација за RetailForce DOM (модел објеката документа), као и опис појединачних елемената, може се наћи у одељку за преузимање на веб-сајту RetailForce (Object model documentation.pdf) у одговарајућем директоријуму за верзије.
Објекат "positions" садржи информације о одговарајућој позицији документа.
Објекат позиције се састоји од:
- DocumentPositionBase - садржи основне информације о позицији (независно од типа одговарајуће позиције)
- Позиција специфичне информације о типу - у зависности од типа позиције "type" (DocumentPositionType), морају бити наведени различити садржаји (тип позиције дефинише садржај позиције).
DocumentPositionsBase
Следећи објекат садржи примерне податке.
"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 садржи следеће информације.
Информације у колони "Type":
- M ... обавезно / потребно
- M* ... обавезно / потребно у одређеним земљама или под одређеним условима
- R ... препоручено
- O... опционално
| Елементи | Тип | Опис | |
| бројпозиције | M |
Серијски број позиције.
Пажња:
Број прве позиције увек је "0"!
|
|
| референцаПозиције | O | Референца на другу позицију унутар документа. Еквивалентно documentReference. | |
| {...} | O | ||
| позиција поништења | M | "true" ако ова позиција поништава позицију другог документа; у супротном "false". | |
| избрисанаПозиција | O | "true" ако је ова позиција избрисана; у супротном "false". | |
| тип | M |
одређује тип позиције "type" (DocumentPositionType). Енум:
Објашњења појединачних типова (DocumentPositionTypes) могу се наћи након ове табеле. |
|
| додатниПоља | O | ||
| {...} | |||
| createDate | M | Време када је позиција креирана. | |
| externalIdentifier | O | Спољни ИД (из претходног система), за интерне потребе, није релевантан за фискализацију. | |
| корисник | O | Подаци о кориснику (касе) који је унео одговарајући артикал. | |
| {...} | |||
| продавац | O | Подаци о продајном особљу за одговарајућу позицију. | |
| {...} | |||
| Фискалне додатне поља | O | ||
Тип положаја документа
[0] = Ставка
Тип "item" (DocumentPositionItem) је специфичан продајни артикал (роба или услуга).
Пример 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": {}
}
],Објекат DocumentPositionItem садржи следеће информације.
Информације у колони "Тип":
- M ... обавезно / потребно
- M* ... обавезно / потребно у одређеним земљама или под одређеним условима
- R ... препоручено
- O... опционално
| Елементи | Тип | Опис | |
| опис ставке | M | Ознака артикла, опис услуге | |
| кратки опис ставке | O | Кратак назив ставке, који се користи нпр. када постоје ограничења дужине карактера, као код фискалних штампача. | |
| бројСеријски | M* |
Серијски број предмета. Подаци о земљи:
|
|
| попусти | Детаљи о попустима, снижењима цена итд. | ||
| вредностпопуста | M |
Збир попуста / износ повраћаја
Пажња:
ако је discountType [1] = discount, износ попуста мора бити унет са 4 децималне цифре!
|
|
| наслов | R |
Назив попуста Подаци о земљи:
|
|
| ред осврта | M* |
Указује редослед по којем се попуст израчунава. Први попуст који се узима у обзир има вредност 0. Мора бити наведено ако се на ставку примењују више попуста. |
|
| тип | M |
Тип попуста Еnum:
|
|
| типВредност | M |
Вредност повраћаја (збир смањења) bei [0] = Накнада: вредност попуста (=> discountValue = typeValue) bei [1] = Попуст: проценат (нпр. 10% попуста) |
|
| кључеви промоције | O | Кључеви промоције - ако се користе (нпр. код ваучера) | |
| идентификатор | O | Додатни идентификатор за попуст (може се користити нпр. за груписање попуста у типове попуста). | |
| тип | M | Тип позиција (DocumentPositionType) | |
| useSubItemVatCalculation | O | "true" ако се преузме обрачун ПДВ-а за подставке (SubItems) и игнорише ПДВ главне ставке; у супротном "false". | |
| subItems | O | Детаљи подставки. Види: DocumentPositionType [1] = SubItem | |
| [...] | |||
| унутар куће | O | Указује на продају унутар компаније или продају ван компаније (true / false). | |
| ID групе ставки | M* |
Индикатор групе чланака Детаљи о земљи:
|
|
| ознакаГрупеСтавке | O | Ознака групе артикала | |
| цена коштања | O/M* |
Јединична цена артикла Подаци о земљи:
|
|
| датум уноса артикла | M* |
Време креирања чланка. Детаљи о земљи:
|
|
| количина | M | Информације о количини за артикал | |
| quantityUnit | M* |
Спецификација мерне јединице Подаци о земљи:
|
|
| id | M* |
Навођење јединице мере. Детаљи о земљи:
|
|
| ISO код | M* |
Стандардна мерна јединица према ISO/UCUM коду. За више информација погледајте повезани чланак. | |
| ID ставке | M | ID артикла | |
| врста артикла | M* |
Описује тип ставке: роба или услуге.
Подаци о земљи:
|
|
| основна нето вредност | M* |
Нето укупан износ (без ПДВ) пре попуста или доплате
Пажња:
(нето) збир реда/позиције, а не артикла. Ако је количина = 2, онда је baseNetValue такође цена артикла x 2!
|
|
| baseGrossValue | M* |
Бруто укупан износ (укљ. ПДВ) пре попуста или доплате
Пажња:
(Бруто) збир реда/позиције, А НЕ артикла. Ако је количина = 2, онда је baseGrossValue такође цена артикла x 2!
|
|
| основна вредност за порез | M* |
Укупни ПДВ (или збир прве пореске стопе) пре попуста или доплате
Пажња:
(ПДВ) збир реда/позиције, А НЕ артикла. Ако је количина = 2, онда је baseTaxValue такође цена артикла x 2!
Подаци о земљи:
|
|
| baseTaxValue2 | M* |
Збир друге стопе пореза за ставку пре попуста / доплате. Подаци о земљи:
|
|
| gtin | O |
Глобални број трговинске јединице (GTIN) Подаци о земљи:
|
|
| businessTransactionType | M |
Тип пословне трансакције. Еном:
|
|
| класификацијатипапредмета |
ItemTypeClassification се може користити за примену додатне класификације на ставку. ItemTypeClassification се може подесити само ако је својство 'ItemType' подешено на "[0] - Article" или "ItemType": 0. Детаљне информације о својству "ItemTypeClassification" могу се наћи у повезаном чланку. Следеће класификације су доступне.
Подаци о земљи:
|
||
| identifikacijaPDV-а | M |
ИД стопе ПДВ-а. Може се упитати преко GET /api/v1/information/client/ {clientId}/getVatIdentification, навођењем стопе ПДВ-а одговарајуће земље. стопе одговарајуће земље. |
|
| vatPercent | M |
Ставка ПДВ у процентима или прва пореска стопа која се примењује на артикал у одговарајућој земљи. Подаци о земљи:
|
|
| vatPercent2 | M* |
друга пореска стопа која се примењује на артикал, изражена у процентима у одговарајућој земљи. Подаци о земљи:
|
|
| нето вредност | M |
Нето укупан износ позиције (умањено за попусте / увећано за доплате) - без ПДВ-а. Увек мора бити наведено. |
|
| бруто вредност | M |
Бруто укупан износ позиције (умањено за све попусте / увећано за све доплате) - укљ. ПДВ. Увек мора бити наведено. |
|
| порезНаВредност | M |
Укупни ПДВ (или збир прве пореске стопе) за позицију (умањено за попусте / увећано за доплате) Увек мора бити наведено. Детаљи о земљи:
|
|
| taxValue2 | M* |
Збир друге пореске стопе за ставку након попуста / доплате. Подаци о земљи:
|
|
| идентификаторрачуноводства | O | Додатни идентификатор за потребе рачуноводства (рачуноводствени интерфејс) | |
| врстаПореза | M* |
Тип пореза позиције:
Подаци о земљи:
|
|
| бројпозиције | M | Број позиције, почиње са 0 | |
| positionReference | O | Навођење броја позиције на који се треба позивати | |
| позиција поништења | O | "true" ако ова позиција поништава позицију другог документа; у супротном "false" | |
| датаПокретања | O | Време евидентирања позиције | |
[1] = Подстава
"Подружни елементи" (DocumentPositionSubItem) омогућавају објашњење састава продатих производа или описе група производа на нивоу ставке.
Пример: Мени = Кока-кола и хамбургер.
Подружни елементи имају објашњавајући карактер и нису обавезни за коришћење. Такође немају утицаја на цену и порез на промет/порез на додату вредност.
[2] = Текст
Користи се за конвертовање положаја текста или баркода унутар документа.
Пример 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": {}
}
],Објекат DocumentPositionText садржи следеће информације.
Информације у колони "Type":
- M ... обавезно / потребно
- M* ... обавезно / потребно у одређеним земљама или под одређеним условима
- R ... препоручено
- O... опционално
| Елементи | Тип | Опис | |
| тип | M | Позиције-тип (DocumentPositionType) | |
| текст | O |
Поље за слободан текст Подаци о земљи:
|
|
| баркодТип | O |
Индикација типа баркода Еnum:
|
|
| баркод | O | Подаци о баркоду | |
| бројпозиције | M | Број позиције, почиње од 0 | |
[3] = Резервација
Позиције резервација (DocumentPositionBooking) користе се за уплате, исплате као и за продају вишенаменских ваучера (payIn, payOut, multiPurposeVoucher,...).
Пример 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": {}
}
],Објекат DocumentPositionBooking садржи следеће информације.
Информације у колони "Type":
- M ... обавезно / потребно
- M* ... обавезно / потребно у одређеним земљама или под одређеним условима
- R ... препоручено
- O... опционално
| Елементи | Тип | Опис | |
| тип | M | Позиције-тип (DocumentPositionType) | |
| наслов | M | Опис позиције резервације | |
| идентификатор | O | Додатни ИД показатељ резервације | |
| тип пословне трансакције | M |
Тип пословне трансакције. Енум:
|
|
| тип исплате | M* |
Указује на врсту исплате. Потребно у одређеним земљама. Могуће вредности:
Подаци о земљи:
Напомена:
Ново од DOM v1.2.0 / Client v1.7.6
|
|
| порески идентификациони број | M |
ID стопе ПДВ-а. Може се упитати преко GET /api/v1/information/client/ {clientId}/getVatIdentification, навођењем ПДВ стопе одговарајуће земље. |
|
| vatPercent | M | Ставка ПДВ у процентима | |
| нето вредност | M |
Нето укупан износ позиције (умањено за све попусте) - без ПДВ-а. Увек мора бити наведено. |
|
| бруто вредност | M |
Бруто укупан износ позиције (умањен за све попусте) - укљ. ПДВ. Увек мора бити наведено. |
|
| порезНаВредност | M |
Укупни ПДВ за ставку (умањено за све попусте) Увек мора бити наведено. |
|
| рачуноводствениИдентификатор | O | Додатни идентификатор за потребе рачуноводства (рачуноводствени интерфејс) | |
| врстаПореза | M* |
Тип пореза позиције:
Подаци о земљи:
|
|
| бројпозиције | M | Број позиције, почиње са 0 | |
| positionReference | O | Навођење броја ставке на који се треба позивати | |
| позиција поништења | O | "true" ако ова позиција поништава позицију другог документа; у супротном "false". | |
| избрисанаПозиција | O | "true" ако је ова позиција избрисана; у супротном "false". | |
| датаКреирања | O | Време снимања позиције | |
[9] = Подзбир
Позиција подзбира
[10] = Укупно
Укупна позиција. Ако се користи DocumentPositionTotal, она увек мора бити последња позиција у документу (са највишим positionNumber).
Пример 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": {}
}
],Објекат DocumentPositionTotal садржи следеће информације.
Информације у колони "Type":
- M ... обавезно / потребно
- M* ... обавезно / потребно у одређеним земљама или под одређеним условима
- R ... препоручено
- O... опционално
| Елементи | Тип | Опис | |
| тип | M | Позиције-тип (DocumentPositionType) | |
| заокруживање | O |
Примењено заокруживање. Ако збир позиција (бруто вредност) није једнак износу плаћања. На пример, 0,01 би дозволио разлике у заокруживању од +/-0,01 Напомена: Молимо користите пажљиво. Велике вредности ће онемогућити валидацију износа за износ плаћања / бруто вредност документа |
|
| основнаВредност | M* | Основни износ позиције пре примене попуста (само ако се попусти примењују) | |
| вредност | M | Вредност позиције укључујући попусте. | |
| попусти | Детаљи о попустима, снижењима цена итд. | ||
| вредностпопуста | M |
Збир попуста / износ повраћаја
Пажња:
ако је discountType [1] = discount, износ попуста мора бити унет са 4 децималне цифре!
|
|
| наслов | O | Назив попуста | |
| редослед попуста | M* |
Указује редослед по којем се попуст израчунава. Први попуст који се узима у обзир има вредност 0. Мора бити наведено ако се на ставку примењују више попуста. |
|
| тип | M |
Тип попуста Еном:
|
|
| тип вредности | M |
Вредност повраћаја (сума смањења) bei [0] = Allowance: вредност попуста bei [1] = попуст: проценат (нпр. 10% попуста) |
|
| кључеви промоције | O | Кључеви промоције - ако се користе (нпр. код ваучера) | |
| идентификатор | O | Додатни идентификатор за попуст (може се користити нпр. за груписање попуста по типовима). | |
| ознака | O | Назив позиције | |
| бројпозиције | M | Број позиције, почиње од 0 | |
| референцаПозиције | O | Навођење броја позиције на који се треба позивати | |
| позиција поништења | O | "true" ако ова позиција поништава позицију другог документа; у супротном "false". | |
| избрисанаПозиција | O | "true" ако је ова позиција избрисана; у супротном "false". | |
| датаКреирања | O | Време снимања позиције | |
Овај чланак је аутоматски преведен.
Komentari
Komentara: 0
Molimo prijavi se da biste komentarisali.