TF Fiscal

Outros documentos fiscais

NF3-e

5 endpoints

A API de NF3e (modelo 66, leiaute 1.00) permite emitir, consultar, cancelar e obter o PDF (DANF3E) de Notas Fiscais de Energia Elétrica Eletrônicas — a "conta de luz" eletrônica que substitui a Nota Fiscal/Conta de Energia Elétrica (modelo 6). A autorização é feita no ambiente nacional único (SVRS). Os dados do emitente são preenchidos automaticamente a partir do cadastro da empresa (CNPJ, IE, razão social e endereço); os campos técnicos da chave de acesso (cNF, cDV, cUF, dhEmi, mod, serie) são preenchidos pelo servidor. O QR-Code de consulta (qrCodNF3e) também é gerado automaticamente.

EndpointMétodoDescrição
/api/nf3e/createPOSTEmitir NF3e
/api/nf3e/consultPOSTConsultar situação da NF3e
/api/nf3e/cancelPOSTCancelar NF3e autorizada
/api/nf3e/pdfPOSTObter o DANF3E (PDF) da NF3e
/api/nf3e/get_listGETListar NF3e (paginado)
Credenciamento obrigatório: a emissão de NF3e exige que o CNPJ emissor esteja credenciado para o modelo 66 junto ao Fisco da sua UF (habilitação restrita a distribuidoras e comercializadoras de energia elétrica). Sem o credenciamento, o Fisco rejeita a emissão com cStat=203 ("Emissor não habilitado para emissão da NF3e"). Além disso, a partir de 03/08/2026 os grupos de IBS/CBS (Reforma Tributária) passam a ser exigidos no ambiente de produção.

A NF3e exige o grupo gANEEL (histórico de faturamento — 13 competências por grandeza). Quando não enviado, o servidor gera automaticamente as 13 competências a partir do valor faturado.

POST/api/nf3e/create

Emitir NF3e

Emite uma NF3e a partir do corpo enviado. O cliente envia apenas os dados de negócio — o bloco do emitente (emit) é montado automaticamente a partir do cadastro da empresa do token, e os campos técnicos da chave de acesso são calculados pelo servidor. O débito de crédito ocorre somente em produção (tpAmb=1) e quando a NF3e é autorizada. Após a autorização, o XML (nf3eProc) e o DANF3E (PDF) são gerados e disponibilizados por URL.

Headers obrigatórios

HeaderTipoDescrição
tokenstringToken da empresa emissora
signstringAssinatura MD5: MD5(token + path + body + timestamp)
timestampstringUnix timestamp em segundos (janela de 5 minutos)

Body — raiz

CampoTipoDescrição
ideobjectIdentificação da NF3e (ambiente, competência do fato gerador)
dest *objectDados do destinatário/consumidor
acessante *objectDados da unidade consumidora (obrigatório no leiaute da NF3e)
det *arrayItens faturados — mínimo 1
totalobjectTotalizador. Opcional — calculado a partir dos itens quando omitido
gFatobjectDados da fatura (competência, vencimento, próxima leitura, código de barras)
gANEELarrayHistórico de faturamento (13 competências por grandeza). Opcional — gerado automaticamente quando omitido
infAdFiscostringInformações de interesse do Fisco
infCplarrayInformações complementares (lista de textos)
autXMLarrayCNPJs/CPFs autorizados a acessar o XML (lista de strings)
Campos obrigatórios na requisição: dest com xNome, um de CNPJ/CPF/idOutros e enderDest (xLgr, nro, xBairro, cMun, xMun, CEP com 8 dígitos, UF); acessante.idAcesso; e pelo menos 1 item em det com xProd, cClass (7 dígitos da tabela de classificação de itens da NF3e), vItem e vProd. Todos os demais campos são opcionais.

ide — Identificação

CampoTipoDescrição
tpAmbintAmbiente: 1=produção, 2=homologação. Default: 2
nNFlongNúmero sequencial da NF3e. Opcional — auto-incrementado pelo servidor quando omitido ou 0
dhEmistringData/hora de emissão. Opcional — gerada pelo servidor quando omitida
cMunFGlongCódigo IBGE do município do fato gerador (7 dígitos). Opcional — default: município do cadastro da empresa
finNF3eintFinalidade: 1=Normal, 2=Substituição, 3=Normal com ajuste. Default: 1
nSiteAutorizintSite autorizador (1 dígito da chave). Default: 0

Preenchidos automaticamente pelo servidor — não é necessário enviá-los: mod (fixo em 66), serie (série de NF3e cadastrada na empresa; configure em /api/company/edit via serie_nf3e), cUF (derivado do cadastro da empresa), cNF (código numérico de 7 dígitos), cDV (dígito verificador da chave), tpEmis (normal) e verProc. O bloco emit completo e o infNF3eSupl (QR-Code) também são montados pelo servidor.

dest — Destinatário / Consumidor

CampoTipoDescrição
xNome *stringNome ou razão social do consumidor
CNPJ ⚠stringCNPJ do consumidor (14 dígitos)
CPF ⚠stringCPF do consumidor (11 dígitos)
idOutros ⚠stringOutro documento de identificação
indIEDestintIndicador de IE: 1=contribuinte, 2=isento, 9=não contribuinte. Default: 9
IEstringInscrição Estadual do consumidor (quando contribuinte)
enderDest *objectEndereço do consumidor (ver estrutura abaixo)

enderDest — Endereço

CampoTipoDescrição
xLgr *stringLogradouro
nro *stringNúmero
xCplstringComplemento
xBairro *stringBairro
cMun *longCódigo IBGE do município (7 dígitos)
xMun *stringNome do município
CEP *stringCEP (8 dígitos)
UF *stringSigla da UF (2 letras)
fonestringTelefone
emailstringE-mail

acessante — Unidade consumidora

CampoTipoDescrição
idAcesso *stringCódigo de identificação da unidade consumidora / ponto de acesso (até 15 caracteres)
tpAcessointTipo de acesso: 0=Gerador, 1=Cativo, 2=Livre, 3=Parc. Livre, 4=Cons. Especial, 5=Parc. Especial, 6=Comunhão, 7=Suprimento, 8=Distribuidora. Default: 1
xNomeUCstringNome da unidade consumidora
tpClassestringClasse de consumo: 01=Comercial, 02=Consumo Próprio, 03=Iluminação Pública, 04=Industrial, 05=Poder Público, 06=Residencial, 07=Rural, 08=Serviço Público. Default: 06
tpSubClassestringSubclasse de consumo (01–29, 99)
tpFaseintTipo de ligação: 1=Monofásico, 2=Bifásico, 3=Trifásico. Default: 3
tpGrpTensaostringGrupo de tensão (01–14: A1..B4b). Default: 12
tpModTarstringModalidade tarifária (01–10: Convencional/Horária Azul/Verde/Branca...). Default: 01
latGPSstringLatitude do ponto de captura. Exatamente 6 casas decimais (ex.: "-23.550500"). Default: coordenada padrão
longGPSstringLongitude do ponto de captura. Exatamente 6 casas decimais (ex.: "-46.633300"). Default: coordenada padrão

det[] — Itens faturados

CampoTipoDescrição
cProdstringCódigo do item. Opcional — default: número sequencial
xProd *stringDescrição do item faturado (ex.: "Consumo de energia elétrica")
cClass *stringCódigo de classificação do item (7 dígitos — tabela de classificação de itens da NF3e)
CFOPstringCFOP da operação (obrigatório quando o item tem ICMS)
uMedstringUnidade de medida: 1=kW, 2=kWh, 3=kVAr, 4=kVArh, 5=UN. Default: 2
qFaturadastringQuantidade faturada. Default: "1"
vItem *stringValor unitário (tarifa) do item
vProd *stringValor total do item
indOrigemQtdstringOrigem da quantidade: 1=Média, 2=Medido, 3=Contratada, 4=Calculada, 5=Custo disp., 6=Sem qtd. Default: 2
infAdProdstringInformações adicionais do item
icmsobjectTributação de ICMS do item (ver abaixo)
pisobjectPIS do item (ver abaixo)
cofinsobjectCOFINS do item (mesma estrutura do PIS)
ibscbsobjectIBS/CBS — Reforma Tributária (ver abaixo)

det[].icms — ICMS do item

CampoTipoDescrição
cststringCST do ICMS. Default: "00" (tributação integral)
vBCstringBase de cálculo do ICMS
pICMSstringAlíquota do ICMS (%)
vICMSstringValor do ICMS
isentobooltrue = item isento/não tributado (grupo ICMS40)
semCSTbooltrue = item sem relação com o ICMS (indSemCST; não informe CFOP nesse caso)

det[].pis / det[].cofins

CampoTipoDescrição
cststringCST do PIS/COFINS. Default: "01"
vBCstringBase de cálculo
pAliqstringAlíquota (%)
valorstringValor do tributo

det[].ibscbs — IBS/CBS (Reforma Tributária)

CampoTipoDescrição
cststringCST do IBS/CBS (3 dígitos)
cClassTribstringCódigo de classificação tributária
vBCstringBase de cálculo
pIBSUF / vIBSUFstringAlíquota e valor do IBS estadual
pIBSMun / vIBSMunstringAlíquota e valor do IBS municipal
vIBSstringValor total do IBS
pCBS / vCBSstringAlíquota e valor da CBS

gFat — Dados da fatura

CampoTipoDescrição
CompetFatstringCompetência da fatura no formato AAAAMM
dVencFatstringData de vencimento no formato AAAA-MM-DD
dProxLeiturastringData prevista da próxima leitura (AAAA-MM-DD). Opcional — default: +30 dias
codBarrasstringLinha digitável do código de barras (somente dígitos, 1–48)
codDebAutostringCódigo de autorização de débito em conta (alternativa a codBanco+codAgencia)
codBanco / codAgenciastringBanco e agência para débito em conta. Um dos dois grupos (codDebAuto OU codBanco+codAgencia) é exigido pelo schema — default: banco 001, agência 0001

* Campo obrigatório. ⚠ No destinatário, pelo menos um de CNPJ, CPF ou idOutros é obrigatório. Valores monetários e alíquotas são enviados como string com ponto decimal (ex.: "75.00").

POST/api/nf3e/consult

Consultar situação da NF3e

Consulta a situação atual da NF3e no ambiente nacional (SVRS) a partir da chave de acesso.

Headers obrigatórios

HeaderTipoDescrição
tokenstringToken da empresa emissora
signstringAssinatura MD5
timestampstringUnix timestamp em segundos

Body

CampoTipoDescrição
chNF3e *stringChave de acesso da NF3e (44 dígitos)

* Campo obrigatório.

POST/api/nf3e/cancel

Cancelar NF3e

Cancela uma NF3e autorizada (evento 110111). Requer que a NF3e tenha sido autorizada (possua protocolo) e ainda não esteja cancelada.

Headers obrigatórios

HeaderTipoDescrição
tokenstringToken da empresa emissora
signstringAssinatura MD5
timestampstringUnix timestamp em segundos

Body

CampoTipoDescrição
chNF3e *stringChave de acesso da NF3e (44 dígitos)
xJust *stringJustificativa do cancelamento (mínimo 15 caracteres por exigência Fisco)
nProt *stringProtocolo de autorização da NF3e (16 dígitos)

* Campo obrigatório.

POST/api/nf3e/pdf

Obter PDF da NF3e

Retorna a URL do DANF3E — a representação em PDF da NF3e (conta de energia). O PDF é gerado automaticamente na autorização; quando ainda não existe no armazenamento, é gerado sob demanda a partir do XML.

Headers obrigatórios

HeaderTipoDescrição
tokenstringToken da empresa emissora
signstringAssinatura MD5
timestampstringUnix timestamp em segundos

Body

CampoTipoDescrição
chNF3e *stringChave de acesso da NF3e (44 dígitos)

* Campo obrigatório.

GET/api/nf3e/get_list

Listar NF3e (com paginação)

Lista as NF3e da empresa com paginação. Parâmetros passados via query string (não no body).

Headers obrigatórios

HeaderTipoDescrição
tokenstringToken da empresa emissora
signstringAssinatura MD5 (path inclui a query string)
timestampstringUnix timestamp em segundos

Query string

ParâmetroTipoDescrição
page *intNúmero da página (≥ 1)
page_size *intTamanho da página (1–50)

* Campo obrigatório.