Biblioteca NFE.io em Ruby para Emissão de Notas Fiscais (NFS-e, NF-e, NFC-e, CT-e)
SDK Ruby oficial da NFE.io — Ruby 3.2+, zero dependências de runtime, cliente estilo Stripe, tipos RBS e modelos imutáveis.
SDK Ruby oficial da NFE.io — Ruby 3.2+, zero dependências de runtime, cliente estilo Stripe, tipos RBS e modelos imutáveis.
Execução do motor de regras tributárias por tenant, com retorno do detalhamento de impostos por item, no SDK Ruby da NFE.io.
Todas as opções do Nfe::Client e do Nfe::Configuration — chaves de API, timeouts, retries, modelo de duas chaves, sandbox vs. produção, TLS e proxy.
Habilite a busca automática de CT-e (Distribuição DFe) e leia documentos e eventos recebidos por chave de acesso com client.transportation_invoices no host api.nfse.io /v2.
Consulta cadastral de pessoa jurídica por CNPJ — dados básicos e inscrição estadual (inclusive para emissão) no SDK Ruby da NFE.io.
Consulta da situação cadastral de uma pessoa física (CPF + data de nascimento) na Receita Federal pelo SDK Ruby da NFE.io.
Consulta de endereços por CEP, por termo livre e por filtro OData no recurso addresses do SDK Ruby da NFE.io.
Consulta de NF-e por chave de acesso — detalhes, download de PDF (DANFE) e XML, e listagem de eventos — no SDK Ruby da NFE.io.
Consulta de cupom fiscal NFC-e (CFe-SAT) por chave de acesso — recuperação e download de XML — no SDK Ruby da NFE.io.
Baixe PDF/XML das notas. A maioria dos recursos devolve bytes binários (ASCII-8BIT) para salvar com File.binwrite; product_invoices devolve um Nfe::NfeFileResource com a URI do arquivo.
Entenda o contrato HTTP 202, os resultados Pending e Issued, o pattern matching com pending?/issued? e como montar um loop de polling com FlowStatus.terminal?.
Emita NFS-e e NF-e/NFC-e no layout da Reforma Tributária do Consumo com client.service_invoices_rtc (api.nfe.io /v1) e client.product_invoices_rtc (api.nfse.io /v2), selecionando o layout pela presença dos grupos IBS/CBS no payload.
Emita NFS-e e NF-e/NFC-e sob o layout da Reforma Tributária do Consumo com service_invoices_rtc e product_invoices_rtc — o layout é selecionado pela forma do payload (ibsCbs / items[].tax.IBSCBS), sem header discriminador.
CRUD de empresas e ciclo de vida do certificado digital (upload, validação e status) no recurso companies do SDK Ruby da NFE.io.
CRUD das inscrições estaduais (Inscrição Estadual) de uma empresa, com paginação cursor-style, no SDK Ruby da NFE.io.
Habilite a busca automática de NF-e de fornecedores (Distribuição DFe), leia documentos e eventos por chave de acesso e envie a manifestação do destinatário com client.inbound_product_invoices no host api.nfse.io /v2.
Emita NFC-e (modelo 65) com client.consumer_invoices no host api.nfse.io /v2 — emissão discriminada, listagem por cursor, downloads em bytes e inutilização coletiva.
Emita NF-e modelo 55 com client.product_invoices no host api.nfse.io /v2 — listagem por cursor com environment obrigatório, carta de correção, inutilização e downloads por URI.
Emita, liste, consulte, cancele e baixe NFS-e com client.service_invoices no host api.nfe.io /v1, tratando o retorno discriminado 202.
Itere listas com Nfe::ListResponse (que inclui Enumerable) e leia os metadados de página em Nfe::ListPage — paginação por página ou por cursor, conforme o recurso.
CRUD de pessoas físicas (tomadores PF) escopadas por empresa, com create_batch e find_by_tax_number, no SDK Ruby da NFE.io.
CRUD de pessoas jurídicas (tomadores PJ) escopadas por empresa, com create_batch e find_by_tax_number, no SDK Ruby da NFE.io.
Instale o gem nfe-io, crie um Nfe::Client, emita sua primeira NFS-e e acompanhe o processamento com polling.
Entenda como o SDK roteia cada recurso para o host correto (api.nfe.io, api.nfse.io e os hosts de dados), o modelo de duas chaves e o escape hatch base_url_overrides.
Listas de referência do CT-e — códigos de operação, finalidades de aquisição e perfis tributários — com paginação page-style no SDK Ruby da NFE.io.
A hierarquia Nfe::Error, a tabela de códigos HTTP por classe, padrões idiomáticos de rescue, validação client-side fail-fast, RateLimitError#retry_after e erros de rede.
Verifique a assinatura HMAC-SHA1 das entregas de webhook da NFE.io com Nfe::Webhook, leia o corpo cru antes de parsear o JSON e torne seus handlers idempotentes.
CRUD de assinaturas de webhook por empresa, disparo de teste, lista de eventos disponíveis e verificação de assinatura no SDK Ruby da NFE.io.