OdooWiki OCA HUB

NFS-e Nacional

l10n_br_nfse_nacional folder_open OCA/l10n-brazil open_in_new
Localisation Licencia: AGPL-3

Este módulo emite a NFS-e Nacional (Nota Fiscal de Serviços eletrônica no padrão nacional) diretamente no ambiente Sefin Nacional / ADN (Ambiente de Dados Nacional), sem gateway pago e sem passar pelo webservice de cada prefeitura.

O que é a NFS-e Nacional. É o padrão único de NFS-e mantido pelo Governo Federal e pelos municípios, com leiaute e regras de validação comuns. O prestador não emite a nota diretamente: ele envia uma DPS (Declaração de Prestação de Serviços) assinada, e o ADN valida, autoriza e devolve a NFS-e com sua chave de acesso de 50 dígitos. Os municípios conveniados ao padrão nacional usam esse mesmo ambiente.

O que o módulo faz. A partir de um l10n_br_fiscal.document de serviço (modelo SE) confirmado:

  • monta a DPS (versão 1.00 do leiaute) e valida contra o XSD oficial;
  • assina a DPS com o certificado A1 (ICP-Brasil) da empresa;
  • envia ao ADN por REST com mTLS e grava a NFS-e autorizada, a chave de acesso de 50 dígitos, o número e o protocolo;
  • trata a rejeição do ADN, mostrando o motivo legível no chatter e no evento do documento;
  • cancela a NFS-e pelo evento 101101, com o código do motivo escolhido no assistente de cancelamento;
  • consulta no ADN se a nota foi cancelada fora do Odoo (eventos 101101 e 305101);
  • gera o DANFSe em PDF a partir do XML autorizado (layout v2.0 da NT 008/2026), sem consultar nenhum portal;
  • importa o XML de uma NFS-e Nacional ou de uma DPS para um documento fiscal.

Como se encaixa. Depende de l10n_br_nfse, de onde vêm o campo de provedor e o de ambiente da NFS-e, mas mapeia a DPS direto sobre o l10n_br_fiscal.document: os campos de serviço e de impostos já estão no núcleo fiscal, então nada do fluxo municipal (RPS, ABRASF) é reaproveitado. O leiaute vem do módulo l10n_br_nfse_spec (mixins xsdata-odoo sobre os schemas oficiais), ligado ao documento pelo spec_driven_model. Ao escolher o provedor Sefin Nacional (ADN) na empresa, os documentos de serviço dela passam por este módulo, e os módulos municipais e de gateway continuam atendendo as demais empresas.

Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.

auto_awesome Qué hace este módulo

Generado por IA a partir del código · Odoo 18.0

Permite a las empresas brasileñas emitir la factura de servicio electrónica del estándar nacional (NFS-e Nacional) directamente al entorno federal Sefin Nacional / ADN, sin una pasarela de pago ni un servicio web municipal. Construye, firma y envía la DPS, almacena la clave de la NFS-e devuelta e imprime el DANFSe.

Este módulo añade el proveedor nacional NFS-e a los documentos fiscales brasileños de Odoo. En un documento fiscal de servicio confirmado (modelo SE) cuya compañía está configurada con el proveedor "Sefin Nacional (ADN)", Odoo construye la DPS (la declaración de servicio enviada al gobierno), la valida contra el esquema oficial, la firma con el certificado A1 de la compañía y la envía al entorno nacional. La clave de acceso, el número y el protocolo de la NFS-e devueltos se almacenan en el documento, y el documento pasa a autorizado o rechazado; los mensajes de rechazo se muestran y se publican en el chatter.

  • En los documentos de servicio autorizados aparece un botón "Consultar Status" para comprobar si la NFS-e se canceló directamente en el entorno nacional.
  • El asistente de cancelación incorpora un código de motivo de cancelación obligatorio para los documentos de servicio.
  • Está disponible un informe PDF DANFSe Nacional, generado a partir del XML de la NFS-e autorizada.
  • Los registros de compañía y contacto obtienen campos de estándar nacional (CNPJ/CPF, inscripción municipal, dirección, teléfono, correo electrónico, régimen tributario Simples Nacional) rellenados automáticamente a partir de los datos existentes.
  • El número de DPS y su clave de 42 dígitos se generan automáticamente, y la comprobación habitual de la clave de 44 dígitos se omite para la NFS-e.
  • Las líneas de servicio calculan los detalles fiscales enviados en la DPS (ISS, PIS/COFINS, retenciones federales, porcentajes totales de impuestos), y el nuevo grupo de la reforma fiscal IBS/CBS se incluye cuando la línea lleva los datos de clasificación.

Afecta a los documentos fiscales, sus líneas, compañías, contactos, el asistente de cancelación e informes.

Modelos y campos (6)
  • res.company · modelo nuevonfse10_IM, nfse10_CPF, nfse10_end, nfse10_CNPJ, nfse10_fone, nfse10_email, nfse10_xNome, provedor_nfse, nfse10_opSimpNac, nfse10_regEspTrib, nfse10_regApTribSN
  • res.partner · modelo nuevonfse10_IM, nfse10_CEP, nfse10_CPF, nfse10_end, nfse10_nro, nfse10_CNPJ, nfse10_cMun, nfse10_fone, nfse10_xCpl, nfse10_xLgr, nfse10_email, nfse10_xNome, nfse10_endNac, nfse10_cNaoNIF, nfse10_xBairro
  • ir.actions.report · amplía un modelo existente
  • l10n_br_fiscal.document · modelo nuevonfse_key (NFS-e Access Key), nfse10_Id, nfse10_nDPS, nfse10_serv, nfse10_toma, nfse_number (NFS-e Number), nfse10_dhEmi, nfse10_prest, nfse10_serie, nfse10_tpAmb, nfse10_infDPS, nfse10_interm, nfse10_tpEmit, nfse_protocol (NFS-e Protocol), nfse10_cLocEmi, nfse10_dCompet, nfse10_valores, nfse10_verAplic, edoc_error_message
  • l10n_br_fiscal.document.line · modelo nuevonfse10_CST, nfse10_cNBS, nfse10_trib (Tributação), nfse10_vPis, nfse10_cServ (Código Serviço), nfse10_pAliq, nfse10_vServ, nfse10_vRetCP, nfse10_totTrib (Total Tributos), nfse10_tribFed (Tributos Federais), nfse10_tribMun (Tributos Municipais), nfse10_vCofins, nfse10_cTribMun, nfse10_cTribNac, nfse10_locPrest (Local Prestação), nfse10_pAliqPis, nfse10_pTotTrib (Percentual Total de Tributos), nfse10_vRetCSLL, nfse10_vRetIRRF, nfse10_piscofins (PIS/COFINS), nfse10_tribISSQN, nfse10_vDescCond, nfse10_xDescServ, nfse10_indTotTrib, nfse10_pTotTribSN, nfse10_tpRetISSQN, nfse10_vServPrest (Valores Serviço), nfse10_pAliqCofins, nfse10_pTotTribEst, nfse10_pTotTribFed
  • l10n_br_fiscal.document.cancel.wizard · amplía un modelo existentenfse_nacional_motive (Cancellation Reason Code)

Texto generado por IA (DeepSeek) al leer el código de la versión 18.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. El módulo es muy grande y solo se ha leído una parte del código. Ver el código en GitHub

Disponibilidad por versión

Revisado: 2026-11-03
Confirmado (verificado en repositorio y rama) Estimado (sin verificar) Sin información

Estado de confirmación: 2 confirmadas, 7 sin información de 9 versiones.

Fuentes · Odoo 16.0

Confirmado el 2026-11-03 en la rama 16.0 de OCA/l10n-brazil.

terminal Instalación y uso

Documentación de OCA · Odoo 18.0

En la empresa:

  • Certificado digital: registre el certificado A1 (ICP-Brasil) de la empresa (módulo l10n_br_fiscal_certificate). Firma la DPS y los eventos y también autentica la conexión mTLS con el ADN. La clave privada se usa solo en memoria y en archivo temporal con permiso restringido, y no se registra en el log.
  • Procesador de documentos electrónicos: Odoo Community (oca).
  • Proveedor de NFS-e: Sefin Nacional (ADN) (provedor_nfse = nacional). Solo las empresas con ese proveedor emiten por el ADN.
  • Entorno de la NFS-e: Producción o Homologación. En el ADN la homologación se llama producción restringida y usa otra dirección. El documento copia el entorno de la empresa en la creación, y puedes modificarlo en el propio documento.
  • Registro de la empresa: CNPJ o CPF, municipio (con código IBGE) y régimen tributario (MEI, Simples Nacional o régimen normal), pues la DPS informa el municipio emisor y el régimen del prestador.

Serie y numeración. La serie y el número del documento vienen del documento fiscal (la serie en la línea de numeración de la empresa). El número informado es el nDPS, y no existe RPS: la numeración es libre y la clave de la DPS, de 42 dígitos, se arma con municipio, tipo de emisor, CNPJ/CPF, serie y número.

Municipio. El municipio del prestador debe estar adherido al estándar nacional. Para probar, use el entorno de homologación (producción restringida) con el certificado de la empresa.

Dependencias Python: nfelib, brazilfiscalreport, erpbrasil.assinatura, requests y cryptography.

Emitir

  • Cree un documento fiscal de servicio (modelo SE) para una empresa configurada con el proveedor Sefin Nacional (ADN), con tomador, líneas de servicio (código de servicio, impuestos) y la operación fiscal.
  • Confirme el documento. El módulo arma la DPS, firma con el certificado A1 y valida contra el XSD. Si hay error de schema, aparece en el documento y no se envía nada; vuelva el documento a borrador, corrija y confirme de nuevo.
  • Envíe el documento. El módulo transmite la DPS al ADN por REST/mTLS.
  • En la autorización, el documento queda Autorizada y guarda la clave de acceso de 50 dígitos, el número de la NFS-e, el protocolo y el XML autorizado. En el rechazo, el documento queda Rechazada y el motivo devuelto por el ADN aparece en el chatter y en el evento.
  • El DANFSe en PDF se genera localmente a partir del XML autorizado, mediante la acción de imprimir/generar el PDF del documento.

Cancelar

  • En el documento autorizado, use Cancelar e informe la justificación.
  • Elija el código del motivo (1 - error en la emisión, 2 - servicio no prestado, 9 - otros).
  • El módulo firma y envía el evento de cancelación 101101 al ADN y, aceptado el evento, marca el documento como cancelado.

La inutilización de numeración no existe para la NFS-e Nacional, y por eso el botón queda oculto en los documentos de servicio.

Consultar el estado

En documento autorizado, el botón Consultar Estado pregunta al ADN si la nota fue cancelada por fuera de Odoo (evento 101101 o 305101, este de oficio) y, si lo fue, actualiza el documento.

Importar XML

El módulo importa el XML de una NFS-e Nacional o de una DPS y crea el documento fiscal correspondiente.

Traducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen. Sin información verificada en OCA: Instalación.

info

Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.