### ¿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?

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](/empezando/autenticacion/).

### ¿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?

Por [webhook](/webhooks/suscribirse/) (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?

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](/emision/rechazos-y-reintentos/).

### ¿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.

### ¿Puedo asignar yo mismo el e-NCF?

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](/conceptos/secuencias/).

### ¿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.