Sudrel API
Panel Crear clave de API

Documentación › Emisión de NF-e

Guías

Productos y motor fiscal

Registro de productos validado en la tabla oficial y el cálculo de los tributos de la NF-e con regla y fuente de cada valor.

Registro de productos

POST /v1/produtos registra el producto de la empresa con su código (SKU). La validación ocurre en el registro, no en la nota:

Rechazo Tabla oficial
ncm_inexistente, ncm_fora_de_vigencia Nomenclatura vigente del Siscomex (Resolução Gecex nº 926/2026)
cest_inexistente, cest_incompativel_ncm Convênio ICMS 142/18, texto consolidado del CONFAZ
gtin_invalido, gtin_digito_invalido, gtin_prefixo_invalido Reglas GS1 de dígito verificador y prefijos reservados

La homologación de la SEFAZ llega a autorizar NCM inexistentes; la producción rechaza la nota. Por eso el registro lo verifica antes. Cada tabla viene de una fuente oficial, con la fecha de la copia y el SHA-256 del archivo de origen.

El GTIN también se consulta en el Cadastro Centralizado de GTIN de la SEFAZ, con el certificado de la empresa: si la SEFAZ conoce el GTIN con otro NCM, el registro se rechaza con gtin_ncm_divergente. Lo que la SEFAZ devolvió queda en gtin_sefaz. Un GTIN que la SEFAZ no conoce, o una consulta fuera de servicio, no impide el registro.

La nota guarda una copia del producto tal como estaba en la emisión: cambiar el producto después no cambia la nota emitida.

Perfil fiscal y aprobación

El perfil fiscal del producto indica el tratamiento de ICMS (tributado, base_reduzida, isento, nao_tributado, imune, st_retida, st_substituto), el de PIS/COFINS (tributado, monofasico, aliquota_zero, outros) y el CST y la clasificación del IBS/CBS. El de la empresa (PUT /v1/nfe/perfil-fiscal/{empresa_id}) indica el régimen de PIS/COFINS, si es contribuyente del IPI y, en el Simples, la alícuota de crédito del mes (CSOSN 101). No se calcula nada sin un perfil aprobado por una persona de la empresa o de la oficina contable: POST /v1/produtos/{codigo}/aprovacao-perfil y POST /v1/nfe/perfil-fiscal/{empresa_id}/aprovacao graban quién aprobó y cuándo. Cambiar un campo fiscal borra la aprobación.

Sandbox con registro propio. La clave sdr_test_ registra, modifica y aprueba productos y perfiles en un registro separado, solo suyo: nada de lo que graba aparece para la clave de producción, y no ve ni cambia el registro de producción. Así se puede probar el modo calcular completo sin tocar lo que emite de verdad. El campo ambiente del producto indica a qué registro pertenece.

Termo de Acordo de mayorista (Bahia)

Para el mayorista acreditado en el Decreto 7.799/2000, graba la acreditación en el perfil de la empresa (termo_acordo con número, ítem del Anexo Único y vigencia) y marca termo_acordo: true en los productos alcanzados. El motor aplica la reducción de 41,176% de la base (CST 20) solo donde el decreto alcanza: vigencia de la acreditación, salida interna para contribuyente inscrito en Bahia o persona jurídica no contribuyente (art. 1º y §3º), venta o bonificación, mercancía en la alícuota general (art. 5º), sin ST (art. 4º), excepto papel higiénico (art. 2º-A). Fuera de eso, la nota sale sin la reducción y el motivo viene en ajustes (termo_acordo_nao_aplicado). Las condiciones del período (porcentaje de salidas para contribuyentes, facturación, transferencias) son de la acreditación: quien aprueba el perfil declara que se cumplen.

ICMS-ST

  • Reventa con ST retenida anteriormente (CST 60 / CSOSN 500): los campos de ST retenida salen de las notas de compra que Sudrel ya captura, por el vínculo del producto con el ítem de compra (POST /v1/produtos/{codigo}/vinculos-entrada, por GTIN, por el código del proveedor o manual), de las últimas adquisiciones y proporcionales a la cantidad que sale (Convênio ICMS 142/18, cláusula décima quinta, §3º). Sin vínculo, envía st_retido en el ítem; sin ninguno de los dos, la nota sale como la informes, con aviso en ajustes.
  • Sustituto en la venta interna (st_substituto): ICMS10 (o ICMS70 con reducción), MVA del Anexo 1 del RICMS/BA y alícuota interna. La venta a consumidor final no tiene operación subsecuente y sale como ICMS00. Un ítem del Anexo 1 que pide verificación, con FECP o con MVA ajustada queda fuera de la cobertura.
  • La ST interestatal queda fuera de la cobertura.

7% para ME/EPP (Bahia)

En la venta interna del fabricante a ME o EPP optante del Simples inscrita en Bahia, la alícuota es 7% y el beneficio va como descuento expreso en la nota (Lei 7.014/96, art. 16, I, "c", y §1º): el motor calcula el descuento, lo pone en vDesc y lo explica en infAdProd. El tamaño del destinatario viene de lo que informes en destinatario.optante_simples; sin eso, de la consulta de CNPJ, con la fuente en ajustes (nfe_destinatario_porte_consulta_cnpj). Lo que informas prevalece.

PIS/COFINS y el ICMS en la base

El perfil de la empresa tiene exclui_icms_base_pis_cofins (predeterminado true, Tema 69 del STF): la base del PIS/COFINS sale sin el ICMS destacado y, en la reventa con ST, sin el ICMS-ST retenido. Con false, el ICMS queda en la base, que es la opción conservadora de quien todavía no aplica la exclusión.

Operaciones

operacao resuelve CFOP, finalidad y naturaleza: venda, venda_consumidor_final, remessa (con subtipo: conserto, demonstracao, industrializacao u outras), transferencia, bonificacao y devolucao (con chave_referenciada y subtipo comercializacao o industrializacao).

Qué calcula el motor

Tributo Cobertura
ICMS Sudrel activa la regla de la UF del emisor cuando la empresa entra, en minutos y sin acción tuya. Bahia ya viene con el conjunto completo, descrito aquí: operación interna, o interestatal con destinatario contribuyente (12%, o 4% para importados). Simples: CSOSN 101 (con el crédito del mes), 102, 103, 300 y 500 (con la ST retenida de las entradas). Régimen normal: CST 00, 20 (reducciones objetivas de la base legal de BA y Termo de Acordo de mayorista), 40, 41, 60 (con la ST retenida de las entradas), 10 y 70 (ST del sustituto en la venta interna) y 7% para ME/EPP, con el FECP de BA.
IPI Contribuyente del IPI, producción propia, alícuota de la TIPI. En el Simples, sin destaque.
PIS/COFINS Régimen acumulativo o no acumulativo, base sin el ICMS destacado (o con él, según el perfil de la empresa) y sin el ICMS-ST retenido; alícuota cero. En el Simples, CST 49 sin destaque.
IBS/CBS Régimen normal, por la calculadora oficial de la Receita.

Nunca un valor adivinado. Lo que el motor todavía no resuelve responde 422 fora_de_cobertura, con la lista fora_de_cobertura (ítem, tributo y motivo), y la nota puede seguir en modo informado, que atiende todas las UF. Quien necesite el cálculo por Sudrel en ese caso habla con soporte: la regla entra en minutos. Ejemplos: ST interestatal, DIFAL, emisor de una UF cuya regla Sudrel está por activar, venta interna del fabricante a contribuyente cuyo tamaño ni tú ni la consulta de CNPJ informaron (Bahia tiene 7% para ME/EPP), PIS/COFINS de reventa con ICMS-ST sin el valor retenido en las entradas y monofásico. Si la calculadora oficial del IBS/CBS no responde, el fora_de_cobertura viene con temporario: true y retentavel: true: inténtalo de nuevo.

Modo conferir

La nota sale con TUS valores, y cada diferencia vuelve en ajustes con acao: "divergente" y la regla nfe_conferencia_divergencia. Con recusar_divergencias: true en el perfil de la empresa, la nota con diferencias se rechaza con 422 conferencia_divergente y la lista divergencias.

Rutas de esta sección, con prueba en la página