Pular para o conteúdo principal

Notas fiscais de consumidor (NFC-e)

client.consumer_invoices cobre o ciclo de vida da NFC-e (Nota Fiscal de Consumidor Eletrônica, modelo 65) no host api.nfse.io, sob /v2. É útil para integrações de PDV e e-commerce.

Adição parity-plus

Este recurso vai além do SDK Node.js, que não expõe emissão de NFC-e. A API NFE.io suporta o ciclo completo da NFC-e desde a v2.

A emissão segue o contrato 202 discriminado: create / create_with_state_tax devolvem ConsumerInvoicePending ou ConsumerInvoiceIssued. Não há create_and_wait nem create_batch.

Métodos

MétodoDescriçãoRetorno
create(company_id:, data:, idempotency_key: nil, request_options: nil)Emite a NFC-e.ConsumerInvoicePending ou ConsumerInvoiceIssued
create_with_state_tax(company_id:, state_tax_id:, data:, idempotency_key: nil, request_options: nil)Emite vinculada a uma inscrição estadual.ConsumerInvoicePending ou ConsumerInvoiceIssued
list(company_id:, environment:, **options)Lista por cursor. environment ("Production"/"Test") é obrigatório.Nfe::ListResponse
retrieve(company_id:, invoice_id:)Consulta por id.Nfe::ConsumerInvoice
cancel(company_id:, invoice_id:)Cancela (síncrono).Nfe::ConsumerInvoice
list_items(company_id:, invoice_id:)Lista os itens.Array
list_events(company_id:, invoice_id:)Lista os eventos.Array
download_pdf(company_id:, invoice_id:)DANFE NFC-e PDF.String binária
download_xml(company_id:, invoice_id:)XML autorizado.String binária
download_rejection_xml(company_id:, invoice_id:)XML de rejeição.String binária
disable_range(company_id:, data:)Inutilização coletiva de uma faixa.Hash
Métodos ausentes por lei fiscal

A NFC-e não tem carta de correção, EPEC, nem inutilização individual. Logo, send_correction_letter, download_epec_xml e disable não existem neste recurso — chamá-los levanta NoMethodError. Para inutilizar, use apenas disable_range (coletiva).

Emitir uma NFC-e

result = client.consumer_invoices.create(
company_id: "55df4dc6b6cd9007e4f13ee8",
data: {
items: [
{ code: "001", description: "Café 250g", quantity: 2, unitAmount: 19.9 }
],
payment: [{ method: "Cash", amount: 39.8 }]
}
)

case result
in Nfe::Resources::ConsumerInvoicePending => pending
pending.invoice_id
in Nfe::Resources::ConsumerInvoiceIssued => issued
issued.resource # Nfe::ConsumerInvoice
end
Idempotência

create e create_with_state_tax aceitam idempotency_key: (header Idempotency-Key) e request_options:. Reutilize a mesma chave em retentativas para evitar emissão duplicada.

Acompanhar até um estado terminal

loop do
nfce = client.consumer_invoices.retrieve(
company_id: company_id,
invoice_id: invoice_id
)
break if Nfe::FlowStatus.terminal?(nfce.flow_status)

sleep 2
end

Baixar PDF e XML (bytes binários)

Ao contrário das notas de produto, aqui os downloads retornam uma String binária (ASCII-8BIT) — grave com File.binwrite.

pdf = client.consumer_invoices.download_pdf(
company_id: company_id,
invoice_id: invoice_id
)
File.binwrite("danfe-nfce.pdf", pdf)

Inutilização coletiva

client.consumer_invoices.disable_range(
company_id: company_id,
data: {
environment: "Production", serie: 1, state: "SP",
beginNumber: 50, lastNumber: 60, reason: "Falha de comunicação com a SEFAZ"
}
)

Próximos passos

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.