SIIBHE

Emitir nueva BHE

Emitir una nueva boleta de honorarios electronica en el SII.

POST /api/v1/sii/bhe/emitidas/emitir
import requests
 
headers = {
    "X-API-Token": "sk_live_replace_with_your_token",
}
 
response = requests.post(
    "https://api.fiscalbridge.cl/api/v1/sii/bhe/emitidas/emitir",
    headers=headers,
)
response.raise_for_status()
print(response.json())

Emitir una nueva boleta de honorarios electronica en el SII.

Crea una nueva BHE con los datos del receptor y del servicio prestado. El SII asigna folio y codigo al emitirla. El RUT del emisor se deriva de las credenciales auth, nunca se pasa por URL.

Autenticacion requerida: API token en header X-API-Token con scope sii:write

  • credenciales SII del emisor en el body.

Quota: Consume 1 consulta | Peso: 5x (operacion critica de escritura)


Body (JSON)

CampoTipoRequeridoDescripcion
auth.pass.rutstringSiRUT del emisor (se deriva el RUT de la BHE)
auth.pass.clavestringSiClave tributaria SII
boleta.receptor_rutstringSiRUT del receptor (XX.XXX.XXX-X)
boleta.receptor_nombrestringSiNombre/razon social del receptor
boleta.monto_netointegerSiMonto neto en CLP (antes de retencion)
boleta.descripcionstringSiDescripcion del servicio prestado
boleta.fecha_emisionstringNoFecha YYYY-MM-DD (default: hoy)

Request de ejemplo

{
    "auth": {"pass": {"rut": "76.XXX.XXX-K", "clave": "clave_tributaria"}},
    "boleta": {
        "receptor_rut": "12.345.678-9",
        "receptor_nombre": "Empresa Ejemplo SpA",
        "monto_neto": 100000,
        "descripcion": "Servicios de consultoria profesional"
    }
}

Respuesta exitosa (200)

{
    "success": true,
    "message": "Boleta de honorarios emitida exitosamente",
    "data": {
        "codigo": "123456",
        "folio": 67890,
        "fecha": "2026-01-15",
        "estado": "Emitida",
        "monto_bruto": 119000,
        "retencion": 15827,
        "monto_liquido": 103173
    }
}
```son
{
    "codigo": "123456",
    "folio": 67890,
    "fecha": "2026-01-15",
    "estado": "Emitida",
    "monto_bruto": 119000,
    "retencion": 15827,
    "monto_liquido": 103173
}

Errores especificos

Codigoerror_codeCausaResolucion
400AUTH_ERRORCredenciales SII incorrectasRevisar RUT/clave
400VALIDATION_ERRORDatos rechazados por SII (RUT/monto invalido)Revisar message
401HTTP_401API token ausente o invalidoEnviar X-API-Token valido
403INSUFFICIENT_SCOPEToken sin scope sii:writeGenerar token con scope adecuado
422VALIDATION_ERRORCampos del body rechazadosRevisar errors[]
429SII_RATE_LIMIT / QUOTA_EXCEEDEDRate limitRespetar Retry-After
502SII_GATEWAY_ERRORSII rechazo la emision (error estructurado)Revisar details.observacion

Notas

  • La retencion (10%-13.75%) se calcula por el SII segun el año tributario.
  • Una BHE emitida genera folio inmediatamente; para anular, usar POST /emitidas/anular/{codigo}.
  • Rate weight 5x refleja que es una operacion de escritura con side-effect en el SII.

Parámetros

Header / Body
Tipo
Descripción
Requerido
dry_run
string | null · query
Si es `true` (o `1`/`yes`/`on`), el endpoint valida el payload y retorna una respuesta de previsualización (mismo shape que la respuesta real) sin contactar al SII. Útil para validar requests sin consumir folios, cuota ni créditos.
No

Cuerpo de la solicitud

Requerido. Content-Type: application/json.

{
  "auth": {
    "pass": {
      "clave": "string",
      "rut": "string"
    }
  },
  "boleta": {}
}

Respuestas

200Successful Response
400Datos de boleta invalidos o credenciales SII incorrectas
401API token ausente o invalido
403Sin scope `sii:write` o cuenta bloqueada
422Body con formato invalido
429Limite de tasa excedido
502SII rechazo la emision
503SII en mantenimiento

Forma de la respuesta

Código 200. Estructura del JSON devuelto.

{
  "data": {
    "razon_social": "Empresa S.A.",
    "rut": "12.345.678-9"
  },
  "message": "Operación completada exitosamente",
  "success": true,
  "timestamp": "2025-12-01T12:00:00Z"
}

On this page