Skip to content

fabyo/NFEConsulta

Repository files navigation

Logo

NuGet Downloads Build Publish CodeQL Scorecard Release Drafter GitHub stars License

NFEConsulta é uma biblioteca .NET moderna para consulta de NF-e e serviços fiscais. Além de verificar a situação da NF-e (autorizada, cancelada e outros eventos), permite consultar dados de CNPJ, obter informações e situação cadastral da empresa, validar certificados digitais A1/A3 e verificar sua data de expiração, oferecendo uma API simples, rápida e pronta para integração em aplicações fiscais.

Diferenciais

  • Status oficial da SEFAZ via NFeStatusServico4, em vez de ping ou teste de rede.
  • Resolucao conservadora de endpoints por UF, com SP como default e override explicito quando necessario.
  • CorrelationId opcional para rastrear jobs, lotes e logs.
  • Validacao de XML contra XSD oficial incluso no pacote.
  • Contratos tipados para separar retorno fiscal de falha tecnica.
  • Suporte para biblioteca, CLI e API REST interna.

Documentacao

Instalacao

dotnet add package NFEConsulta

Exemplo rapido

using System.Security.Cryptography.X509Certificates;
using NFEConsulta.Infrastructure;
using NFEConsulta.Models;
using NFEConsulta.Services;

using X509Certificate2 certificado = CertificadoProvider.ObterPorPem(
    "certs/cert.pem",
    "certs/key.pem");

NFeConsultaOptions options = new()
{
    Ambiente = TipoAmbiente.Producao,
    Uf = UfNFe.SP,
    CorrelationId = "job-20260619-001"
};

using NFeConsultaClient client = NFeConsultaClient.CriarComCertificado(certificado, options);
ConsultaNFeResult resultado = await client.ConsultarChaveAsync("99999999999999999999999999999999999999999999");

Extraindo dados do Certificado

Biblioteca C#

using NFEConsulta.Infrastructure;

CertificadoInfo info = certificado.ExtrairInfo();
Console.WriteLine($"CNPJ: {info.Cnpj}");
Console.WriteLine($"Vencimento: {info.DataExpiracao}");

CLI

nfeconsulta certificado --cert-pem cert.pem --key-pem key.pem
# Ou com saida em JSON:
nfeconsulta certificado --cert-pem cert.pem --key-pem key.pem --json

Consultando CNPJ / Cadastro de Contribuinte na SEFAZ

Você pode consultar a situação fiscal e cadastral de um CNPJ, CPF ou Inscrição Estadual (IE) diretamente junto aos webservices estaduais da SEFAZ usando o método NFeCadastroClient.

using NFEConsulta.Models;
using NFEConsulta.Services;

NFeConsultaOptions options = new()
{
    Ambiente = TipoAmbiente.Producao,
    Uf = UfNFe.SP // Define a UF da consulta
};

using NFeCadastroClient client = NFeCadastroClient.CriarComCertificado(certificado, options);
CadastroConsultaResult resultado = await client.ConsultarCadastroAsync("12345678901234"); // CNPJ, CPF ou IE

if (resultado.Sucesso)
{
    foreach (var cad in resultado.Contribuintes)
    {
        Console.WriteLine($"Nome: {cad.Nome}");
        Console.WriteLine($"IE: {cad.IE}");
        Console.WriteLine($"Situação: {cad.Situacao}"); // Ex: "Habilitado"
        Console.WriteLine($"Endereço: {cad.Endereco?.Logradouro}, {cad.Endereco?.Numero} - {cad.Endereco?.NomeMunicipio}/{cad.UF}");
    }
}

O que esta incluso

  • Validacao de chave de acesso de 44 digitos.
  • Extracao de chave a partir de XML de NF-e.
  • Validacao XML contra XSD oficial.
  • Consulta de NF-e por chave.
  • Consulta do status oficial da SEFAZ.
  • Consulta de cadastro de contribuinte (CNPJ, CPF ou IE) via SEFAZ (CadConsultaCadastro4).
  • Extração de dados e metadados de certificados digitais (CNPJ, nome, datas).
  • Suporte para biblioteca, CLI e API interna.

Projetos

  • src/NFEConsulta.Core: biblioteca principal publicada no NuGet como NFEConsulta.
  • src/NFEConsulta.Cli: CLI publicada como NFEConsulta.Cli.
  • src/NFEConsulta.Api: API REST interna.

Pacote e versao

A versao publica atual e 0.4.2.

🔗 Projetos relacionados

Projeto Descrição
NFEEmissor Emissor completo de Nota Fiscal Eletrônica (NF-e)
NFeSchemaDownloader Mantém os Schemas XML (XSD) da SEFAZ sempre atualizados automaticamente
NFEDanfe Gera DANFE em PDF a partir de XML NF-e autorizado

Ferramentas CLI

  • NFEEmissor.Cli (se houver) / ferramentas do ecossistema.
  • NFEDanfe.Cli → Geração de DANFE pela linha de comando.
  • NFeSchemaDownloader.Cli → Automação de download de Schemas.

Fluxo recomendado

NFeSchemaDownloader (Mantém XSDs atualizados)
   │
   ▼
NFEEmissor (Gera o XML da NF-e)
   │
   ▼
NF-e XML
   │
   ▼
NFEConsulta (Valida XML via XSD e consulta SEFAZ)
   │
   ▼
NFEDanfe (Gera o PDF final)

Autor

Fabyo Guimaraes Oliveira

Licenca

MIT.

About

NFEConsulta é uma biblioteca .NET moderna e de alto desempenho para consulta de NF-e e serviços fiscais. Além de verificar a situação da NF-e (autorizada, cancelada e outros eventos), permite consultar dados de CNPJ, obter informações e situação cadastral da empresa, validar certificados digitais;

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages