Factura de Hoteles
Método para la emisión de facturas para hoteles, hostales, alojamientos y otros, cuando los huéspedes sean de origen nacional o residentes en Bolivia.
Modalidad Electrónica en Línea
POST https://sandbox.cucu.bo/api/v1/invoice/electronic/hotel
Modalidad Computarizada en Línea
POST https://sandbox.cucu.bo/api/v1/invoice/computarized/hotel
Cabecera de la factura
Parámetro | Tipo | Requerido | Descripción | Petición |
---|---|---|---|---|
posId | Int | Si | Id asignado al punto de venta. | Req / Res |
branchId | Int | No | Id sucursal. | Req / Res |
clientReasonSocial | String | Si | Razón Social o nombre registrado en el Padrón Nacional de Contribuyentes de la persona o empresa que emite la factura. | Req / Res |
clientDocumentType | Int | Si | Autogenerado desde catálogos por el agrupador 9. (Valor que identifica el Tipo de Documento utilizado para la emisión de la factura). | Req / Res |
clientNroDocument | String | Si | Número que corresponde al Tipo de Documento Identidad utilizado y al cual se realizará la facturación. | Req / Res |
clientCode | String | Si | Código de identificación único del cliente, deberá ser asignado por el sistema de facturación del contribuyente. | Req / Res |
paramPaymentMethod | Int | Si | Autogenerado desde catálogos por el agrupador 13. (Valor que identifica el método de pago. Por ejemplo 1 es efectivo). | Req / Res |
userPos | String | Si | Identifica al usuario que emite la factura, deberá ser descriptivo. Por ejemplo JPEREZ. | Req / Res |
typeInvoice | Int | Si | Tipo de la factura, valores permitidos: 1 = Factura con Derecho a Crédito Fiscal 2 = Factura sin Derecho a Crédito Fiscal 3 = Documento de Ajuste | Req / Res |
paramCurrency | Int | Si | Autogenerado desde catálogos por el agrupador 14. (Valor que identifica la moneda). | Req / Res |
clientComplement | String | No | Complemento de cliente. | Req / Res |
clientCity | String | Si | Ciudad del cliente. | Req / Res |
exceptionCode | Int | No | Valor que se envía para autorizar el registro de una factura con NIT inválido. Enviar uno (1) cuando se autorice el registro. | Req / Res |
numberCard | Int | No | Cuando el método de pago es 2 (Tarjeta), debe enviarse este valor. | Req / Res |
giftCard | Int | No | Monto a ser cancelado con una Gift Card. | Req / Res |
serviceMode | String | No | Servicio que se otorga al paciente, por ejemplo: Post Operatorio. | Req / Res |
nitEmissor | Int | Si | Número de NIT registrado en el Padrón Nacional de Contribuyentes que corresponde a la persona o empresa que emite la factura. | Res |
cuf | String | Si | Código único de factura. | Res |
invoiceNumber | Int | Si | Número de factura emitida. | Res |
qrCode | String | Si | Código Qr que redirecciona a la pagina de SIAT y su respectiva factura. | Res |
dateEmission | String | Si | Fecha y hora en la cual se emite la factura. | Res |
amountTotal | Int | Si | Monto total por el cual se realiza el hecho generador. | Res |
amountTotalDiscount | Int | Si | Monto Adicional al descuento por item. | Res |
amountTotalCurrency | Int | Si | Es el Monto Total expresado en el tipo de moneda, si el código de moneda es boliviano deberá ser igual al monto total. | Res |
userCashier | String | No | Usuario que esta a cargo del sistema para realizar el proceso de entrega de la factura. | Res |
siatCodeState | Int | Si | Código de estado. | Res |
siatCodeReception | String | Si | Código de recepción. | Res |
siatDescriptionStatus | String | Si | Descripción del estado | Res |
countItems | Int | Si | Número de productos. | Res |
invoiceXml | String | Si | Xml de la factura. | Res |
invoiceCode | String | Si | Código corto de la factura (invoiceCode). | Res |
clientEmail | String | Si | Email del cliente. | Req |
additionalDiscount | Int | No | Monto Adicional al descuento por item | Req |
invoiceUrl | String | Si | Ruta publica de la factura. | Res |
qtyGuests | Int | No | Número de huéspedes que toman el servicio. | Req / Res |
qtyRooms | Int | No | Número de habitaciones ocupadas por los huéspedes. | Req / Res |
qtyGreater | Int | No | Número de personas mayores de edad.Número de personas mayores de edad. | Req / Res |
qtyMinors | Int | No | Número de personas menores de edad. | Req / Res |
dateEntryLodging | Int | No | Fecha y hora en la cual se registra el ingreso. Expresada en formato UTC Extendido, por ejemplo: “2020-02-15T08:40:12.215”. | Req / Res |
Detalle de Factura
Parámetro | Tipo | Requerido | Descripción | Petición |
---|---|---|---|---|
detailInvoice | Array | Si | Detalle de los productos de la factura. | Req / Res |
activityEconomic | String | Si | Actividad económica registrada en el Padrón Nacional de Contribuyentes relacionada al NIT. | Req / Res |
unitMeasure | Int | Si | Autogenerado desde catálogos por el agrupador 17. (Valor que identifica la unidad de medida). | Req / Res |
codeProductSin | String | Si | Homologado a los códigos de productos genéricos enviados por impuestos (ver agrupador 1 de catálogos). | Req / Res |
codeProduct | String | Si | Código que otorga el contribuyente a su servicio o producto. | Req / Res |
description | String | Si | Descripción que otorga el contribuyente a su servicio o producto. | Req / Res |
qty | Int | Si | Cantidad del producto o servicio otorgado. En caso de servicio este valor debe ser 1. | Req / Res |
priceUnit | Int | Si | Precio que otorga el contribuyente a su servicio o producto. | Req / Res |
amountDiscount | Int | No | Monto de descuento sobre el producto o servicio específico, Si no aplica deberá ser nulo. | Req / Res |
subTotal | Int | Si | El subtotal es igual a la (cantidad * precio unitario) – descuento. | Res |
codeTypeRoom | Int | No | Valor de la paramétrica que identifica el código del tipo de habitación.(ver agrupador 12 de catalogos) | Req / Res |
detailGuests | Array | No | Detalle de nombre y documentos de identidad de huéspedes alojados. Campo que utiliza formato JSON ( [{"nombreHuesped":"Juan Perez","documentoIdentificacion":"44864646","codigoPais":"1"} ]) | Req / Res |
Request
json
{
"posId": 1,
"clientReasonSocial": "test-1",
"clientDocumentType": 5,
"clientNroDocument": "463432019",
"clientCode": "CLIENT-test1",
"paramPaymentMethod": 1,
"userPos": "USRTESTB341",
"typeInvoice": 1,
"paramCurrency": 1,
"clientCity": "La Paz",
"clientEmail": "Test@gmail.com",
"qtyGuests": 1,
"qtyRooms": 1,
"qtyGreater": 1,
"qtyMinors": 1,
"dateEntryLodging": "2022-04-20T08:40:12.215",
"detailInvoice": [
{
"activityEconomic": "620100",
"unitMeasure": 62,
"codeProductSin": 83141,
"codeProduct": "AWS PACK 1",
"description": "PRODUCTO DE PRUEBA 1",
"qty": 1,
"priceUnit": 700,
"codeTypeRoom": 1,
"detailGuests": [
{
"nombreHuesped": "Juan Perez",
"documentoIdentificacion": "44864646",
"codigoPais": "1"
}
]
}
]
}
Response
json
{
"message": "COMPLETED_HOTEL",
"errors": null,
"success": true,
"data": {
"nitEmissor": 6822046012,
"invoiceCode": "C1718D57",
"cuf": "1D2C888524A59EF4531F30F0C68ACF48825B7C98CE204AD99CFCB56D74",
"invoiceNumber": 427,
"qrCode": "https://pilotosiat.impuestos.gob.bo/consulta/QR?nit=6822046012&cuf=1D2C888524A59EF4531F30F0C68ACF48825B7C98CE204AD99CFCB56D74&numero=427&t=2",
"invoiceUrl": "/pdf?code=C1718D57lRvhRv35yn6oMGnfiY1j&client=ZRNDB3MOIG9FWN88RH0X1S49E",
"dateEmission": "2022-04-13T16:30:18.394",
"amountTotal": 700.0,
"amountTotalDiscount": 0.0,
"amountTotalCurrency": 700.0,
"userCashier": "USRTESTB341",
"siatCodeState": 908,
"siatCodeReception": "883b194a-bb68-11ec-8089-af03fc7a28bf",
"siatDescriptionStatus": "VALIDADA",
"countItems": 1,
"invoiceXml": "<facturaElectronicaHotel xmlns:ns2=\"http://www.w3.org/2000/09/xmldsig#\">\n <cabecera>\n <nitEmisor></nitEmisor>\n <razonSocialEmisor></razonSocialEmisor>\n <municipio>LA PAZ</municipio>\n <telefono></telefono>\n <numeroFactura>427</numeroFactura>\n <cuf>1D2C888524A59EF4531F30F0C68ACF48825B7C98CE204AD99CFCB56D74</cuf>\n <cufd>BQVVCdVU6R0E=NzFFGMjQxRTVDNDAwQ</cufd>\n <codigoSucursal>0</codigoSucursal>\n <direccion></direccion>\n <codigoPuntoVenta>0</codigoPuntoVenta>\n <fechaEmision>2022-04-13T16:30:18.394</fechaEmision>\n <nombreRazonSocial>test-1</nombreRazonSocial>\n <codigoTipoDocumentoIdentidad>5</codigoTipoDocumentoIdentidad>\n <numeroDocumento>463432019</numeroDocumento>\n <complemento xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"></complemento>\n <codigoCliente>CLIENT-test1</codigoCliente>\n <cantidadHuespedes>1</cantidadHuespedes>\n <cantidadHabitaciones>1</cantidadHabitaciones>\n <cantidadMayores>1</cantidadMayores>\n <cantidadMenores>1</cantidadMenores>\n <fechaIngresoHospedaje>2022-04-20T08:40:12.215</fechaIngresoHospedaje>\n <codigoMetodoPago>1</codigoMetodoPago>\n <numeroTarjeta xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"></numeroTarjeta>\n <montoTotal>700.0</montoTotal>\n <montoTotalSujetoIva>700.0</montoTotalSujetoIva>\n <codigoMoneda>1</codigoMoneda>\n <tipoCambio>1</tipoCambio>\n <montoTotalMoneda>700.0</montoTotalMoneda>\n <montoGiftCard>0.0</montoGiftCard>\n <descuentoAdicional>0.0</descuentoAdicional>\n <codigoExcepcion>0</codigoExcepcion>\n <cafc xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"></cafc>\n <leyenda>Ley N° 453: En caso de incumplimiento a lo ofertado o convenido, el proveedor debe reparar o sustituir el servicio.</leyenda>\n <usuario>USRTESTB341</usuario>\n <codigoDocumentoSector>16</codigoDocumentoSector>\n </cabecera>\n <detalle>\n <actividadEconomica>620100</actividadEconomica>\n <codigoProductoSin>83141</codigoProductoSin>\n <codigoProducto>AWS PACK 1</codigoProducto>\n <codigoTipoHabitacion>1</codigoTipoHabitacion>\n <descripcion>PRODUCTO DE PRUEBA 1</descripcion>\n <cantidad>1.0</cantidad>\n <unidadMedida>62</unidadMedida>\n <precioUnitario>700.0</precioUnitario>\n <montoDkZXNhcnJvbGxvLmFkc2li\nLmdvYi5iby9kZXNhX2FnZW5jaWEvbGlzdF9yZXZvY2FjaW9uLmNybDANBgkqhkiG9w0BAQUFAAOC\nAQEABIOSSjAC7niMxKkkxkaAN/zaNAmsNtIDLAouqN5kUSP8eF6LoGdukjzMPdUgQZhPwVfPcz7x\naCy0HpPlv14Nfr+EBWg2/Rute9HubKkqL6YHh87O0/S14VvVjrbV9byG9odsKZp6w7itu+t17Mvw\n3/06r+yWac4PJKWnNWZFFZ0IigGrI37Xc6QLkO+zoqPaJPwr746Xe66vrF6eTttG6xYCgFfaNhh6\n0G/jucZbGNwuNSska8TU4QZhfQQncnr2Rl0KHi1HLp1h/b+/l27sSsGk8Dxlo2K3IZLVI30Q3h7h\nBzRbx5tSmUWIjpqWOy89Br8pVB2lC3xGtyE5aVd6IQ==\n</X509Certificate>\n</X509Data>\n</KeyInfo>\n</Signature></facturaElectronicaHotel>",
"detailInvoice": [
{
"detailId": 833,
"activityEconomic": "620100",
"codeProductSin": "83141",
"codeProduct": "AWS PACK 1",
"description": "PRODUCTO DE PRUEBA 1",
"qty": 1.0,
"unitMeasure": 62,
"priceUnit": 700.0,
"amountDiscount": 0.0,
"subTotal": 700.0,
"numberSerial": null,
"numberImei": null
}
]
}
}
Anulación de la Factura
Se permite hacer la anulación de la factura en su modalidad correspondiente.
Modalidad Electrónica en Línea
POST https://sandbox.cucu.bo/api/v1/invoice/electronic/hotel/anulation
Modalidad Computarizada en Línea
POST https://sandbox.cucu.bo/api/v1/invoice/computarized/hotel/anulation
Parámetro | Tipo | Requerido | Descripción | Petición |
---|---|---|---|---|
posId | Int | Si | Id asignado. | Req / Res |
branchId | Int | No | Id sucursal. | |
invoiceCode | String | Si | Código de factura que está siendo anulado. | Req / Res |
codeMotive | Int | Si | Autogenerado desde catálogos por el agrupador 7. (Indica el motivo por el cual la Factura está siendo anulada). | Req / Res |
invoiceNumber | Int | Si | Número de factura que está siendo anulado. | Req / Res |
siatCodeState | Int | Código de estado enviado por el SIN. | Res | |
siatDescriptionStatus | String | Descripción del estado enviado por el SIN. | Res | |
qrCode | String | Código Qr que redirecciona a la pagina de SIAT y su respectiva factura. | Res |
Request
json
{
"invoiceCode": "C1718D57",
"posId": 1,
"codeMotive": 1,
"invoiceNumber": 427
}
Response
json
{
"message": "COMPLETED_HOTEL",
"errors": null,
"success": true,
"data": {
"invoiceNumber": 427,
"cuf": "1D2C888524A59EF4531F30F0C68ACF48825B7C98CE204AD99CFCB56D74",
"siatCodeState": 905,
"siatDescriptionStatus": "ANULACION CONFIRMADA",
"qrCode": "https://pilotosiat.impuestos.gob.bo/consulta/QR?nit=6822046012&cuf=1D2C888524A59EF4531F30F0C68ACF48825B7C98CE204AD99CFCB56D74&numero=427&t=2",
"invoiceCode": "C1718D57"
}
}