Skip to main content

PROC001-Imposto por CFOP no CTe


image-1762776253666.png

Projeto/Sistema:
CTe - GerencieAqui
Versão do Template:
1.2
Processo:
PROC001 -Imposto por CFOP no CTe
Versão do Documento:
1.0
Responsável(eis): 
Luís Leite

Data: 

11/01/2026

1. Introdução

Este processo visa demonstrar a criação da tabela de impostos por CFOP para o CTe

2. Processo

Processo

Envolvidos

Dados de Entrada

Dados de Saída

PROC001-Imposto por CFOP no CTe

 

Regra de Impostos

Configurações de impostos de tabela de imposto e CFOP

PROC002 - Tabela de Imposto de CTe

 

Parametrização de impostos

Tabela de imposto cadastrada

PROC003 - Tabela de Imposto de CTe - Reforma Tributária

 

Parametrização de impostos

Tabela de imposto cadastrada

Processos Relacionados

PROC002 - Tabela de Imposto de CTe

PROC003 - Tabela de Imposto de CTe - Reforma Tributária

Especificação Funcional


PROC001-Imposto por CFOP no CTe:

Protótipo de Tela:

image-1770826756457.png

Imagem I - Botão "Configurar CFOP" em "Documentos Fiscais"

image-1774459872794.png

Imagem II - Dialog de configuração de imposto por CFOP

Descrição dos Campos:

Campo

Tipo

Tamanho

Obrig. ?

Máscara

Observações

Configurar CFOP

Botão

-

-

-

 

Configuração de Imposto CFOP - CTe

CFOP

Texto

3

-

-

-

UF

Texto

2

 

 

 

Tabela de Imposto

Select

-

-

-

-

Tipo CFOP

Select

-

-

-

-

Inserir

Botão

-

-

-

-

CFOP

Column Header

-

-

-

-

UF

Column Header

-

-

-

-

Tabela de Imposto

Column Header

-

-

-

-

Tipo CFOP

Column Header -

-

-

-

Botão de Exclusão

Column Header -

-

-

image-1770835066467.png

Fechar Botão -

-

-

-

Salvar

Botão

-

-

-

-

Regras de Interface:

1. Botão "Configurar CFOP":
Deve abrir a Dialog de configuração de Imposto CFOP - CTe.

2. Dialog "Configuração de Imposto CFOP - CTe" (Imagem II)

2.1 CFOP: Deve conter o Placeholder "CFOP". Não permitir campo em branco.
2.2 UF: Deve conter o Placeholder "UF". Não permitir campo em branco.

2.3 Tabela de Imposto: Deve carregar todas as tabelas de impostos cadastradas na empresa.
2.4 Tipo CFOP:
Deve exibir as opções "Entrada" e "Saída", por padrão deve vir como "Saída".
2.5 Botão "Inserir": Se for possível realizar a inserção, deve ser inserido na listagem. Caso não seja possível realizar a inserção, retornar o aviso em tela:

Erro! Verifique o preenchimento dos campos.

2.6 Listagem CFOP: Deve permitir a ordenação ASC e DESC.
2.7 Listagem UF:
Deve permitir a ordenação ASC e DESC.
2.8 Listagem Tabela de Imposto:
Deve permitir a ordenação ASC e DESC.
2.9 Listagem Tipo CFOP:
Deve permitir a ordenação ASC e DESC.
2.10 Botão "Exclusão" na Listagemimage-1770835088289.png: Deve abrir uma tela para confirmação "Deseja excluir a regra?" Caso o usuário selecionar sim, deve realizar a exclusão do registro da listagem em tela. Caso clique em não, nada deve ocorrer.
2.11 Botão Fechar: Deve encerrar a tela.

Regras de Negócio:

1.Botão "Inserir": Deve validar se os campos estão preenchidos antes de realizar a inserção na listagem. Se possível inserir, deve ser feito a modificação na base de dados.
2. Botão "Exclusão" na Listagemimage-1770835088289.pngSe possível, deve excluir o registro do banco.
3. Aplicação automática da tabela de imposto no CT-e:
As tabelas de imposto configuradas deverão ser aplicadas automaticamente ao CT-e durante o preenchimento do documento, desde que os critérios definidos no cadastro da regra sejam atendidos.

A aplicação ocorrerá quando os dados do CT-e coincidirem com os filtros previamente configurados na regra, considerando obrigatoriamente:

    • CFOP do documento

    • UF de destino

    • Tipo de CFOP (Entrada ou Saída)

Quando todos os filtros definidos na regra forem satisfeitos, a tabela de imposto vinculada à configuração deverá ser aplicada automaticamente ao CT-e, determinando os impostos correspondentes ao documento fiscal. Caso o usuário faça um preenchimento que não corresponda aos filtros em questão, nenhuma tabela deve ser vinculada deixando sem preenchimento os tributos. Retornar aviso que não há tabela de imposto que satisfaz os critérios do documento fiscal.

abrir novo CT-e

verificar se existem regras de imposto cadastradas para a empresa

se NÃO existir nenhuma regra:
    buscar último CT-e emitido

    se existir:
        copiar impostos do último CT-e
    senão:
        não preencher impostos automaticamente

se EXISTIR pelo menos uma regra cadastrada:
    validar regra de imposto por critérios no CTe em preenchimento
        critérios:
            empresa_id
            cfop
            uf_destino
            tipo_cfop

    se regra validar:
        aplicar tabela de imposto vinculada à regra

    senão:
        não preencher impostos automaticamente
        exibir aviso:
            "Não foi encontrada regra de imposto compatível com os critérios deste CT-e."
 
Questões Técnicas:

1. Criar a tabela na base de dados:

CREATE TABLE impostocfopcte (
  id BIGINT,
  empresaId BIGINT,
  cfop char(3),
  uf char(2),
  tbImposto BIGINT,
  tipoCfop BIGINT,
 );

©SOFTEN SISTEMAS 2026