Previsualizar DTE en el SII
Valida y previsualiza un documento en el Facturador Gratuito del SII sin guardarlo ni emitirlo.
| Tool ID | sii.dte.previsualizar |
| Nombre MCP | sii__dte__previsualizar |
| Conector | sii |
| Plano | action |
| Scope (permiso) | sii:write |
| Auth | connection_credentials |
| Versión | 1 |
| Sensible | sí |
| Deprecado | no |
| Comportamiento | readOnly=true, destructive=false, idempotent=true, openWorld=true |
Requiere conexión. Indica cuál en cada llamada: header
X-Connect-Connectionen REST, campoconnectionIden elexecutede MCP y en las opciones del SDK. No hay resolución implícita, ni siquiera con una sola conexión activa: la conexión es la empresa. El id sale deconexiones.estado.consultar.
Qué hace
El schema documenta factura afecta 33, factura exenta 34, guía 52 que constituye venta y notas 56/61 de corrección de montos referidas a una factura 34 exenta. Solo 33 y 34 son elegibles en la matriz productiva (preview:true), y se ejecutan únicamente cuando están abiertas todas las compuertas de rollout, organización, scope, credencial y perfil. 52, 56 y 61 se rechazan antes de red.
Entrada
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
candidato | valor | sí | Formulario completo de una variante publicada en el schema. La matriz productiva marca únicamente 33 y 34 como elegibles para preview (preview:true); aun esas dos ramas requieren que estén abiertas todas las compuertas de rollout, organización, scope, credencial y perfil. 52, 56 y 61 se rechazan antes de red. Usa exactamente una rama y no combines campos entre documentos. |
JSON Schema de entrada
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"candidato": {
"anyOf": [
{
"type": "object",
"properties": {
"tipoDte": {
"type": "string",
"const": "33",
"description": "Factura electrónica afecta a IVA."
},
"receptor": {
"type": "object",
"properties": {
"rut": {
"description": "RUT chileno del receptor, sin puntos, con guion y DV módulo 11 válido.",
"type": "string"
},
"razonSocial": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Razón social legal del receptor."
},
"giro": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"description": "Giro comercial del receptor."
},
"direccion": {
"type": "string",
"minLength": 1,
"maxLength": 70,
"description": "Dirección tributaria del receptor."
},
"comuna": {
"type": "string",
"minLength": 1,
"maxLength": 20,
"description": "Comuna de la dirección tributaria del receptor."
},
"ciudad": {
"type": "string",
"minLength": 1,
"maxLength": 15,
"description": "Ciudad de la dirección tributaria del receptor."
}
},
"required": [
"rut",
"razonSocial",
"giro",
"direccion",
"comuna",
"ciudad"
],
"additionalProperties": false,
"description": "Datos obligatorios del receptor; esta variante no admite un campo de contacto."
},
"tipoVenta": {
"type": "string",
"const": "del_giro",
"description": "Venta fija del giro; no se habilitan otros selectores."
},
"tipoCompra": {
"type": "string",
"const": "del_giro",
"description": "Compra fija del giro; no se habilitan otros selectores."
},
"condicionPago": {
"type": "object",
"properties": {
"formaPago": {
"type": "string",
"const": "credito",
"description": "Forma de pago fija a crédito."
}
},
"required": [
"formaPago"
],
"additionalProperties": false,
"description": "Condición de pago fija de esta variante."
},
"detalles": {
"type": "array",
"prefixItems": [
{
"type": "object",
"properties": {
"nombre": {
"type": "string",
"minLength": 1,
"maxLength": 25,
"description": "Nombre del único ítem facturado."
},
"cantidad": {
"type": "number",
"description": "Cantidad con mínimo 1, hasta dos decimales y wire máximo de 12 caracteres."
},
"precioUnitario": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 999999999999,
"description": "Precio unitario positivo en pesos chilenos, antes de impuestos. El subtotal de línea round(cantidad × precioUnitario) debe ser un entero de hasta 10 dígitos."
}
},
"required": [
"nombre",
"cantidad",
"precioUnitario"
],
"additionalProperties": false,
"description": "Única línea permitida en las facturas baseline 33 y 34."
}
],
"description": "Exactamente una línea; esta variante no admite códigos, unidad, descripción ni descuentos.",
"items": false,
"minItems": 1,
"maxItems": 1
}
},
"required": [
"tipoDte",
"receptor",
"tipoVenta",
"tipoCompra",
"condicionPago",
"detalles"
],
"additionalProperties": false,
"description": "Formulario cerrado de factura afecta 33 baseline."
},
{
"type": "object",
"properties": {
"tipoDte": {
"type": "string",
"const": "34",
"description": "Factura electrónica exenta o no afecta a IVA."
},
"receptor": {
"type": "object",
"properties": {
"rut": {
"description": "RUT chileno del receptor, sin puntos, con guion y DV módulo 11 válido.",
"type": "string"
},
"razonSocial": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Razón social legal del receptor."
},
"giro": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"description": "Giro comercial del receptor."
},
"direccion": {
"type": "string",
"minLength": 1,
"maxLength": 70,
"description": "Dirección tributaria del receptor."
},
"comuna": {
"type": "string",
"minLength": 1,
"maxLength": 20,
"description": "Comuna de la dirección tributaria del receptor."
},
"ciudad": {
"type": "string",
"minLength": 1,
"maxLength": 15,
"description": "Ciudad de la dirección tributaria del receptor."
}
},
"required": [
"rut",
"razonSocial",
"giro",
"direccion",
"comuna",
"ciudad"
],
"additionalProperties": false,
"description": "Datos obligatorios del receptor; esta variante no admite un campo de contacto."
},
"tipoVenta": {
"type": "string",
"const": "del_giro",
"description": "Venta fija del giro; no se habilitan otros selectores."
},
"tipoCompra": {
"type": "string",
"const": "del_giro",
"description": "Compra fija del giro; no se habilitan otros selectores."
},
"condicionPago": {
"type": "object",
"properties": {
"formaPago": {
"type": "string",
"const": "credito",
"description": "Forma de pago fija a crédito."
}
},
"required": [
"formaPago"
],
"additionalProperties": false,
"description": "Condición de pago fija de esta variante."
},
"detalles": {
"type": "array",
"prefixItems": [
{
"type": "object",
"properties": {
"nombre": {
"type": "string",
"minLength": 1,
"maxLength": 25,
"description": "Nombre del único ítem facturado."
},
"cantidad": {
"type": "number",
"description": "Cantidad con mínimo 1, hasta dos decimales y wire máximo de 12 caracteres."
},
"precioUnitario": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 999999999999,
"description": "Precio unitario positivo en pesos chilenos, antes de impuestos. El subtotal de línea round(cantidad × precioUnitario) debe ser un entero de hasta 10 dígitos."
}
},
"required": [
"nombre",
"cantidad",
"precioUnitario"
],
"additionalProperties": false,
"description": "Única línea permitida en las facturas baseline 33 y 34."
}
],
"description": "Exactamente una línea exenta; esta variante no admite IVA, códigos, unidad, descripción ni descuentos.",
"items": false,
"minItems": 1,
"maxItems": 1
}
},
"required": [
"tipoDte",
"receptor",
"tipoVenta",
"tipoCompra",
"condicionPago",
"detalles"
],
"additionalProperties": false,
"description": "Formulario cerrado de factura exenta 34 baseline."
},
{
"type": "object",
"properties": {
"tipoDte": {
"type": "string",
"const": "52",
"description": "Guía de despacho electrónica."
},
"receptor": {
"type": "object",
"properties": {
"rut": {
"description": "RUT chileno del receptor, sin puntos, con guion y DV módulo 11 válido.",
"type": "string"
},
"razonSocial": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Razón social legal del receptor."
},
"giro": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"description": "Giro comercial del receptor."
},
"direccion": {
"type": "string",
"minLength": 1,
"maxLength": 70,
"description": "Dirección tributaria del receptor."
},
"comuna": {
"type": "string",
"minLength": 1,
"maxLength": 20,
"description": "Comuna de la dirección tributaria del receptor."
},
"ciudad": {
"type": "string",
"minLength": 1,
"maxLength": 15,
"description": "Ciudad de la dirección tributaria del receptor."
}
},
"required": [
"rut",
"razonSocial",
"giro",
"direccion",
"comuna",
"ciudad"
],
"additionalProperties": false,
"description": "Datos obligatorios del receptor; esta variante no admite un campo de contacto."
},
"motivoTraslado": {
"type": "string",
"const": "constituye_venta",
"description": "Motivo de traslado fijo."
},
"detalles": {
"type": "array",
"prefixItems": [
{
"type": "object",
"properties": {
"nombre": {
"type": "string",
"minLength": 1,
"maxLength": 25,
"description": "Nombre del único ítem de la línea."
},
"cantidad": {
"type": "number",
"description": "Cantidad con mínimo 1, hasta dos decimales y wire máximo de 12 caracteres."
},
"precioUnitario": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 999999999999,
"description": "Precio unitario positivo en pesos chilenos, antes de impuestos. El subtotal de línea, redondeado a entero, debe caber en 10 dígitos."
}
},
"required": [
"nombre",
"cantidad",
"precioUnitario"
],
"additionalProperties": false,
"description": "Única línea de la variante baseline: sin código, unidad, descripción ni descuentos."
}
],
"description": "Una única línea baseline.",
"items": false,
"minItems": 1,
"maxItems": 1
}
},
"required": [
"tipoDte",
"receptor",
"motivoTraslado",
"detalles"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tipoDte": {
"type": "string",
"const": "56",
"description": "Nota de débito electrónica."
},
"receptor": {
"type": "object",
"properties": {
"rut": {
"description": "RUT chileno del receptor, sin puntos, con guion y DV módulo 11 válido.",
"type": "string"
},
"razonSocial": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Razón social legal del receptor."
},
"giro": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"description": "Giro comercial del receptor."
},
"direccion": {
"type": "string",
"minLength": 1,
"maxLength": 70,
"description": "Dirección tributaria del receptor."
},
"comuna": {
"type": "string",
"minLength": 1,
"maxLength": 20,
"description": "Comuna de la dirección tributaria del receptor."
},
"ciudad": {
"type": "string",
"minLength": 1,
"maxLength": 15,
"description": "Ciudad de la dirección tributaria del receptor."
}
},
"required": [
"rut",
"razonSocial",
"giro",
"direccion",
"comuna",
"ciudad"
],
"additionalProperties": false,
"description": "Datos obligatorios del receptor; esta variante no admite un campo de contacto."
},
"operacion": {
"type": "string",
"const": "corregir_montos",
"description": "Operación fija de corrección de montos."
},
"referencia": {
"type": "object",
"properties": {
"tipoDteReferido": {
"type": "number",
"const": 34,
"description": "Factura exenta 34 referida por la nota."
},
"folio": {
"type": "string",
"pattern": "^[1-9][0-9]{0,17}$",
"description": "Folio decimal sin cero inicial."
},
"fecha": {
"type": "string",
"description": "Fecha de emisión de la factura 34 referida."
},
"razon": {
"type": "string",
"minLength": 1,
"maxLength": 55,
"description": "Razón obligatoria de la corrección de montos."
}
},
"required": [
"tipoDteReferido",
"folio",
"fecha",
"razon"
],
"additionalProperties": false,
"description": "Referencia tributaria principal."
},
"detalles": {
"type": "array",
"prefixItems": [
{
"type": "object",
"properties": {
"nombre": {
"type": "string",
"minLength": 1,
"maxLength": 25,
"description": "Nombre del único ítem de la línea."
},
"cantidad": {
"type": "number",
"description": "Cantidad con mínimo 1, hasta dos decimales y wire máximo de 12 caracteres."
},
"precioUnitario": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 999999999999,
"description": "Precio unitario positivo en pesos chilenos, antes de impuestos. El subtotal de línea, redondeado a entero, debe caber en 10 dígitos."
}
},
"required": [
"nombre",
"cantidad",
"precioUnitario"
],
"additionalProperties": false,
"description": "Única línea de la variante baseline: sin código, unidad, descripción ni descuentos."
}
],
"description": "Una única línea baseline.",
"items": false,
"minItems": 1,
"maxItems": 1
}
},
"required": [
"tipoDte",
"receptor",
"operacion",
"referencia",
"detalles"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"tipoDte": {
"type": "string",
"const": "61",
"description": "Nota de crédito electrónica."
},
"receptor": {
"type": "object",
"properties": {
"rut": {
"description": "RUT chileno del receptor, sin puntos, con guion y DV módulo 11 válido.",
"type": "string"
},
"razonSocial": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Razón social legal del receptor."
},
"giro": {
"type": "string",
"minLength": 1,
"maxLength": 40,
"description": "Giro comercial del receptor."
},
"direccion": {
"type": "string",
"minLength": 1,
"maxLength": 70,
"description": "Dirección tributaria del receptor."
},
"comuna": {
"type": "string",
"minLength": 1,
"maxLength": 20,
"description": "Comuna de la dirección tributaria del receptor."
},
"ciudad": {
"type": "string",
"minLength": 1,
"maxLength": 15,
"description": "Ciudad de la dirección tributaria del receptor."
}
},
"required": [
"rut",
"razonSocial",
"giro",
"direccion",
"comuna",
"ciudad"
],
"additionalProperties": false,
"description": "Datos obligatorios del receptor; esta variante no admite un campo de contacto."
},
"operacion": {
"type": "string",
"const": "corregir_montos",
"description": "Operación fija de corrección de montos."
},
"referencia": {
"type": "object",
"properties": {
"tipoDteReferido": {
"type": "number",
"const": 34,
"description": "Factura exenta 34 referida por la nota."
},
"folio": {
"type": "string",
"pattern": "^[1-9][0-9]{0,17}$",
"description": "Folio decimal sin cero inicial."
},
"fecha": {
"type": "string",
"description": "Fecha de emisión de la factura 34 referida."
},
"razon": {
"type": "string",
"minLength": 1,
"maxLength": 55,
"description": "Razón obligatoria de la corrección de montos."
}
},
"required": [
"tipoDteReferido",
"folio",
"fecha",
"razon"
],
"additionalProperties": false,
"description": "Referencia tributaria principal."
},
"detalles": {
"type": "array",
"prefixItems": [
{
"type": "object",
"properties": {
"nombre": {
"type": "string",
"minLength": 1,
"maxLength": 25,
"description": "Nombre del único ítem de la línea."
},
"cantidad": {
"type": "number",
"description": "Cantidad con mínimo 1, hasta dos decimales y wire máximo de 12 caracteres."
},
"precioUnitario": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 999999999999,
"description": "Precio unitario positivo en pesos chilenos, antes de impuestos. El subtotal de línea, redondeado a entero, debe caber en 10 dígitos."
}
},
"required": [
"nombre",
"cantidad",
"precioUnitario"
],
"additionalProperties": false,
"description": "Única línea de la variante baseline: sin código, unidad, descripción ni descuentos."
}
],
"description": "Una única línea baseline.",
"items": false,
"minItems": 1,
"maxItems": 1
}
},
"required": [
"tipoDte",
"receptor",
"operacion",
"referencia",
"detalles"
],
"additionalProperties": false
}
],
"description": "Formulario completo de una variante publicada en el schema. La matriz productiva marca únicamente 33 y 34 como elegibles para preview (preview:true); aun esas dos ramas requieren que estén abiertas todas las compuertas de rollout, organización, scope, credencial y perfil. 52, 56 y 61 se rechazan antes de red. Usa exactamente una rama y no combines campos entre documentos."
}
},
"required": [
"candidato"
],
"additionalProperties": false
}Salida
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
estado | string | sí | Confirma que el flujo terminó en la vista previa y no guardó ni emitió el documento. |
tipoDte | "33" · "34" · "52" · "56" · "61" | sí | Tipo DTE contemplado por los contratos publicados: 33, 34, 52, 56 o 61. Su presencia no implica habilitación productiva. |
variante | "33:del_giro:del_giro:credito" · "34:del_giro:del_giro:credito" · "52:constituye_venta" · "56:corregir_montos:34_exenta" · "61:corregir_montos:34_exenta" | sí | Identidad exacta de la variante tributaria previsualizada. |
fechaEmision | string | sí | Fecha efectiva de emisión mostrada por la vista previa del SII. |
receptorRut | string ^\d{1,8}-[0-9K]$ | sí | RUT canonizado, sin puntos y con guion. |
totales | valor | sí | Totales normalizados desde la vista previa del SII. |
advertencias | lista de objeto | sí | Advertencias no bloqueantes de la previsualización; nunca contiene HTML ni datos ocultos. |
advertencias[].codigo | string | sí | Código estable de una advertencia no bloqueante. |
advertencias[].campo | string | no | Campo al que aplica la advertencia, cuando corresponde. |
previewToken | string | sí | Token opaco, sellado y de vida corta que liga esta vista previa a una eventual emisión. |
expiraEn | string `^(?:(?:\d\d[2468][048] | \d\d[13579][26] | \d\d0[48] |
contractVersion | entero | sí | Versión del contrato de formulario usada para construir y validar la vista previa. |
JSON Schema de salida
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"estado": {
"type": "string",
"const": "previsualizado",
"description": "Confirma que el flujo terminó en la vista previa y no guardó ni emitió el documento."
},
"tipoDte": {
"type": "string",
"enum": [
"33",
"34",
"52",
"56",
"61"
],
"description": "Tipo DTE contemplado por los contratos publicados: 33, 34, 52, 56 o 61. Su presencia no implica habilitación productiva."
},
"variante": {
"type": "string",
"enum": [
"33:del_giro:del_giro:credito",
"34:del_giro:del_giro:credito",
"52:constituye_venta",
"56:corregir_montos:34_exenta",
"61:corregir_montos:34_exenta"
],
"description": "Identidad exacta de la variante tributaria previsualizada."
},
"fechaEmision": {
"type": "string",
"description": "Fecha efectiva de emisión mostrada por la vista previa del SII."
},
"receptorRut": {
"type": "string",
"pattern": "^\\d{1,8}-[0-9K]$",
"description": "RUT canonizado, sin puntos y con guion."
},
"totales": {
"oneOf": [
{
"type": "object",
"properties": {
"tributacion": {
"type": "string",
"const": "afecta",
"description": "Totales afectos a IVA."
},
"neto": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991,
"description": "Monto neto calculado por el SII, en CLP."
},
"iva": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991,
"description": "IVA calculado por el SII, en CLP."
},
"total": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991,
"description": "Total calculado por el SII, en CLP."
}
},
"required": [
"tributacion",
"neto",
"iva",
"total"
],
"additionalProperties": false,
"description": "Totales de una factura o guía afecta a IVA."
},
{
"type": "object",
"properties": {
"tributacion": {
"type": "string",
"const": "exenta",
"description": "Totales exentos de IVA."
},
"exento": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991,
"description": "Monto exento calculado por el SII, en CLP."
},
"total": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991,
"description": "Total calculado por el SII, en CLP."
}
},
"required": [
"tributacion",
"exento",
"total"
],
"additionalProperties": false,
"description": "Totales de una factura o nota exenta de IVA."
}
],
"description": "Totales normalizados desde la vista previa del SII."
},
"advertencias": {
"type": "array",
"items": {
"type": "object",
"properties": {
"codigo": {
"type": "string",
"minLength": 1,
"description": "Código estable de una advertencia no bloqueante."
},
"campo": {
"description": "Campo al que aplica la advertencia, cuando corresponde.",
"type": "string",
"minLength": 1
}
},
"required": [
"codigo"
],
"additionalProperties": false,
"description": "Advertencia normalizada y allowlisted."
},
"description": "Advertencias no bloqueantes de la previsualización; nunca contiene HTML ni datos ocultos."
},
"previewToken": {
"type": "string",
"minLength": 1,
"description": "Token opaco, sellado y de vida corta que liga esta vista previa a una eventual emisión."
},
"expiraEn": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"description": "Instante ISO 8601 con zona horaria explícita."
},
"contractVersion": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "Versión del contrato de formulario usada para construir y validar la vista previa."
}
},
"required": [
"estado",
"tipoDte",
"variante",
"fechaEmision",
"receptorRut",
"totales",
"advertencias",
"previewToken",
"expiraEn",
"contractVersion"
],
"additionalProperties": false
}Errores de esta tool
| Código | HTTP | Reintentable | Qué hacer |
|---|---|---|---|
connection_disabled | 403 | no | Reactívala en /connections o usa otra conexión del mismo sistema. |
connection_credential_required | 428 | no | Crea un enlace con conexiones.enlace.crear (modo reconectar si la conexión ya existe) y pide a la persona que entregue la credencial de nuevo. No reintentes con la credencial anterior. |
connection_busy | 409 | sí | Espera unos segundos y reintenta. Es una espera transitoria: no necesitas volver a conectar ni ingresar la credencial otra vez. |
upstream_error | 502 | sí | Reintenta más tarde. Si persiste, el problema está en el sistema externo, no en tu integración. |
timeout | 504 | sí | Reintenta. Para sincronizaciones largas usa la vía asíncrona y consulta el estado del trabajo. |
Toda llamada puede devolver además los códigos transversales (validation_error, unauthorized, scope_not_granted, rate_limited, entre otros): el detalle vive en el catálogo de errores.