I seguenti esempi JSON illustrano come gestire in RetailForce la ricezione di un acconto e il successivo trattamento di tale acconto al momento della consegna o della fornitura dei servizi. Si prega di notare che il termine utilizzato in RetailForce per indicare gli acconti/pagamenti anticipati è «deposito».
Si prega di notare che alcuni valori delle proprietà utilizzati negli esempi devono essere adeguati affinché sia possibile utilizzare il payload nel proprio sistema (ad es. "uniqueClientId", "BookDate"). Gli esempi sono stati inoltre creati per un Paese specifico, il che significa che anche le aliquote fiscali, gli importi lordi e netti, ecc. devono essere adeguati.
| Versione di rilascio per l’utente: | 1.11.16.2546 |
| Versione DOM: | 1.7.0 |
1. Acconto/Anticipo ricevuto
Nella prima fase viene emessa una ricevuta relativa all’acconto ricevuto:
- Il cliente effettua un versamento in contanti di 1.200 EUR a titolo di acconto per una fornitura o un servizio futuro.
Proprietà della transazione
La tabella sottostante illustra quali proprietà devono essere impostate su quali valori per rappresentare correttamente il caso aziendale.
| Proprietà | Valore | Descrizione |
| DocumentType | "0" o "[0] = Ricevuta" | da gestire tramite incasso in contanti |
| Tipo di voce | "3" o "[3] = Registrazione" | Un acconto ricevuto viene registrato come voce di tipo "3" (posizione di registrazione). |
| Posizioni.BusinessTransactionType | "7" o "[7] = Deposito" | Il tipo specifico di transazione commerciale (BusinessTransactionType) utilizzato è "7" (acconto). |
| Positions.VatIdentification | Se, nel Paese in questione, l’Vat deve essere indicata o versata già al momento della ricezione di un anticipo o di un acconto, è necessario specificare l’ID di categoria Vat corretto e calcolare l’Vat di conseguenza. | |
| Pagamenti.Tipo | "0" o "Contanti" | Poiché in questo caso specifico si tratta di un pagamento in contanti, occorre specificare di conseguenza anche la modalità di pagamento. |
Esempio:
{
"ModelVersion": "1.7.0",
"UniqueClientId": "3e2c0cdf-e72c-43ea-a050-686eb0eb3853",
"UniqueCashRegisterId": null,
"ApplicationVersion": "1.0.0",
"ApplicationVersionId": null,
"ApplicationVersionPrevious": null,
"FiscalModuleVersion": "1.11.0.0",
"FiscalCountryModuleVersion": null,
"SoftwareName": "RetailForce neverPOS",
"RetailForceReceiptId": null,
"AdditionalFields": {},
"AutomaticVatCalculation": 0,
"AllowedVatDeviation": 0.01,
"PrintCount": null,
"TerminalSlaveId": null,
"FooterGraphicIndex": null,
"DocumentGuid": "026f0809-88b8-48c2-9e96-6f3ba37f48ff",
"DocumentId": "0026",
"CreateDate": "2026-06-01T13:30:08+02:00",
"BookDate": "2026-06-01T13:30:08+02:00",
"AccountingDate": "2026-06-01T13:30:08+02:00",
"DocumentNumber": "202500026",
"DocumentNumberSeries": "SI",
"CancellationDocument": false,
"FailedToPay": false,
"DocumentReference": null,
"IsTraining": false,
"TestCaseNumber": null,
"DocumentType": 0,
"DocumentTypeCaption": "POS-Receipt",
"User": {
"Id": "1",
"Caption": "User01",
"FirstName": "Joe",
"LastName": "Dowe",
"TaxNumber": null,
"DateOfEntry": "2025-09-23T15:11:08.6041978+02:00"
},
"SalesPerson": null,
"AllocationGroups": [],
"CustomerCount": null,
"Partner": null,
"Notes": null,
"PaymentTerms": null,
"ServicePeriodStart": null,
"ServicePeriodEnd": null,
"PositionCount": 1,
"DocumentIssueType": null,
"Coupon": null,
"ServiceType": null,
"IsEcommerceTransaction": null,
"TaxPositions": null,
"FiscalDocumentNumber": 0,
"FiscalDocumentRevision": 0,
"FiscalDocumentStartTime": 0,
"Positions": [
{
"PositionNumber": 0,
"Caption": "Downpayment for Order",
"Type": 3,
"BusinessTransactionType": 7,
"PayOutType": null,
"VatIdentification": 1,
"VatPercent": 200.0,
"NetValue": 1000.00,
"GrossValue": 1200.00,
"TaxValue": 200.00,
"AdditionalFields": {},
"ExternalIdentifier": []
}
],
"Payments": [
{
"Amount": 1200.00,
"CurrencyIsoCode": "EUR",
"Caption": "Bar",
"UniqueReadablePaymentIdentifier": "BAR",
"ForeignAmount": 0,
"ForeignAmountExchangeRate": 0,
"AdditionalFields": {},
"PaymentType": 0,
"CreateDate": null,
"VatIdentification": null,
"VatPercent": null,
"VatPercent2": null,
"TaxValue": null,
"TaxValue2": null,
"ExternalIdentifier": [],
"User": null,
"SalesPerson": null,
"PaymentTerminalReferenceId": null,
"CardData": null
}
],
"AdditionalHeader": [],
"AdditionalFooter": [],
"FiscalAdditionalFields": {}
}
2. Regolamentazione del pagamento finale
Al momento della consegna o dell’erogazione dei servizi (ad esempio, quando il cliente ritira la merce ordinata), il cliente è tenuto a saldare il saldo residuo relativo al valore totale della merce:
- Valore totale della merce/dei servizi: 2.979,90 EUR
- Tenendo conto dell’acconto di 1.200 EUR
- Il committente liquida il saldo residuo (1.779,90 EUR) anch’esso in contanti
L’acconto può essere riportato nel documento finale in due modi diversi:
Opzione 1 – Acconto come voce
In questa variante, l’acconto viene incluso nel payload come voce negativa (l’opposto della voce presente nel payload originale).
Proprietà della transazione
La tabella sottostante illustra quali proprietà devono essere impostate su quali valori per mappare correttamente il caso aziendale.
| Proprietà | Valore | Descrizione |
| DocumentType | "0" o "[0] = Ricevuta" | da gestire tramite incasso in contanti |
| Tipo di posizione | "0" o "[0] = Articolo" | Per la posizione articolo 0 (l’articolo ordinato dal cliente per il quale è stato versato un acconto) |
| Posizioni.BusinessTransactionType | "0" o "[0] = Revenue" | Per la posizione 0 (l’articolo ordinato dal cliente per il quale è stato versato un acconto) |
| Positions.Type | "3" o "[3] = Prenotazione" | Per registrare l’acconto ricevuto, si impiega la voce 1 di tipo "3" (posizione di prenotazione) – come nel primo esempio. Tuttavia, i valori (GrossValue, NetValue, ecc.) associati a tale posizione risultano negativi. |
| Positions.BusinessTransactionType | "7" o "[7] = Acconto" | Il tipo specifico di transazione commerciale (BusinessTransactionType) utilizzato nella voce 1 è «7» (acconto). |
| Positions.VatIdentification | Anche l’IVA deve essere presa in considerazione al momento del regolamento dell’acconto. | |
| Payments.Type | "0" o "Contanti" |
Nella sezione «Pagamenti» viene indicato solo il pagamento residuo in contanti (Totale voci = Totale pagamenti). Calcolo: Posizione 0: 2.979,90 Posizione 1: -1.200,00 Totale posizioni: 1.779,90 Pagamenti: 1.779,90 (in contanti) Totale pagamenti: 1.779,90 |
Esempio:
{
"ModelVersion": "1.7.0",
"UniqueClientId": "3e2c0cdf-e72c-43ea-a050-686eb0eb3853",
"UniqueCashRegisterId": null,
"ApplicationVersion": "1.0.0",
"ApplicationVersionId": null,
"ApplicationVersionPrevious": null,
"FiscalModuleVersion": "1.11.0.0",
"FiscalCountryModuleVersion": null,
"SoftwareName": "RetailForce neverPOS",
"RetailForceReceiptId": null,
"AdditionalFields": {},
"AutomaticVatCalculation": 0,
"AllowedVatDeviation": 0.01,
"PrintCount": null,
"TerminalSlaveId": null,
"FooterGraphicIndex": null,
"DocumentGuid": "215f0809-88b8-48c2-9e96-6f3ba37f48ff",
"DocumentId": "0021",
"CreateDate": "2025-10-09T12:50:08+02:00",
"BookDate": "2025-10-09T12:50:08+02:00",
"AccountingDate": "2025-10-09T12:50:08+02:00",
"ProcessStartDate": "2025-10-09T12:50:08+02:00",
"DocumentNumber": "202500021",
"DocumentNumberSeries": "SI",
"CancellationDocument": false,
"FailedToPay": false,
"DocumentReference": null,
"IsTraining": false,
"TestCaseNumber": null,
"DocumentType": 0,
"DocumentTypeCaption": "POS-Receipt",
"User": {
"Id": "1",
"Caption": "User01",
"FirstName": "Joe",
"LastName": "Dowe",
"TaxNumber": null,
"DateOfEntry": "2025-09-23T15:11:08.6041978+02:00"
},
"SalesPerson": null,
"AllocationGroups": [],
"CustomerCount": null,
"Partner": null,
"Notes": null,
"PaymentTerms": null,
"ServicePeriodStart": null,
"ServicePeriodEnd": null,
"PositionCount": 2,
"DocumentIssueType": null,
"Coupon": null,
"ServiceType": null,
"IsEcommerceTransaction": null,
"TaxPositions": null,
"FiscalDocumentNumber": 0,
"FiscalDocumentRevision": 0,
"FiscalDocumentStartTime": 0,
"Positions": [
{
"PositionNumber": 0,
"ItemCaption": "RENOXA KnowPal 15.6 Untel Lore Ultra- Z9 399J 32GB RAM 512GB SSD RTX 3060 W11P",
"ItemShortCaption": "RENOXA KnowPal",
"ItemSerialNumber": null,
"Type": 0,
"Quantity": 2.0,
"QuantityUnit": {
"Id": "STK"
},
"ItemType": 0,
"ItemId": "RKP156UZ9",
"ItemTaxType": 0,
"InHouse": true,
"ItemGroupId": "1000",
"ItemGroupCaption": "Notebooks",
"BusinessTransactionType": 0,
"CostPrice": 2979.90,
"BaseNetValue": 2483.25,
"BaseGrossValue": 2979.90,
"BaseTaxValue": 496.65,
"Discounts": [],
"VatIdentification": 1,
"VatPercent": 20.0,
"NetValue": 2483.25,
"GrossValue": 2979.90,
"TaxValue": 496.65,
"AdditionalFields": {},
"ExternalIdentifier": []
},
{
"PositionNumber": 1,
"Caption": "Downpayment for Order",
"Type": 3,
"BusinessTransactionType": 7,
"PayOutType": null,
"VatIdentification": 1,
"VatPercent": 20.0,
"NetValue": -1000.00,
"GrossValue": -1200.00,
"TaxValue": -200.00,
"AdditionalFields": {},
"ExternalIdentifier": []
}
],
"Payments": [
{
"Amount": 1779.90,
"CurrencyIsoCode": "EUR",
"Caption": "Bar",
"UniqueReadablePaymentIdentifier": "Cash",
"ForeignAmount": 0,
"ForeignAmountExchangeRate": 0,
"AdditionalFields": {},
"PaymentType": 0,
"CreateDate": null,
"VatIdentification": null,
"VatPercent": null,
"VatPercent2": null,
"TaxValue": null,
"TaxValue2": null,
"ExternalIdentifier": [],
"User": null,
"SalesPerson": null,
"PaymentTerminalReferenceId": null,
"CardData": null
}
],
"AdditionalHeader": [],
"AdditionalFooter": [],
"FiscalAdditionalFields": {}
}
Opzione 2 – Deposito a titolo di pagamento
In questa variante, il deposito ricevuto viene indicato come voce di pagamento nel payload.
Proprietà della transazione
La tabella sottostante illustra quali proprietà devono essere impostate su quali valori per mappare correttamente il caso aziendale.
| Proprietà | Valore | Descrizione |
| DocumentType | "0" oppure "[0] = Ricevuta" | da gestire tramite incasso in contanti |
| Tipo di posizione | "0" o "[0] = Articolo" | Per la posizione articolo 0 (l’articolo ordinato dal cliente per il quale è stato versato un acconto) |
| Posizioni.BusinessTransactionType | "0" o "[0] = Revenue" | Per la posizione 0 (l’articolo ordinato dal cliente per il quale è stato versato un acconto) |
| Pagamenti.Tipo | "0" o "Contanti" | La sezione “Pagamenti” comprende due voci: 1. Il saldo residuo pagato in contanti, e... |
| Tipo di pagamento | "6" oppure "[6] = Acconto" |
... il deposito ricevuto (valore positivo). Calcolo: Posizione 0: 2.979,90 Totale posizioni: 2.979,90 Pagamenti: 1.779,90 (in contanti) Pagamenti: 1.200,00 (Deposito) Totale pagamenti: 2.979,90 |
| Pagamenti.VatPercent | Qualora, nel Paese di riferimento, il Vat debba essere già indicato o versato al momento della ricezione di un anticipo o di un acconto, anche il Vat già dichiarato deve essere specificato di conseguenza nell’oggetto «Pagamenti»! | |
| Pagamenti.TaxValue | Se, nel Paese in questione, il Vat deve già essere indicato o versato al momento della ricezione di un pagamento anticipato o di un acconto, anche il Vat già dichiarato deve essere specificato di conseguenza nell’oggetto «Pagamenti»! |
Esempio:
{
"ModelVersion": "1.7.0",
"UniqueClientId": "3e2c0cdf-e72c-43ea-a050-686eb0eb3853",
"UniqueCashRegisterId": null,
"ApplicationVersion": "1.0.0",
"ApplicationVersionId": null,
"ApplicationVersionPrevious": null,
"FiscalModuleVersion": "1.11.0.0",
"FiscalCountryModuleVersion": null,
"SoftwareName": "RetailForce neverPOS",
"RetailForceReceiptId": null,
"AdditionalFields": {},
"AutomaticVatCalculation": 0,
"AllowedVatDeviation": 0.01,
"PrintCount": null,
"TerminalSlaveId": null,
"FooterGraphicIndex": null,
"DocumentGuid": "026f0809-88b8-48c2-9e96-6f3ba37f48ff",
"DocumentId": "0026",
"CreateDate": "2026-06-10T14:39:08+02:00",
"BookDate": "2026-06-10T14:39:08+02:00",
"AccountingDate": "2026-06-10T14:39:08+02:00",
"DocumentNumber": "202500026",
"DocumentNumberSeries": "SI",
"CancellationDocument": false,
"FailedToPay": false,
"DocumentReference": null,
"IsTraining": false,
"TestCaseNumber": null,
"DocumentType": 0,
"DocumentTypeCaption": "POS-Receipt",
"User": {
"Id": "1",
"Caption": "User01",
"FirstName": "Joe",
"LastName": "Dowe",
"TaxNumber": null,
"DateOfEntry": "2025-09-23T15:11:08.6041978+02:00"
},
"SalesPerson": null,
"AllocationGroups": [],
"CustomerCount": null,
"Partner": null,
"Notes": null,
"PaymentTerms": null,
"ServicePeriodStart": null,
"ServicePeriodEnd": null,
"PositionCount": 1,
"DocumentIssueType": null,
"Coupon": null,
"ServiceType": null,
"IsEcommerceTransaction": null,
"TaxPositions": null,
"FiscalDocumentNumber": 0,
"FiscalDocumentRevision": 0,
"FiscalDocumentStartTime": 0,
"Positions": [
{
"PositionNumber": 0,
"ItemCaption": "RENOXA KnowPal 15.6 Untel Lore Ultra- Z9 399J 32GB RAM 512GB SSD RTX 3060 W11P",
"ItemShortCaption": "RENOXA KnowPal",
"ItemSerialNumber": null,
"Type": 0,
"Quantity": 2.0,
"QuantityUnit": {
"Id": "STK"
},
"ItemType": 0,
"ItemId": "RKP156UZ9",
"ItemTaxType": 0,
"InHouse": true,
"ItemGroupId": "1000",
"ItemGroupCaption": "Notebooks",
"BusinessTransactionType": 0,
"CostPrice": 2979.90,
"BaseNetValue": 2483.25,
"BaseGrossValue": 2979.90,
"BaseTaxValue": 496.65,
"Discounts": [],
"VatIdentification": 1,
"VatPercent": 20.0,
"NetValue": 2483.25,
"GrossValue": 2979.90,
"TaxValue": 496.65,
"AdditionalFields": {},
"ExternalIdentifier": []
}
],
"Payments": [
{
"Amount": 1779.90,
"CurrencyIsoCode": "EUR",
"Caption": "Bar",
"UniqueReadablePaymentIdentifier": "Cash",
"ForeignAmount": 0,
"ForeignAmountExchangeRate": 0,
"AdditionalFields": {},
"PaymentType": 0,
"CreateDate": null,
"VatIdentification": null,
"VatPercent": null,
"VatPercent2": null,
"TaxValue": null,
"TaxValue2": null,
"ExternalIdentifier": [],
"User": null,
"SalesPerson": null,
"PaymentTerminalReferenceId": null,
"CardData": null
},
{
"Amount": 1200.00,
"CurrencyIsoCode": "EUR",
"Caption": "Anzahlung",
"UniqueReadablePaymentIdentifier": "Deposit",
"ForeignAmount": 0,
"ForeignAmountExchangeRate": 0,
"AdditionalFields": {},
"PaymentType": 6,
"CreateDate": null,
"VatIdentification": 1,
"VatPercent": 20.0,
"VatPercent2": null,
"TaxValue": 200.00,
"TaxValue2": null,
"ExternalIdentifier": [],
"User": null,
"SalesPerson": null,
"PaymentTerminalReferenceId": null,
"CardData": null
}
],
"AdditionalHeader": [],
"AdditionalFooter": [],
"FiscalAdditionalFields": {}
}
Questo articolo è stato tradotto automaticamente.
Commenti
0 commenti
Accedi per aggiungere un commento.