Histórico da Página
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
"ListOfSaleCondition": { "SaleCondition": [{ "DateOfPayment": "2020-11-26T00:00:00", "PaymentValue": 20, "PaymentMethodCode": "CC", "FinancialManagerCode": "", "UniqueSerialNumber": "145236", "EftDate": "2020-11-26T13:45:02", "EftAutorization": "123456789", "EftInstitute": "VISA", "EftDocument": "9985", "EftParcel": "1" }, { "DateOfPayment": "2020-11-26T00:00:00", "PaymentValue": 20, "PaymentMethodCode": "CC", "FinancialManagerCode": "", "UniqueSerialNumber": "145236", "EftDate": "2020-11-26T13:45:02", "EftAutorization": "123456789", "EftInstitute": "VISA", "EftDocument": "9985", "EftParcel": "2" }, { "DateOfPayment": "2020-11-26T00:00:00", "PaymentValue": 10, "PaymentMethodCode": "R$" } ] } |
10.4 - RetailSales - explicativo de tags do JSON com demonstrativo de como devem ser enviadas em determinados cenários
Nota | ||
---|---|---|
| ||
A seguir um recorte, um exemplo, da parte do JSON que é responsável pela forma de pagamento na integração Retail: |
Tags do JSON - Cabeçalho:
GrossPrice - tag que define o valor bruto, gravado no campo L1_VALBRUT, tag obrigatória.
CommodityPrice - tag que define o valor da mercadoria, gravado no campo L1_VALMERC, tag obrigatória.
TotalPrice - tag que define o valor total da venda, gravado no campo L1_VLRTOT, tag obrigatória.
NetPrice - tag que define o valor líquido, gravado no campo L1_VLRLIQ, tag obrigatória.
DiscountValue - tag que define o valor do desconto no total, gravado no campo L1_DESCONT, tag facultativa - tem tratamento caso receba valor negativo, será considerado o valor absoluto positivo.
DiscountPercent - tag que define o percentual do desconto no total, gravado no campo L1_DESCNF, tag facultativa.
FreightValue - tag que define o valor do frete no total, gravado no campo L1_FRETE, tag facultativa.
Tags do JSON - Itens:
ItemTablePrice - tag que define o preço de tabela do produto, gravado no campo L2_PRCTAB, tag facultativa - caso não seja enviada ou zerada recebe o conteúdo da tag UnitPrice.
Quantity - tag que define a quantidade, gravado no campo L2_QUANT, tag obrigatória.
UnitPrice - tag que define o preço unitário do item, gravado no campo L2_VRUNIT, tag obrigatória.
ItemPrice - tag que define o valor do item, gravado no campo L2_VLRITEM, tag obrigatória - caso não seja enviada ou zerada é efetuada o cálculo da tags: Quantity * UnitPrice.
DiscountPercentage - tag que define o percentual do desconto do item, gravado no campo L2_DESC, tag facultativa.
DiscountAmount - tag que define o valor de desconto do item, gravado no campo L2_VALDESC, tag facultativa.
FreightValueProrated - tag que define o valor rateado de frete do total, nos itens, gravado no campo L2_VALFRE, tag facultativa.
Tags do JSON - Pagamento:
PaymentValue - tag que define o valor do pagamento, gravado no campo L4_VALOR, tag obrigatória.
PERGUNTAS
1- Os valores de Frete são validados?
Sim, os valores das tags <FreightValue > (Cabeçalho) e a soma das tags <FreightValueProrated> (Itens), devem dar o mesmo valor, senão haverá rejeição da venda enviada.
2- Os valores finais da venda são validados ?
Sim, deve haver compatibilidade dos valores enviados, a soma: itens - descontos no itens + frete do item, deve ser igual a soma: valor venda - desconto no total + frete total, sendo ainda igual
ao total em valor das formas de pagamento.
3- a tag <NetPrice> em uma venda SEM frete e tendo desconto no total, como devo enviar ?
Ela deve ser enviada com o valor líquido, ou seja subtraindo o desconto.
Exe.:
Produto no valor de $100
<FreightValue> = 0
<DiscontValue> = 10
<NetPrice> = 90
4- a tag <NetPrice> em uma venda COM frete e tendo desconto no total, como devo enviar ?
Ela deve ser enviada com o valor do produto somando o frete e subtraindo o desconto.
Exe.:
Produto no valor de $100 / Frete de $5
<FreightValue> = 0
<DiscontValue> = 10
<NetPrice> = 95
<FreightValue> = 5
5- Quando preencho a tag <DiscountValue> ?
Somente quando houver desconto no total
6- Quando preencho a tag <FreightValueProrated> ?
Somente quando a tag <FreightValue> for maior do que zero.
7- Como funciona quando tenho um do tipo IPI ?
A partir da TES - Tipo de Entrada e Saída enviada na tag <OperatorCode>, deve estar configurada para calcular o IPI tanto Bruto quanto Líquido.
8- Como funciona a tag <ItemPrice> ?
No desconto total, deve ser enviado normalmente com o preço de tabela;
No desconto do item, deve ser enviado com o desconto do item dividido pela quantidade;
No frete, deve ser enviado normalmente com o preço de tabela.
10.4.1 - Exemplo de envio - VENDA COM DESCONTO NO TOTAL (JSON recortado somente com a tags importantes para entendimento):
Preço Unitário = $10 / Desconto no Total = $5 / Quantidade = 2
Bloco de código | ||||
---|---|---|---|---|
| ||||
"Content": {
"TotalPrice": 15,
"DiscountValue": 5,
"NetPrice": 15,
"GrossPrice": 15,
"CommodityPrice": 20,
"FreightValue": 0,
"ListOfSaleItem": {
"SaleItem": [{
"Quantity": 2,
"ItemTablePrice": 10,
"UnitPrice": 10,
"ItemPrice": 20,
"FreightValueProrated": 0,
"DiscountAmount": 0,
}
]
},
"ListOfSaleCondition": {
"SaleCondition": [
{
"PaymentValue": 15,
"PaymentMethodCode": "R$",
"FinancialManagerCode": "",
"DateOfPayment": "2021-06-18",
"UniqueSerialNumber": null
}
]
}
} |
10.4.2 - Exemplo de envio - VENDA COM DESCONTO NO ITEM (JSON recortado somente com a tags importantes para entendimento):
Preço Unitário = $10 / Desconto no Item = $5 / Quantidade = 2
- a tag <UnitPrice> : deve ser enviada, considerando: Preço de Tabela do Produto - (Valor de Desconto do Item / Quantidade)
- a tag <ItemPrice> : deve ser enviada considerando: (Preço Unitário * Quantidade) - Valor de Desconto do Item
Bloco de código | ||||
---|---|---|---|---|
| ||||
"Content": {
"TotalPrice": 15,
"DiscountValue": 0,
"NetPrice": 15,
"GrossPrice": 15,
"CommodityPrice": 20,
"FreightValue": 0,
"ListOfSaleItem": {
"SaleItem": [{
"Quantity": 2,
"ItemTablePrice": 10,
"UnitPrice": 7.5,
"ItemPrice": 15,
"FreightValueProrated": 0,
"DiscountAmount": 0,
}
]
},
"ListOfSaleCondition": {
"SaleCondition": [
{
"PaymentValue": 15,
"PaymentMethodCode": "R$",
"FinancialManagerCode": "",
"DateOfPayment": "2021-06-18",
"UniqueSerialNumber": null
}
]
}
} |
10.4.3 - Exemplo de envio - VENDA COM FRETE (JSON recortado somente com a tags importantes para entendimento):
Preço Unitário = $10 / Desconto no Total = $0 / Frete = $15 / Quantidade = 2
Bloco de código | ||||
---|---|---|---|---|
| ||||
"Content": {
"TotalPrice": 35,
"DiscountValue": 0,
"NetPrice": 35,
"GrossPrice": 35,
"CommodityPrice": 35,
"FreightValue": 15,
"ListOfSaleItem": {
"SaleItem": [{
"Quantity": 2,
"ItemTablePrice": 10,
"UnitPrice": 10,
"ItemPrice": 20,
"FreightValueProrated": 15,
"DiscountAmount": 0,
}
]
},
"ListOfSaleCondition": {
"SaleCondition": [
{
"PaymentValue": 35,
"PaymentMethodCode": "R$",
"FinancialManagerCode": "",
"DateOfPayment": "2021-06-18",
"UniqueSerialNumber": null
}
]
}
} |
10.4.4 - Exemplo de envio - VENDA COM FRETE e desconto no TOTAL (JSON recortado somente com a tags importantes para entendimento):
Preço Unitário = $10 / Desconto no Total = $5 / Frete = $15 / Quantidade = 2
Bloco de código | ||||
---|---|---|---|---|
| ||||
"Content": {
"TotalPrice": 30,
"DiscountValue": 5,
"NetPrice": 30,
"GrossPrice": 30,
"CommodityPrice": 35,
"FreightValue": 15,
"ListOfSaleItem": {
"SaleItem": [{
"Quantity": 2,
"ItemTablePrice": 10,
"UnitPrice": 10,
"ItemPrice": 20,
"FreightValueProrated": 15,
"DiscountAmount": 0,
}
]
},
"ListOfSaleCondition": {
"SaleCondition": [
{
"PaymentValue": 35,
"PaymentMethodCode": "R$",
"FinancialManagerCode": "",
"DateOfPayment": "2021-06-18",
"UniqueSerialNumber": null
}
]
}
} |
10.4.5 - Exemplo de envio - VENDA COM FRETE e desconto no ITEM (JSON recortado somente com a tags importantes para entendimento):
Preço Unitário = $10 / Desconto no Item= $5 / Frete = $15 / Quantidade = 2
- a tag <UnitPrice> : deve ser enviada, considerando: Preço de Tabela do Produto - (Valor de Desconto do Item / Quantidade)
- a tag <ItemPrice> : deve ser enviada considerando: (Preço Unitário * Quantidade) - Valor de Desconto do Item
Bloco de código | ||||
---|---|---|---|---|
| ||||
"Content": {
"TotalPrice": 30,
"DiscountValue": 0,
"NetPrice": 30,
"GrossPrice": 30,
"CommodityPrice": 35,
"FreightValue": 15,
"ListOfSaleItem": {
"SaleItem": [{
"Quantity": 2,
"ItemTablePrice": 10,
"UnitPrice": 7.5,
"ItemPrice": 15,
"FreightValueProrated": 15,
"DiscountAmount": 5,
}
]
},
"ListOfSaleCondition": {
"SaleCondition": [
{
"PaymentValue": 30,
"PaymentMethodCode": "R$",
"FinancialManagerCode": "",
"DateOfPayment": "2021-06-18",
"UniqueSerialNumber": null
}
]
}
} |
11- Configuração de Administradora Financeira - Geração de Contas a Receber calculo de Data de Vencimento
...