XML y XSD – Boleto Aereo

Nombre Campo

Tipo Dato

Obligatorio

Descripción

CABECERA

nitEmisor

Numérico

Si

Nit que corresponde a la persona o empresa que está emitiendo la factura, máximo de 13 caracteres.

numeroBoleto

Numérico

Si

Número de Boleto. Máximo de 15 dígitos

cuf

Alfanumérico

Si

Código único de facturación (CUF) debe ser generado de acuerdo al algoritmo indicado, máximo de 100 caracteres

cufd

Alfanumérico

Si

Código único de facturación diario (CUFD) obtenerse a través del servicio web correspondiente, máximo de 100 caracteres.

codigoSucursal

Numérico

Si

Código de la sucursal que está emitiendo la factura, de acuerdo al registro en el Padrón por ejemplo: sucursal = 0 (casa matriz), máximo hasta la 9999.

fechaEmision

Fecha

Si

Deberá estar en formato UTC Extendido, por ejemplo: “2019-02-13T08:32:12.125”

nombreRazonSocialEmisor

Alfanumérico

       Si

Máximo de 200 caracteres

nombreRazonSocialBeneficiarioCreditoFiscal

Alfanumérico

No

Máximo de 50 caracteres

numeroDocumentoBeneficiarioCreditoFiscal

Alfanumérico

Si

Máximo de 20 caracteres

nombrePasajero

Alfanumérico

Si

Máximo de 300 caracteres

numeroDocumentoPasajero

Alfanumérico

No

Máximo de 20 caracteres

codigoIataLineaAerea

Numérico

Si

Máximo de 3 dígitos

codigoIataAgenteViajes

Numérico

No

Máximo de 20 dígitos

nitAgenteViajes

Numérico

No

Máximo de 13 dígitos

codigoOrigenServicio

Alfanumérico

Si

Máximo de 50 caracteres

codigoMoneda

Numérico

Si

Puede tener valores del 1 al 9999

tipoCambio

Numérico

Si

Decimal con hasta 20 dígitos en la parte entera y con hasta 5 decimales, deberá ser mayor a 0, si el código de moneda es Bolivianos (688) deberá ser igual a 1.

montoTarifa

Numérico

Si

Decimal con hasta 20 dígitos en la parte entera y con hasta 5 decimales, deberá ser mayor a 0

montoTotalBoleto

Numérico

Si

Decimal con hasta 20 dígitos en la parte entera y con hasta 5 decimales, deberá ser mayor a 0

montoSujetoIva

Numérico

Si

Decimal con hasta 20 dígitos en la parte entera y con hasta 5 decimales, deberá ser mayor a 0

codigoTipoTransaccion

Alfanumérico

Si

Máximo 10 caracteres

codigoDocumentoSector

Numérico

Si

Para el Boleto Aéreo deberá ser 20.

       

 

Nota

Los archivos XML generados deben estar en formato UTF-8, no en “UTF-8 BOM”, esta configuración debe realizarse antes de la generación del XML, por ejemplo, se tiene el siguiente código en lenguaje C#

xmlDocument doc = new xmlDocument();
XmlNode docNode = doc.CreateXMLDeclaration("1.0", "UTF-8", null);
doc.Appendchild(docNode);

Para la generación del CUF considerar que la longitud del campo numeroBoleto es de 15

 

 

Archivo XML de Boleto Aéreo (Descargar)

<?xml version="1.0" encoding="UTF-8"?>

<facturaComputarizadaBoletoAereo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="facturaComputarizadaBoletoAereo.xsd">

<cabecera>

<nitEmisor>1003579016</nitEmisor>

<numeroBoleto>9999999999</numeroBoleto>

<cuf>1eecd7b50eef5e5bde755ca05f735</cuf>

<cufd>4c4a63478ac61191d54b9c3774aa7ea1</cufd>

<codigoSucursal>9999</codigoSucursal>

<fechaEmision>2018-08-22T15:11:36.169</fechaEmision>

<nombreRazonSocialEmisor>BOA</nombreRazonSocialEmisor>

<nombreRazonSocialBeneficiarioCreditoFiscal>Nombre o Razon Social </nombreRazonSocialBeneficiarioCreditoFiscal>

<numeroDocumentoBeneficiarioCreditoFiscal>312X32121 </numeroDocumentoBeneficiarioCreditoFiscal>

<nombrePasajero>John Smith</nombrePasajero>

<numeroDocumentoPasajero>X63726372</numeroDocumentoPasajero>

<codigoIataLineaAerea>123</codigoIataLineaAerea>

<codigoIataAgenteViajes>123</codigoIataAgenteViajes>

<nitAgenteViajes xsi:nil="true"></nitAgenteViajes >

<CodigoOrigenServicio>LPB</CodigoOrigenServicio>

<codigoMoneda>689</codigoMoneda>

<tipoCambio>1</tipoCambio>

<montoTarifa>1500</montoTarifa>

<montoTotalBoleto>1550</montoTotalBoleto>

<montoSujetoIva>1305</montoSujetoIva>

<codigoTipoTransaccion>ETKT</codigoTipoTransaccion>

<codigoDocumentoSector>20</codigoDocumentoSector>

</cabecera>

</facturaComputarizadaBoletoAereo>

 

 

Archivo XSD para Boleto Aéreo (Descargar)

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" attributeFormDefault="unqualified" elementFormDefault="qualified">

<xs:element name="facturaComputarizadaBoletoAereo">

<xs:complexType>

<xs:sequence>

<xs:element name="cabecera">

<xs:complexType>

<xs:sequence>

<xs:element name="nitEmisor">

<xs:simpleType>

<xs:restriction base="xs:integer">

<xs:minInclusive value="1" />

<xs:maxInclusive value="9999999999999" />

</xs:restriction>

</xs:simpleType>

</xs:element>

<xs:element name="numeroBoleto">

<xs:simpleType>

<xs:restriction base="xs:integer">

<xs:minInclusive value="1" />

<xs:maxInclusive value="999999999999999" />

</xs:restriction>

</xs:simpleType>

</xs:element>

<xs:element name="cuf">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:minLength value="1" />

<xs:maxLength value="100" />

</xs:restriction>

</xs:simpleType>

</xs:element>

<xs:element name="cufd">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:minLength value="1" />

<xs:maxLength value="100" />

</xs:restriction>

</xs:simpleType>

</xs:element>

<xs:element name="codigoSucursal">

<xs:simpleType>

<xs:restriction base="xs:integer">

<xs:minInclusive value="0" />

<xs:maxInclusive value="9999" />

</xs:restriction>

</xs:simpleType>

</xs:element>

<xs:element name="fechaEmision" type="xs:dateTime" />

<xs:element name="nombreRazonSocialEmisor">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:minLength value="1" />

<xs:maxLength value="200" />

</xs:restriction>

</xs:simpleType>

</xs:element>

<xs:element name="nombreRazonSocialBeneficiarioCreditoFiscal">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:minLength value="1" />

<xs:maxLength value="500" />

</xs:restriction>

</xs:simpleType>

</xs:element>

<xs:element name="numeroDocumentoBeneficiarioCreditoFiscal">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:minLength value="1" />

<xs:maxLength value="20" />

</xs:restriction>

</xs:simpleType>

</xs:element>

<xs:element name="nombrePasajero">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:minLength value="1" />

<xs:maxLength value="300" />

</xs:restriction>

</xs:simpleType>

</xs:element>

<xs:element name="numeroDocumentoPasajero" nillable="true">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:minLength value="1" />

<xs:maxLength value="20" />

</xs:restriction>

</xs:simpleType>

</xs:element>

<xs:element name="codigoIataLineaAerea">

<xs:simpleType>

<xs:restriction base="xs:integer">

<xs:minInclusive value="1" />

<xs:maxInclusive value="999" />

</xs:restriction>

</xs:simpleType>

</xs:element>

<xs:element name="codigoIataAgenteViajes">

<xs:simpleType>

<xs:restriction base="xs:integer">

<xs:minInclusive value="1" />

<xs:maxInclusive value="99999999999999999999" />

</xs:restriction>

</xs:simpleType>

</xs:element>

<xs:element name="nitAgenteViajes" nillable="true">

<xs:simpleType>

<xs:restriction base="xs:integer">

<xs:maxInclusive value="9999999999999" />

<xs:minExclusive value="0" />

</xs:restriction>

</xs:simpleType>

</xs:element>

<xs:element name="CodigoOrigenServicio">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:minLength value="1" />

<xs:maxLength value="50" />

</xs:restriction>

</xs:simpleType>

</xs:element>

<xs:element name="codigoMoneda">

<xs:simpleType>

<xs:restriction base="xs:integer">

<xs:maxInclusive value="9999" />

<xs:minExclusive value="0" />

</xs:restriction>

</xs:simpleType>

</xs:element>

<xs:element name="tipoCambio">

<xs:simpleType>

<xs:restriction base="xs:decimal">

<xs:totalDigits value="20" />

<xs:fractionDigits value="5" />

<xs:minExclusive value="0" />

</xs:restriction>

</xs:simpleType>

</xs:element>

<xs:element name="montoTarifa">

<xs:simpleType>

<xs:restriction base="xs:decimal">

<xs:totalDigits value="20" />

<xs:fractionDigits value="5" />

<xs:minExclusive value="0" />

</xs:restriction>

</xs:simpleType>

</xs:element>

<xs:element name="montoTotalBoleto">

<xs:simpleType>

<xs:restriction base="xs:decimal">

<xs:totalDigits value="20" />

<xs:fractionDigits value="5" />

<xs:minExclusive value="0" />

</xs:restriction>

</xs:simpleType>

</xs:element>

<xs:element name="montoSujetoIva">

<xs:simpleType>

<xs:restriction base="xs:decimal">

<xs:totalDigits value="20" />

<xs:fractionDigits value="5" />

<xs:minExclusive value="0" />

</xs:restriction>

</xs:simpleType>

</xs:element>

<xs:element name="codigoTipoTransaccion">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:minLength value="1" />

<xs:maxLength value="10" />

</xs:restriction>

</xs:simpleType>

</xs:element>

<xs:element name="codigoDocumentoSector" type="xs:integer" fixed="20" />

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:schema>