01. DADOS GERAIS
| Produto: | TOTVS Distribuição e Varejo
|
|---|---|
| Linha de Produto: | Linha Winthor |
| Segmento: | Distribuição |
| Módulo: |
Vendas |
| Função: | API |
| País: | Brasil |
| Ticket: | 24812795 |
| Requisito/Story/Issue (informe o requisito relacionado) : | DDVENDAS-55625 |
02. SITUAÇÃO/REQUISITO
Foi reportado por clientes que, após a atualização do winthor-pedido-venda, ao acionar a API de Preços, o valor do preço do produto está retornando sem os impostos. Antes da atualização, o preço era retornado cheio, ou seja, com todos os impostos inclusos.
Essa alteração está gerando divergências nas aplicações que utilizam este campo para enviar o preço para as plataformas, pois estas aplicações liam somente este campo.
Por exemplo, um produto pode estar retornando o valor de 74,801691 na API, enquanto seu preço final na Rotina 201 é 93,137018. Embora o valor de 74,801691 somado ao IPI e ST (retornados na própria API) componha o valor final de 93,137018, o layout exige que a informação do campo seja buscada pela composição total do preço (PCTABPR.PVENDA1), necessitando que o preço venha composto dos impostos.
03. SOLUÇÃO
A solução implementada consiste em ajustar a API Retornar Lista de Preços para que o campo de preço principal (price) retorne o valor composto dos impostos (IPI e ST, se aplicável), alinhando-se ao campo de banco de dados mapeado (PCTABPR.PVENDA1) e garantindo que o preço retornado seja o preço de venda final configurado na Rotina 201.
Após a validação, a execução do endpoint Retornar Lista de Preços deve retornar o campo price com o preço de venda já somado ao imposto.
Para que o preço retorne com o IPI na API de Preços, são necessárias as seguintes atualizações e parametrizações:
Rotinas e Dependências:
- Atualizar winthor-pedido-venda para a versão 1.38.3.7 ou superior.
Parâmetros (Rotina 132 - Parâmetros da Presidência):
- Parâmetro 4257 - CODREGIAOPRECOCIASHOP: Deve estar configurado com o número de uma região de preço válida.
- Parâmetro 1993 - Calcular preço de venda com IPI (parâmetro para toda a empresa): Deve estar marcado como Sim. Essa marcação é essencial para que o sistema inclua o IPI no cálculo do preço de venda na Rotina 201.
- Parâmetro 2210 - Calcular preço de venda com IPI (parâmetro por filial): Deve ser verificado, pois ele pode sobrescrever a regra definida no Parâmetro 1993, aplicando a regra por filial.
Parametrizações Fiscais e Tributárias:
- Rotina 271 - Cadastrar Tributação do Produto: Informe o produto e verifique a coluna %IPI Venda Futuro e preencha o percentual de IPI que deve ser considerado na precificação.
- Rotina 514 - Cadastrar Tipo de Tributação: Esta rotina define o cálculo do ST na venda (se aplicável), incluindo se o IPI deve ou não compor a base de cálculo do ST.
Rotina 302 - Cadastrar Cliente: O cliente deve estar parametrizado para calcular ST (pcclient.calculast = S).
O preço do produto na Rotina 201 será sugerido utilizando o Custo do produto (que já pode incluir ST de entrada e IPI de entrada) para sugerir o preço de venda, respeitando a margem e adicionando o IPI na venda, caso o parâmetro 1993 esteja marcado.
- Acesse a Rotina 201 (Cálculo e Cadastro de Preço de Venda).
- Informe a Filial e os demais filtros.
- Informe o Produto e clique em Pesquisar.
- Na coluna do produto, preencha a Margem Futura ou o Preço Futuro desejado. O sistema calculará o Preço Sugerido, adicionando o IPI de venda se os parâmetros estiverem marcados.
- Verifique o campo % IPI (na grade superior), que deve mostrar o percentual de IPI de venda considerado.
- Clique em Confirmar e, em seguida, em Aplicar Preços para Venda Externa para que o novo preço entre em vigor nas regiões selecionadas.
Validação da API:
- Realize a Autenticação WTA executando o endpoint http://{{host}}:{{port}}/winthor/autenticacao/v1/login.
- Execute o endpoint Retornar Lista de Preços: http://{{host}}:{{port}}/api/wholesale/v1/price/list?branchId=1&productSKUERPReferenceKey=10
Resultado Esperado: O endpoint deve retornar o status 200 OK, e os campos price, pricingIpi e pricingSt devem retornar valores semelhantes aos precificados na Rotina 201. O campo price deve conter o preço de venda com imposto.
04. DEMAIS INFORMAÇÕES
Importante!
As versões estarão disponíveis para download no CCW.
https://centraldecontrole.pcinformatica.com.br/
Mantenha suas rotinas sempre atualizadas!
05. ASSUNTOS RELACIONADOS
- Documentação API: https://tdn.totvs.com/pages/releaseview.action?pageId=632108371#tabs-passo1.