PROC001 – Aplicar desconto/acréscimo Projeto/Sistema:GERENCIAMENTO DE PROJETOS Versão do Template:1.2 Processo:PROC001 – Aplicar desconto/acréscimo Versão do Documento:1.0 Responsável(eis): Jalile Cornachioni Data: 10/11/2025 1. Introdução Definir o comportamento padrão para aplicação de desconto ou acréscimo durante o fluxo de pagamento unificado, considerando regras de interface, regras de negócio e impactos técnicos. 2. Processo (adicionar fluxograma exemplo) -- Fluxograma PROC001 - Aplicar desconto/acréscimo -- Processo Envolvidos Dados de Entrada Dados de Saída PROC001 - Aplicar desconto/acréscimo Frente de caixa / API Pagamento Unificado Valor total, tipo de ajuste, origem da ação Valor ajustado, log de alteração PROC010- Excluir pagamento já lançado Operador do caixa Identificação do pagamento selecionado Pagamento removido e saldo recalculado PROC011 - Quitar Restante Operador do caixa Saldo pendente e forma de pagamento selecionada Campo preenchido automaticamente com o valor restante PROC012 - Finalizar Pagamento Operador do caixa Todos os pagamentos registrados e saldo zerado Venda concluída e registros financeiros emitidos PROC013 - Cancelar Operador do caixa Ação do usuário Modal fechado sem registrar alterações Processos Relacionados Pagamento Unificado PROC001 – Aplicar desconto/acréscimo PROC002 – Registro de Pagamento em Dinheiro PROC003 – Registro de Pagamento em Cartão de Crédito PROC004 – Registro de Pagamento em Cartão de Débito PROC005 – Registro de Pagamento em Boleto PROC006 – Registro de Pagamento via PIX PROC007 – Registro de Pagamento em Outros Métodos PROC008 – Adicionar múltiplas formas de pagamento PROC012 – Finalizar Pagamento Especificação Funcional PROC001 EXEMPLO: Protótipo de Tela: Descrição dos Campos: Campo Tipo Tamanho Obrig. ? Máscara Observações Total da Compra Numérico 10,2 Sim R$ Herdado da tela de origem. Não inclui frete, impostos, descontos e acréscimos. Valor confiável enviado pela origem. Somente leitura. Descontos Numérico 10,2 Não R$ Valor monetário. Campo editável. Não aceita sinal + ou -. Não pode exceder o Total da Compra. Pode zerar o total líquido. Acréscimos Numérico 10,2 Não R$ Valor monetário. Campo editável. Não aceita sinal + ou -. Respeita limite máximo configurado, se existir. Total Líquido da Venda Numérico 10,2 Sim R$ Calculado: Total da Compra - Desconto + Acréscimo. Somente leitura. Regras de Interface: O sistema deve exibir Total da Compra e Total Líquido como somente leitura. O sistema deve apresentar Desconto e Acréscimo como campos monetários sempre habilitados para digitação. O sistema não deve permitir caracteres inválidos, letras, símbolos, ou sinais negativo/positivo. O sistema deve recalcular automaticamente o Total Líquido a cada alteração de Desconto ou Acréscimo. O sistema deve aceitar valor zero em qualquer um dos campos. O sistema deve impedir que Desconto seja maior que o Total da Compra. O sistema deve impedir que Acréscimo ultrapasse o valor máximo configurado, quando existir. O sistema deve seguir a regra global de arredondamento vigente no sistema (quando configurada). O sistema não deve exibir frete, impostos ou outros totais no modal. Regras de Negócio: O sistema deve receber Total da Compra, Desconto e Acréscimo da tela de origem. O sistema deve confiar integralmente nos valores enviados pela origem sem recálculo interno desses componentes. O sistema deve considerar que o campo Desconto exibido no Pagamento Unificado representa somente o valor monetário de desconto enviado pela tela de origem, não deve carregar valores percentuais. O sistema deve considerar que o campo Acréscimo exibido no Pagamento Unificado representa o valor monetário de acréscimos enviado pela origem, incluindo acréscimos derivados de frete, seguro, impostos ou outros itens adicionais. O sistema deve assumir que qualquer valor de frete, seguro, impostos ou taxas já foi previamente aplicado e consolidado no Total da Compra ou permanecerá restrito à tela origem conforme regra dessa tela. O sistema não deve recalcular nem agregar frete, impostos, seguros, taxas ou outros valores ao Desconto ou ao Acréscimo dentro do modal. Caso o usuário precise alterar Frete ou Impostos, ele deve cancelar o Pagamento Unificado, ajustar esses valores na tela de origem e, só então, reabrir o modal. O sistema não deve permitir que os campos de desconto e acréscimo sejam carregados com valores nulos ou zerados quando a tela anterior já possuir totais definidos. O sistema deve permitir que o usuário altere Descontos e Acréscimos diretamente na tela de pagamento. O sistema deve validar que Desconto não excede o Total da Compra. O sistema deve validar Acréscimo conforme configuração de limite máximo. O sistema deve impedir Total Líquido negativo. O sistema deve recalcular exclusivamente o Total Líquido, usando apenas: Total Líquido = Total da Compra - Desconto + Acréscimo. Se o pagamento for finalizado, os valores atualizados de Desconto e Acréscimo devem retornar à tela de origem. Se o pagamento for cancelado, nenhum valor deve retornar; a tela de origem deve permanecer inalterada. O sistema não deve permitir divergência entre o valor final exibido no pagamento unificado e o valor final exibido na tela anterior após retorno. O sistema deve registrar log seguindo o padrão global já existente, incluindo: usuário, horário, valores antes/depois e origem da ação. Regras para mensagens e validações Desconto maior que o total → "O desconto não pode exceder o valor da venda." Bloquear salvamento. Acréscimo acima do limite → "O acréscimo informado ultrapassa o limite permitido." Impedir continuação. Valor não numérico → "Digite apenas valores numéricos." Limpar entrada e manter foco. Total Líquido negativo → "O valor final não pode ser negativo." Reverter último valor digitado. Questões Técnicas: Composição de valores total_compra: vem 100% da origem. Não inclui frete, impostos, seguros, descontos, acréscimos. desconto e acrescimo: monetários. Sem sinal. Percentual não existe no modal. total_liquido = total_compra - desconto + acrescimo. Limites desconto ≤ total_compra. Pode zerar. Não pode exceder. acrescimo ≤ acrescimo_maximo quando existir. total_liquido ≥ 0. ©SOFTEN SISTEMAS 2025