NFS-e Nacional (ADN)
O conector ADN NFS-e permite a integração com o Sistema Nacional de NFS-e (Nota Fiscal de Serviço Eletrônica), gerenciado pela Receita Federal em parceria com os municípios brasileiros. Este sistema padroniza a emissão de NFS-e em todo o território nacional.
Configuração
Para utilizar este conector, você precisará de um Certificado Digital (modelo A1 ou A3) válido emitido por autoridade certificadora ICP-Brasil.
| Campo | Descrição |
|---|---|
| Environment | Ambiente de execução: producao ou producao-restrita (homologação). |
| Certificate (PFX/P12) | O arquivo do seu certificado digital em Base64. |
| Certificate Password | A senha para desbloquear o certificado digital. |
Nota: O conector detecta automaticamente a versão do leiaute e o tipo de ambiente (
tp_amb) com base na configuração deenvironment:
- producao-restrita: Usa
versao="1.01"etp_amb="2"- producao: Usa
versao="1.00"etp_amb="1"
Municípios Conveniados
Nem todos os municípios brasileiros estão conveniados ao Sistema Nacional NFS-e. Antes de utilizar o conector, verifique se o município está aderente consultando a ação get_by_codigo_municipio_convenio.
from abstra.connectors import run_connection_action
# Verificar se município está conveniado
result = run_connection_action(
"adn-nfse",
"get_by_codigo_municipio_convenio",
{"codigoMunicipio": "3304557"} # Rio de Janeiro
)
if result["data"]["parametros_convenio"]["aderente_ambiente_nacional"] == 1:
print("Município está conveniado!")
Ações Principais
post_nfse
Emite uma NFS-e de forma síncrona a partir de uma DPS (Declaração de Prestação de Serviços).
Campos computados automaticamente:
id- ID da DPS (formato: DPS + código município + tipo insc. federal + inscrição federal + série + número)tp_amb- Tipo de ambiente (1=produção, 2=homologação)versao- Versão do leiautedh_emi- Data/hora de emissãod_compet- Data de competência
get_by_codigo_municipio_convenio
Consulta os parâmetros do convênio de um município.
get_nfse_by_chave_acesso
Consulta uma NFS-e pela chave de acesso (50 posições).
get_dps_by_id
Retorna a chave de acesso da NFS-e a partir do ID da DPS.
post_nfse_by_chave_acesso_eventos
Registra eventos na NFS-e (cancelamento, substituição, etc.).
Estrutura do XML
O conector gera automaticamente o XML da DPS assinado digitalmente. A estrutura segue o padrão definido nos schemas XSD da Sefin Nacional:
- Namespace:
http://www.sped.fazenda.gov.br/nfse - Elemento raiz:
<DPS> - Elemento assinado:
<infDPS>(referenciado pelo atributoId) - Algoritmos: RSA-SHA1 para assinatura, SHA1 para digest
Compressão
Os XMLs são comprimidos com GZIP e codificados em Base64 antes do envio, conforme especificação da API.
Observações Importantes
-
Código de Tributação Nacional (cTribNac): Deve ser um código de 6 dígitos válido e administrado pelo município de incidência do ISSQN. Consulte a lista de serviços nacional.
-
Parametrização Municipal: Cada município deve parametrizar os serviços que administra no Painel Administrativo Municipal. Se um código de serviço não estiver parametrizado, a emissão será rejeitada com erro E0312.
-
Certificado Digital: Use certificado A1 (arquivo PFX) para melhor compatibilidade. Certificados com algoritmos legados (RC2-CBC) são suportados através de conversão automática via OpenSSL.