Anular una boleta
Da de baja una boleta, hasta 5 días calendario después de emitirla. A diferencia de la factura, una boleta viaja en el resumen diario, que SUNAT procesa después. Pasado el plazo, usa una nota de crédito.
https://cpe-dev.facturamovilai.me/v1/emisores/TU_RUC/comprobantes/BOLETA-B001-39/bajaCabecera Authorization: Bearer TU_LLAVE. Es la misma llave en pruebas y en producción: lo que cambia es la dirección (cpe-dev o cpe-prod).
Solicitud
curl -X POST "https://cpe-dev.facturamovilai.me/v1/emisores/TU_RUC/comprobantes/BOLETA-B001-39/baja" \
-H "Authorization: Bearer TU_LLAVE" \
-H "Content-Type: application/json" \
-d '{
"motivo": "ANULACION DE LA OPERACION"
}'const respuesta = await fetch("https://cpe-dev.facturamovilai.me/v1/emisores/TU_RUC/comprobantes/BOLETA-B001-39/baja", {
method: "POST",
headers: {
"Authorization": "Bearer TU_LLAVE",
"Content-Type": "application/json",
},
body: JSON.stringify({
"motivo": "ANULACION DE LA OPERACION"
}),
});
console.log(respuesta.status, await respuesta.json());# pip install requests
import requests
respuesta = requests.post(
"https://cpe-dev.facturamovilai.me/v1/emisores/TU_RUC/comprobantes/BOLETA-B001-39/baja",
headers={"Authorization": "Bearer TU_LLAVE"},
json={
"motivo": "ANULACION DE LA OPERACION",
},
)
print(respuesta.status_code, respuesta.json())Campos
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
motivo | texto | Sí | Por que se anula. Ej: ANULACION DE LA OPERACION |
Respuestas
{
"id": "BOLETA-B001-39",
"emisor": "TU_RUC",
"ambiente": "dev",
"tipo": "BOLETA",
"serie": "B001",
"numero": 39,
"estado": "ANULADO",
"mensaje": "El documento se encuentra anulado.",
"total": "10.50",
"referencia_externa": "venta-3106",
"pdf_factuapi_a4_url": "https://cpe-dev.facturamovilai.me/v1/pdf/<token>"
}Con una llave que no existe
{
"detail": "Credencial invalida"
}En pruebas queda ANULADO al instante. En producción puede tardar: SUNAT procesa el resumen diario después, y mientras tanto el comprobante sigue vigente y la respuesta puede mostrar PENDIENTE o ACEPTADO. Es normal.
No reintentes la baja mientras sigue en curso: consulta el comprobante hasta que diga ANULADO. Decirle a un cliente que algo no existe cuando todavía existe es peor que no tener la función.