Il presente articolo tratta dell’oggetto «positions» all’interno dell’oggetto «Document» (oggetto «Document»).
Una descrizione completa del RetailForce DOM (Document Object Model), nonché una descrizione dei singoli elementi, è disponibile nell’area download del sito web di RetailForce (Documentazione sul modello a oggetti.pdf) nella rispettiva directory delle versioni.
L’oggetto «positions» contiene informazioni relative alla rispettiva posizione del documento.
L’oggetto «positions» è costituito da:
- DocumentPositionBase – contiene le informazioni di base sulla posizione (indipendentemente dal tipo della rispettiva posizione)
- Informazioni specifiche relative al tipo di posizione: a seconda del «tipo» di posizione (DocumentPositionType), è necessario specificare contenuti diversi (il tipo di posizione definisce il contenuto della posizione).
DocumentPositionsBase
L’oggetto seguente contiene dati di esempio.
"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": {}
}
],L’oggetto DocumentPositionsBase contiene le seguenti informazioni.
Informazioni nella colonna «Type»:
- M ... obbligatorio / richiesto
- M* ... obbligatorio / richiesto in determinati paesi o a determinate condizioni
- R ... raccomandato
- O... facoltativo
| Elementi | Tipo | Descrizione | |
| PositionNumber | M |
Numero progressivo della posizione.
Si noti che
il numero della prima posizione è sempre "0".
|
|
| positionReference | O | Riferimento a un’altra posizione all’interno del documento. Equivalente a documentReference. | |
| {...} | O | ||
| cancellationPosition | M | "true" se questa posizione annulla una posizione di un altro documento; altrimenti "false". | |
| DeletedPosition | O | "true" se questa posizione è stata eliminata; altrimenti "false". | |
| tipo | M |
specifica il tipo di posizione "type" (DocumentPositionType). Enum:
Le spiegazioni relative ai singoli tipi (DocumentPositionTypes) sono riportate dopo questa tabella. |
|
| AdditionalFields | O | ||
| {...} | |||
| CreateDate | M | Ora di creazione della posizione. | |
| ExternalIdentifier | O | ID esterno (proveniente dal sistema precedente), a fini interni, non rilevante ai fini fiscali. | |
| utente | O | Dettagli dell’utente (del registratore di cassa) che ha inserito la rispettiva voce. | |
| {...} | |||
| SalesPerson | O | Dettagli relativi al personale di vendita della rispettiva posizione. | |
| {...} | |||
| FiscalAdditionalFields | O | ||
DocumentPositionType
[0] = Articolo
Il tipo "voce" (DocumentPositionItem) indica una voce di vendita specifica (bene o servizio).
Esempio di 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": {}
}
],L’oggetto DocumentPositionItem contiene le seguenti informazioni.
Informazioni nella colonna «Tipo»:
- M ... obbligatorio / richiesto
- M* ... obbligatorio / richiesto in determinati paesi o a determinate condizioni
- R ... raccomandato
- O... facoltativo
| Elementi | Tipo | Descrizione | |
| ItemCaption | M | Denominazione della voce, descrizione del servizio | |
| ItemShortCaption | O | Nome abbreviato della voce, utilizzato ad esempio in caso di limitazioni relative alla lunghezza dei caratteri, come nel caso delle stampanti fiscali. | |
| ItemSerialNumber | M* |
Numero di serie dell’articolo. Dettagli relativi al Paese:
|
|
| sconti | Dettagli relativi a sconti, riduzioni di prezzo, ecc. | ||
| DiscountValue | M |
Importo dello sconto / importo del ribasso
Attenzione:
se DiscountType [1] = discount, l’importo dello sconto deve essere inserito con 4 cifre decimali!
|
|
| caption | R |
Denominazione dello sconto Dettagli per paese:
|
|
| DiscountOrder | M* |
Indica l’ordine di calcolo degli sconti. Il primo sconto preso in considerazione ha valore 0. Tale parametro deve essere specificato qualora a un articolo vengano applicati più sconti. |
|
| tipo | M |
Tipo di sconto Enum:
|
|
| TypeValue | M |
Valore dello sconto (somma della riduzione) nel caso di [0] = Sconto: il DiscountValue (=> DiscountValue = TypeValue) se [1] = Sconto: la percentuale (ad es. sconto del 10%) |
|
| PromotionKeys | O | PromotionKeys – se applicate (es. codice promozionale) | |
| identificatore | O | Identificatore aggiuntivo per lo sconto (utilizzabile, ad esempio, per raggruppare gli sconti in tipologie di sconto). | |
| tipo | M | Tipo di posizione (DocumentPositionType) | |
| UseSubItemVatCalculation | O | "true" se si desidera riprendere il calcolo dell'IVA delle voci secondarie (SubItems) e ignorare l'IVA della voce principale; in caso contrario, "false". | |
| SubItems | O | Dettagli relativi ai SubItems. Vedi: DocumentPositionType [1] = SubItem | |
| [...] | |||
| inHouse | O | Indica una vendita interna o una vendita esterna (true / false). | |
| ItemGroupId | M* |
Indicatore del gruppo di articoli Dettagli sul Paese:
|
|
| ItemGroupCaption | O | Denominazione del gruppo di articoli | |
| CostPrice | O/M* |
Prezzo unitario dell’articolo Dettagli sul Paese:
|
|
| itemDateOfEntry | M* |
Data e ora di creazione dell’articolo. Dettagli per paese:
|
|
| quantità | M | Informazioni sulla quantità relative all’articolo | |
| QuantityUnit | M* |
Specificazione dell’unità di misura Dettagli sul Paese:
|
|
| ID | M* |
Indicazione dell’unità di misura. Dettagli sul Paese:
|
|
| isoCode | M* |
Unità di misura standard secondo il codice ISO/UCUM. Per ulteriori informazioni, si rimanda all’articolo collegato. | |
| ID articolo | M | ID dell'articolo | |
| ItemType | M* |
Descrive la categoria dell'articolo: beni o servizi.
Dettagli sul Paese:
|
|
| BaseNetValue | M* |
Totale netto (IVA esclusa) prima di sconti o maggiorazioni
Attenzione: si tratta
della somma (netta) della riga/voce, NON dell’articolo. Se la quantità è pari a 2, anche il valore BaseNetValue corrisponde al prezzo unitario moltiplicato per 2.
|
|
| BaseGrossValue | M* |
Totale lordo (IVA inclusa) prima di sconti o maggiorazioni
Attenzione: si tratta
della somma (lorda) della riga/voce, NON dell’articolo. Se la quantità è pari a 2, anche il valore lordo di base (BaseGrossValue) è pari al prezzo unitario moltiplicato per 2!
|
|
| BaseTaxValue | M* |
Totale IVA (o somma della prima aliquota fiscale) al lordo di sconti o maggiorazioni
Attenzione:
somma (del Vat) della riga/posizione, NON dell’articolo. Se la quantità è pari a 2, anche il BaseTaxValue è pari al prezzo unitario moltiplicato per 2!
Dettagli sul Paese:
|
|
| BaseTaxValue2 | M* |
Somma della seconda aliquota fiscale della posizione al lordo di sconti/supplementi. Dettagli sul Paese:
|
|
| GTIN | O |
Codice globale dell’articolo (GTIN) Dettagli sul Paese:
|
|
| BusinessTransactionType | M |
Tipo di transazione commerciale. Enum:
|
|
| ItemTypeClassification |
La proprietà «ItemTypeClassification» può essere utilizzata per applicare un’ulteriore classificazione a un articolo. ItemTypeClassification può essere impostata solo se la proprietà «ItemType» è stata configurata su «[0] - Articolo» o «ItemType»: 0. Informazioni dettagliate sulla proprietà "ItemTypeClassification" sono disponibili nell’articolo collegato. Sono disponibili le seguenti classificazioni.
Dettagli relativi al Paese:
|
||
| VatIdentification | M |
ID dell’aliquota Vat. Può essere recuperato tramite una richiesta GET a /api/v1/information/client/{clientId}/getVatIdentification, specificando l’aliquota VAT del rispettivo Paese. |
|
| VatPercent | M |
Aliquota IVA in percentuale o prima aliquota fiscale applicabile all’articolo nel rispettivo paese. Dettagli sul Paese:
|
|
| VatPercent2 | M* |
seconda aliquota fiscale applicabile all’articolo, espressa in percentuale nel rispettivo Paese. Dettagli sul Paese:
|
|
| NetValue | M |
Totale netto della voce (al netto di eventuali sconti / al lordo di eventuali supplementi) – IVA esclusa. Deve essere sempre indicato. |
|
| GrossValue | M |
Totale lordo della posizione (al netto di eventuali sconti / al lordo di eventuali supplementi) – IVA inclusa. Deve essere sempre indicato. |
|
| TaxValue | M |
Totale IVA (o somma della prima aliquota fiscale) della voce (al netto di eventuali sconti / al lordo di eventuali maggiorazioni) Deve essere sempre indicato. Dettagli sul Paese:
|
|
| TaxValue2 | M* |
Somma della seconda aliquota fiscale della voce al netto di sconti/supplementi. Dettagli sul Paese:
|
|
| AccountingIdentifier | O | Identificatore aggiuntivo a fini contabili (interfaccia contabile) | |
| ItemTaxType | M* |
Tipo di imposta della posizione:
Dettagli sul Paese:
|
|
| PositionNumber | M | Numero di posizione, a partire da 0 | |
| positionReference | O | Specificazione di un numero di posizione a cui si deve fare riferimento | |
| cancellationPosition | O | "true" se questa posizione annulla una posizione di un altro documento; altrimenti "false" | |
| CreateDate | O | Ora di registrazione della posizione | |
[1] = SubItem
I "sottoelementi" (DocumentPositionSubItem) consentono di specificare la composizione dei prodotti venduti o le descrizioni dei gruppi di prodotti a livello di articolo.
Esempio: Menu = Coca-Cola e hamburger.
SubItems hanno carattere esplicativo e non è obbligatorio utilizzarli. Inoltre, non hanno alcun effetto in relazione al prezzo, alle vendite o all’imposta sul valore aggiunto.
[2] = Testo
Utilizzato per specificare la posizione di un testo o di un Barcode all’interno del documento.
Esempio di 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": {}
}
],L’oggetto DocumentPositionText contiene le seguenti informazioni.
Informazioni nella colonna "Type":
- M ... obbligatorio / richiesto
- M* ... obbligatorio / richiesto in determinati paesi o in determinate condizioni
- R ... raccomandato
- O... facoltativo
| Elementi | Tipo | Descrizione | |
| tipo | M | Tipo di posizione (DocumentPositionType) | |
| testo | O |
Campo di testo libero Dettagli sul Paese:
|
|
| barcodeType | O |
Indicazione del tipo di Barcode Enum:
|
|
| Barcode | O | Dati del Barcode | |
| PositionNumber | M | Numero di posizione, a partire da 0 | |
[3] = Prenotazione
Le posizioni relative alle prenotazioni (DocumentPositionBooking) vengono utilizzate per depositi, prelievi e vendite di buoni multiuso (PayIn, payOut, MultiPurposeVoucher, ...).
Esempio di 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": {}
}
],L’oggetto DocumentPositionBooking contiene le seguenti informazioni.
Informazioni nella colonna «Tipo»:
- M ... obbligatorio / richiesto
- M* ... obbligatorio / richiesto in determinati paesi o a determinate condizioni
- R ... raccomandato
- O... facoltativo
| Elementi | Tipo | Descrizione | |
| tipo | M | Tipo di posizione (DocumentPositionType) | |
| didascalia | M | Descrizione della posizione di prenotazione | |
| identificatore | O | Indicatore di ID aggiuntivo della prenotazione | |
| BusinessTransactionType | M |
Tipo di transazione commerciale. Enum:
|
|
| PayOutType | M* |
Indica il tipo di pagamento. Obbligatorio in alcuni paesi. Valori possibili:
Dettagli sul Paese:
Nota:
Novità a partire dalla versione DOM v1.2.0 / Client v1.7.6
|
|
| VatIdentification | M |
ID dell’aliquota VAT. Può essere recuperato tramite una richiesta GET su /api/v1/information/client/{clientId}/getVatIdentification, specificando l’aliquota VAT del Paese di interesse. |
|
| VatPercent | M | Aliquota VAT in percentuale | |
| NetValue | M |
Totale netto della voce (al netto di eventuali sconti) – IVA esclusa. Deve essere sempre indicato. |
|
| GrossValue | M |
Totale lordo della posizione (al netto di eventuali sconti) – IVA inclusa. Deve essere sempre indicato. |
|
| TaxValue | M |
Totale IVA della posizione (al netto di eventuali sconti) Deve essere sempre indicato. |
|
| AccountingIdentifier | O | Identificatore aggiuntivo a fini contabili (interfaccia contabile) | |
| ItemTaxType | M* |
Tipo di imposta della posizione:
Dettagli sul Paese:
|
|
| PositionNumber | M | Numero di posizione, a partire da 0 | |
| positionReference | O | Specificazione del numero di una voce a cui si deve fare riferimento | |
| cancellationPosition | O | "true" se questa posizione annulla una posizione di un altro documento; altrimenti "false". | |
| DeletedPosition | O | "true" se questa posizione è stata eliminata; altrimenti "false". | |
| CreateDate | O | Timestamp di creazione della posizione | |
[9] = Totale parziale
Posizione "SubTotal"
[10] = Totale
Posizione "Totale". Se si impiega DocumentPositionTotal, questa deve sempre essere l'ultima posizione nel documento (il PositionNumber più alto).
Esempio di 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": {}
}
],L’oggetto DocumentPositionTotal contiene le seguenti informazioni.
Informazioni nella colonna «Type»:
- M ... obbligatorio / richiesto
- M* ... obbligatorio / richiesto in determinati paesi o a determinate condizioni
- R ... raccomandato
- O... facoltativo
| Elementi | Tipo | Descrizione | |
| tipo | M | Tipo di posizione (DocumentPositionType) | |
| arrotondamento | O |
Arrotondamento applicato. Se la somma delle posizioni (valore lordo) non corrisponde all’importo del pagamento. Ad esempio, un valore di 0,01 consente scarti di arrotondamento pari a ±0,01. Nota: si consiglia di utilizzare con cautela. Valori elevati disabiliteranno la convalida dell’importo per l’importo del pagamento / il valore lordo del documento |
|
| BaseValue | M* | Importo base della voce prima dell’applicazione degli sconti (solo se vengono applicati sconti) | |
| valore | M | Valore della posizione comprensivo degli sconti. | |
| sconti | Dettagli relativi a sconti, riduzioni di prezzo, ecc. | ||
| DiscountValue | M |
Importo dello sconto / importo del ribasso
Attenzione:
se DiscountType [1] = discount, l’importo dello sconto deve essere inserito con 4 cifre decimali!
|
|
| caption | O | Denominazione dello sconto | |
| DiscountOrder | M* |
Indica l’ordine di calcolo dello sconto. Il primo sconto preso in considerazione assume valore 0. Deve essere specificato qualora a un articolo vengano applicati più sconti. |
|
| tipo | M |
Tipo di sconto Enum:
|
|
| TypeValue | M |
Valore dello sconto (somma della riduzione) nel caso di [0] = Sconto: il DiscountValue se [1] = Sconto: la percentuale (ad es. sconto del 10%) |
|
| PromotionKeys | O | PromotionKeys – se applicate (ad es. codice promozionale) | |
| identificatore | O | Identificatore aggiuntivo per lo sconto (utilizzabile, ad esempio, per raggruppare gli sconti in tipologie di sconto). | |
| didascalia | O | La designazione della posizione | |
| PositionNumber | M | Numero della posizione, a partire da 0 | |
| positionReference | O | Specificazione di un numero di posizione a cui fare riferimento | |
| cancellationPosition | O | "true" se questa posizione annulla una posizione di un altro documento; altrimenti "false". | |
| DeletedPosition | O | "true" se questa posizione è stata eliminata; altrimenti "false". | |
| CreateDate | O | Timestamp di creazione della posizione | |
Questo articolo è stato tradotto automaticamente.
Commenti
0 commenti
Accedi per aggiungere un commento.