Empresas
Ciclo de vida de una empresa emisora en TF Fiscal, cómo una empresa atiende NF-e, CT-e, DC-e y NFS-e, derivación del régimen tributario, habilitación de DC-e y de NFS-e y los códigos de error relacionados.
Qué es una empresa
Una empresa (empresa) es la entidad legal en cuyo nombre se emiten los documentos: el vendedor de un marketplace, una transportadora o un integrador que emite para sí mismo. Toda empresa se identifica por el empresaId devuelto por Registrar empresa, que es la variable de ruta de todos los endpoints de emisión, consulta y cancelación.
| Paso | Endpoint | Notas |
|---|---|---|
| 1 Registrar empresa | POST /openapi/v2/empresas | Devuelve empresaId, dceHabilitado y nfseHabilitado; un cuerpo con id actualiza una empresa existente |
| 2 Vincular certificado | POST /openapi/v1/empresas/{empresaId}/certificadoDigital | Certificado A1 (.pfx / .p12) y su contraseña; multipart o JSON + Base64 |
| 3 Registrar webhook | POST /openapi/v1/webhooks | Una URL de callback por aplicación, compartida por todos los tipos de documento |
Ciclo de vida
- Registro: una llamada exitosa a Registrar empresa coloca la empresa en la cola de aprobación de la plataforma. Registrar el mismo CNPJ de nuevo devuelve
10003002; reutilice elempresaIdoriginal o envíe una actualización conid. - Certificado: vincule el certificado A1. El certificado debe pertenecer al CNPJ de la empresa (
10003010), estar vigente (10003011) y ser distinto del actualmente activo (10003012); una contraseña incorrecta devuelveCER0005. Un envío exitoso reemplaza el certificado anterior. - Aprobación: operaciones aprueba la empresa. La empresa solo emite después de que operaciones la apruebe y el certificado esté vinculado. Emitir antes devuelve
10004004para NF-e (DCe00008para DC-e,10017004para CT-e). Consulte el avance de la aprobación con operaciones de la plataforma. - Entorno: toda empresa tiene un entorno actual, pruebas
Homologacaoo producciónProducao. Las empresas recién registradas comienzan en pruebas; el cambio a producción es una acción de operaciones, sin API. El valor de entorno en toda solicitud de emisión (ambienteEmissaopara NF-e y CT-e,ambientepara DC-e) debe coincidir con el entorno actual de la empresa; una discrepancia devuelve10004030(NF-e),10017010(CT-e) oDCe00004(DC-e). Vea Entornos.
Nota: una actualización (cuerpo con
id) nunca vuelve a enviar la empresa a revisión ni cambia su estado o entorno.
Una empresa, cuatro tipos de documento
El mismo empresaId, el mismo certificado y el mismo webhook atienden todos los tipos de documento. Lo que cambia es la serie de numeración que cada tipo exige:
| Tipo de documento | Modelo | Serie configurada mediante | Campo de entorno | Código de no emisión |
|---|---|---|---|---|
| NF-e | 55 | emissaoNFeProduto.ambienteProducao (sequencialNFe / serieNFe) en el registro | ambienteEmissao | 10004004 |
| CT-e | 57 | Configurada del lado de la plataforma; el registro no tiene bloque de CT-e. Sin serie, o con varias habilitadas y ninguna elegida, la emisión devuelve 10017007 | ambienteEmissao | 10017004 |
| DC-e | 99 | emissaoDCe.ambienteProducao (tipoEmitente, sequencialDCe / serieDCe, siteMarketplace) en el registro o en una actualización con id | ambiente | DCe00008 |
| NFS-e | — | emissaoNFSe (serieDps y los demás valores por defecto del perfil) en el registro o en una actualización con id, o mantenido por operaciones | ambienteEmissao | 10018004 |
emissaoNFeProduto,emissaoDCeyemissaoNFSeson cada uno opcional, pero al menos uno es obligatorio. Una empresa solo de NF-e envía el primero, una empresa solo de DC-e o solo de NFS-e puede omitirlo (no se crea ninguna serie del modelo 55) y enviar más de uno habilita los tipos de documento correspondientes. Omitir los tres devuelve 40010001001.- La serie y el próximo número enviados en el registro son los que se usan en la emisión; después la plataforma gestiona la secuencia.
- La emisión de CT-e exige además que el CNPJ esté habilitado para CT-e en la SEFAZ estatal; sin ello la SEFAZ rechaza con
230 - IE do emitente não cadastrada, lo que la plataforma no puede resolver.
Derivación del régimen tributario
El régimen de la empresa se deriva de dos booleanos enviados en el registro y no puede cambiarse mediante actualización:
mei | optanteSimplesNacional | Régimen |
|---|---|---|
true | cualquiera | MEI |
false | true | Simples Nacional |
false | false | Régimen normal |
El régimen determina la familia de código tributario que un ítem de NF-e puede usar (CSOSN para Simples / MEI, CST para el régimen normal); vea NF-e. También define si regimeApuracaoSn es obligatorio en el perfil de NFS-e, vea más abajo. inscricaoEstadual es obligatoria para emitir NF-e, CT-e y DC-e: si falta devuelve 10003006; una empresa solo de NFS-e no necesita inscripción estatal.
Habilitar DC-e
El DC-e (modelo 99) se habilita con el bloque emissaoDCe:
"emissaoDCe": {"ambienteProducao": {"tipoEmitente": "Marketplace","sequencialDCe": 1,"serieDCe": "1","siteMarketplace": "https://loja.exemplo.com.br"}}
tipoEmitenteesMarketplace(una plataforma que emite en nombre de vendedores no contribuyentes / personas físicas) uOwnIssuer(una empresa que emite para sí misma).Carrierpuede registrarse, pero la emisión se rechaza con10019013.siteMarketplacees obligatorio paraMarketplace.- Una empresa registrada sin
emissaoDCeno queda habilitada para DC-e: el registro se acepta, la respuesta traedceHabilitado=falsey la emisión devuelveDCe00004. Verifique ese campo justo después de registrar. - Para habilitar DC-e después, reenvíe el payload de registro con
idy el bloqueemissaoDCe. La serie del modelo 99 solo avanza:sequencialDCepuede elevar el próximo número, pero nunca reducirlo (40010001001), y cambiarserieDCemientras la serie anterior sigue habilitada se rechaza (40010001001, pase por operaciones).
Habilitar NFS-e
La NFS-e se habilita con el bloque emissaoNFSe. Solo con él la empresa pasa a emitir NFS-e y obtiene su secuencia de numeración. Aquí solo van los datos que no cambian de una nota a otra: código de servicio, CNAE, NBS, alícuota de ISS, retención e IBS/CBS acompañan al servicio vendido y van en el bloque servico de cada emisión.
"emissaoNFSe": {"serieDps": "1","sequencialDps": 1,"regimeApuracaoSn": 1,"regimeEspecialTributacao": 0}
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
serieDps | string(1-5 dígitos) | No | Serie del DPS / RPS usada al emitir. Toda nota usa este valor; la emisión no acepta una serie propia. Sin este campo, 1 |
sequencialDps | integer | No | Número de la próxima nota a emitir, a partir de 1. Al migrar de otro emisor, envíe el mayor número ya usado más uno para que la numeración continúe donde quedó. Sin este campo, 1. Una vez creada la secuencia, la actualización no la modifica |
regimeApuracaoSn | integer | Obligatorio para ME/EPP | Cómo el Simples Nacional calcula el impuesto: 1 federal y municipal por el SN / 2 federal por el SN y municipal fijo / 3 federal por el SN y municipal normal. La adhesión al Simples viene de optanteSimplesNacional / mei del nivel superior. Enviarlo en una empresa fuera del Simples se rechaza |
regimeEspecialTributacao | integer | No | Si hay un tratamiento tributario especial: 0 ninguno / 1 acto cooperativo / 2 estimación / 3 microempresa municipal / 4 notarial y registral / 5 profesional autónomo / 6 sociedad de profesionales. Sin este campo, 0 |
- La respuesta del registro pasa a traer
nfseHabilitado:{ "empresaId": "…", "dceHabilitado": false, "nfseHabilitado": true }. Sin el bloque esfalsey la emisión devuelve10018005. - En la actualización (cuerpo con
id) enviar el bloque sustituye el perfil entero: los opcionales omitidos vuelven al valor por defecto; sin el bloque el perfil no cambia ynfseHabilitadorefleja el estado actual. Forzar el estándar municipal es una acción de operaciones y no pasa por este bloque. - Reglas estructurales rechazadas en la aceptación (400
10001001): ME/EPP sinregimeApuracaoSn, empresa fuera del Simples conregimeApuracaoSn. - Una empresa solo de NFS-e puede omitir
emissaoNFeProduto(no se crea ninguna serie del modelo 55) y no necesitainscricaoEstadual. - La inscripción municipal (CCM) de São Paulo se toma del
inscricaoMunicipaldel nivel superior y no se repite en este bloque.
Códigos de error relacionados
| codigo | HTTP | Escenario | Acción |
|---|---|---|---|
10003002 | 400 | CNPJ ya registrado | La empresa existe: use el empresaId original o actualice con id |
10003000 | 404 | empresaId no existe o no pertenece a esta aplicación | Verifique el empresaId |
10003006 | 400 | Datos de registro sin la IE | Informe inscricaoEstadual |
10003010 / 10003011 / 10003012 | 400 | CNPJ del certificado discrepante / expirado / idéntico al actual | Use el certificado correcto |
10003035 | 400 | Base64 inválido o certificado mayor de 1MB (forma JSON) | Corrija la codificación o el archivo |
CER0005 | 400 | La contraseña del certificado no coincide | Verifique la contraseña |
GW001 | 400 | Registro: ciudad / estado no se resuelven a un código IBGE | Verifique la UF y el nombre de la ciudad |
10004004 | 400 | Empresa no apta para emitir (aún no aprobada o certificado no listo) | Espere la aprobación / vincule el certificado |
10004030 | 400 | ambienteEmissao distinto del entorno actual de la empresa | Envíe en el entorno de la empresa o pida a operaciones que lo cambie |
10001001 | 400 | Falló la validación de campos, o error de contrato de registro / actualización (los tres bloques de configuración ausentes, actualización cambiando cnpj / municipio, reducción del cursor de la serie DC-e, cambio de serie, reglas estructurales de emissaoNFSe no cumplidas) | Corrija según mensagem |
La lista completa está en Códigos de error.
