Notta Docs

Boleta de honorarios (BHE)

En camino, pendiente de certificación ante el SII. Retención vigente del año, cálculo del líquido y anulación dentro del plazo legal de 3 meses.

En camino: la BHE todavía no se emite con Notta

La Boleta de Honorarios Electrónica está pendiente de certificación ante el SII, así que hoy no puedes emitirla con Notta. Esta página documenta el contrato con el que quedará disponible; hasta entonces, emítela en el sitio del SII. Lo que sí emites hoy con Notta: factura 33, factura exenta 34, nota de débito 56, nota de crédito 61 y guía de despacho 52.

La Boleta de Honorarios Electrónica usa un pipeline propio del SII (distinto del de los DTE 33-61): tu clave tributaria custodiada cifrada, no el certificado .p12. Emitirás sobre un monto_bruto; Notta calculará la retención del año y el monto_liquido será lo que recibes.

Cuando se habilite, la emitirás por la API REST y por el dashboard. Los ejemplos de esta guía usan curl.

Tasa de retención por año

La tasa sube gradualmente según la Ley 21.420 y se determina por el año de fecha_emision:

Año de emisiónTasa de retención
Hasta 202210%
202312,25%
202413%
202514,5%
2026 y 202717%

Si el receptor es persona natural sin giro (consumidor final), marca persona_natural_sin_giro: true y la retención es 0.

Campos del request

CampoTipoRequeridoNotas
rut_emisorstringRUT del emisor persona natural, formato BODY-DV
receptor.rutstringRUT del receptor
receptor.razon_socialstring (1-100)Nombre o razón social del receptor
receptor.persona_natural_sin_girobooleantrue = consumidor final, retención 0
fecha_emisionYYYY-MM-DDDefine el año de la tasa de retención
monto_brutoentero positivoMonto bruto en CLP, sin decimales
descripcionstring (1-1000)Detalle del servicio prestado
sii_env"cert" | "prod"NoDefault "cert"

Request

curl -X POST https://app.notta.cl/api/v1/bhe \
  -H "Authorization: Bearer ntt_cert_..." \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "rut_emisor": "12345678-5",
    "receptor": {
      "rut": "76123456-0",
      "razon_social": "Empresa Cliente SpA",
      "persona_natural_sin_giro": false
    },
    "fecha_emision": "2026-05-13",
    "monto_bruto": 1000000,
    "descripcion": "Servicios de consultoría mayo 2026"
  }'

Response

El endpoint responderá 202 con el cálculo de retención ya resuelto: monto_liquido = monto_bruto - monto_retencion. Para 2026 la tasa es 17%.

{
  "id": "01957a91-0b50-7000-8000-0000000000be",
  "status": "queued",
  "sii_status": "queued",
  "tasa_retencion": 0.17,
  "monto_retencion": 170000,
  "monto_liquido": 830000,
  "period_year": 2026,
  "period_month": 5,
  "links": { "self": "/api/v1/bhe/01957a91-0b50-7000-8000-0000000000be" }
}

El detalle completo (folio asignado, monto_bruto, track_id, estado de anulación) está en GET /api/v1/bhe/:id. El listado GET /api/v1/bhe filtra por period_year, period_month, anulada y sii_status.

Anula una BHE

POST /api/v1/bhe/:id/anular con la razón en el body:

curl -X POST https://app.notta.cl/api/v1/bhe/01957a91-0b50-7000-8000-0000000000be/anular \
  -H "Authorization: Bearer ntt_cert_..." \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{ "razon": "Servicio no prestado" }'
{
  "id": "01957a91-0b50-7000-8000-0000000000be",
  "anulada": true,
  "folio": 142
}

Plazo de anulación: 3 meses

El SII solo permite anular una BHE dentro de los 3 meses calendario desde su emisión. Pasado el plazo, la API responde 422 con código bhe.plazo_anulacion.expired.

Próximos pasos

  • Referencia API de BHE: shape completo de emisión, listado, detalle y anulación.
  • RCV y F29: cómo se reflejan tus retenciones en la declaración mensual.
  • Errores: envelope de error y códigos de la API.
  • Referencia del CLI: los comandos previstos. El CLI está en camino: @notta/cli todavía no se publica, así que hoy no se puede instalar.

Última actualización

En esta página