Factura Servicios Básicos
Método para la emisión de facturas para la distribución de agua, electricidad, Internet o cualquier servicio que se considere básico, de acuerdo a la normativa vigente.
Modalidad Electrónica en Línea
POST https://sandbox.cucu.bo/api/v1/invoice/electronic/basicService
Modalidad Computarizada en Línea
POST https://sandbox.cucu.bo/api/v1/invoice/computarized/basicService
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 |
meterNumber | Int | Si | Número de medidor del cliente al que se le factura, máximo de 100 caracteres. | Req |
month | Int | No | Mes correspondiente al periodo por el cual se está facturando el servicio. | Req |
gestation | Int | No | Corresponde a la gestión que se está facturando. | Req |
city | String | No | Nombre de la ciudad donde se encuentra el domicilio del cliente al que se le factura. | Req |
customerAddress | String | No | Dirección donde se halla ubicado el domicilio. | Req |
consumptionPeriod | Int | No | Consumo del servicio en el periodo. | Req |
beneficiary1886 | Int | No | Número de carnet de identidad del beneficiario. | Req |
discountAmount1886 | Int | No | Campo Referencial - Sumatoria de los montos internos por item cuando se trate de mṕas de un item | Req |
amountDiscountDignityRate | Int | No | Campo Referencial - Sumatoria de los montos internos por item cuando se trate de mṕas de un item | Req |
rateSewage | Int | No | Tasa de limpieza. | Req |
rateLighting | Int | No | Tasa por alumbrado público. | Req |
rateOthers | Int | No | Sumatoria de otras tasas | Req |
detailAdjustmentNotTax | Array | No | Detalle en formato json del monto de Ajustes que no esta sujetos al IVA y que se consideran para el calculo del monto a pagar. JSON en formato campo, valor. Ej: [{"campo": valor 1, "campo": valor 2}] | Req |
detailAdjustmentToTax | Array | No | Detalle en formato json del monto de Ajustes que estan sujetos al IVA y que se consideran para el calculo del monto a pagar. JSON en formato campo, valor. Ej: [{"campo": valor 1, "campo": valor 2}] | Req |
detailOtherPaymentsNotToTax | Array | No | Detalle en formato json del monto de los otros pagos realizados que no afectan al IVA, pero si al monto a pagar. JSON en formato campo, valor. Ej: [{"campo": valor 1, "campo": valor 2}] | Req |
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 |
Request
json
{
"posId": 1,
"clientReasonSocial": "TEST-1",
"clientDocumentType": 5,
"clientNroDocument": "463432019",
"clientCode": "CLIENT122",
"paramPaymentMethod": 1,
"userPos": "USRTEST-1",
"typeInvoice": 1,
"paramCurrency": 1,
"clientCity": "La Paz",
"nitSet": 1020703023,
"clientEmail": "TEST1@gmail.com",
"month": 1,
"gestation": 2022,
"city": "La Paz",
"meterNumber": 23828382938,
"customerAddress": "LA PAZ CALLE X ZONAE",
"consumptionPeriod": 123123,
"beneficiary1886": 2323123123,
"discountAmount1886": 10,
"amountDiscountDignityRate": 10,
"rateSewage": 10,
"rateLighting": 10,
"rateOthers": 10,
"detailAdjustmentNotTax": {
"danil1": 10
},
"detailAdjustmentToTax": {
"danil1": 10,
"danil2": 10
},
"detailOtherPaymentsNotToTax": {
"danil1": 10,
"danil2": 10
},
"detailInvoice": [
{
"activityEconomic": "620100",
"unitMeasure": 62,
"codeProductSin": 83141,
"codeProduct": "AWS PACK 1",
"description": "PRODUCTO DE PRUEBA 1",
"qty": 1,
"priceUnit": 700
}
]
}
Response
json
{
"message": "COMPLETED_SERVICE_BASIC",
"errors": null,
"success": true,
"data": {
"nitEmissor": 6822046012,
"invoiceCode": "8D0A3ACD",
"cuf": "1D2C888524A59EF44D23993EF83974195FC1A72FFA50D6A945FCB56D74",
"invoiceNumber": 425,
"qrCode": "https://pilotosiat.impuestos.gob.bo/consulta/QR?nit=6822046012&cuf=1D2C888524A59EF44D23993EF83974195FC1A72FFA50D6A945FCB56D74&numero=425&t=2",
"invoiceUrl": "/pdf?code=8D0A3ACD8UtcTsX5qNyyWdoxFZWH&client=ZRNDB3MOIG9FWN88RH0X1S49E",
"dateEmission": "2022-04-13T15:54:34.315",
"amountTotal": 720.0,
"amountTotalDiscount": 0.0,
"amountTotalCurrency": 770.0,
"userCashier": "USRTESTB341",
"siatCodeState": 908,
"siatCodeReception": "8a549d3a-bb63-11ec-89fb-e3c7e1118d10",
"siatDescriptionStatus": "VALIDADA",
"countItems": 1,
"invoiceXml": "<facturaElectronicaServicioBasico xmlns:ns2=\"http://www.w3.org/2000/09/xmldsig#\">\n <cabecera>\n <nitEmisor></nitEmisor>\n <razonSocialEmisor></razonSocialEmisor>\n <municipio>LA PAZ</municipio>\n <telefono>78817944</telefono>\n <numeroFactura>425</numeroFactura>\n <cuf>1D2C888524A59EF44D23993EF83974195FC1A72FFA50D6A945FCB56D74</cuf>\n <cufd>BQVVCdVU6R0E=NzDgXVUFFGMjg0MzcyOEYzR</cufd>\n <codigoSucursal>0</codigoSucursal>\n <direccion>CAVI</direccion>\n <codigoPuntoVenta>0</codigoPuntoVenta>\n <mes>1</mes>\n <gestion>2022</gestion>\n <ciudad>La Paz</ciudad>\n <zona xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"></zona>\n <numeroMedidor>23828382938</numeroMedidor>\n <fechaEmision>2022-04-13T15:54:34.315</fechaEmision>\n <nombreRazonSocial>go>\n <numeroTarjeta xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"></numeroTarjeta>\n <montoTotal>770.0</montoTotal>\n <montoTotalSujetoIva>720.0</montoTotalSujetoIva>\n <consumoPeriodo>123123.0</consumoPeriodo>\n <beneficiarioLey1886>2323123123</beneficiarioLey1886>\n <montoDescuentoLey1886>10.0</montoDescuentoLey1886>\n <montoDescuentoTarifaDignidad>10.0</montoDescuentoTarifaDignidad>\n <tasaAseo>10.0</tasaAseo>\n <tasaAlumbrado>10.0</tasaAlumbrado>\n <ajusteNoSujetoIva>10.0</ajusteNoSujetoIva>\n <detalleAjusteNoSujetoIva>{\"danil1\":10.0}</detalleAjusteNoSujetoIva>\n <ajusteSujetoIva>20.0</ajusteSujetoIva>\n <detalleAjusteSujetoIva>{\"danil1\":10.0,\"danil2\":10.0}</detalleAjusteSujetoIva>\n <otrosPagosNoSujetoIva>20.0</otrosPagosNoSujetoIva>\n <detalleOtrosPagosNoSujetoIva>{\"danil1\":10.0,\"danil2\":10.0}</detalleOtrosPagosNoSujetoIva>\n <otrasTasas>10.0</otrasTasas>\n <codigoMoneda>1</codigoMoneda>\n <tipoCambio>1</tipoCambio>\n <montoTotalMoneda>770.0</montoTotalMoneda>\n <descuentoAdicional>0.0</descuentoAdicional>\n <cokjzMPdUgQZhPwVfPcz7x\naCy0HpPlv14Nfr+EBWg2/Rute9HubKkqL6YHh87O0/S14VvVjrbV9byG9odsKZp6w7itu+t17Mvw\n3/06r+yWac4PJKWnNWZFFZ0IigGrI37Xc6QLkO+zoqPaJPwr746Xe66vrF6eTttG6xYCgFfaNhh6\n0G/jucZbGNwuNSska8TU4QZhfQQncnr2Rl0KHi1HLp1h/b+/l27sSsGk8Dxlo2K3IZLVI30Q3h7h\nBzRbx5tSmUWIjpqWOy89Br8pVB2lC3xGtyE5aVd6IQ==\n</X509Certificate>\n</X509Data>\n</KeyInfo>\n</Signature></facturaElectronicaServicioBasico>",
"detailInvoice": [
{
"detailId": 831,
"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/basicService/anulation
Modalidad Computarizada en Línea
POST https://sandbox.cucu.bo/api/v1/invoice/computarized/basicService/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": "8D0A3ACD",
"posId": 1,
"codeMotive": 1,
"invoiceNumber": 425
}
Response
json
{
"message": "COMPLETED_SERVICE_BASIC",
"errors": null,
"success": true,
"data": {
"invoiceNumber": 425,
"cuf": "1D2C888524A59EF44D23993EF83974195FC1A72FFA50D6A945FCB56D74",
"siatCodeState": 905,
"siatDescriptionStatus": "ANULACION CONFIRMADA",
"qrCode": "https://pilotosiat.impuestos.gob.bo/consulta/QR?nit=6822046012&cuf=1D2C888524A59EF44D23993EF83974195FC1A72FFA50D6A945FCB56D74&numero=425&t=2",
"invoiceCode": "8D0A3ACD"
}
}