Nota de Crédito Electrónica
La Nota de Crédito (NC) es un documento electrónico utilizado para ajustar, cancelar parcialmente o aplicar descuentos y bonificaciones sobre una factura electrónica previamente aprobada en el SIFEN. A diferencia del evento de Cancelación (que anula completamente el documento dentro de las 48 horas), la NC genera un nuevo documento contable que ajusta el monto de la factura original, permitiendo correcciones parciales o totales sin límite de tiempo.
Documento Asociado Obligatorio
La Nota de Crédito requiere siempre un documento asociado (la factura original). Se debe enviar el CDC de 44 dígitos de la factura que se está ajustando.
Endpoint
POST {URL_BASE}/facturacion-api/data.php
| Parámetro | Tipo | Descripción |
|---|---|---|
| recordID | String | API Key proporcionada por CheFactura. |
| datajson | String | JSON string con los datos de la Nota de Crédito. |
Estructura del JSON
Campos principales
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
| tipoDocumento | String | Sí | Debe ser "5" para Nota de Crédito. |
| establecimiento | String | Sí | Código de establecimiento (ej: "001"). |
| punto | String | Sí | Punto de expedición (ej: "001"). |
| numero | String | Sí | Número del documento, 7 dígitos (ej: "0000001"). |
| descripcion | String | No | Información de interés del emisor. |
| fecha | String | Sí | Formato YYYY-MM-DD HH:mm:ss. |
| tipoEmision | Integer | Sí | 1=Normal, 2=Contingencia. |
| tipoTransaccion | Integer | Sí | 1=Venta mercadería, 2=Prestación servicio, 3=Mixto. |
| condicionPago | Integer | Sí | 1=Contado, 2=Crédito. |
| motivoEmision | Integer | Sí | Motivo de la NC: 1=Devolución y ajuste precios, 2=Devolución, 3=Descuento, 4=Bonificación, 5=Crédito incobrable, 6=Recupero de costo, 7=Devolución nómina. |
| moneda | String | Sí | Código moneda: PYG, USD, BRL, EUR. |
| cambio | Number | Condicional | Tipo de cambio si moneda != PYG. |
| descuentoGlobal | Number | No | Descuento global a distribuir entre items. Default 0. |
| totalPago | Number | Sí | Monto total de la nota de crédito. |
| totalRedondeo | Number | No | Redondeo. Default 0. |
| receiptid | String | Sí | ID único del sistema cliente. |
| codigoSeguridadAleatorio | String | Sí | 9 dígitos aleatorios. |
Objeto documentoAsociado (OBLIGATORIO para NC)
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
| cdcAsociado | String | Sí | CDC de 44 dígitos de la factura original que se ajusta. |
| tipoDocumentoAsoc | String | No | "1"=Electrónico (default), "2"=Impreso. |
| remision | Boolean | No | false (default). |
Para documento asociado impreso (tipoDocumentoAsoc = "2")
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
| establecimientoAsoc | String | Sí | Establecimiento del documento impreso. |
| puntoAsoc | String | Sí | Punto del documento impreso. |
| numeroAsoc | String | Sí | Número del documento impreso. |
| tipoDocuemntoIm | Integer | Sí | 1=Factura, 2=NC, 3=ND, 4=NR. |
| fechaDocIm | String | Sí | Fecha del documento impreso YYYY-MM-DD. |
| timbradoAsoc | String | Sí | Timbrado del documento impreso. |
Objeto cliente
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
| ruc | String | Condicional | RUC con DV (ej: "80012345-6"). |
| nombre | String | Sí | Razón social. |
| direccion | String | No | Dirección. |
| cpais | String | No | Código país. Default "PRY". |
| correo | String | No | Email. |
| numCasa | Integer | No | Número de casa. |
| dncp | Integer | No | 0=Normal, 1=DNCP. |
Objeto pagos (array)
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
| tipoPago | String | Sí | 1=Efectivo, 2=Cheque, etc. |
| monto | Number | Sí | Monto. |
Objeto items (array)
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
| codigo | String | Sí | Código interno. |
| descripcion | String | Sí | Descripción del producto. |
| unidadMedida | Integer | Sí | Código unidad medida. |
| cantidad | Number | Sí | Cantidad (hasta 4 decimales). |
| precioUnitario | Number | Sí | Precio unitario. |
| precioTotal | Number | Sí | Precio total. |
| descuento | Number | No | Descuento particular (EA002). Default 0. |
| ivaTasa | Integer | Sí | 0, 5, o 10. |
| baseGravItem | Number | Sí | Base gravada (8 decimales, NO redondear). |
| liqIvaItem | Number | Sí | Liquidación IVA (8 decimales, NO redondear). |
Tabla de Motivos de Emisión
| Código | Descripción |
|---|---|
| 1 | Devolución y ajuste de precios |
| 2 | Devolución |
| 3 | Descuento |
| 4 | Bonificación |
| 5 | Crédito incobrable |
| 6 | Recupero de costo |
| 7 | Devolución nómina |
Ejemplo JSON - NC por Devolución
{
"tipoDocumento": "5",
"establecimiento": "001",
"punto": "001",
"numero": "0000001",
"descripcion": "Devolucion parcial",
"fecha": "2026-04-03 14:00:00",
"tipoEmision": 1,
"tipoTransaccion": 1,
"condicionPago": 1,
"motivoEmision": 2,
"moneda": "PYG",
"cambio": 0,
"descuentoGlobal": 0,
"totalPago": 55000,
"totalRedondeo": 0,
"receiptid": "NC-001",
"codigoSeguridadAleatorio": "456789123",
"documentoAsociado": {
"cdcAsociado": "01800162994001002000000522023101611791662320",
"tipoDocumentoAsoc": "1"
},
"cliente": {
"ruc": "80012345-6",
"nombre": "EMPRESA EJEMPLO S.A.",
"direccion": "Av. Mariscal Lopez 1234",
"cpais": "PRY",
"correo": "contacto@empresa.com",
"numCasa": 1234,
"dncp": 0
},
"pagos": [
{
"tipoPago": "1",
"monto": 55000
}
],
"items": [
{
"codigo": "PROD-001",
"descripcion": "Resma de papel A4 (devolucion)",
"unidadMedida": 77,
"cantidad": 1,
"precioUnitario": 55000,
"precioTotal": 55000,
"descuento": 0,
"ivaTasa": 10,
"baseGravItem": 50000.00000000,
"liqIvaItem": 5000.00000000
}
]
}
Ejemplo JSON - NC por Descuento
{
"tipoDocumento": "5",
"establecimiento": "001",
"punto": "001",
"numero": "0000002",
"descripcion": "Descuento 10% sobre factura",
"fecha": "2026-04-03 14:30:00",
"tipoEmision": 1,
"tipoTransaccion": 1,
"condicionPago": 1,
"motivoEmision": 3,
"moneda": "PYG",
"cambio": 0,
"descuentoGlobal": 0,
"totalPago": 15000,
"totalRedondeo": 0,
"receiptid": "NC-002",
"codigoSeguridadAleatorio": "789456123",
"documentoAsociado": {
"cdcAsociado": "01800162994001002000000522023101611791662320",
"tipoDocumentoAsoc": "1"
},
"cliente": {
"ruc": "80012345-6",
"nombre": "EMPRESA EJEMPLO S.A.",
"direccion": "Av. Mariscal Lopez 1234",
"cpais": "PRY",
"correo": "contacto@empresa.com",
"numCasa": 1234,
"dncp": 0
},
"pagos": [
{
"tipoPago": "1",
"monto": 15000
}
],
"items": [
{
"codigo": "DESC-10",
"descripcion": "Descuento 10% sobre factura",
"unidadMedida": 77,
"cantidad": 1,
"precioUnitario": 15000,
"precioTotal": 15000,
"descuento": 0,
"ivaTasa": 10,
"baseGravItem": 13636.36363636,
"liqIvaItem": 1363.63636364
}
]
}
Ejemplo con cURL
curl -X POST {URL_BASE}/facturacion-api/data.php \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "recordID=TU_API_KEY" \
-d "datajson={
\"tipoDocumento\":\"5\",
\"establecimiento\":\"001\",
\"punto\":\"001\",
\"numero\":\"0000001\",
\"descripcion\":\"Devolucion parcial\",
\"fecha\":\"2026-04-03 14:00:00\",
\"tipoEmision\":1,
\"tipoTransaccion\":1,
\"condicionPago\":1,
\"motivoEmision\":2,
\"moneda\":\"PYG\",
\"cambio\":0,
\"descuentoGlobal\":0,
\"totalPago\":55000,
\"totalRedondeo\":0,
\"receiptid\":\"NC-001\",
\"codigoSeguridadAleatorio\":\"456789123\",
\"documentoAsociado\":{
\"cdcAsociado\":\"01800162994001002000000522023101611791662320\",
\"tipoDocumentoAsoc\":\"1\"
},
\"cliente\":{
\"ruc\":\"80012345-6\",
\"nombre\":\"EMPRESA EJEMPLO S.A.\",
\"direccion\":\"Av. Mariscal Lopez 1234\",
\"cpais\":\"PRY\",
\"correo\":\"contacto@empresa.com\",
\"numCasa\":1234,
\"dncp\":0
},
\"pagos\":[{\"tipoPago\":\"1\",\"monto\":55000}],
\"items\":[{
\"codigo\":\"PROD-001\",
\"descripcion\":\"Resma de papel A4 (devolucion)\",
\"unidadMedida\":77,
\"cantidad\":1,
\"precioUnitario\":55000,
\"precioTotal\":55000,
\"descuento\":0,
\"ivaTasa\":10,
\"baseGravItem\":50000.00000000,
\"liqIvaItem\":5000.00000000
}]
}"
Respuestas de la API
Respuesta exitosa
{
"success": true,
"message": "Documento procesado correctamente",
"cdc": "01800162994001005000000012026040314000045612",
"numero": "001-001-0000001",
"qr": "https://ekuatia.set.gov.py/consultas/qr?...",
"xml": "<rDE>...</rDE>"
}
Respuesta con error
{
"success": false,
"message": "CDC del documento asociado no encontrado o no aprobado en SIFEN",
"errorCode": "0500"
}
Diferencias con Evento de Cancelación
| Aspecto | Nota de Crédito | Cancelación |
|---|---|---|
| Tipo | Documento contable | Evento SIFEN |
| Plazo | Sin límite | 48 horas |
| Alcance | Parcial o total | Solo total |
| Genera KUDE | Sí | No |
| Endpoint | data.php | eventos.php |
| tipoDocumento | "5" | tipoEvento: 2 |
Notas importantes
- El CDC asociado debe ser de una factura aprobada en SIFEN.
- Los items de la NC deben tener la misma tasa IVA que la factura original.
- motivoEmision es OBLIGATORIO - sin él, la API asume motivo 2 (Devolución) por defecto.
- Para devolución parcial, solo incluir los items devueltos con sus cantidades y montos.