XmlPeruDevDocs

Cambiar entorno

Mueve la empresa entre demo (01) y producción (02).

Autenticación: token Bearer de cuenta (empresas:manage).

Consideraciones

  • Pasar a producción siempre se puede.
  • Volver a demo solo mientras la empresa no haya emitido en producción. Si ya facturó, responde 422: una empresa que declara a SUNAT no puede ponerse en modo pruebas. La salida es registrar otra empresa en demo.
  • Cada entorno lleva su propia numeración: una F001-1 de prueba y la F001-1 real son comprobantes distintos y no se estorban.
  • Al pasar a producción, las emisiones consumen cupo y la vigencia del certificado (plan 02) arranca con la primera firma.
  • Después de cambiarlo, revisa el entorno de tu propio sistema: si los dos no dicen lo mismo, emitirás donde no crees. Compruébalo con GET /v1/me.
PATCHhttps://api.xmlperu.dev/v1/companies/{ruc}/environmentCopiar

Los dos sentidos no son simétricos

A producción, siempre. Es el paso natural cuando terminas de integrar.

A demo, solo si aún no has facturado. No es una limitación técnica: una empresa que ya declara a SUNAT no debería poder ponerse en modo pruebas, porque seguiría emitiendo con la sensación de que es real cuando ya no lo es.

Si te equivocaste de entorno al registrar la empresa y todavía no emitiste nada, puedes volver sin problema. Si ya facturaste y necesitas probar, registra otra empresa en demo.

Cada entorno lleva su numeración

Tu F001-1 de prueba y tu F001-1 real son comprobantes distintos: no se estorban ni se confunden. Puedes ensayar con los números que quieras en demo sin que eso afecte a lo que declares después en producción.

Lo mismo vale para los correlativos: la consulta te informa de lo emitido en el entorno en el que estás, no de tus pruebas.

Después de cambiarlo, mira tu lado

El entorno vive en dos sitios: aquí y en el sistema que emite. Cambiar uno y olvidar el otro es el error más caro de la integración, porque no se nota — emites en producción creyendo que pruebas, o al revés.

Dos formas de que no te pase:

  • GET /v1/me te dice en qué entorno estás. Una llamada al configurar y sales de dudas.
  • Declarar el entorno en la ruta hace que lo comprobemos en cada emisión: si no coincide, 409 y no se emite nada.

Headers

NameTypeDescription
Acceptstringapplication/json
Content-Typestringapplication/json
AuthorizationstringBearer <token>. Genéralo desde tu panel, en Tokens de API.

Parámetros de URL

NameTypeDescription
ruc*stringRUC de 11 dígitos de la empresa.

Body

NameTypeDescription
environment*string01 demo · 02 producción.

Ejemplo de solicitud

Copiar
curl -X PATCH https://api.xmlperu.dev/v1/companies/20123456789/environment \
  -H "Authorization: Bearer $TOKEN_CUENTA" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
  "environment": "02"
}'

Respuesta

200 Actualizadoapplication/json
{
  "success": true,
  "message": "Entorno actualizado.",
  "data": {
    "company": {
      "ruc": "20123456789",
      "business_name": "MI EMPRESA SAC",
      "plan_type": "01",
      "environment": "02",
      "environment_name": "production",
      "sending": "automatic",
      "receipts": "individual",
      "response": "wait",
      "is_active": true,
      "created_at": "2026-07-01T10:00:00-05:00"
    }
  }
}
422 Ya emitió en producciónapplication/json
Solo cuando la empresa ya facturó. Sin movimiento en producción, volver a demo se permite.
{
  "success": false,
  "message": "La empresa ya emitió en producción y no puede pasar a demo. Si necesitas un entorno de pruebas, registra otra empresa en demo."
}