Totales facturados de un período
Devuelve los totales de un mes, agregados por tipo de documento Y estado en el SII: cantidad, neto, exento, IVA y total.
| Tool ID | notta.dte.totales |
| Nombre MCP | notta__dte__totales |
| Conector | notta |
| Plano | action |
| Scope (permiso) | notta:read |
| 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
Un mismo tipo aparece en VARIAS filas cuando sus documentos están en estados distintos, así que el total de un tipo es la suma de sus filas y jamás una sola de ellas. Sin período usa el mes en curso del calendario chileno.
Entrada
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
periodo | string `^\d4-(0[1-9] | 1[0-2])$` | no |
JSON Schema de entrada
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"periodo": {
"type": "string",
"pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
"description": "YYYY-MM. Default: el mes actual (calendario chileno)"
}
}
}Salida
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
periodo | string | sí | YYYY-MM del período agregado |
data | lista de objeto | sí | Los totales del periodo, con una fila por cada combinacion de tipo de documento y estado del SII. Un mismo tipo aparece en VARIAS filas cuando sus documentos estan en estados distintos, asi que el total de un tipo es la suma de sus filas y nunca una sola de ellas. |
data[].tipo_dte | 33 · 34 · 39 · 41 · 46 · 52 · … | sí | Codigo del tipo de documento en el catalogo del SII: 33 factura afecta, 34 factura exenta, 39 boleta, 41 boleta exenta, 46 factura de compra, 52 guia de despacho, 56 nota de debito, 61 nota de credito, 110 factura de exportacion y 112 nota de credito de exportacion. |
data[].sii_status | "queued" · "sending" · "awaiting_sii" · "SOK" · "CRT" · "FOK" · … | sí | Vocabulario de dtes.sii_status, generado del catálogo de estados. Cada valor con su glosa, si tiene VEREDICTO del SII (terminal) y la acción sugerida. La descripción larga de cada uno viaja en el bloque estado de esta misma respuesta: queued: en cola · terminal: no · acción: esperar sending: enviando · terminal: no · acción: esperar signed: firmado, sin subir al SII · terminal: no · acción: esperar awaiting_sii: esperando al SII · terminal: no · acción: esperar · DEPRECADO SOK: schema del envío validado · terminal: no · acción: esperar CRT: carátula del envío validada · terminal: no · acción: esperar FOK: firma del envío validada · terminal: no · acción: esperar PDR: envío en proceso · terminal: no · acción: esperar PRD: envío en proceso · terminal: no · acción: esperar -11: procesando en el SII · terminal: no · acción: esperar EPR: aceptado · terminal: sí · acción: ninguna RPR: aceptado con reparos · terminal: sí · acción: ninguna aceptado_con_reparos: aceptado con reparos · terminal: sí · acción: ninguna · DEPRECADO accepted: aceptado (importado del Respaldo del SII) · terminal: sí · acción: ninguna RFR: rechazo por firma · terminal: sí · acción: contactar_soporte RCT: rechazo por carátula · terminal: sí · acción: contactar_soporte RSC: rechazo por schema · terminal: sí · acción: contactar_soporte RCH: documento rechazado · terminal: sí · acción: reemitir stuck: atascado en SII · terminal: no · acción: reintentar_consulta sin_permiso_sii: sin permiso para consultar en el SII · terminal: no · acción: accion_en_sii Corta cualquier bucle de espera por estado.terminal, NUNCA por sii_status === "EPR": un rechazo (RFR, RCT, RSC y RCH) también es final, y ese bucle no saldría nunca. stuck y sin_permiso_sii no son terminales (el SII no llegó a juzgar el documento) pero tampoco avanzan solos: los destraba POST /dtes/\{id\}/refresh-status. |
data[].cantidad | entero | sí | Cuantos documentos hay en esta fila, es decir en este tipo Y este estado. |
data[].monto_neto | número | sí | Suma de los montos afectos a IVA de los documentos de esta fila (un tipo en un estado), en pesos chilenos. |
data[].monto_exento | número | sí | Suma de los montos exentos de IVA de los documentos de esta fila (un tipo en un estado), en pesos chilenos. |
data[].iva | número | sí | Suma del IVA de los documentos de esta fila (un tipo en un estado), en pesos chilenos. |
data[].monto_total | número | sí | Suma de los totales de los documentos de esta fila (un tipo en un estado), en pesos chilenos. |
JSON Schema de salida
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"periodo": {
"type": "string",
"description": "YYYY-MM del período agregado"
},
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tipo_dte": {
"type": "number",
"enum": [
33,
34,
39,
41,
46,
52,
56,
61,
110,
112
],
"description": "Codigo del tipo de documento en el catalogo del SII: 33 factura afecta, 34 factura exenta, 39 boleta, 41 boleta exenta, 46 factura de compra, 52 guia de despacho, 56 nota de debito, 61 nota de credito, 110 factura de exportacion y 112 nota de credito de exportacion."
},
"sii_status": {
"type": "string",
"enum": [
"queued",
"sending",
"awaiting_sii",
"SOK",
"CRT",
"FOK",
"PDR",
"PRD",
"-11",
"EPR",
"RPR",
"aceptado_con_reparos",
"RFR",
"RCT",
"RSC",
"RCH",
"stuck",
"signed",
"accepted",
"sin_permiso_sii"
],
"description": "Vocabulario de `dtes.sii_status`, generado del catálogo de estados. Cada valor con su glosa, si tiene VEREDICTO del SII (`terminal`) y la acción sugerida. La descripción larga de cada uno viaja en el bloque `estado` de esta misma respuesta:\n\n`queued`: en cola · terminal: no · acción: `esperar`\n`sending`: enviando · terminal: no · acción: `esperar`\n`signed`: firmado, sin subir al SII · terminal: no · acción: `esperar`\n`awaiting_sii`: esperando al SII · terminal: no · acción: `esperar` · DEPRECADO\n`SOK`: schema del envío validado · terminal: no · acción: `esperar`\n`CRT`: carátula del envío validada · terminal: no · acción: `esperar`\n`FOK`: firma del envío validada · terminal: no · acción: `esperar`\n`PDR`: envío en proceso · terminal: no · acción: `esperar`\n`PRD`: envío en proceso · terminal: no · acción: `esperar`\n`-11`: procesando en el SII · terminal: no · acción: `esperar`\n`EPR`: aceptado · terminal: sí · acción: `ninguna`\n`RPR`: aceptado con reparos · terminal: sí · acción: `ninguna`\n`aceptado_con_reparos`: aceptado con reparos · terminal: sí · acción: `ninguna` · DEPRECADO\n`accepted`: aceptado (importado del Respaldo del SII) · terminal: sí · acción: `ninguna`\n`RFR`: rechazo por firma · terminal: sí · acción: `contactar_soporte`\n`RCT`: rechazo por carátula · terminal: sí · acción: `contactar_soporte`\n`RSC`: rechazo por schema · terminal: sí · acción: `contactar_soporte`\n`RCH`: documento rechazado · terminal: sí · acción: `reemitir`\n`stuck`: atascado en SII · terminal: no · acción: `reintentar_consulta`\n`sin_permiso_sii`: sin permiso para consultar en el SII · terminal: no · acción: `accion_en_sii`\n\nCorta cualquier bucle de espera por `estado.terminal`, NUNCA por `sii_status === \"EPR\"`: un rechazo (`RFR`, `RCT`, `RSC` y `RCH`) también es final, y ese bucle no saldría nunca. `stuck` y `sin_permiso_sii` no son terminales (el SII no llegó a juzgar el documento) pero tampoco avanzan solos: los destraba `POST /dtes/{id}/refresh-status`."
},
"cantidad": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Cuantos documentos hay en esta fila, es decir en este tipo Y este estado."
},
"monto_neto": {
"type": "number",
"description": "Suma de los montos afectos a IVA de los documentos de esta fila (un tipo en un estado), en pesos chilenos."
},
"monto_exento": {
"type": "number",
"description": "Suma de los montos exentos de IVA de los documentos de esta fila (un tipo en un estado), en pesos chilenos."
},
"iva": {
"type": "number",
"description": "Suma del IVA de los documentos de esta fila (un tipo en un estado), en pesos chilenos."
},
"monto_total": {
"type": "number",
"description": "Suma de los totales de los documentos de esta fila (un tipo en un estado), en pesos chilenos."
}
},
"required": [
"tipo_dte",
"sii_status",
"cantidad",
"monto_neto",
"monto_exento",
"iva",
"monto_total"
],
"additionalProperties": false,
"description": "El total de un tipo de documento en UN estado del SII, dentro del periodo consultado. El estado viaja en sii_status."
},
"description": "Los totales del periodo, con una fila por cada combinacion de tipo de documento y estado del SII. Un mismo tipo aparece en VARIAS filas cuando sus documentos estan en estados distintos, asi que el total de un tipo es la suma de sus filas y nunca una sola de ellas."
}
},
"required": [
"periodo",
"data"
],
"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.
Reenviar un documento por correo
Reenvía el PDF y el XML de un documento ya emitido a la dirección que el receptor tiene registrada en Notta.
Listar los rangos de folios autorizados (CAF)
Lista los rangos de folios que el SII autorizó (los CAF) y que esta empresa tiene cargados en Notta, por tipo de documento y ambiente: desde qué folio hasta cuál, cuál es el próximo por usar, cuántos quedan, si están por agotarse y hasta cuándo son válidos.