NF-e
Emitir NF-e
Acepta la solicitud de emisión de inmediato; la autorización en la SEFAZ ocurre de forma asíncrona.
/openapi/v2/empresas/{empresaId}/nf-eRequiere 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
empresaIdstringobligatorioIdentificador de la empresa devuelto en Registrar empresa.
Ejemplo:1934811222334455
Cuerpo de la petición
idstringobligatorioIdentificador único de la solicitud de emisión (generado por usted, hasta 64); también es el
nfeIdde consulta / cancelación y la clave de idempotencia.Ejemplo:NFe-000014553ambienteEmissaostringobligatorioHomologacao/Producao; debe corresponder al entorno actual de la empresa; de lo contrario10004030.finalidadestringopcionalNormal(por defecto) /Devolucaopara facturas de devolución, vea la sección de facturas de devolución.notaReferenciadaobjectobligatorio en facturas de devoluciónReferencia a la factura original que se devuelve.
pedidoobjectobligatorioDatos del pedido.
clienteobjectobligatorioDestinatario (comprador).
itensarrayobligatorioÍtems de la factura.
Respuestas
Solicitud aceptada; sin cuerpo. La factura permanece en AguardandoAutorizacao hasta que la SEFAZ responda.
Sin cuerpo de respuesta
Errores
| Código | HTTP | |
|---|---|---|
| GW001 | 400 | El código IBGE del municipio del cliente no existe. Verifique la UF y el código IBGE. |
| 10003000 | 404 |
|
| 10004004 | 400 | Empresa no habilitada para emitir (aún no aprobada o certificado no listo). Espere la aprobación / vincule el certificado. |
| 10004030 | 400 |
|
| 10004031 | 400 | Valor no admitido ( |
| 10004032 | 400 | El mismo |
| 10004002 | 400 | Demasiadas tareas de emisión pendientes para el CNPJ. Reintente más tarde. |
| 10005000 | 400 | 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. |
| 10004020 | 400 | Falta |
| 10004021 | 400 | Factura de devolución: línea sin |
| 10004022 | 400 | Referencia de línea en una factura que no es de devolución. |
| 10004023 | 400 | Factura original no encontrada o no perteneciente a esta empresa. |
| 10004024 | 400 | Factura original no autorizada. |
| 10004025 | 400 | Ítem no encontrado en la factura original. |
| 10004026 | 400 | Cantidad superior a la línea original (sumada entre las líneas que referencian el mismo ítem). |
| 10004034 | 400 | Comprador CNPJ sin |
| 10004043 | 400 | 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 / |
| 10004044 | 400 | Campo no aplicable al código tributario ( |
| 10004045 | 400 | La |
| 10004046 | 400 | 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). |
| 10004047 | 400 | 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. |
| 10001001 | 400 | Falló la validación de campos (una entrada por campo). Corrija según |
Tipos de pago (`formas[].tipo`)
| Valor | Significado |
|---|---|
| Dinheiro | Efectivo |
| Cheque | Cheque |
| CartaoDeCredito | Tarjeta de crédito |
| CartaoDeDebito | Tarjeta de débito |
| CreditoLoja | Crédito de tienda |
| ValeAlimentacao | Vale de alimentación |
| ValeRefeicao | Vale de comida |
| ValePresente | Vale regalo |
| ValeCombustivel | Vale de combustible |
| BoletoBancario | Boleto bancario |
| DepositoBancario | Depósito bancario |
| PagamentoInstantaneoPix | Pix |
| TransferenciaBancaria | Transferencia bancaria |
| ProgramaDeFidelidade | Programa de fidelidad |
| SemPagamento | Sin pago |
| Outros | Otros |
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.
| Grupo | Có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.substituicaoTributaria | CST 10/30/70, CSOSN 201/202/203 (obligatorio); CST 90 / CSOSN 900 (opcional); rechazado en los demás |
icms.retencaoAnterior | CST 60, CSOSN 500 |
icms.difal | Venta interestatal a no contribuyente; se calcula automáticamente cuando se omite |
pis / cofins | aliquota para CST 01/02 y 50–75/98; valorUnitarioTributo para CST 03 |
ipi | Opcional en su conjunto; situacaoTributaria obligatorio cuando está presente |
Código tributario × parámetros obligatorios
| Código ICMS | aliquota | percentualReducaoBase | substituicaoTributaria.mva + .aliquota | percentualCreditoSimples | percentualDiferimento |
|---|---|---|---|---|---|
| 00 | automático (CRT=3) | - | - | - | - |
| 10 | automático | - | obligatorio | - | - |
| 20 | automático | obligatorio | - | - | - |
| 30 | - | - | obligatorio | - | - |
| 40 / 41 / 50 | - | - | - | - | - |
| 51 | automático | opcional | - | - | obligatorio |
| 60 | - | - | - | - | - |
| 70 | automático | obligatorio | obligatorio | - | - |
| 90 | según los grupos enviados | opcional | opcional | - | - |
| 101 | - | - | - | obligatorio (o perfil de la empresa) | - |
| 102 / 103 / 300 / 400 | - | - | - | - | - |
| 201 | - | - | obligatorio | obligatorio | - |
| 202 / 203 | - | - | obligatorio | - | - |
| 500 | - | - | - | - | - |
| 900 | según los grupos enviados | opcional | opcional | opcional | - |
| Código PIS/COFINS | aliquota | valorUnitarioTributo |
|---|---|---|
| 01 | automático (CRT=3, por régimen) / de lo contrario obligatorio | - |
| 02 | obligatorio | - |
| 03 | - | obligatorio |
| 04–09 | - | - |
| 49 / 99 | asume 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 con10004047; 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 con10004020. La SEFAZ-SP valida el mismo conjunto con 930 (CST 90 sin código también se rechaza) y rechaza el literalSEM CBENEFcon 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 con10004043(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
| Campo | Tipo | Descripción |
|---|---|---|
finalidade | string | "Normal" (por defecto) / "Devolucao". Ejemplo: "Devolucao" |
notaReferenciada.chaveAcesso | string | Clave de acceso de 44 dígitos de la factura original. Obligatoria cuando finalidade=Devolucao |
itens[].notaReferenciada.numeroItem | integer | Nú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.
{"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
{"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.
| Grupo | Se aplica a | Campos |
|---|---|---|
icms.monofasico | Obligatorio 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.partilha | Facturas de partición interestatal CST 10 / 90, no combinado con FCP | percentualBaseCalculoOperacaoPropria (pBCOp %) + ufSubstituicaoTributaria (UFST), en par |
icms.substituicaoTributariaDestino | Transferencia interestatal CST 41 / 60, enviada junto con retencaoAnterior | baseCalculo (vBCSTDest) + valor (vICMSSTDest), en par |
icms.tributacaoEfetiva | CST 60, exigido por algunos estados | percentualReducaoBase (pRedBCEfet), aliquota (pICMSEfet; enviarla genera el grupo efectivo) |
pis.substituicaoTributaria / cofins.substituicaoTributaria | PIS/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.percentualCargaTributaria | Cualquiera | Carga tributaria aproximada vTotTrib (%); se calcula con la tabla IBPT cuando se omite |
impostos.ibsCbs | Sobrescrituras 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.
