Skip to navigation

30 · Boleto Aéreo

Pasajes aéreos sin crédito fiscal. Particularidades: sin detalle (el XSD solo define cabecera), solo emisión masiva (nunca individual) y admite borrador sin items (con total + pasajero).

sector: "30" en emisión individual → 400 "requiere emisión masiva". Es la única vía: POST /v1/siat/masiva/{companyId}/{pointOfSaleId}.

Cabecera (data)

CampoTipoObligatorioQué significa
nombre_pasajerostringSíPasajero del boleto
numero_documento_pasajerostringSíDocumento del pasajero
codigo_iata_linea_aereaintNoIATA de la aerolínea
codigo_iata_agente_viajesstringNoIATA de la agencia
nit_agente_viajesintNoNIT de la agencia
codigo_origen_serviciostringNoOrigen del servicio
codigo_tipo_transaccionstringNoTipo de transacción
monto_tarifanumberNoTarifa del boleto

Detalle

Sin detalle: el boleto no tiene líneas.

// Borrador sin items: total + pasajero en cabecera
const borrador = await supay.invoices.create({
point_of_sale_id: pos.id,
customer: {
document_type: "ci",
document_number: "1234567",
name: "Pasajero Ejemplo",
},
items: [],
sector: "30",
total: 850,
data: {
nombre_pasajero: "Pasajero Ejemplo",
numero_documento_pasajero: "1234567",
codigo_iata_linea_aerea: 1,
},
});
// Envío: SOLO por masiva
const bulk = await supay.siat.sendBulk({
companyId: company.id,
pointOfSaleId: pos.id,
...lote,
});