01. DADOS GERAIS
| Produto: | TOTVS Distribuição e Varejo
|
|---|---|
| Linha de Produto: | Linha Winthor |
| Segmento: | Distribuição |
| Módulo: |
Vendas |
| Função: | Integrações |
| País: | Brasil |
| Requisito/Story/Issue (informe o requisito relacionado) : | DDVENDAS-55877 |
02. SITUAÇÃO/REQUISITO
Havia a necessidade de recalcular os tributos de um item do pedido de venda (devido a alterações de vigência, figura tributária) garantindo que o preço de venda final (PVENDA) negociado com o cliente permanecesse inalterado.
O sistema precisava ajustar as bases de cálculo e valores de impostos (IPI, ST, FECP, etc.) "de trás para frente", mantendo o valor total do item e preservando as proporções de descontos (Preço de Tabela - PTABELA) e conta corrente (Base RCA - PBASERCA).
03. SOLUÇÃO
Foi desenvolvida uma nova API no serviço winthor-venda (/winthor/venda/v0/pedido/item/recalculoTributos) capaz de recalcular bases, alíquotas e valores de impostos de um item específico sem alterar seu preço final.
O fluxo de execução da solução compreende:
Cálculo Reverso: O sistema utiliza o preço de venda atual como alvo para encontrar o novo preço base sem impostos.
Cálculo de Tributos: Aplica-se a tributação vigente (Desonerações, IPI, ST, Partilha, FECP, CBS, IBS, IS) sobre o novo preço base.
Persistência (Update): Atualiza os campos fiscais na tabela PCPEDI mantendo o
PVENDAoriginal.Ajuste de Referências: Recalcula proporcionalmente os impostos para o
PTABELAePBASERCA, garantindo a integridade de descontos e comissões/flex.Recálculo de Custos e Totais: Atualiza o CMV do item e permite controlar, via parâmetro, o recálculo dos totalizadores do cabeçalho do pedido (PCPEDC).
Rotinas e Dependências Para a utilização correta da funcionalidade, o ambiente deve possuir as seguintes atualizações:
Rotina: 801 - Atualização de Serviços (WinThor Anywhere).
- Serviço:
winthor-venda- Versão 0.38.28.13 ou superior.
- Serviço:
A funcionalidade é executada via chamada de API (REST). Siga os passos abaixo para atualização e uso:
1. Atualização do Serviço
Acesse a rotina 801 no WinThor Anywhere (WTA).
Localize e atualize o serviço winthor-venda para a versão indicada.
2. Consumo da API
Realize uma requisição POST para o endpoint de recálculo:
URL:
http://{URL-WTA}:{PORTA-WTA}/winthor/venda/v0/pedido/item/recalculoTributos
Parâmetros da Requisição (Query Params):
| Parâmetro | Tipo | Obrigatório | Descrição |
numeroPedido | Number | Sim | Número do pedido de venda (NUMPED). |
codigoProduto | Number | Sim | Código do produto (CODPROD). |
numeroSequencial | Number | Sim | Sequencial do item no pedido (NUMSEQ). |
ignorarRecalculoCabecalho | Boolean | Não | Define se o cabeçalho (PCPEDC) será recalculado. false (Padrão): Recalcula o cabeçalho. true: Mantém os totais do cabeçalho inalterados (útil para correção de itens isolados em vendas futuras/assistidas). |
acao | String | Não | Ação a ser executada. MANTER_PRECO_VENDA (Padrão). Outros valores: REPASSAR_PRECO_VENDA, QUEBRAR_PEDIDO, CORTAR_ITEM. |
Bash
curl --location --request POST 'http://localhost:8080/winthor/venda/v0/pedido/item/recalculoTributos?numeroPedido=19072&codigoProduto=106&numeroSequencial=2&ignorarRecalculoCabecalho=false' \
--header 'Authorization: Bearer {TOKEN}'
Comportamento Esperado:
Sucesso (200 OK): O retorno JSON confirmará:
"mensagem": "Recálculo dos tributos executado com sucesso".PVENDA: Permanecerá inalterado.
Impostos (ST, IPI): Serão atualizados na tabela PCPEDI conforme a regra fiscal vigente (Rotina 514/574/271).
Cabeçalho (PCPEDC): Se
ignorarRecalculoCabecalhoforfalse(padrão), o valor total do pedido será atualizado. Se fortrue, o totalizador será mantido.
Observações:
Esta API é utilizada internamente pelas rotinas de recálculo de pedidos (como na rotina 820) para garantir integridade fiscal sem afetar o acordo comercial com o cliente.
O recálculo respeita a parametrização de Usa Tributação por UF (Parâmetro 1092) e Utiliza Tributação Endereço de Entrega (Parâmetro 3922).
Validação de Inconsistências: A API valida a existência do pedido e a integridade dos dados, retornando mensagens de erro (400/404) caso o pedido não seja encontrado ou os parâmetros estejam incorretos.
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!