Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

REGRAS DE NEGÓCIO DO SISTEMA (WINSHOP)

Documento: 03_regras_de_negocio.md

Escopo de análise: varredura de código em *.PRG, *.SCT e rotinas ligadas a venda, fiscal, financeiro, permissões e validações.

1) Regras de venda

IDRegra de negócioEvidência no código
VEN-001A venda com emissão fiscal eletrônica exige CFOP configurado nos parâmetros da empresa.vendas2025.SCT (mensagem “Informe o CFOP…”)
VEN-002Empresa do Simples Nacional deve ter CSOSN de NFC-e configurado para emissão.vendas2025.SCT (empNFSimples + empNFCSOSN)
VEN-003Quando configuração de cópia de demonstração está ativa, o sistema alerta se o cadastro de produtos excede 30 itens.vendas2025.SCT, vendas2018a.SCT
VEN-004A opção de NFC-e no front de venda é habilitada apenas quando a estação permite NFC-e e a DLL/configuração está disponível.vendas2025.SCT, vendas2018a.SCT (estNFc, _dllNFCe)
VEN-005Se existir marcador de bloqueio de ECF (ECF.NAO), a emissão fiscal eletrônica no caixa é desativada.vendas2025.SCT, vendas2018a.SCT
VEN-006Não é permitido finalizar NFC-e quando houver item com NCM inválido/ausente.vendas2018a.SCT (mensagem de erro NCM)
VEN-007Produto com CFOP especial e CSOSN inválido bloqueia avanço da operação.vendas2018a.SCT (mensagem “CFOP especial e CSOSN inválido”)
VEN-008Valor de item não pode ultrapassar máximo permitido no cadastro do produto.vendas2018a.SCT (mensagem “Valor ultrapassa o máximo permitido…”)
VEN-009O sistema alerta venda abaixo do custo e exige confirmação do operador.vendas2018a.SCT (mensagem “preço abaixo do custo”)
VEN-010Saldo insuficiente em condições de pagamento bloqueia a continuidade da operação.vendas2018a.SCT
VEN-011Fluxo de desconto em dinheiro não aceita valor maior que o saldo da compra.fechavenda_desc_din.SCT
VEN-012Desconto acima do limite configurado exige autorização de gerência (Alt+A/formulário de autorização).fechavenda_desc_din.SCT, vendas2018a.SCT, autorizadesconto*
VEN-013Se a configuração exigir senha de gerência para desconto, o form de autorização é obrigatório.vendas2018a.SCT (cfg.senhaGer)
VEN-014Em reimpressão, se a imagem/arquivo da venda não for encontrado, o sistema bloqueia a ação e informa erro.vendas2018a.SCT, naofiscal.prg
VEN-015Emissão de cupom/reescolha de impressão depende do tipo de estação (DAV/estDAV) e da configuração de impressão.naofiscal.prg, vendas2018a.SCT
VEN-016Para operações TEF no caixa, o sistema limpa e recria arquivos temporários de rede TEF antes de processar.vendas2018a.SCT, sistef.prg, urano.prg
VEN-017Se não houver bloco de numeração de CV para o vendedor, a venda é bloqueada.vendas2018a.SCT
VEN-018Se o número da CV estiver fora da sequência esperada, a venda é bloqueada.vendas2018a.SCT
VEN-019Identificação de cliente pode ser obrigatória dependendo da configuração fiscal e tipo de documento.daruma.prg, urano.prg, PRGS/dllnfc.prg
VEN-020Créditos de devolução são gerados e registrados quando há saldo de crédito, com numeração própria.daruma.prg, urano.prg, naofiscal.prg

2) Regras fiscais (NFe/NFCe/MDF-e/IBPT)

IDRegra de negócioEvidência no código
FIS-001Emissão fiscal depende de arquivos de configuração (CONFIG.NFE, CONFIG-ACB.NFC, EMPNFE.MEM).inicio.prg, PRGS/dllnfc.prg
FIS-002Sem configuração de NFC-e da estação, o sistema bloqueia emissão e orienta caminho de configuração.inicio.prg
FIS-003Sistema cria automaticamente pasta de XML de NFC-e quando inexistente.inicio.prg (XMLNFCE)
FIS-004O ACBrMonitor.INI é validado; configuração inválida de PATHNFE gera erro e bloqueio operacional fiscal.inicio.prg
FIS-005Configuração de e-mail no ACBr é validada (e-mail, usuário, senha, porta) para rotinas de envio fiscal.inicio.prg, rel_comissao_email.SCT
FIS-006NFC-e passa por ciclo: criar XML, assinar, validar e enviar; falha em qualquer etapa bloqueia continuidade.PRGS/dllnfc.prg
FIS-007XML inválido (schema/padrão/tag obrigatória) impede autorização e retorna erro específico.PRGS/dllnfc.prg (ERRONFC)
FIS-008NFC-e duplicada na base SEFAZ é tratada como regra específica de rejeição/ajuste de número.PRGS/dllnfc.prg (tratamento de duplicidade)
FIS-009Em contingência/offline, o sistema tenta reaproveitar XML local e reenviar quando o serviço retorna.PRGS/dllnfc.prg, mdf_controle.SCT
FIS-010Consulta de status SEFAZ é executada com timeout; sem retorno no prazo gera erro de comunicação.PRGS/dllnfc.prg, inicio.prg, barras_elgin*.prg
FIS-011Cancelamento/gestão de MDF-e exige consulta/autorização de webservice e leitura de retorno estruturado.mdf_controle.SCT
FIS-012Cancelamento de MDF-e exige motivo mínimo de 15 caracteres.mdf_controle.SCT
FIS-013Certificado digital próximo do vencimento dispara alerta preventivo para renovação.mdf_controle.SCT (VALNFE.CER)
FIS-014Regra tributária de Simples (CRT=1) segue CSOSN e sem destaque de ICMS em cenários configurados.PRGS/dllnfc.prg
FIS-015CFOP e CSOSN podem ser herdados da empresa ou do produto, conforme preenchimento por item.PRGS/dllnfc.prg, vendas2018a.SCT
FIS-016Valor aproximado de tributos (IBPT) é calculado e impresso em documentos fiscais quando habilitado.urano.prg, sweda.prg, bematechmfd.prg
FIS-017SPED fiscal é gerado por rotinas específicas de impressora/framework fiscal.daruma.prg, menus/relatórios
FIS-018Quando XML autorizado não é localizado em pasta esperada, o sistema registra falha e impede ação fiscal seguinte.mdf_controle.SCT

3) Regras de estoque

IDRegra de negócioEvidência no código
EST-001Produto com NCM ausente/inválido é marcado como erro e impede emissão fiscal eletrônica.vendas2018a.SCT
EST-002Ajuste de saldo é validado em rotinas de venda para evitar fechamento com saldo inconsistente.vendas2018a.SCT, fechavenda_desc_din.SCT
EST-003Limites de preço e custo do produto são usados como validação de consistência comercial.vendas2018a.SCT
EST-004Há rotina de identificação de produtos sem estoque/zerados/negativos para controle gerencial.MENUSHOP.MPR + formulários/relatórios relacionados
EST-005Estrutura prevê transferências de estoque entre lojas e sincronização de preços/cadastros entre filiais.MENUSHOP.MPR (Transfere estoque), vendas2025.SCT (sync)
EST-006Ferramentas de manutenção de estoque (ajuste, zerar, envio entre lojas) são operações restritas e explícitas.MENUSHOP.MPR (mensagens/ferramentas)
EST-007Baixa para consumo é tratada como operação específica de estoque/saída interna.MENUSHOP.MPR (Serviços > Baixa para Consumo)

4) Regras financeiras

IDRegra de negócioEvidência no código
FIN-001Desconto financeiro em fechamento tem limite percentual e pode exigir autorização de gerência.fechavenda_desc_din.SCT
FIN-002Pagamentos por cartão/cheque/crédito seguem fluxo de tipo de venda e integração TEF.naofiscal.prg, daruma.prg, urano.prg, sistef.prg
FIN-003Transação TEF não confirmada gera aviso, possibilidade de reimpressão e necessidade de confirmação/cancelamento.sistef.prg, urano.prg, elgin.prg
FIN-004Se gerenciador TEF estiver inativo, operação é bloqueada com mensagem ao operador.sistef.prg
FIN-005Emissão de boletos/remessa depende de ACBR ativo e de títulos elegíveis no dia.PRGS/boletos.prg, inicio.prg
FIN-006Ausência de boletos do dia impede geração de arquivo de remessa.PRGS/boletos.prg
FIN-007Contas recebidas por período/cliente exigem intervalo de datas válido.rel_recebidas_data_baixa.SCT
FIN-008Fechamento de convênio valida existência de associado antes de operar faturamento/baixa.convfechafatura.SCT
FIN-009Crédito de devolução é persistido em tabela/arquivo de controle com novo número de crédito.daruma.prg, urano.prg, naofiscal.prg
FIN-010Fluxos de comissão por e-mail exigem configuração de e-mail do administrador e validação de retorno do webservice.rel_comissao_email.SCT

5) Regras de permissões

IDRegra de negócioEvidência no código
PER-001Acesso a módulos/itens de menu é controlado por flags de permissão (acLoja, acCad, acLJxx, acCDxx, etc.).MENUS/MENUSHOP.MPR, MENUSHOPLIGHT2.MPR
PER-002Usuário sem permissão para o sistema/módulo é bloqueado no login.login2018a.SCT
PER-003Senha inválida bloqueia autenticação e mantém usuário fora da aplicação.login2018a.SCT
PER-004Em modo manutenção do servidor, novos acessos de usuário são barrados.login2018a.SCT
PER-005Licença pode ser exclusiva para servidor ou exclusiva para cliente/rede, com bloqueio por papel incorreto.inicio.prg
PER-006Operações sensíveis (ex.: desconto acima do limite) exigem credencial/autorização de usuário com nível superior.fechavenda_desc_din.SCT, vendas2018a.SCT
PER-007Alguns recursos fiscais e de suporte são restritos a usuário específico/técnico (ex.: reenvio offline).MENUSHOPLIGHT2.MPR (skip por usuário), PRGS/*
PER-008Troca/validação de senha é obrigatória em fluxo de alteração de senha de usuário.login2018a.SCT
PER-009Licença expirada exige senha técnica/urgência para liberação temporária.licenca_expirada.SCT

6) Bloqueios e validações operacionais

IDRegra de negócioEvidência no código
VAL-001Falta de arquivos essenciais (ex.: FABRIC.DRV) impede inicialização do sistema.inicio.prg
VAL-002Falta de dados obrigatórios da empresa (CNPJ e cadastro) bloqueia operação fiscal/comercial.inicio.prg
VAL-003Falha de conexão com banco de dados interrompe abertura normal do sistema.inicio.prg
VAL-004Estação não cadastrada bloqueia uso, até regularização do cadastro da estação.inicio.prg, estacao_de_trabalho2.SCT
VAL-005Alteração indevida da data do sistema gera encerramento forçado da aplicação (proteção operacional).inicio.prg
VAL-006Configuração inválida de impressora/porta gera bloqueio de testes e avisos obrigatórios ao usuário.estacao_de_trabalho2.SCT, verificaimpressora.SCT
VAL-007Ausência de impressora no Windows bloqueia operações de impressão dependentes.estacao_de_trabalho2.SCT
VAL-008Erros de comunicação com impressora fiscal/ECF (sem papel, redução Z pendente, cupom aberto etc.) bloqueiam etapa fiscal correspondente.daruma.prg, urano.prg, elgin.prg, sweda.prg
VAL-009Falha de comunicação TEF pode exigir repetição/reimpressão; após tentativas, sistema oferece cancelamento/continuidade controlada.urano.prg, elgin.prg, sistef.prg
VAL-010Cancelamentos fiscais são protegidos por confirmação explícita do operador.mdf_controle.SCT, vendas/reimpressão
VAL-011Rotinas de webservice têm timeout; sem retorno, o sistema marca falha de envio/consulta.inicio.prg, PRGS/dllnfc.prg, mdf_controle.SCT
VAL-012Regras de arquivo de retorno (RESPNFE.TXT) são obrigatórias para concluir envio e atualizar status interno.PRGS/dllnfc.prg, mdf_controle.SCT, inicio.prg
VAL-013Sem ACBR ativo, operações fiscais e algumas integrações financeiras (boletos) são bloqueadas.inicio.prg, PRGS/boletos.prg, mdf_controle.SCT
VAL-014Mensagens de erro são usadas como mecanismo de bloqueio funcional (sem confirmação não prossegue).múltiplos (*.PRG, *.SCT)

Observações de cobertura

  • As regras acima foram extraídas diretamente de condicionais, validações, flags de configuração e mensagens do código legado.
  • O sistema possui variações por impressora fiscal/framework (Daruma, Elgin, Bematech, Sweda) que implementam a mesma regra de negócio com detalhes técnicos distintos.
  • Menus de operação também impõem regra de acesso por permissão/flag, complementando as validações de runtime.