Anular o corregir un documento emitido
Anula una factura afecta 33 o una boleta 39 o 41 con su nota de crédito 61 de anulación, o corrige los montos de una factura exenta 34 con una nota de débito 56 o de crédito 61, por REST, MCP o SDK. Qué hacer con cada documento y error.
Un documento emitido no se edita: se anula o se corrige con otro documento, una nota de crédito o de débito que lo referencia. Busca tu caso:
| Si emitiste… | y quieres… | Qué hacer |
|---|---|---|
| Factura 33 | anularla completa | Nota de crédito 61 de anulación, con sii.anulacion.* |
| Boleta 39 o 41 emitida por Connect | anularla | Nota de crédito 61 de anulación, con sii.anulacion.* |
| Factura 34 | subir o bajar sus montos | Nota de débito 56 o de crédito 61, con sii.dte.* |
| Factura 34 | anularla completa | Todavía no se puede por Connect: hazlo en el portal del SII |
| Factura 33 | corregir solo parte de los montos | Todavía no se puede por Connect: hazlo en el portal del SII |
| Factura 33 o 34 | corregir texto (razón social, giro, dirección) | Todavía no se puede por Connect: hazlo en el portal del SII |
| Guía de despacho 52 | anularla | No lleva nota: se registra como anulada en el Libro de Guías |
Anular y corregir funcionan distinto. En la anulación, el SII construye la nota de crédito entera a partir del documento original y tú solo indicas cuál es. En la corrección de montos, la nota la armas tú, con su línea, y sigue el mismo flujo de una factura.
Anular una factura
Anular una factura es emitir su nota de crédito 61 de anulación. En el Facturador Gratuito esa nota no se llena a mano: el SII la construye entera a partir de la factura original, con sus mismas líneas, neto, IVA y total, y con la referencia que la anula. Por eso tu integración solo indica cuál factura: tipo, folio y fecha de emisión. Connect no propone líneas ni montos.
Los requisitos son los mismos de la emisión, con el mismo permiso
sii:write, y el flujo también son dos llamadas: sii.anulacion.previsualizar y sii.anulacion.emitir.
Anular no tiene vuelta atrás
En el SII firmar es emitir: la nota se envía en el mismo acto y la factura queda anulada. Revisa la preparación antes de emitir.
También puedes anular una boleta afecta 39 o exenta 41 que Connect emitió: mira Anular una boleta.
Qué facturas se pueden anular
- Facturas afectas 33. La anulación de una factura exenta 34 todavía no está incluida.
- Emitidas con el Facturador Gratuito del SII, desde Connect o desde sii.cl. Connect ubica la factura en
la lista de documentos emitidos del portal; una factura emitida con otro sistema no está en esa lista y
la preparación responde
sii_anulacion_documento_no_encontrado. - Completas. La nota anula la factura entera. Para corregir solo parte de los montos de una factura 33 todavía no hay tool.
Una guía de despacho 52 no se anula con nota de crédito: mira Si una guía salió mal.
1. Prepara la anulación
curl -X POST https://connect.emisso.ai/api/v1/tools/sii.anulacion.previsualizar/execute \
-H "Authorization: Bearer connect_sk_…" \
-H "X-Connect-Connection: conn_9tKfR2mQx4Vb" \
-H "Content-Type: application/json" \
-d '{"input": {"documento": {"tipoDte": "33", "folio": "1042", "fechaEmision": "2026-09-15"}}}'Salida esperada (200, campo data):
{
"anulacion": {
"tipoDte": "61",
"operacion": "anula",
"referencia": { "tipoDte": "33", "folio": "1042", "fechaEmision": "2026-09-15" },
"totales": { "neto": 548000, "iva": 104120, "total": 652120 }
},
"previewRef": "<referencia opaca>",
"expiraEn": "2026-09-15T14:20:00.000Z",
"advertencias": []
}referencia y totales los escribió el SII. Comprueba que correspondan a la factura que quieres anular
antes de emitir. Como en la emisión, el previewRef vence en 15 minutos y lo emite el mismo actor que lo
preparó.
Si preparas la anulación en los segundos siguientes a emitir la factura, el portal puede todavía no ofrecerla. Espera alrededor de un minuto y vuelve a preparar.
2. Emite la nota de anulación
curl -X POST https://connect.emisso.ai/api/v1/tools/sii.anulacion.emitir/execute \
-H "Authorization: Bearer connect_sk_…" \
-H "X-Connect-Connection: conn_9tKfR2mQx4Vb" \
-H "Idempotency-Key: 8b1e4f7a-2c9d-4e36-a5b0-6d3f9c1e7a24" \
-H "Content-Type: application/json" \
-d '{"input": {"previewRef": "<referencia opaca>"}}'Salida esperada (200, campo data):
{
"resultado": {
"estado": "emitida",
"tipoDte": "61",
"puedeReintentar": false,
"operacionId": "req_p3n8x2c6v1b9m4k7w0q5z",
"folio": "87",
"fechaEmision": "2026-09-15",
"confirmadoEn": "2026-09-15T14:08:41.000Z",
"xmlFirmado": "<DTE version=\"1.0\">…<TED version=\"1.0\">…</TED>…</DTE>"
}
}El folio es el de la nota de crédito, no el de la factura. Los estados de la anulación van en femenino:
emitida: el portal lista la nota y su firma es la que Connect envió. La factura quedó anulada. TraexmlFirmado, el XML de la nota con su timbre; después lo entregasii.dte_xml.consultarcon el mismooperacionId.rechazada: la nota no llegó a enviarse. La factura sigue vigente y puedes preparar la anulación de nuevo.resultado_desconocido: todavía no hay evidencia para afirmar una cosa ni la otra. No prepares otra anulación: sigue Resultados y errores.
Por MCP
La preparación va por execute:
{
"tool": "sii.anulacion.previsualizar",
"connectionId": "conn_9tKfR2mQx4Vb",
"params": { "documento": { "tipoDte": "33", "folio": "1042", "fechaEmision": "2026-09-15" } }
}La emisión va por execute_write, con la clave de idempotencia fuera de params:
{
"tool": "sii.anulacion.emitir",
"connectionId": "conn_9tKfR2mQx4Vb",
"idempotencyKey": "8b1e4f7a-2c9d-4e36-a5b0-6d3f9c1e7a24",
"params": { "previewRef": "<referencia opaca>" }
}Por SDK
const preparada = await connect.tools.sii.anulacion.previsualizar(
{ documento: { tipoDte: "33", folio: "1042", fechaEmision: "2026-09-15" } },
{ connectionId },
);
// Revisa preparada.anulacion.totales. Guarda la clave ANTES de emitir.
const { resultado } = await connect.tools.sii.anulacion.emitir(
{ previewRef: preparada.previewRef },
{ connectionId, idempotencyKey: crypto.randomUUID() },
);Igual que en las facturas, la 0.1.0 publicada en npm no incluye estas tools: revisa tu versión.
Qué revisa Connect antes de firmar
Como la nota la arma el SII, Connect revisa la página del portal antes de firmarla: que sea una anulación, que refiera a la factura pedida, que no tenga campos editables y que sus totales cuadren (neto más IVA igual al total). Al emitir vuelve a pedir la nota y la compara con la que preparaste. Si algo no coincide, se detiene antes de firmar y la factura sigue vigente.
Si la factura tenía referencias informativas, como una orden de compra, el SII las copia en la nota después de la referencia que anula. Connect las acepta mientras ninguna modifique otro documento.
Anular una boleta
El flujo y las dos llamadas son los mismos; cambia el tipoDte:
{ "documento": { "tipoDte": "39", "folio": "123", "fechaEmision": "2026-09-21" } }Para una boleta exenta, "tipoDte": "41".
- La nota sale por el Facturador Gratuito, no por E-Boleta. Por eso pide lo mismo que anular una factura:
la empresa inscrita en ese portal, la conexión habilitada para emitir y el permiso
sii:write.sii:boletas:writeno lo sustituye. - Boletas afectas 39 y exentas 41 emitidas por Connect en la misma conexión. La fecha es el día en que Connect la
envió al SII, la misma que muestra el libro de boletas. Una boleta emitida desde el portal del SII o con otro
sistema no está en lo que Connect emitió, y la preparación responde
sii_anulacion_documento_no_encontrado. - El SII no conoce la boleta en el Facturador Gratuito, así que la nota no la arma él: Connect la llena con lo que guardó al emitirla. Lleva una línea por el total, la referencia a la boleta (tipo 39, folio y fecha) con el código que anula, y el receptor de la boleta. Si la boleta no tenía receptor, la nota va a la propia empresa: el SII no acepta el consumidor final genérico (66.666.666-6) como receptor de una nota. Los demás datos del receptor (razón social, dirección y giro) los completa el SII desde su registro.
- En una boleta exenta la nota va sin IVA: todo el total es exento y la preparación lo devuelve en
totales.exento, con neto e IVA en cero. Cualquier total se puede anular. - En una boleta afecta, neto e IVA los calcula el portal a partir del neto: IVA = neto × 19 %, redondeado. Connect propone el
neto que, con ese IVA, suma exactamente el total de la boleta. En alrededor de uno de cada seis totales no
existe ese neto (por ejemplo, $16 o $22). En esos casos la preparación responde
sii_anulacion_no_admitida, porque cualquier nota sumaría un peso más o un peso menos que la boleta.
Antes de firmar, Connect comprueba además que la vista previa del SII tenga el total de la boleta, su fecha y el receptor elegido.
Corregir montos de una factura exenta 34
La nota de débito 56 aumenta y la nota de crédito 61 rebaja el monto de una factura exenta 34 ya emitida. Llevan el receptor de la factura, la referencia a ella y una línea con el monto de la corrección:
{
"input": {
"candidato": {
"tipoDte": "61",
"receptor": {
"rut": "77123456-9",
"razonSocial": "Comercial Los Aromos SpA",
"giro": "Venta de artículos de oficina",
"direccion": "Av. Providencia 1234, oficina 501",
"comuna": "Providencia",
"ciudad": "Santiago"
},
"operacion": "corregir_montos",
"referencia": {
"tipoDteReferido": 34,
"folio": "318",
"fecha": "2026-09-02",
"razon": "Descuento acordado con el cliente"
},
"detalles": [
{ "nombre": "Rebaja de precio", "cantidad": 1, "precioUnitario": 120000 }
]
}
}
}| Campo | Qué va |
|---|---|
tipoDte | "56" para la nota de débito o "61" para la nota de crédito. |
operacion | Siempre "corregir_montos". |
referencia.tipoDteReferido | Siempre 34: la nota solo corrige facturas exentas. |
referencia.folio | Folio de la factura 34, en texto y sin ceros a la izquierda. |
referencia.fecha | Fecha de emisión de la factura 34, en AAAA-MM-DD. |
referencia.razon | Motivo de la corrección, obligatorio, hasta 55 caracteres. |
detalles | Una línea con nombre, cantidad y precioUnitario, como en las facturas. |
La nota es exenta: la vista previa devuelve totales con exento y total, sin IVA. No admite anular ni
corregir texto, referencias globales, referencias adicionales ni notas sobre otro tipo de documento.
Errores frecuentes de la anulación
| Código | Cuándo | Qué hacer |
|---|---|---|
sii_anulacion_documento_no_encontrado | La factura no está en la lista de emitidos del Facturador Gratuito, o la boleta no la emitió Connect en esta conexión: el folio o la fecha no calzan, o se emitió con otro sistema. | Revisa tipo, folio y fecha de emisión. Si acabas de emitir la factura, espera un minuto. |
sii_anulacion_no_admitida | El portal no deja armar la nota de la boleta tal como está: su total no se puede escribir como neto más IVA redondeado, o el SII no habilita al receptor o no tiene su razón social, dirección y giro. El motivo viene en details. | Por esta vía no se resuelve. Anula el documento en el portal del SII. |
sii_anulacion_en_curso | Ya hay una anulación preparada y sin resolver para esa factura, o una emisión anterior espera su reconciliación. | Emite esa preparación o espera a que venza (15 minutos) o se reconcilie antes de preparar otra. |
sii_anulacion_ya_emitida | Esa factura ya tiene una nota de anulación emitida por Connect. | No la anules de nuevo: la nota ya está en el SII. |
sii_preview_token_expired | Pasaron más de 15 minutos desde la preparación. | Prepara la anulación de nuevo. |
sii_preview_token_invalid | La preparación ya se usó, es de otra conexión o la emite otro actor. | Prepara de nuevo con la misma clave de API con la que vas a emitir. |
Los errores comunes a toda emisión están en Resultados y errores. La referencia
completa del contrato está en sii.anulacion.previsualizar
y sii.anulacion.emitir.
Boletas 39 y 41
Emite boletas electrónicas afectas 39 y exentas 41 en E-Boleta del SII por REST, MCP o SDK, paso a paso, con el enlace oficial al PDF de cada una.
Guía de despacho 52
Emite ante el SII una guía de despacho 52 con cualquiera de sus nueve motivos de traslado, hasta diez líneas con código, unidad y descripción, referencias, solicitante, transporte y contacto del receptor.