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