Factura de Compra y Venta
Método para la emisión de facturas de compra y venta en las modalidades electrónica y computarizada respectivamente.
Modalidad Electrónica en Línea
POST https://sandbox.cucu.bo/api/v1/invoice/electronic/sale
Modalidad Computarizada en Línea
POST https://sandbox.cucu.bo/api/v1/invoice/computarized/sale
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 |
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 automático. (Si esta en evento con cafc mandar fecha manual dentro del rango del evento) | Req / 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 |
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.(puede contener decimales ejem. 9.99) | 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 |
numberSerial | Int | No | Número de serie correspondiente al producto vendido de línea blanca o negra. Nulo en otro caso. | Res |
numberImei | Int | No | Número de Imei del celular vendido, nulo en otro caso. | Res |
Request
json
{
"posId": 1,
"clientReasonSocial": "CLIENTE TEST",
"clientDocumentType": 1,
"clientNroDocument": 123456789,
"clientCode": "CLIENTE2-TEST",
"paramPaymentMethod": 1,
"userPos": "S4INC12ABCX",
"typeInvoice": 1,
"paramCurrency": 1,
"clientComplement": 1,
"clientCity": "Santa Cruz",
"clientEmail": "cliente@gmail.com",
"detailInvoice": [
{
"activityEconomic": "620100",
"unitMeasure": 11,
"codeProductSin": 83141,
"codeProduct": "CC-SRVSISCLOUD123",
"description": "IMPLEMETACION DE SISTEMAS EN LA NUBE",
"qty": 2,
"priceUnit": 1000
},
{
"activityEconomic": "620100",
"unitMeasure": 23,
"codeProductSin": "83141",
"codeProduct": "CC-SRVSISCLOUD124",
"description": "IMPLEMETACION DE SISTEMAS EN LA NUBE V1",
"qty": 1,
"priceUnit": 600,
"amountDiscount": 10
}
]
}
Response
json
{
"message": "COMPLETED",
"errors": null,
"success": true,
"data": {
"nitEmissor": 6822046012,
"invoiceCode": "D6A0D688",
"cuf": "1D2C888524*****************1B887CDFDC74",
"invoiceNumber": 1,
"qrCode": "https://pilotosiat.impuestos.gob.bo/consulta/QR?nit=6822046012&cuf=1D2C888524A53036C3A38518F1E3AA21C963E8606A883D1B887CDFDC74&numero=1&t=1",
"invoiceUrl": "/pdf?code=DC3E4E6TUWxbaS36JJ0w3iOcmlfb&client=10T9ATSWLFY5GOFRETODKH6BF",
"dateEmission": "2021-12-13T20:46:54.305",
"amountTotal": 2580.0,
"amountTotalDiscount": 10.0,
"amountTotalCurrency": 2580.0,
"userCashier": "S4INC12ABCX",
"siatCodeState": 908,
"siatCodeReception": "2b10887***********a**e133**f60",
"siatDescriptionStatus": "accepted",
"countItems": 2,
"invoiceXml": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<facturaComputarizadaCompraVenta>\n <cabecera>\n <nitEmisor></nitEmisor>\n <razonSocialEmisor></facturaComputarizadaCompraVenta>\n",
"detailInvoice": [
{
"detailId": 3,
"activityEconomic": "620100",
"codeProductSin": "83141",
"codeProduct": "CC-SRVSISCLOUD123",
"description": "IMPLEMETACION DE SISTEMAS EN LA NUBE",
"qty": 2.0,
"unitMeasure": 11,
"priceUnit": 1000.0,
"amountDiscount": 0.0,
"subTotal": 2000.0,
"numberSerial": null,
"numberImei": null
},
{
"detailId": 4,
"activityEconomic": "620100",
"codeProductSin": "83141",
"codeProduct": "CC-SRVSISCLOUD124",
"description": "IMPLEMETACION DE SISTEMAS EN LA NUBE V1",
"qty": 1.0,
"unitMeasure": 23,
"priceUnit": 600.0,
"amountDiscount": 10.0,
"subTotal": 590.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/sale/anulation
Modalidad Computarizada en Línea
POST https://sandbox.cucu.bo/api/v1/invoice/computarized/sale/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": "D80C9B77",
"posId": 1,
"codeMotive": 1,
"invoiceNumber": 5
}
Response
json
{
"message": "COMPLETED_SALE",
"errors": null,
"success": true,
"data": {
"invoiceNumber": 5,
"cuf": "1D2C888524A59DA163372084D5C6D0EF29B39A4212405AA79B33246D74",
"siatCodeState": 905,
"siatDescriptionStatus": "ANULACION CONFIRMADA",
"qrCode": "https://pilotosiat.impuestos.gob.bo/consulta/QR?nit=6822046012&cuf=1D2C888524A59DA163372084D5C6D0EF29B39A4212405AA79B33246D74&numero=5&t=2",
"invoiceCode": "D80C9B77"
}
}