TF Fiscal
Documentación

NF-e

Emitir NF-e

Acepta la solicitud de emisión de inmediato; la autorización en la SEFAZ ocurre de forma asíncrona.

POST/openapi/v2/empresas/{empresaId}/nf-e

Requiere las cabeceras de firma token, timestamp y sign, vea Autenticación.

Las solicitudes aceptadas devuelven HTTP 200 sin cuerpo y entran en el flujo asíncrono de emisión; el resultado llega por webhook o por la consulta. Reenviar el mismo id reutiliza la tarea original; si el intento anterior fue denegado (Negada), reenviar el mismo id con los campos corregidos emite de nuevo con el nuevo payload, sin necesidad de otro id; cambiar campos clave como el destinatario mientras el intento anterior sigue en proceso o ya fue autorizado se rechaza con 10004032. Los errores de autenticación (10009xxx) están en Autenticación.

Parámetros

Parámetros de ruta

  • empresaIdstringobligatorio

    Identificador de la empresa devuelto en Registrar empresa.

    Ejemplo: 1934811222334455

Cuerpo de la petición

  • idstringobligatorio

    Identificador único de la solicitud de emisión (generado por usted, hasta 64); también es el nfeId de consulta / cancelación y la clave de idempotencia.

    Ejemplo: NFe-000014553
  • ambienteEmissaostringobligatorio

    Homologacao / Producao; debe corresponder al entorno actual de la empresa; de lo contrario 10004030.

  • finalidadestringopcional

    Normal (por defecto) / Devolucao para facturas de devolución, vea la sección de facturas de devolución.

  • notaReferenciadaobjectobligatorio en facturas de devolución

    Referencia a la factura original que se devuelve.

  • pedidoobjectobligatorio

    Datos del pedido.

  • clienteobjectobligatorio

    Destinatario (comprador).

  • itensarrayobligatorio

    Ítems de la factura.

Respuestas

200

Solicitud aceptada; sin cuerpo. La factura permanece en AguardandoAutorizacao hasta que la SEFAZ responda.

Sin cuerpo de respuesta

Errores

CódigoHTTP
GW001400

El código IBGE del municipio del cliente no existe. Verifique la UF y el código IBGE.

10003000404

empresaId no existe o no pertenece a esta aplicación.

10004004400

Empresa no habilitada para emitir (aún no aprobada o certificado no listo). Espere la aprobación / vincule el certificado.

10004030400

ambienteEmissao no corresponde al entorno actual de la empresa. Envíe en el entorno de la empresa o pida a operaciones que lo cambie.

10004031400

Valor no admitido (presencaConsumidor / tipo de pago desconocido / tipoPessoa incoherente con el documento / comprador CPF con inscricaoEstadual / IntegradoAoSistemaDeGestao). Ajuste al alcance admitido.

10004032400

El mismo id se reenvió con campos clave modificados mientras el intento anterior sigue en proceso o ya fue autorizado. Use un nuevo id.

10004002400

Demasiadas tareas de emisión pendientes para el CNPJ. Reintente más tarde.

10005000400

Rechazado por el motor tributario (régimen / código incompatible, código de ST para comprador no contribuyente, alícuota fuera de rango, ...). Vea las reglas estrictas bajo la matriz de códigos tributarios.

10004020400

Falta codigoBeneficioFiscal en CST 20/30/40/41/50/51/70/90.

10004021400

Factura de devolución: línea sin notaReferenciada.numeroItem o factura sin notaReferenciada.chaveAcesso.

10004022400

Referencia de línea en una factura que no es de devolución.

10004023400

Factura original no encontrada o no perteneciente a esta empresa.

10004024400

Factura original no autorizada.

10004025400

Ítem no encontrado en la factura original.

10004026400

Cantidad superior a la línea original (sumada entre las líneas que referencian el mismo ítem).

10004034400

Comprador CNPJ sin cliente.inscricaoEstadual. Envíe la inscripción estatal del comprador (contribuyente de ICMS).

10004043400

Falta un campo del contrato (reducción de base / MVA y alícuota de ST / diferimiento / importe de tributo por unidad / código de IPI / pCredSN ausente en la solicitud y en el perfil / cest en un ítem de ST); el mensaje nombra la ruta del campo. Complete el campo según la matriz.

10004044400

Campo no aplicable al código tributario (substituicaoTributaria en un código que no es de ST, percentualCreditoSimples en un código sin crédito, monofasico fuera de CST 02/15/53/61). Elimine el grupo.

10004045400

La cliente.inscricaoEstadual del comprador CNPJ no cumple la regla de dígito verificador del estado del comprador (la SEFAZ rechazaría con 209 tras la numeración). Verifique la IE y el estado.

10004046400

Código tributario incompatible con el régimen de la empresa (CRT 1/4 exige CSOSN de 3 dígitos, CRT 2/3 CST de 2 dígitos).

10004047400

Comprador no contribuyente con un código exclusivo de contribuyente (10/30/70, 101/201/202/203) o con pCredSN. Use 102 / 500 o 900 sin crédito.

10001001400

Falló la validación de campos (una entrada por campo). Corrija según mensagem.

Tipos de pago (`formas[].tipo`)

ValorSignificado
DinheiroEfectivo
ChequeCheque
CartaoDeCreditoTarjeta de crédito
CartaoDeDebitoTarjeta de débito
CreditoLojaCrédito de tienda
ValeAlimentacaoVale de alimentación
ValeRefeicaoVale de comida
ValePresenteVale regalo
ValeCombustivelVale de combustible
BoletoBancarioBoleto bancario
DepositoBancarioDepósito bancario
PagamentoInstantaneoPixPix
TransferenciaBancariaTransferencia bancaria
ProgramaDeFidelidadePrograma de fidelidad
SemPagamentoSin pago
OutrosOtros

Grupos tributarios

Todos los parámetros tributarios son opcionales (nullable); las solicitudes que solo llevan códigos tributarios siguen funcionando. Cada parámetro se resuelve como valor de la solicitud > perfil de la empresa > tabla de alícuotas de la plataforma (empresas CRT=3) > rechazo nombrando la ruta del campo (itens[n].impostos..., n desde 1). Los porcentajes se escriben como 18 para 18 %; los importes en BRL. La plataforma nunca infiere una reducción de base, un MVA de ST, un porcentaje de diferimiento ni un importe de tributo por unidad: envíelos siempre que el código tributario los exija.

GrupoCódigos aplicables
icms (campos propios)Todos; aliquota para CST 00/10/20/51/70, percentualReducaoBase para 20/70, percentualDiferimento para 51, percentualCreditoSimples para CSOSN 101/201, codigoBeneficioFiscal para 20/30/40/41/50/51/70/90
icms.substituicaoTributariaCST 10/30/70, CSOSN 201/202/203 (obligatorio); CST 90 / CSOSN 900 (opcional); rechazado en los demás
icms.retencaoAnteriorCST 60, CSOSN 500
icms.difalVenta interestatal a no contribuyente; se calcula automáticamente cuando se omite
pis / cofinsaliquota para CST 01/02 y 50–75/98; valorUnitarioTributo para CST 03
ipiOpcional en su conjunto; situacaoTributaria obligatorio cuando está presente

Código tributario × parámetros obligatorios

Código ICMSaliquotapercentualReducaoBasesubstituicaoTributaria.mva + .aliquotapercentualCreditoSimplespercentualDiferimento
00automático (CRT=3)----
10automático-obligatorio--
20automáticoobligatorio---
30--obligatorio--
40 / 41 / 50-----
51automáticoopcional--obligatorio
60-----
70automáticoobligatorioobligatorio--
90según los grupos enviadosopcionalopcional--
101---obligatorio (o perfil de la empresa)-
102 / 103 / 300 / 400-----
201--obligatorioobligatorio-
202 / 203--obligatorio--
500-----
900según los grupos enviadosopcionalopcionalopcional-
Código PIS/COFINSaliquotavalorUnitarioTributo
01automático (CRT=3, por régimen) / de lo contrario obligatorio-
02obligatorio-
03-obligatorio
04–09--
49 / 99asume 0-
50–75 / 98 (entrada, facturas de devolución)obligatorio-

Reglas estrictas (aplicadas por el motor tributario, devueltas como 10005000):

  • los vendedores CRT 1/4 deben usar CSOSN de 3 dígitos y los vendedores CRT 2/3 CST de 2 dígitos; la discrepancia se rechaza en la aceptación con 10004046;
  • los compradores no contribuyentes (personas físicas / sin IE) no pueden usar CSOSN 101, la familia de ST retenida ni percentualCreditoSimples; se rechaza en la aceptación con 10004047; los vendedores MEI (CRT 4) no pueden usar 101;
  • los códigos de ST (10/30/70, 201/202/203) se rechazan para compradores no contribuyentes (SEFAZ cStat 600): la ST anticipa la cadena de reventa y el consumidor es su final. Las ventas B2C de mercancías con ST usan CST 60 / CSOSN 500 (retenida anteriormente) y, entre estados, DIFAL;
  • código de beneficio estatal (cBenef): CST 20/30/40/41/50/51/70/90 deben llevar codigoBeneficioFiscal; su ausencia se rechaza en el envío con 10004020. La SEFAZ-SP valida el mismo conjunto con 930 (CST 90 sin código también se rechaza) y rechaza el literal SEM CBENEF con 946;
  • los códigos que no son de ST no deben llevar substituicaoTributaria (10004044);
  • los ítems con códigos de ST (10/30/60/70, 201/202/203/500) deben llevar cest; un CEST ausente se rechaza en la aceptación con 10004043 (itens[n].cest);
  • CST 90 / CSOSN 900 son compuestos: envíe al menos uno de los grupos de tributación propia, ST o crédito.

Destinatario (`cliente`)

cliente.inscricaoEstadual es la inscripción estatal del comprador (NF-e dest/IE). Obligatoria para compradores CNPJ: define indIEDest=1; un comprador CNPJ sin ella se rechaza con 10004034 antes de consumir numeración (la SEFAZ rechazaría con 232 después de la numeración). No permitida para compradores CPF (10004031). Se eliminan los caracteres de formato. Ejemplo: "123.456.789.012".

El escenario B2B (comprador contribuyente de ICMS) depende de este campo: CSOSN 101 / 201 y CST 10 / 30 / 70 solo son válidos para compradores contribuyentes.

Facturas de devolución

CampoTipoDescripción
finalidadestring"Normal" (por defecto) / "Devolucao". Ejemplo: "Devolucao"
notaReferenciada.chaveAcessostringClave de acceso de 44 dígitos de la factura original. Obligatoria cuando finalidade=Devolucao
itens[].notaReferenciada.numeroItemintegerNúmero del ítem original (nItem, desde 1). Obligatorio en cada línea de una factura de devolución

Reglas: línea de devolución sin referencia → 10004021; referencia en una factura que no es de devolución → 10004022; factura original no encontrada o no perteneciente a esta empresa → 10004023; factura original no autorizada → 10004024; ítem no encontrado en la original → 10004025; cantidad superior a la línea original (sumada entre las líneas que referencian el mismo ítem original) → 10004026. Use CFOP de entrada (1xxx / 2xxx) y códigos de PIS/COFINS de entrada (50–75 / 98, aliquota obligatoria); los parámetros tributarios de la factura original se reflejan por línea.

json
{
"id": "DEV-000014553",
"ambienteEmissao": "Producao",
"finalidade": "Devolucao",
"notaReferenciada": { "chaveAcesso": "35241204893402000113650010000117691017244265" },
"pedido": { "presencaConsumidor": "OperacaoPelaInternet", "pagamento": { "formas": [ { "tipo": "SemPagamento", "valor": 0 } ] } },
"cliente": { "tipoPessoa": "F", "nome": "Demo Client", "cpfCnpj": "88533234775", "endereco": { "uf": "PR", "cidade": "4106902", "logradouro": "Rua Presidente Wilson", "numero": "911", "bairro": "Uberaba", "cep": "81570440" } },
"itens": [
{
"cfop": "2202", "codigo": "000068", "descricao": "Pendrive Kingston 16GB", "ncm": "85235190",
"quantidade": 1, "unidadeMedida": "UN", "valorUnitario": 28.47,
"notaReferenciada": { "numeroItem": 1 },
"impostos": {
"icms": { "situacaoTributaria": "102" },
"pis": { "situacaoTributaria": "70", "aliquota": 0 },
"cofins": { "situacaoTributaria": "70", "aliquota": 0 }
}
}
]
}

Ejemplo completo: vendedor del régimen normal (CRT=3), CST 20 con reducción de base, PIS/COFINS 01

json
{
"id": "NFe-000014554",
"ambienteEmissao": "Producao",
"pedido": { "presencaConsumidor": "OperacaoPelaInternet", "pagamento": { "formas": [ { "tipo": "PagamentoInstantaneoPix", "valor": 100.00 } ] } },
"cliente": {
"tipoPessoa": "J", "nome": "Revenda Demo LTDA", "cpfCnpj": "11222333000181", "inscricaoEstadual": "123456789012",
"endereco": { "uf": "SP", "cidade": "3550308", "logradouro": "Av. Paulista", "numero": "1000", "bairro": "Bela Vista", "cep": "01310100" }
},
"itens": [
{
"cfop": "5102", "codigo": "SKU-100", "descricao": "Produto demo", "ncm": "85235190", "origem": 0,
"quantidade": 2, "unidadeMedida": "UN", "valorUnitario": 50.00, "valorDesconto": 0,
"impostos": {
"icms": { "situacaoTributaria": "20", "aliquota": 18, "percentualReducaoBase": 33.33, "codigoBeneficioFiscal": "SP800001" },
"pis": { "situacaoTributaria": "01", "aliquota": 1.65 },
"cofins": { "situacaoTributaria": "01", "aliquota": 7.6 }
}
}
]
}

Grupos tributarios especiales

Opcionales; combustibles, energía, operaciones interestatales específicas y las sobrescrituras de IBS/CBS de 2026.

GrupoSe aplica aCampos
icms.monofasicoObligatorio para ICMS CST 02 / 15 / 53 / 61, rechazado en cualquier otro código (10004044)quantidadeBaseCalculo, aliquotaAdRem (obligatorio para 02/15/53), quantidadeBaseCalculoRetencao, aliquotaAdRemRetencao (obligatorio para 15), percentualReducaoAdRem + motivoReducaoAdRem (en par, motivo 1/9), quantidadeBaseCalculoRetida, aliquotaAdRemRetida (obligatorio para 61); el CST 53 toma el diferimiento de icms.percentualDiferimento
icms.partilhaFacturas de partición interestatal CST 10 / 90, no combinado con FCPpercentualBaseCalculoOperacaoPropria (pBCOp %) + ufSubstituicaoTributaria (UFST), en par
icms.substituicaoTributariaDestinoTransferencia interestatal CST 41 / 60, enviada junto con retencaoAnteriorbaseCalculo (vBCSTDest) + valor (vICMSSTDest), en par
icms.tributacaoEfetivaCST 60, exigido por algunos estadospercentualReducaoBase (pRedBCEfet), aliquota (pICMSEfet; enviarla genera el grupo efectivo)
pis.substituicaoTributaria / cofins.substituicaoTributariaPIS/COFINS retenidos (grupos PISST / COFINSST)ad valorem baseCalculo + aliquota o por unidad quantidadeBaseCalculo + valorUnitarioTributo (uno u otro); somarAoTotal suma el importe al total de la factura
impostos.percentualCargaTributariaCualquieraCarga tributaria aproximada vTotTrib (%); se calcula con la tabla IBPT cuando se omite
impostos.ibsCbsSobrescrituras de IBS/CBS de 2026; omitido → valores por defecto del régimen de la empresa (CST 000 / código de clasificación 000001)situacaoTributaria (3 dígitos), classificacaoTributaria (6 dígitos), percentualDiferimento (obligatorio para 510/515), tributacaoRegular{situacaoTributaria, classificacaoTributaria}, transferenciaCredito{valorIbs, valorCbs} (800), monofasico{...} (620), zonaFrancaManaus{periodoApuracao, tipo, valor} (810), ajuste{periodoApuracao, valorIbs, valorCbs} (811), creditoPresumido{codigo, percentualIbs, percentualCbs, suspensivo, deduzir}; o todas las líneas llevan el grupo o ninguna

Las reglas de pareamiento, los códigos aplicables y las exigencias ad rem por CST de estos grupos las valida el motor tributario, que devuelve 10005000 con el nombre interno del campo.