Pular para o conteúdo principal
NFE.io

Biblioteca NFE.io em Python para Emissão de Nota Fiscal de Serviço (NFS-e)

SDK Python oficial da NFE.io — Python 3.10+, zero dependências de runtime, clientes síncrono e assíncrono, NFS-e, empresas, certificados, webhooks e consultas de CNPJ, CPF e CEP.

SDK
Biblioteca NFE.io em Python para Emissão de Nota Fiscal de Serviço (NFS-e)

Biblioteca Python NFE.io

SDK oficial da NFE.io para Python: emite e gerencia NFS-e, cadastra empresas e certificados digitais, administra webhooks e consulta CNPJ, CPF e CEP. Publicado no PyPI como nfe-io e importado como nfeio.

  • Dois clientes, a mesma superfície: NfeClient (síncrono) e AsyncNfeClient (async/await).
  • Zero dependências de runtime: só a biblioteca padrão do Python.
  • Emissão segura: o SDK nunca reenvia uma emissão sozinho depois que ela pode ter chegado à API.
  • Tipado (py.typed, checado com mypy --strict), sem estado global e com TLS sempre verificado.
  • Valores em Decimal nas propriedades tipadas; o corpo das requisições usa as mesmas chaves (camelCase) da referência da API.
Versão 0.1 (alfa)

Esta é a primeira versão pública (0.1.0, de 09/10/2026). Enquanto a versão for 0.x, uma minor pode trazer mudança incompatível, sempre anunciada no CHANGELOG.

Requisitos​

  • Python 3.10 a 3.14.
  • Zero dependências de runtime.

Instalação​

pip install nfe-io
# ou
uv add nfe-io

Primeiros passos​

from decimal import Decimal

from nfeio import NfeClient

client = NfeClient() # lê NFE_API_KEY e NFE_DATA_API_KEY do ambiente

invoice = client.service_invoices.create_and_wait(
"ID_DA_EMPRESA",
{
"cityServiceCode": "10677",
"description": "Consultoria em tecnologia",
"servicesAmount": Decimal("150.00"),
"borrower": {
"type": "NaturalPerson",
"name": "Maria Silva",
"federalTaxNumber": "52998224725",
"email": "[email protected]",
},
},
external_id="pedido-1001",
)
print(invoice.flow_status, invoice["number"])

O passo a passo completo está em Primeiros passos.

Guias​

GuiaConteúdo
Primeiros passosInstalação, cliente, primeira NFS-e e download do PDF.
ConfiguraçãoAs duas chaves, variáveis de ambiente, timeouts, retry, TLS e opções por chamada.
Síncrono, assíncrono e pollingAsyncNfeClient, create_and_wait, wait e os estados da nota.
Tratamento de errosHierarquia de exceções, outcome_unknown e a reconciliação por external_id.
WebhooksVerificação de assinatura com Flask, FastAPI e Django.
PaginaçãoPaginação por índice (NFS-e) e por cursor (empresas).
DownloadsPDF e XML em bytes, sem reenviar a chave no redirecionamento.
Emissão RTCNFS-e no layout da Reforma Tributária (ibsCbs, nbsCode).
Cookbook por recursoUm guia por recurso do cliente.

Recursos do cliente​

AcessorO que fazCookbook
client.service_invoicesEmitir, consultar, listar, cancelar e baixar NFS-eNotas de serviço
client.companiesCadastro de empresas (API v2)Empresas
client.certificatesEnvio e consulta do certificado digital A1Certificados
client.webhooksWebhooks da conta; a verificação fica em nfeio.webhooksWebhooks
client.lookups.cnpjConsulta de CNPJ (v3, numérico e alfanumérico)Consulta de CNPJ
client.lookups.cpfSituação cadastral de CPFConsulta de CPF
client.lookups.cepEndereço por CEPConsulta de CEP

O que a versão 0.1 ainda não cobre​

O SDK Python cobre só os recursos da tabela acima. Para estes, use a API REST diretamente (ou um dos SDKs Node.js, PHP ou Ruby):

  • NF-e (modelo 55) e NFC-e (modelo 65): NF-e v2 e NFC-e v2.
  • CT-e, distribuição DF-e e notas de entrada (inbound).
  • Cálculo de impostos: API de Cálculo de Impostos.
  • NFS-e v3 (CNPJ alfanumérico do prestador): a NFS-e do SDK usa a API v1.
  • Inscrições municipais e estaduais da empresa, tomadores cadastrados (pessoas físicas e jurídicas) e consulta de notas por chave de acesso.
  • Proxy HTTP: as variáveis HTTPS_PROXY/HTTP_PROXY são ignoradas. Quem precisa de proxy hoje injeta um transporte próprio (veja Configuração).

Segurança​

Vulnerabilidades no SDK são tratadas pelo canal privado do GitHub (aba Security do repositório nfe/client-python, Report a vulnerability). Não abra issue pública e não inclua chaves, certificados ou dados fiscais reais no relato. Problemas da API em si vão para o suporte da NFE.io.

NFE.io

A NFE.io é uma empresa de tecnologia que fornece soluções para automatizar e simplificar a emissão e gestão de notas fiscais eletrônicas. Com suas ferramentas, as empresas podem economizar tempo e reduzir erros, aumentando a eficiência e precisão do processo de emissão de notas fiscais.

Um dos principais cases de sucesso da NFE.io é a implementação da solução na empresa de transporte Rodonaves. Com a automatização da emissão e gestão de notas fiscais eletrônicas, a Rodonaves conseguiu reduzir em até 80% o tempo gasto nesse processo, o que se traduziu em uma significativa melhoria na eficiência operacional. Além disso, a empresa também conseguiu eliminar erros e atrasos na emissão de notas fiscais, o que melhorou a relação com seus clientes e aumentou a confiança dos órgãos fiscais.

Outro exemplo é a implementação da NFE.io na empresa de comércio eletrônico, a Loja Integrada. Com a automatização da emissão de notas fiscais, a Loja Integrada conseguiu aumentar a velocidade de emissão de notas em até 10 vezes, o que permitiu que a empresa atendesse a uma maior quantidade de clientes e, consequentemente, aumentar as suas vendas.

Além desses exemplos, a NFE.io também tem outros cases de sucesso com empresas de setores como indústria, construção, varejo e serviços, mostrando a versatilidade e eficácia da sua solução.

Em resumo, a NFE.io é uma empresa de tecnologia que oferece soluções para automatizar e simplificar a emissão e gestão de notas fiscais eletrônicas, ajudando as empresas a economizar tempo e reduzir erros, melhorando a eficiência e precisão do processo. Com cases de sucesso em diferentes setores, a NFE.io tem se destacado como uma empresa líder em automação fiscal.