Configuração de imposto por CFOP

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:

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

PROC002 - Tabela de Imposto de CTe


image-1762776253666.png

Projeto/Sistema:
CTe - GerencieAqui
Versão do Template:
1.2
Processo:

PROC002 - Tabela de Imposto de CTe

Versão do Documento:
1.0
Responsável(eis): 
Luís Leite

Data: 

13/02/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

PROC001 - Imposto por CFOP no CTe

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

Especificação Funcional


PROC002 Dialog de seleção de tabela de Imposto:

Protótipo de Tela:

image-1771588509558.png

Imagem I - Dialog de seleção de tabela de imposto

Descrição dos Campos:

Campo

Tipo

Tamanho

Obrig. ?

Máscara

Observações

NFe

Botão

-

-

-

-

CTe

Botão

-

-

-

-

Regras de Interface:

1. Deve conter o texto de mensagem:
"Considerando os módulos fiscais habilitados na empresa, selecione o tipo de tabela de imposto para cadastro:"

Regras de Negócio:

1. Esse fluxo só deve ser iniciado caso a empresa possua os dois módulos habilitados no sistema, ou seja, NF-e e CT-e. Caso tenha apenas NF-e, deve seguir com o fluxo de abertua da tela de impostos de NFe (fluxo atual).
Caso tenha apenas CT-e, deve seguinte o PROC002.1 Tabela de Imposto de CTe.

2.Botão NFe:
Deve dar continuidade com o fluxo já existente da tabela de imposto, abrindo a tela atual de cadastro de imposto.

3.Botão CTe:
Dar continuidade no processo "PROC002.1 Tabela de Imposto de CTe" desta documentação.

3.No banco de dados será identificado o tipo da tabela.

Questões Técnicas:

1. Criar identificador na tabela de imposto na base de dados:

ALTER TABLE imposto ADD tipoTabela INT;

PROC002.1 Tabela de Imposto de CTe

Protótipo de Tela:

image-1773407414807.png

 

Imagem I - Tabela de Imposto ICMS

image-1770993280307.png

Imagem II - Accordion imposto ICMS ST

Descrição dos Campos:

Campo

Tipo

Tamanho

Obrig. ?

Máscara

Observações

Nome da Tabela*

Texto

100

Sim

-

-

Situação Tributária

Select

-

-

-

-

Perc. da BC do ICMS

Decimal

3v2

Sim

0,00

-

Perc. do ICMS

Decimal

3v2

Sim

0,00

-

Perc. BC da ST

Decimal

3v2

Sim

0,00

-

Perc. do ICMS ST

Decimal

3v2

Sim

0,00

-

Regras de Interface:

1. A dialog deve conter a identificação do tipo de tabela de imposto, "Nova Tabela de Imposto de CTe" para o CTe e "Nova Tabela de Imposto de NFe" para as Notas Fiscais.

2. Situação Tributária:
Deve conter as seguintes CSTs

00 - Trib. Normal ICMS
20 - Trib. com BC reduzida do ICMS
40 - ICMS isenção
51 - ICMS diferido
60 - ICMS recolhido por 3 por ST
90 - ICMS outros
SN - Simples Nacional

 

3. Os campos de preenchimento do percentual dos tributos devem iniciar com valor zero (0,00), não deve ser permitido deixar em branco/nulo.

4. Botão Excluir:
Só deve ser renderizado ao abrir em edição uma tabela já salva em banco. Deve apresentar a mensagem de confirmação para o usuário "Você realmente deseja excluir este registro?" Caso clique em não, deve ser finalizada a tela de aviso. Caso clique em sim e seja possível a exclusão, deve ser retornado o aviso:

Excluído com sucesso!

Caso não seja possível:

Não foi possível excluir! Este registro está vinculado a outras operações

5. Botão Salvar:
Deve ser validado os campos e seus preenchimento, se for possível salvar, deve ser retornado o aviso:

Salvo com sucesso!

Caso seja alteração:

 Alterado com sucesso!

Caso não seja possível:

Não foi possível salvar! Verifique o preenchimento dos campos.

Regras de Negócio:

1. Botão Excluir: Deve validar se existe vinculo na base de dados, caso exista, não deve ser feito nenhuma alteração. Permitida a exclusão, deve ser deletado o registro do banco de dados.

2. Botão Salvar: Caso seja um novo cadastro, deve ser criado um novo registro no banco. Se for uma edição, o registro respectivo deve ser atualizado.

Questões Técnicas:

1. A tabela onde devem ser consultadas, salvas e alteradas as informações é 'imposto'

©SOFTEN SISTEMAS 2026

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


image-1762776253666.png

Projeto/Sistema:
CTe - GerencieAqui
Versão do Template:
1.2
Processo:
PROC003 - Tabela de Imposto de CTe - Reforma Tributária
Versão do Documento:
1.0
Responsável(eis): 
Luís Leite

Data: 

13/02/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

PROC001 - Imposto por CFOP no CTe

PROC002 - Tabela de Imposto de CTe

Especificação Funcional


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

Protótipo de Tela:

image-1773407908225.png

Imagem I - Tabela de Imposto da rtc

image-1771420354414.png

Imagem II - Accordion imposto IBS e CBS

image-1771422702198.png

Imagem III - Accordion Diferido

image-1771518341674.png

Imagem IV - Accordion Estorno de Crédito

Descrição dos Campos:

Campo

Tipo

Tamanho

Obrig. ?

Máscara

Observações

Nome da Tabela*

Texto

100

Sim

-

-

Situação Tributária

Select

-

Sim

-

-

Classificação Tributária

Select

 -

Sim 

-

-

Perc. Da BC:

 Decimal

3v2 

Sim

 

 

IBS e CBS

Accordion

 -

 -

-

-

Aliq. IBS Estadual

Decimal

3v2

Sim

-

-

Red. Alíquota UF

Decimal

3v2

Sim

 

 

Aliq. IBS Municipal

 

Decimal

3v2

Sim

-

-

Red. Alíquota Mun.

Decimal

3v2

Sim

 

 

Aliq. CBS Decimal 3v2 Sim - -
Red. Aliq. CBS Decimal 3v2 Sim - -

Diferido

Accordion

 -

 -

-

-

Diferido IBS UF

Decimal

3v2

Sim

-

-

Diferido IBS Municipal

Decimal

3v2

Sim

-

-

Diferido CBS

Decimal

3v2

Sim

-

-

Estorno de Crédito

Accordion

 

 

 

 

Perc. IBS Estorno

Decimal

3v2

Sim

-

-

Perc. CBS Estorno

Decimal

3v2

Sim

-

-

Regras de Interface:

1. Os campos de preenchimento do percentual dos tributos devem iniciar com valor zero (0,00), não deve ser permitido deixar em branco/nulo.

2. Botão Excluir:
Só deve ser renderizado ao abrir em edição uma tabela já salva em banco. Deve apresentar a mensagem de confirmação para o usuário "Você realmente deseja excluir este registro?" Caso clique em não, deve ser finalizada a tela de aviso. Caso clique em sim e seja possível a exclusão, deve ser retornado o aviso:

Excluído com sucesso!

Caso não seja possível:

Não foi possível excluir! Este registro está vinculado a outras operações

4. Botão Salvar:
Deve ser validado os campos e seus preenchimento, se for possível salvar, deve ser retornado o aviso:

Salvo com sucesso!

Caso seja alteração:

 Alterado com sucesso!

Caso não seja possível:

Não foi possível salvar! Verifique o preenchimento dos campos.

5. Accordion de Estorno de Crédito ainda precisa ser adicionado ao CTe.

Regras de Negócio:

1. Botão Excluir: Deve validar se existe vinculo na base de dados, caso exista, não deve ser feito nenhuma alteração. Permitida a exclusão, deve ser deletado o registro do banco de dados.

2. Botão Salvar: Caso seja um novo cadastro, deve ser criado um novo registro no banco. Se for uma edição, o registro respectivo deve ser atualizado.

Questões Técnicas:

1. A tabela onde devem ser consultadas, salvas e alteradas as informações é 'impostortc'

©SOFTEN SISTEMAS 2026