SIIBHE
Emitir nueva BHE
Emitir una nueva boleta de honorarios electronica en el SII.
POST
/api/v1/sii/bhe/emitidas/emitirv1 · ESTABLEPOST /api/v1/sii/bhe/emitidas/emitir
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)
| Campo | Tipo | Requerido | Descripcion |
|---|---|---|---|
auth.pass.rut | string | Si | RUT del emisor (se deriva el RUT de la BHE) |
auth.pass.clave | string | Si | Clave tributaria SII |
boleta.receptor_rut | string | Si | RUT del receptor (XX.XXX.XXX-X) |
boleta.receptor_nombre | string | Si | Nombre/razon social del receptor |
boleta.monto_neto | integer | Si | Monto neto en CLP (antes de retencion) |
boleta.descripcion | string | Si | Descripcion del servicio prestado |
boleta.fecha_emision | string | No | Fecha YYYY-MM-DD (default: hoy) |
Request de ejemplo
Respuesta exitosa (200)
Errores especificos
| Codigo | error_code | Causa | Resolucion |
|---|---|---|---|
| 400 | AUTH_ERROR | Credenciales SII incorrectas | Revisar RUT/clave |
| 400 | VALIDATION_ERROR | Datos rechazados por SII (RUT/monto invalido) | Revisar message |
| 401 | HTTP_401 | API token ausente o invalido | Enviar X-API-Token valido |
| 403 | INSUFFICIENT_SCOPE | Token sin scope sii:write | Generar token con scope adecuado |
| 422 | VALIDATION_ERROR | Campos del body rechazados | Revisar errors[] |
| 429 | SII_RATE_LIMIT / QUOTA_EXCEEDED | Rate limit | Respetar Retry-After |
| 502 | SII_GATEWAY_ERROR | SII 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.
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.