01. DADOS GERAIS
| Produto: | |
|---|
| Linha de Produto: | |
|---|
| Segmento: | |
|---|
| Módulo: | |
|---|
| 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 PVENDA original.
Ajuste de Referências: Recalcula proporcionalmente os impostos para o PTABELA e PBASERCA, 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: |
A funcionalidade é executada via chamada de API (REST). Siga os passos abaixo para atualização e uso: 1. Atualização do Serviço 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 ignorarRecalculoCabecalho for false (padrão), o valor total do pedido será atualizado. Se for true, o totalizador será mantido.
DEMAIS INFORMAÇÕESEsta 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
