Emisso Connect

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 IDnotta.dte.totales
Nombre MCPnotta__dte__totales
Conectornotta
Planoaction
Scope (permiso)notta:read
Authconnection_credentials
Versión1
Sensible
Deprecadono
ComportamientoreadOnly=true, destructive=false, idempotent=true, openWorld=true

Requiere conexión. Indica cuál en cada llamada: header X-Connect-Connection en REST, campo connectionId en el execute de 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 de conexiones.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

CampoTipoRequeridoDescripción
periodostring `^\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

CampoTipoRequeridoDescripción
periodostringYYYY-MM del período agregado
datalista de objetoLos 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_dte33 · 34 · 39 · 41 · 46 · 52 · …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" · …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[].cantidadenteroCuantos documentos hay en esta fila, es decir en este tipo Y este estado.
data[].monto_netonúmeroSuma de los montos afectos a IVA de los documentos de esta fila (un tipo en un estado), en pesos chilenos.
data[].monto_exentonúmeroSuma de los montos exentos de IVA de los documentos de esta fila (un tipo en un estado), en pesos chilenos.
data[].ivanúmeroSuma del IVA de los documentos de esta fila (un tipo en un estado), en pesos chilenos.
data[].monto_totalnúmeroSuma 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ódigoHTTPReintentableQué hacer
connection_disabled403noReactívala en /connections o usa otra conexión del mismo sistema.
connection_credential_required428noCrea 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_busy409Espera unos segundos y reintenta. Es una espera transitoria: no necesitas volver a conectar ni ingresar la credencial otra vez.
upstream_error502Reintenta más tarde. Si persiste, el problema está en el sistema externo, no en tu integración.
timeout504Reintenta. 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.

On this page