Notta Docs

Boleta afecta (39)

En camino, pendiente de certificación ante el SII. Emisión B2C por el pipeline REST, receptor opcional, IVA incluido en el precio y batch de hasta 1.000 documentos.

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

La Boleta Electrónica afecta 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. Lo que sí emites hoy: factura 33, factura exenta 34, nota de débito 56, nota de crédito 61 y guía de despacho 52.

El tipo_dte 39 es la Boleta Electrónica afecta a IVA, el documento B2C para consumidor final. Esta es la página canónica de campos para boletas: la Boleta exenta (41) documenta solo su delta. Las boletas comparten conceptos con las facturas, pero corren por un pipeline propio (REST del SII en vez de SOAP) con endpoint y recurso propios.

Endpoint propio

Las boletas se emitirán con POST /api/v1/boletas, no con POST /api/v1/dtes. El recurso vive bajo /api/v1/boletas/{id} y el response de emisión trae links solo a self y xml.

Campos del request

CampoTipoRequeridoDescripción / constraint
tipo_dtenumbersí39
rut_emisorstringsíRUT canónico BODY-DV sin puntos (76123456-0)
rut_receptorstringnoConsumidor anónimo por defecto: si no lo mandas, Notta registra el RUT genérico 66666666-6
razon_social_receptorstringnoMínimo 1 carácter si lo mandas
fecha_emisionstringsíFormato YYYY-MM-DD
itemsarraysíEntre 1 y 60 items, mismo shape que facturas (nombre, cantidad, precio_unitario, exento, monto_item)
monto_netointnoEl schema lo acepta, pero Notta siempre lo deriva de los monto_item: si lo mandas, se ignora
ivaintnoMismo trato: siempre derivado, nunca declarado
monto_totalintnoMismo trato: siempre la suma de los monto_item
certificate_idstring (UUID)noCertificado digital específico; por defecto el activo de la organización
sii_env"cert" | "prod"noDefault "cert"

Dos diferencias clave contra las facturas: no hay objeto receptor (los campos del receptor van planos y opcionales) y no hay references. El IVA va incluido en el precio: monto_total es la suma de los items. Para el desglose, Notta separa primero los items afectos de los exentos y divide solo la porción afecta: monto_neto = round(afecto / 1.19) e iva = afecto − monto_neto, mientras la porción exenta viaja entera en monto_exento. Una 39 puede llevar items exentos: dividir el total completo daría un desglose que cuadra en la suma y que el SII igual rechaza.

Request

curl -X POST https://app.notta.cl/api/v1/boletas \
  -H "Authorization: Bearer ntt_cert_..." \
  -H "X-Cert-Id: 01957a91-0b50-7000-8000-cccc00000001" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "tipo_dte": 39,
    "rut_emisor": "76123456-0",
    "fecha_emision": "2026-05-13",
    "items": [{
      "nombre": "Producto mostrador",
      "cantidad": 2,
      "precio_unitario": 5950,
      "exento": false,
      "monto_item": 11900
    }]
  }'

El X-Cert-Id es el id de tu certificado (paso 1 del quickstart o dashboard).

Response

202 Accepted, el pipeline REST firma y sube la boleta en background:

{
  "id": "01957a91-0b50-7000-8000-000000000039",
  "tipo_dte": 39,
  "folio": 8801,
  "status": "queued",
  "sii_status": "queued",
  "rut_emisor": "76123456-0",
  "rut_receptor": "66666666-6",
  "monto_neto": 10000,
  "monto_exento": 0,
  "iva": 1900,
  "monto_total": 11900,
  "fecha_emision": "2026-05-13",
  "sii_env": "cert",
  "links": {
    "self": "/api/v1/boletas/01957a91-0b50-7000-8000-000000000039",
    "xml": "/api/v1/boletas/01957a91-0b50-7000-8000-000000000039/xml"
  }
}

Para seguir el estado, consulta links.self con GET: los estados son los mismos de la familia DTE: ver Estados SII. El XML firmado queda disponible en links.xml apenas el pipeline firma el documento.

Emisión masiva (batch)

Para volúmenes de punto de venta hay POST /api/v1/boletas/batch, que aceptará hasta 1.000 boletas por llamada. El avance se consulta con GET /api/v1/boletas/batch/{id}; el detalle completo está en la referencia API de boletas.

Próximos pasos

Última actualización

En esta página