curl -X POST "https://sandbox.cucu.bo/api/v1/invoices/a1b2c3d4-e5f6-7890-abcd-ef1234567890/cancel?motivo=1" \
-H "X-API-Key: YOUR_API_KEY"
const response = await fetch(
'https://sandbox.cucu.bo/api/v1/invoices/a1b2c3d4-e5f6-7890-abcd-ef1234567890/cancel?motivo=1',
{
method: 'POST',
headers: { 'X-API-Key': 'YOUR_API_KEY' }
}
);
const data = await response.json();
import requests
response = requests.post(
'https://sandbox.cucu.bo/api/v1/invoices/a1b2c3d4-e5f6-7890-abcd-ef1234567890/cancel',
headers={'X-API-Key': 'YOUR_API_KEY'},
params={'motivo': 1}
)
print(response.json())
{
"success": true,
"message": "Factura anulada exitosamente",
"data": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"invoiceNumber": 5,
"cuf": "2872F7294502332E637FABFBC3654EA82202AD48E0969F14EBEB8AF74",
"state": "CANCELLED",
"cancellationType": "SIAT",
"cancellationReason": 1,
"cancellationDate": "2026-02-11T14:00:00"
},
"timestamp": "2026-02-11T14:00:00"
}
{
"success": false,
"error": {
"code": "CONFLICT",
"details": "La factura ya fue anulada anteriormente"
},
"timestamp": "2026-02-11T14:00:00"
}
{
"success": false,
"error": {
"code": "CANCEL_OUT_OF_WINDOW",
"details": "El SIAT rechazo la anulacion: [934] La solicitud de anulacion esta fuera de plazo. El plazo de anulacion por sistema vencio (hasta el dia 9 del mes siguiente a la emision, RND 102100000011 Art. 38). Para anular fuera de plazo, el contribuyente debe tramitar la anulacion ante la Gerencia Distrital o GRACO (RND 102600000025); una vez aprobada, registrar con POST /api/v1/invoices/{id}/cancel-administrative indicando el numero de Resolucion."
},
"timestamp": "2026-02-11T14:00:00"
}
Endpoints Disponibles
Anular Factura
Anula por servicio web una factura emitida, dentro de plazo.
POST
/
api
/
v1
/
invoices
/
{id}
/
cancel
curl -X POST "https://sandbox.cucu.bo/api/v1/invoices/a1b2c3d4-e5f6-7890-abcd-ef1234567890/cancel?motivo=1" \
-H "X-API-Key: YOUR_API_KEY"
const response = await fetch(
'https://sandbox.cucu.bo/api/v1/invoices/a1b2c3d4-e5f6-7890-abcd-ef1234567890/cancel?motivo=1',
{
method: 'POST',
headers: { 'X-API-Key': 'YOUR_API_KEY' }
}
);
const data = await response.json();
import requests
response = requests.post(
'https://sandbox.cucu.bo/api/v1/invoices/a1b2c3d4-e5f6-7890-abcd-ef1234567890/cancel',
headers={'X-API-Key': 'YOUR_API_KEY'},
params={'motivo': 1}
)
print(response.json())
{
"success": true,
"message": "Factura anulada exitosamente",
"data": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"invoiceNumber": 5,
"cuf": "2872F7294502332E637FABFBC3654EA82202AD48E0969F14EBEB8AF74",
"state": "CANCELLED",
"cancellationType": "SIAT",
"cancellationReason": 1,
"cancellationDate": "2026-02-11T14:00:00"
},
"timestamp": "2026-02-11T14:00:00"
}
{
"success": false,
"error": {
"code": "CONFLICT",
"details": "La factura ya fue anulada anteriormente"
},
"timestamp": "2026-02-11T14:00:00"
}
{
"success": false,
"error": {
"code": "CANCEL_OUT_OF_WINDOW",
"details": "El SIAT rechazo la anulacion: [934] La solicitud de anulacion esta fuera de plazo. El plazo de anulacion por sistema vencio (hasta el dia 9 del mes siguiente a la emision, RND 102100000011 Art. 38). Para anular fuera de plazo, el contribuyente debe tramitar la anulacion ante la Gerencia Distrital o GRACO (RND 102600000025); una vez aprobada, registrar con POST /api/v1/invoices/{id}/cancel-administrative indicando el numero de Resolucion."
},
"timestamp": "2026-02-11T14:00:00"
}
Anula por servicio web una factura previamente emitida y validada por el SIAT.
Plazo (RND 102100000011, Art. 38): la anulacion por servicio web solo es posible hasta el dia 9
del mes siguiente a la emision, y siempre que la factura no haya sido usada en una Declaracion
Jurada. Vencido el plazo, el SIAT la rechaza con
[934] (fuera de plazo) o [941] (no disponible) y la
API responde 422 CANCEL_OUT_OF_WINDOW. En ese caso la anulacion se tramita administrativamente ante
el SIN (RND 102600000025) y, una vez aprobada, se registra con
Anulacion Administrativa.Una anulacion por servicio web puede revertirse mientras la factura este en
CANCELLED, devolviendola
a VALIDATED, con Revertir Anulacion. No aplica a facturas emitidas en modo offline
ni a las anuladas administrativamente (esas se gestionan ante el SIN).Path Parameters
| Parametro | Tipo | Req | Descripcion |
|---|---|---|---|
id | string | Si | UUID de la factura a anular |
Query Parameters
| Parametro | Tipo | Req | Descripcion |
|---|---|---|---|
motivo | integer | No | Codigo del catalogo SIAT de motivos de anulacion (ver Catalogos, cancellation-reasons). Default: 1 |
Headers
| Parametro | Tipo | Req | Descripcion |
|---|---|---|---|
X-API-Key | string | Si | Tu API Key |
curl -X POST "https://sandbox.cucu.bo/api/v1/invoices/a1b2c3d4-e5f6-7890-abcd-ef1234567890/cancel?motivo=1" \
-H "X-API-Key: YOUR_API_KEY"
const response = await fetch(
'https://sandbox.cucu.bo/api/v1/invoices/a1b2c3d4-e5f6-7890-abcd-ef1234567890/cancel?motivo=1',
{
method: 'POST',
headers: { 'X-API-Key': 'YOUR_API_KEY' }
}
);
const data = await response.json();
import requests
response = requests.post(
'https://sandbox.cucu.bo/api/v1/invoices/a1b2c3d4-e5f6-7890-abcd-ef1234567890/cancel',
headers={'X-API-Key': 'YOUR_API_KEY'},
params={'motivo': 1}
)
print(response.json())
{
"success": true,
"message": "Factura anulada exitosamente",
"data": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"invoiceNumber": 5,
"cuf": "2872F7294502332E637FABFBC3654EA82202AD48E0969F14EBEB8AF74",
"state": "CANCELLED",
"cancellationType": "SIAT",
"cancellationReason": 1,
"cancellationDate": "2026-02-11T14:00:00"
},
"timestamp": "2026-02-11T14:00:00"
}
{
"success": false,
"error": {
"code": "CONFLICT",
"details": "La factura ya fue anulada anteriormente"
},
"timestamp": "2026-02-11T14:00:00"
}
{
"success": false,
"error": {
"code": "CANCEL_OUT_OF_WINDOW",
"details": "El SIAT rechazo la anulacion: [934] La solicitud de anulacion esta fuera de plazo. El plazo de anulacion por sistema vencio (hasta el dia 9 del mes siguiente a la emision, RND 102100000011 Art. 38). Para anular fuera de plazo, el contribuyente debe tramitar la anulacion ante la Gerencia Distrital o GRACO (RND 102600000025); una vez aprobada, registrar con POST /api/v1/invoices/{id}/cancel-administrative indicando el numero de Resolucion."
},
"timestamp": "2026-02-11T14:00:00"
}