Pular para conteúdo

Notas Fiscais Eletrônicas

Objetivo

Documentar o ciclo de vida completo dos documentos fiscais eletrônicos brasileiros (NF-e, NFS-e, NFC-e) na localização CIEL IT, incluindo emissão, transmissão, autorização, carta de correção (CCe), cancelamento, e ações disponíveis.


Implementação Técnica

  • Model principal: account.move (herança) — classe AccountMove
  • Model linhas: account.move.line (herança) — classe AccountMoveLine
  • Arquivo: l10n_br_ciel_it_account/models/account.py (22.903 linhas, ~1.3 MB)

Tipos de Documento Fiscal

Código Tipo Transmissão para Uso
55 NF-e SEFAZ estadual Produtos (mercadorias)
65 NFC-e SEFAZ estadual Consumidor final (cupom fiscal)
NFSE / NFS NFS-e Prefeitura municipal Serviços
FAT Fatura Interno (sem transmissão) Controle financeiro
ND Nota de Débito Depende Ajustes financeiros
04 NF de Produtor SEFAZ Produtores rurais
06 NF Complementar SEFAZ Complemento de preço/ICMS/IPI

Ciclo de Vida do Documento Fiscal

stateDiagram-v2
    [*] --> Rascunho: Criar fatura
    Rascunho --> Postada: Postar (action_post)
    Postada --> Transmitindo: Transmitir NF-e
    Transmitindo --> Autorizada: SEFAZ aprova
    Transmitindo --> Rejeitada: SEFAZ rejeita
    Rejeitada --> Rascunho: Corrigir e retransmitir
    Autorizada --> CCe: Carta de Correção
    Autorizada --> Cancelada: Cancelar (dentro do prazo)
    CCe --> Autorizada: Mantém autorizada

Status da NF (l10n_br_situacao_nf)

Status Descrição
rascunho Documento criado, não transmitido
autorizado Aprovado pela SEFAZ/Prefeitura
excecao_autorizado Exceção na autorização (alerta, mas aceita)
cce Carta de correção enviada
excecao_cce Exceção na CCe
cancelado Cancelamento efetivado
excecao_cancelado Exceção no cancelamento

Campos Fiscais da Fatura (AccountMove)

Identificação Fiscal

Campo Tipo Descrição
l10n_br_tipo_pedido Selection Tipo de operação de saída (50+ opções)
l10n_br_tipo_pedido_entrada Selection Tipo de operação de entrada
l10n_br_operacao_consumidor Selection Se é operação para consumidor final
l10n_br_documento_id Many2one Tipo de documento fiscal (NF-e 55, NFS-e, etc.)
l10n_br_finalidade Selection Finalidade: Normal, Complementar, Ajuste, Devolução

Dados da NF

Campo Tipo Descrição
l10n_br_numero_nf Char Número da NF-e
l10n_br_chave_nf Char Chave de acesso (44 dígitos)
l10n_br_serie Char Série da NF
l10n_br_protocolo_nf Char Protocolo de autorização
l10n_br_situacao_nf Selection Status fiscal do documento
l10n_br_nf_log Text Log de transmissão/erros

Totais de Impostos (Computed)

Campo Descrição
l10n_br_icms_base Base de cálculo do ICMS
l10n_br_icms_valor Valor do ICMS
l10n_br_icmsst_base Base do ICMS ST
l10n_br_icmsst_valor Valor do ICMS ST
l10n_br_ipi_base Base do IPI
l10n_br_ipi_valor Valor do IPI
l10n_br_pis_base Base do PIS
l10n_br_pis_valor Valor do PIS
l10n_br_cofins_base Base do COFINS
l10n_br_cofins_valor Valor do COFINS
l10n_br_iss_base Base do ISS
l10n_br_iss_valor Valor do ISS
l10n_br_ii_valor Valor do Imposto de Importação
l10n_br_frete Valor do frete
l10n_br_seguro Valor do seguro
l10n_br_despesas_acessorias Despesas acessórias
l10n_br_desconto Valor do desconto
l10n_br_total_nfe Total da NF em moeda

Transporte

Campo Tipo Descrição
l10n_br_modalidade_frete Selection CIF, FOB, Sem frete, etc.
l10n_br_transportadora_id Many2one Transportadora
l10n_br_veiculo_placa Char Placa do veículo
l10n_br_volume_quantidade Integer Quantidade de volumes
l10n_br_volume_peso_liquido Float Peso líquido total
l10n_br_volume_peso_bruto Float Peso bruto total

Campos Fiscais por Linha (AccountMoveLine)

Cada linha do documento contém o cálculo detalhado por imposto:

ICMS

Campo Descrição
l10n_br_icms_cst CST do ICMS
l10n_br_icms_base Base de cálculo
l10n_br_icms_aliquota Alíquota (%)
l10n_br_icms_valor Valor calculado
l10n_br_icms_reducao_base Redução da base (%)

ICMS ST, ICMS DIFAL, FCP, IPI, PIS, COFINS, ISS

Seguem o mesmo padrão: l10n_br_{imposto}_cst, l10n_br_{imposto}_base, l10n_br_{imposto}_aliquota, l10n_br_{imposto}_valor.

Retenções

Para cada retenção (IRPJ, CSLL, PIS, COFINS, INSS, ISS): l10n_br_{imposto}_ret_base, l10n_br_{imposto}_ret_aliquota, l10n_br_{imposto}_ret_valor

Outros por linha

Campo Descrição
l10n_br_cfop_id CFOP desta linha
l10n_br_operacao_id Operação fiscal aplicada
l10n_br_ncm_id NCM do produto (herdado)
l10n_br_origem Origem da mercadoria
l10n_br_frete Rateio do frete nesta linha
l10n_br_seguro Rateio do seguro
l10n_br_despesas_acessorias Rateio de despesas
l10n_br_desconto Desconto por linha
l10n_br_mensagem_fiscal Informações adicionais do produto

Ações Disponíveis na Fatura

Transmissão

Ação Método Descrição
Transmitir NF-e action_post_nfe() Envia para SEFAZ (via integrador fiscal)
Transmitir NFS-e action_post_nfse() Envia para prefeitura
Retransmitir action_retry_nfe() Reenvio em caso de exceção

Pós-Autorização

Ação Método Descrição
Carta de Correção (CCe) action_cce_nfe() Envia CCe para SEFAZ (até 20 por NF)
Cancelar NF-e action_cancel_nfe() Cancela NF-e autorizada (prazo de 24h)
Imprimir DANFE action_print_danfe() Gera PDF da DANFE
Enviar por E-mail action_send_nfe() Envia XML + PDF para o parceiro
Download XML action_download_xml() Baixa o XML autorizado

Importação

Ação Descrição
Importação XML NF-e Importa XML de nota fiscal de entrada (compras)
Manifesto DF-e Ciência, Confirmação ou Desconhecimento do documento

Cobrança Escritural (Boleto)

Campos de Cobrança

Campo Tipo Descrição
l10n_br_situacao_cobranca Selection Status: SALVO, EMITIDO, REGISTRADO, LIQUIDADO, BAIXADO
l10n_br_link_boleto Char URL do boleto
l10n_br_nosso_numero Char Nosso número (identificação bancária)
l10n_br_linha_digitavel Char Linha digitável do boleto
l10n_br_codigo_barras Char Código de barras do boleto

Fluxo de Cobrança

flowchart LR
    A["Fatura Postada"] --> B["Gerar Boleto<br/>(Remessa)"]
    B --> C["Registrado<br/>(Banco)"]
    C --> D["Liquidado<br/>(Retorno)"]
    D --> E["Reconciliação<br/>Automática"]

Pagamento Escritural (CNAB)

Tipos de Pagamento CNAB

Código Descrição
1 Transferência bancária — Conta Corrente
41 TED Outra Titularidade
43 TED Mesma Titularidade
45 PIX
47 PIX QR Code
30 Títulos de cobrança do próprio banco
31 Títulos de cobrança de outros bancos
16 DARF Normal
17 GPS
18 DARF Simples

Destinação Bancária

Funcionalidade OWL (frontend) para gestão de destinação bancária de pagamentos, com controladores de lista customizados:

  • destinacao_bancaria_list_controller.js
  • cobranca_escritural_remessa_list_controller.js
  • cobranca_escritural_retorno_list_controller.js
  • pagamento_escritural_remessa_list_controller.js
  • pagamento_escritural_retorno_list_controller.js

Importação de NF-e (DF-e)

Manifesto (l10n_br_dfe_manifesto)

Status Descrição
nenhum Sem ação
ciencia Ciência da operação (permite download do XML)
confirmacao Confirmação da operação
desconhecimento Desconhecimento da operação

Importação Comércio Exterior (DI/DUIMP)

Campos para documentos de importação:

Campo Tipo Descrição
Via de transporte Selection Marítima, Aérea, Rodoviária, etc.
Tipo de importação Selection Conta própria, Conta e ordem, Encomenda
Despesas de importação Various Frete, seguro, tributos, AFRMM, aduaneiras
Tipo de rateio Selection Por peso, valor FOB ou valor CIF

Cenários de Uso / Troubleshooting

1. NF-e rejeitada pela SEFAZ

  • Verificar: Mensagem de erro no campo l10n_br_nf_log
  • Erros comuns: CNPJ inválido, IE inconsistente, CST incompatível, NCM não cadastrado
  • Ação: Corrigir os dados e retransmitir

2. Não consigo cancelar a NF-e

  • Prazo legal: 24 horas após a autorização
  • Se expirou: Emitir NF-e de estorno/devolução

3. Boleto não gerado

  • Verificar: Configuração do diário bancário (CNAB)
  • Verificar: Operação é do tipo que gera financeiro (não está em TIPO_PEDIDO_SAIDA_NO_PAYMENT)

4. CCe não aceita

  • Limite: Até 20 correções por NF-e
  • Restrições: Não pode alterar valor, CFOP, quantidade (apenas textos descritivos)

Referências Cruzadas