Ir al contenido

RecursosPreguntas frecuentes

Preguntas frecuentes

Ver como Markdown

¿Necesito un certificado digital para probar en TesteCF?

Sección titulada «¿Necesito un certificado digital para probar en TesteCF?»

Sí. La DGII exige un certificado incluso para el ambiente de pruebas. No existe un modo sin certificado en TesteCF. Es el mismo certificado de tu contribuyente para pruebas, certificación y producción: lo cargas una sola vez.

¿Puedo emitir en producción con una key de prueba?

Sección titulada «¿Puedo emitir en producción con una key de prueba?»

No. El ambiente sale de la propia API key (sk_nfe_test_…, sk_nfe_cert_…, sk_nfe_prod_…), así que es imposible mezclar ambientes por accidente. Ver Autenticación rápida.

¿Qué pasa si mando el mismo comprobante dos veces?

Sección titulada «¿Qué pasa si mando el mismo comprobante dos veces?»

Si repites el header Idempotency-Key con el mismo cuerpo, recibes la respuesta original en vez de emitir de nuevo. Si repites el mismo internalNumber, también te devolvemos el comprobante existente.

¿Cómo sé si un comprobante fue aceptado por la DGII?

Sección titulada «¿Cómo sé si un comprobante fue aceptado por la DGII?»

Por webhook (recomendado) o haciendo polling de GET /api/v1/ecf/{id}. El evento ecf.accepted (o ecf.accepted_conditional) indica que el comprobante es fiscalmente válido.

¿Qué hago si la DGII rechaza un comprobante?

Sección titulada «¿Qué hago si la DGII rechaza un comprobante?»

Revisa dgii.messages para conocer el motivo y dgii.sequenceUsed para saber si la DGII consumió el e-NCF. Si lo consumió, el número queda invalidado y debes emitir un comprobante nuevo. Si no lo consumió, el comprobante se puede reenviar con POST /api/v1/ecf/{id}/retry. Ver Rechazos y reintentos.

¿Por qué mi comprobante volvió a signed después de un rechazo?

Sección titulada «¿Por qué mi comprobante volvió a signed después de un rechazo?»

Cuando la DGII falla de forma pasajera, por ejemplo durante un mantenimiento, y además informa que no consumió el e-NCF, NovaFE reenvía el comprobante por su cuenta en lugar de marcarlo como rechazado. Mientras espera, el comprobante permanece en signed. No tienes que hacer nada: recibirás el resultado final por webhook.

Sí. Si tu sistema ya numera los comprobantes, configura sequences.mode en external y envía encf (y sequenceExpiresOn, salvo en los tipos 32 y 34) en cada emisión. Ver la sección Numeración propia de e-NCF y secuencias.

¿Cómo veo qué respondió la DGII en los envíos anteriores?

Sección titulada «¿Cómo veo qué respondió la DGII en los envíos anteriores?»

Con GET /api/v1/ecf/{id}/attempts. El comprobante solo muestra el último resultado; el historial conserva cada resultado anterior, con sus mensajes.