Neste artigo, irá aprender a transmitir descontos e sobretaxas para o RetailForce Middleware.
Pré-requisitos
- Experiência básica com o modelo de documentos do RetailForce
Informações
Descontos e sobretaxas suportados
Atualmente, os descontos e sobretaxas podem ser transferidos no payload do documento da seguinte forma:
- Como parte da posição de cada artigo e, por conseguinte, como um desconto ou sobretaxa para o respetivo artigo
- Dentro de uma posição do tipo «Total» (Nota: consulte abaixo as considerações especiais)
- Como uma posição separada de desconto/sobretaxa
Nota: A opção 2 poderá não ser suportada em todos os países. Consulte fiscalCountryProperties para o país em questão.
A transferência de descontos/sobretaxas em todas as posições de item através de subtotais ou totais não é, de momento, suportada. Todos os descontos e sobretaxas devem ser convertidos para todas as posições.
No entanto, é possível transferir vários descontos ou sobretaxas por artigo.
Importante: A soma de todos os valores de desconto ou sobretaxas por artigo deve ser igual à diferença entre «GrossValue» e «BaseGrossValue»; caso contrário, a validação falhará.
Possível transferência de descontos e sobretaxas
Variante 1
Os descontos ou sobretaxas são incluídos na respetiva posição do item na matriz «Discounts».
Exemplo:
O exemplo seguinte apresenta apenas um excerto e não a posição completa do item.
"BaseNetValue": 123.08,
"BaseGrossValue": 147.70,
"BaseTaxValue": 24.62,
"VatIdentification": 1,
"VatPercent": 20.0,
"Discounts": [
{
"DiscountValue": 14.7700,
"Caption": "Regular customer discount 10%",
"DiscountOrder": 0,
"Type": 1,
"TypeValue": 10,
"PromotionKeys": null,
"Identifier": "SKR-10"
}
],
"NetValue": 110.78,
"GrossValue": 132.93,
"TaxValue": 22.16,Poderá encontrar detalhes sobre os elementos individuais no artigo «Objeto de posição “posições”».
No exemplo acima, é aplicado um desconto de 10% («TypeValue: 10»). O «DiscountValue» é calculado a partir do «BaseGrossValue» (valor antes do desconto). Para calcular o «GrossValue», o «DiscountValue» é subtraído do «GrossValue».
Sobretaxas
Ao transferir sobretaxas, tenha em atenção o seguinte:
- O «DiscountValue» e o «TypeValue» são valores NEGATIVOS no caso das sobretaxas!
Tipos de descontos e sobretaxas
«Discounts.Type» especifica o tipo de desconto ou sobretaxa:
| Tipo | Descrição | Elemento |
| desconto/sobretaxa como valor total |
O desconto/sobretaxa é especificado como um valor fixo, por exemplo, «desconto de 15 EUR» ou «taxa de serviço de 5 EUR». Neste caso, «DiscountValue» e «TypeValue» têm o mesmo valor. |
"Type": "[0] = Allowance" ou: "Type": 0 |
| desconto/sobretaxa percentual |
A sobretaxa/desconto é especificada como um valor percentual, por exemplo, «10 % de desconto nos artigos» ou «5 % de taxa de serviço». Aqui, «TypeValue» especifica o valor percentual, sendo que «DiscountValue» é calculado a partir do respetivo «BaseGrossValue» do artigo. Nota: No caso de descontos percentuais, «DiscountValue» deve ser sempre calculado com 4 casas decimais! |
"Type": "[1] = Discount" ou: "Type": 1 |
Descontos/sobretaxas múltiplos
A matriz «Discounts» pode conter vários descontos/sobretaxas.
A ordem em que os descontos ou sobretaxas individuais são aplicados para calcular o «GrossValue» é definida por «DiscountOrder», sendo que o primeiro desconto a ser aplicado tem o valor «0».
Exemplo de descontos múltiplos:
No exemplo seguinte, é primeiro aplicado um desconto percentual de 10% a um artigo, seguido de um desconto de 5 EUR.
"BaseNetValue": 123.08,
"BaseGrossValue": 147.70,
"BaseTaxValue": 24.62,
"VatIdentification": 1,
"VatPercent": 20.0,
"Discounts": [
{
"DiscountValue": 14.7700,
"Caption": "Regular customer discount 10%",
"DiscountOrder": 0,
"Type": 1,
"TypeValue": 10,
"PromotionKeys": null,
"Identifier": "SKR-10"
},
{
"DiscountValue": 5.0000,
"Caption": "Special discount 5 EUR",
"DiscountOrder": 1,
"Type": 0,
"TypeValue": 5.0,
"PromotionKeys": null,
"Identifier": "SKR-10"
}
],
"NetValue": 106.61,
"GrossValue": 127.93,
"TaxValue": 21.32,Característica especial da posição «Total»
Os descontos ou sobretaxas também podem ser transferidos como parte de um item «Total» (item de soma).
No entanto, é importante referir que NÃO basta especificar isso no item «Total». O desconto deve ser distribuído proporcionalmente pelas posições individuais dos itens. Por exemplo, se for apresentado um desconto de 10 % no item «Total», os itens individuais também devem apresentar um desconto de 10 %.
Exemplo:
{
"PositionNumber": 1,
"Type": 10,
"Rounding": null,
"BaseValue": 147.70,
"Value": 132.93,
"Discounts":[
{
"Identifier": "SKR-10",
"Caption": "Regular customer discount 10%",
"Type": 1,
"DiscountOrder": 0,
"DiscountValue": 14.7700,
"TypeValue": 10
}
],
"Caption": "Summe"
}
Variante 2
Na maioria dos países, os descontos e sobretaxas também podem ser transferidos como itens separados. O desconto ou a sobretaxa é tido em conta no cálculo do total do documento.
Os descontos são transferidos como valores negativos, as sobretaxas como valores positivos!
Esses descontos ou sobretaxas são definidos através do «BusinessTransactionType»: «[1] = Desconto».
Exemplo:
No exemplo seguinte, é apresentado um desconto de 12 EUR como um item separado.
{
"PositionNumber": 1,
"Type": 3,
"Caption": "Discount",
"Identifier": "Discount",
"BusinessTransactionType": 1,
"VatIdentification": 1,
"VatPercent": 20.0,
"NetValue": -10.0,
"GrossValue": -12.0,
"TaxValue": -2.0
}
Este artigo foi traduzido automaticamente.
Comentários
0 comentários
iniciar sessão para comentar.