Os exemplos JSON que se seguem mostram como o recebimento de um adiantamento e o tratamento subsequente desse adiantamento aquando da entrega ou prestação de serviços podem ser geridos no RetailForce. Tenha em atenção que o termo utilizado no RetailForce para adiantamentos/pagamentos antecipados é «depósito».
Tenha em atenção que determinados valores de propriedade utilizados nos exemplos devem ser ajustados para que possa utilizar a payload no seu sistema (por exemplo, «uniqueClientId», «BookDate»). Os exemplos foram também criados para um país específico, o que significa que as taxas de imposto, os montantes brutos e líquidos, etc., também devem ser ajustados.
| Release para o utilizador: | 1.11.16.2546 |
| Versão DOM: | 1.7.0 |
1. Depósito/adiantamento recebido
Na primeira etapa, é criado um recibo relativo ao adiantamento recebido:
- O cliente efetua um depósito em dinheiro no valor de 1 200 EUR para uma entrega ou prestação de serviço futura.
Propriedades da transação
A tabela abaixo indica quais as propriedades que devem ser definidas com quais valores, de modo a refletir corretamente o caso de negócio.
| Propriedade | Valor | Descrição |
| DocumentType | «0» ou «[0] = Recibo» | a tratar através de um recibo de caixa |
| Tipo de Posição | «3» ou «[3] = Lançamento» | Um depósito recebido é registado como um item de linha do tipo «3» (posição de lançamento). |
| Posições.BusinessTransactionType | «7» ou «[7] = Depósito» | O tipo específico de transação comercial (BusinessTransactionType) utilizado é «7» (depósito). |
| Positions.VatIdentification | Se, no país em questão, o Vat tiver de ser já indicado ou pago aquando da receção de um adiantamento ou depósito, deve ser especificado o ID da categoria de Vat correto e o Vat calculado em conformidade. | |
| Payments.Type | «0» ou «Dinheiro» | Uma vez que este caso específico envolve um pagamento em dinheiro, o método de pagamento deve também ser especificado em conformidade. |
Exemplo:
{
"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. Liquidação do pagamento final
Após a entrega ou prestação dos serviços (por exemplo, quando o cliente recolhe os bens que encomendou), o cliente deve liquidar o saldo em dívida do valor total dos bens:
- Valor total dos bens/serviços: 2 979,90 EUR
- Tendo em conta o adiantamento de 1 200 EUR
- O cliente paga também o saldo (1 779,90 EUR) em dinheiro
O depósito pode ser incluído no documento final de duas formas diferentes:
Opção 1 – Adiantamento como rubrica
Nesta variante, o adiantamento é incluído no payload como um item negativo (o oposto do item presente no payload original).
Propriedades da transação
A tabela abaixo indica quais as propriedades que devem ser definidas com quais valores, a fim de mapear corretamente o caso de negócio.
| Propriedade | Valor | Descrição |
| DocumentType | «0» ou «[0] = Recibo» | a tratar através de um recibo de caixa |
| Tipo de posição | «0» ou «[0] = Artigo» | Para a posição de artigo 0 (o artigo encomendado pelo cliente para o qual foi pago um adiantamento) |
| BusinessTransactionType | «0» ou «[0] = Revenue» | Para a posição do item 0 (o item encomendado pelo cliente para o qual foi pago um adiantamento) |
| Positions.Type | «3» ou «[3] = Reserva» | Para incluir o depósito recebido, utiliza-se o item 1 do tipo «3» (posição de reserva) – tal como no primeiro exemplo. No entanto, os valores (GrossValue, NetValue, etc.) para esta posição são negativos (!) |
| BusinessTransactionType | «7» ou «[7] = Depósito» | O tipo específico de transação comercial (BusinessTransactionType) utilizado no item 1 é «7» (depósito). |
| Positions.VatIdentification | O Vat também deve ser tido em conta quando o depósito for liquidado. | |
| Payments.Type | «0» ou «Dinheiro» |
Na secção «Pagamentos», apenas o pagamento restante é apresentado em dinheiro (Total de itens = Total de pagamentos). Cálculo: Posição 0: 2 979,90 Posição 1: -1 200,00 Total das posições: 1 779,90 Pagamentos: 1 779,90 (em dinheiro) Total de pagamentos: 1 779,90 |
Exemplo:
{
"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": {}
}
Opção 2 – Depósito como pagamento
Nesta variante, o depósito recebido é apresentado como um item de pagamento na payload.
Propriedades da transação
A tabela abaixo indica quais as propriedades que devem ser definidas com quais valores, de modo a mapear corretamente o caso de negócio.
| Propriedade | Valor | Descrição |
| DocumentType | «0» ou «[0] = Recibo» | a tratar através de um recibo de caixa |
| Tipo de posição | «0» ou «[0] = Artigo» | Para a posição de artigo 0 (o artigo encomendado pelo cliente para o qual foi pago um adiantamento) |
| BusinessTransactionType | «0» ou «[0] = Revenue» | Para a posição do item 0 (o item encomendado pelo cliente para o qual foi pago um adiantamento) |
| Pagamentos.Tipo | «0» ou «Dinheiro» | A secção «Pagamentos» inclui dois itens: 1. O saldo restante pago em dinheiro, e... |
| Tipo de Pagamento | «6» ou «[6] = Depósito» |
... o depósito recebido (valor positivo!). Cálculo: Posição 0: 2 979,90 Total de posições: 2 979,90 Pagamentos: 1 779,90 (em dinheiro) Pagamentos: 1 200,00 (Depósito) Total de pagamentos: 2 979,90 |
| Pagamentos.VatPercent | Caso, no país em questão, o Vat já tenha de ser indicado ou pago aquando da receção de um adiantamento ou depósito, o Vat que já tenha sido declarado deve também ser especificado em conformidade no objeto «Pagamentos»! | |
| Pagamentos.TaxValue | Se, no país em questão, o Vat tiver de ser já indicado ou pago aquando da receção de um adiantamento ou caução, o Vat que já tenha sido declarado deve também ser especificado em conformidade no objeto «Pagamentos»! |
Exemplo:
{
"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": {}
}
Este artigo foi traduzido automaticamente.
Comentários
0 comentários
iniciar sessão para comentar.