Emitir guía de despacho (DTE 52)

La guía de despacho electrónica (tipo 52) respalda el traslado físico de bienes. Se emite igual que cualquier DTE con POST /v1/dte/emitir: cambias tipo_dte a 52, indicas cómo se mueve la mercadería con ind_traslado y tipo_despacho, y agregas el bloque transporte con el vehículo, el chofer, el destino y las fechas del viaje.

Las líneas del detalle van en neto, igual que en una factura afecta. Una guía puede facturarse después; el flujo está en Facturar guías de despacho.

Indicador de traslado y tipo de despacho

ind_traslado describe el motivo del traslado. Se imprime en palabras en el PDF, como exige el SII.

ind_trasladoSignificado
1Operación constituye venta
2Ventas por efectuar
3Consignaciones
4Entrega gratuita
5Traslados internos
6Otros traslados no venta
7Devolución de Mercaderías
8Traslado para exportación (no venta)
9Venta para exportación

tipo_despacho indica quién se hace cargo del transporte. Define qué campos del vehículo son obligatorios (ver la tabla siguiente).

tipo_despachoSignificado
1Por cuenta del receptor
2Por cuenta del emisor a instalaciones del cliente
3Por cuenta del emisor a otras instalaciones

El bloque transporte

CampoTipoDefaultDescripción
patentestring (≤8)Patente del vehículo que tracciona (camión o tracto). Obligatoria cuando tipo_despacho es 2 o 3.
patente_remolquestring (≤8)Patente del remolque o acoplado. Viaja en el XML como PatenteCarro. Exigible junto al vehículo cuando tipo_despacho es 2 o 3 y el traslado usa acoplado.
rut_transportistaRUTRUT de quien transporta. Obligatorio cuando tipo_despacho es 2 o 3.
rut_choferRUTRUT del conductor. Obligatorio en guías que amparan traslado.
nombre_choferstring (≤30)Nombre del conductor. Obligatorio en guías que amparan traslado.
dir_destinostring (≤70)Dirección de destino del traslado. Obligatoria en guías que amparan traslado.
cmna_destinostring (≤20)Comuna de destino. Obligatoria en guías que amparan traslado.
ciudad_destinostring (≤20)Ciudad de destino. Opcional.
fecha_salidaYYYY-MM-DDFecha de inicio del traslado. Obligatoria en guías que amparan traslado.
hora_salidaHH:MM:SSHora de inicio del traslado, en formato de 24 horas. Obligatoria en guías que amparan traslado.
fecha_llegadaYYYY-MM-DDFecha de llegada. No puede ser anterior a fecha_salida. Obligatoria en guías que amparan traslado.

Obligatorio desde el 1 de noviembre de 2026

La Res. Ex. SII 154/2025 vuelve obligatoria la información de transporte en las guías que amparan traslado de bienes a partir del 1 de noviembre de 2026: desde esa fecha el SII rechaza las guías incompletas. Hasta entonces los campos son opcionales y, si faltan, la emisión los devuelve como advertencias que no bloquean el documento. Conviene completar el transporte desde ya para no depender de la fecha de corte.

Ejemplo de emisión

El transporte se envía como JSON y Folyo lo traduce al nodo <Transporte> del XML firmado. Los RUT se normalizan al firmar (sin puntos y con guion). Los ejemplos usan la API REST directa (cURL) y los SDK oficiales de TypeScript (@folyo/sdk) y Python (folyo), que resuelven por ti el patrón asíncrono y esperan el resultado.

bash
curl -X POST "https://api.folyo.cl/v1/dte/emitir" \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"tipo_dte": 52,
"ind_traslado": 1,
"tipo_despacho": 2,
"receptor": {
  "rut": "76.543.210-K",
  "razon_social": "Distribuidora del Sur SpA",
  "giro": "Venta al por mayor",
  "direccion": "Av. Industrial 4820, Bodega 7",
  "comuna": "Pudahuel",
  "ciudad": "Santiago"
},
"detalle": [
  {
    "nombre": "Aceite lubricante 20L",
    "cantidad": 40,
    "precio": 18000,
    "monto": 720000
  }
],
"transporte": {
  "patente": "GHXR52",
  "patente_remolque": "RT4521",
  "rut_transportista": "77.888.999-6",
  "rut_chofer": "12.345.678-9",
  "nombre_chofer": "Juan Pérez Soto",
  "dir_destino": "Av. Industrial 4820, Bodega 7",
  "cmna_destino": "Pudahuel",
  "ciudad_destino": "Santiago",
  "fecha_salida": "2026-11-03",
  "hora_salida": "09:30:00",
  "fecha_llegada": "2026-11-03"
}
}'

El nodo <Transporte> viaja en el <Encabezado> del DTE, después del receptor y antes de <Totales>; su orden interno es Patente, PatenteCarro, RUTTrans, Chofer, DirDest, CmnaDest, CiudadDest, FchSalida, HraSalida, FchLlegada.

Responde 202 con job_id y folio, igual que cualquier emisión. Consulta el resultado con GET /v1/dte/emision/{job_id} o recíbelo por webhook. El bloque de transporte se imprime en el PDF de la guía.

Advertencias antes de la vigencia de la Res. 154

Mientras el transporte sea opcional (hasta el 1 de noviembre de 2026), una guía que ampara traslado sin los campos requeridos se emite igual: la API responde 202 y agrega la lista advertencias dentro de data. La misma lista queda en el resultado del job, en data.result.advertencias, para que la revises al consultar GET /v1/dte/emision/{job_id} o al recibir el evento dte.emitido. Cada mensaje enumera los campos que faltan, para que completes el transporte antes de la fecha de corte.

json
{
"ok": true,
"data": {
  "job_id": "0a9c4f3b-...",
  "folio": 91,
  "tipo_dte": 52,
  "estado": "pending",
  "advertencias": [
    "guía de despacho (52): desde el 2026-11-01 el SII exigirá la información de transporte (Res. 154/2025); hoy es opcional. Complete antes de esa fecha: rut_chofer, nombre_chofer, dir_destino, cmna_destino, fecha_salida, hora_salida, fecha_llegada"
  ]
}
}

Desde el 1 de noviembre de 2026 esos mismos faltantes dejan de ser advertencias: la emisión responde 400 INVALID_REQUEST en la misma llamada, antes de pedir folio, y no consume numeración. Los campos de vehículo (patente, patente_remolque, rut_transportista) se exigen cuando tipo_despacho es 2 o 3; el chofer, el destino y las fechas se exigen en toda guía que ampara traslado.

patente no es lo mismo que patente_remolque

patente es la patente del vehículo que tracciona: el camión o el tracto. patente_remolque es la del remolque o semirremolque enganchado, y viaja en el XML del SII como <PatenteCarro>. Si el traslado no usa acoplado, deja patente_remolque vacía y envía solo patente.