Credit Notes, Debit Notes, and Void Invoice Examples
Complete examples for generating credit notes (NCRE), debit notes (NDEB), and voiding/canceling invoices.
Table of Contents
Credit Notes (NCRE)
A Credit Note is used to reduce the amount owed by a customer. Common reasons:
- Product returns
- Price corrections
- Discounts applied after invoice
- Errors in original invoice
Key Requirements for Credit Notes
- Must reference the original invoice using
Complementos.Complemento.ReferenciasNota - Type must be "NCRE"
- Must include original invoice authorization number (
NumeroAutorizacionDocumentoOrigen) - Must include original invoice series and number (
SerieDocumentoOrigen,NumeroDocumentoOrigen) - Must include original invoice date (
FechaEmisionDocumentoOrigen) - Must include reason for adjustment (
MotivoAjuste)
Example: Credit Note (Full Refund)
Scenario: Customer returns all items from invoice A-123456
{
"ID": "DatosCertificados",
"DatosEmision": {
"ID": "DatosEmision",
"DatosGenerales": {
"Tipo": "NCRE",
"FechaHoraEmision": "2024-01-20T14:30:00",
"CodigoMoneda": "GTQ",
"rpaUUID": "550e8400-e29b-41d4-a716-446655440001",
"rpaDE_Empresa": "Digifact",
"rpaCertificador_Usuario": "GT.000044653948.RPA_TEST",
"rpaCertificador_Clave": "your-password",
"rpaFisco_Usuario": ""
},
"Emisor": {
"NITEmisor": "44653948",
"NombreEmisor": "CAFE DESPIERTO, S.A.",
"CodigoEstablecimiento": "1",
"NombreComercial": "CAFE DESPIERTO",
"AfiliacionIVA": "GEN",
"DireccionEmisor": {
"Direccion": "VIA 4 1-17 ZONA 4 GUATEMALA,GUATEMALA",
"CodigoPostal": "01001",
"Municipio": "Guatemala",
"Departamento": "Guatemala",
"Pais": "GT"
}
},
"Receptor": {
"NombreReceptor": "RANGEL,CASTRO,,KENNETH,ZAIDD",
"IDReceptor": "49862952",
"DireccionReceptor": {
"Direccion": "CIUDAD",
"CodigoPostal": "01001",
"Municipio": "Guatemala",
"Departamento": "Guatemala",
"Pais": "GT"
}
},
"Frases": {
"Frase": [
{
"TipoFrase": "1",
"CodigoEscenario": "1"
}
]
},
"Items": {
"Item": [
{
"NumeroLinea": "1",
"BienOServicio": "B",
"Cantidad": "1",
"UnidadMedida": "UNI",
"Descripcion": "Product description (RETURNED)",
"PrecioUnitario": "100.00",
"Precio": "100.00",
"Descuento": "0",
"Total": "100.00",
"Impuestos": {
"Impuesto": [
{
"NombreCorto": "IVA",
"CodigoUnidadGravable": "1",
"MontoGravable": "89.29",
"MontoImpuesto": "10.71"
}
]
}
}
]
},
"Totales": {
"GranTotal": "100.00",
"TotalImpuestos": {
"TotalImpuesto": [
{
"NombreCorto": "IVA",
"TotalMontoImpuesto": "10.71"
}
]
}
},
"Complementos": {
"Complemento": {
"NombreComplemento": "NCRE",
"ReferenciasNota": {
"NumeroAutorizacionDocumentoOrigen": "A-123456",
"FechaEmisionDocumentoOrigen": "2024-01-15",
"MotivoAjuste": "Devolución de productos",
"NumeroDocumentoOrigen": "123456",
"SerieDocumentoOrigen": "A"
}
}
}
},
"extra": {
"subDomain": "DMO1"
}
}
Example: Partial Credit Note
Scenario: Customer returns only one item from a multi-item invoice
{
"ID": "DatosCertificados",
"DatosEmision": {
"ID": "DatosEmision",
"DatosGenerales": {
"Tipo": "NCRE",
"FechaHoraEmision": "2024-01-20T14:30:00",
"CodigoMoneda": "GTQ",
"rpaUUID": "550e8400-e29b-41d4-a716-446655440002",
"rpaDE_Empresa": "Digifact",
"rpaCertificador_Usuario": "GT.000044653948.RPA_TEST",
"rpaCertificador_Clave": "your-password",
"rpaFisco_Usuario": ""
},
"Emisor": {
"NITEmisor": "44653948",
"NombreEmisor": "CAFE DESPIERTO, S.A.",
"CodigoEstablecimiento": "1",
"NombreComercial": "CAFE DESPIERTO",
"AfiliacionIVA": "GEN",
"DireccionEmisor": {
"Direccion": "VIA 4 1-17 ZONA 4 GUATEMALA,GUATEMALA",
"CodigoPostal": "01001",
"Municipio": "Guatemala",
"Departamento": "Guatemala",
"Pais": "GT"
}
},
"Receptor": {
"NombreReceptor": "RANGEL,CASTRO,,KENNETH,ZAIDD",
"IDReceptor": "49862952",
"DireccionReceptor": {
"Direccion": "CIUDAD",
"CodigoPostal": "01001",
"Municipio": "Guatemala",
"Departamento": "Guatemala",
"Pais": "GT"
}
},
"Frases": {
"Frase": [
{
"TipoFrase": "1",
"CodigoEscenario": "1"
}
]
},
"Items": {
"Item": [
{
"NumeroLinea": "1",
"BienOServicio": "B",
"Cantidad": "1",
"UnidadMedida": "UNI",
"Descripcion": "Item 2 - Returned (Original invoice had 3 items)",
"PrecioUnitario": "50.00",
"Precio": "50.00",
"Descuento": "0",
"Total": "50.00",
"Impuestos": {
"Impuesto": [
{
"NombreCorto": "IVA",
"CodigoUnidadGravable": "1",
"MontoGravable": "44.64",
"MontoImpuesto": "5.36"
}
]
}
}
]
},
"Totales": {
"GranTotal": "50.00",
"TotalImpuestos": {
"TotalImpuesto": [
{
"NombreCorto": "IVA",
"TotalMontoImpuesto": "5.36"
}
]
}
},
"Complementos": {
"Complemento": {
"NombreComplemento": "NCRE",
"ReferenciasNota": {
"NumeroAutorizacionDocumentoOrigen": "A-123456",
"FechaEmisionDocumentoOrigen": "2024-01-15",
"MotivoAjuste": "Devolución parcial de productos",
"NumeroDocumentoOrigen": "123456",
"SerieDocumentoOrigen": "A"
}
}
}
},
"extra": {
"subDomain": "DMO1"
}
}
cURL Example: Generate Credit Note
BASE_URL="https://fel.rpapos.com/api/fel"
TOKEN="your-auth-token"
curl -X POST "${BASE_URL}/generateCertificateToSign" \
-H "Content-Type: application/json" \
-H "Authorization: ${TOKEN}" \
-d '{
"ID": "DatosCertificados",
"DatosEmision": {
"ID": "DatosEmision",
"DatosGenerales": {
"Tipo": "NCRE",
"FechaHoraEmision": "2024-01-20T14:30:00",
"CodigoMoneda": "GTQ",
"rpaUUID": "550e8400-e29b-41d4-a716-446655440001",
"rpaDE_Empresa": "Digifact",
"rpaCertificador_Usuario": "GT.000044653948.RPA_TEST",
"rpaCertificador_Clave": "your-password",
"rpaFisco_Usuario": ""
},
"Emisor": {
"NITEmisor": "44653948",
"NombreEmisor": "CAFE DESPIERTO, S.A.",
"CodigoEstablecimiento": "1",
"NombreComercial": "CAFE DESPIERTO",
"AfiliacionIVA": "GEN",
"DireccionEmisor": {
"Direccion": "VIA 4 1-17 ZONA 4 GUATEMALA,GUATEMALA",
"CodigoPostal": "01001",
"Municipio": "Guatemala",
"Departamento": "Guatemala",
"Pais": "GT"
}
},
"Receptor": {
"NombreReceptor": "RANGEL,CASTRO,,KENNETH,ZAIDD",
"IDReceptor": "49862952",
"DireccionReceptor": {
"Direccion": "CIUDAD",
"CodigoPostal": "01001",
"Municipio": "Guatemala",
"Departamento": "Guatemala",
"Pais": "GT"
}
},
"Frases": {
"Frase": [
{
"TipoFrase": "1",
"CodigoEscenario": "1"
}
]
},
"Items": {
"Item": [
{
"NumeroLinea": "1",
"BienOServicio": "B",
"Cantidad": "1",
"UnidadMedida": "UNI",
"Descripcion": "Product description (RETURNED)",
"PrecioUnitario": "100.00",
"Precio": "100.00",
"Descuento": "0",
"Total": "100.00",
"Impuestos": {
"Impuesto": [
{
"NombreCorto": "IVA",
"CodigoUnidadGravable": "1",
"MontoGravable": "89.29",
"MontoImpuesto": "10.71"
}
]
}
}
]
},
"Totales": {
"GranTotal": "100.00",
"TotalImpuestos": {
"TotalImpuesto": [
{
"NombreCorto": "IVA",
"TotalMontoImpuesto": "10.71"
}
]
}
},
"Complementos": {
"Complemento": {
"NombreComplemento": "NCRE",
"ReferenciasNota": {
"NumeroAutorizacionDocumentoOrigen": "A-123456",
"FechaEmisionDocumentoOrigen": "2024-01-15",
"MotivoAjuste": "Devolución de productos",
"NumeroDocumentoOrigen": "123456",
"SerieDocumentoOrigen": "A"
}
}
}
},
"extra": {
"subDomain": "DMO1"
}
}'
Debit Notes (NDEB)
A Debit Note is used to increase the amount owed by a customer. Common reasons:
- Additional charges
- Price corrections (upward)
- Missing items from original invoice
- Additional services rendered
Key Requirements for Debit Notes
- Must reference the original invoice using
Complementos.Complemento.ReferenciasNota - Type must be "NDEB"
- Must include original invoice authorization number (
NumeroAutorizacionDocumentoOrigen) - Must include original invoice series and number (
SerieDocumentoOrigen,NumeroDocumentoOrigen) - Must include original invoice date (
FechaEmisionDocumentoOrigen) - Must include reason for adjustment (
MotivoAjuste)
Example: Debit Note (Additional Charges)
Scenario: Additional shipping charges were not included in original invoice A-123456
{
"ID": "DatosCertificados",
"DatosEmision": {
"ID": "DatosEmision",
"DatosGenerales": {
"Tipo": "NDEB",
"FechaHoraEmision": "2024-01-20T14:30:00",
"CodigoMoneda": "GTQ",
"rpaUUID": "550e8400-e29b-41d4-a716-446655440003",
"rpaDE_Empresa": "Digifact",
"rpaCertificador_Usuario": "GT.000044653948.RPA_TEST",
"rpaCertificador_Clave": "your-password",
"rpaFisco_Usuario": ""
},
"Emisor": {
"NITEmisor": "44653948",
"NombreEmisor": "CAFE DESPIERTO, S.A.",
"CodigoEstablecimiento": "1",
"NombreComercial": "CAFE DESPIERTO",
"AfiliacionIVA": "GEN",
"DireccionEmisor": {
"Direccion": "VIA 4 1-17 ZONA 4 GUATEMALA,GUATEMALA",
"CodigoPostal": "01001",
"Municipio": "Guatemala",
"Departamento": "Guatemala",
"Pais": "GT"
}
},
"Receptor": {
"NombreReceptor": "RANGEL,CASTRO,,KENNETH,ZAIDD",
"IDReceptor": "49862952",
"DireccionReceptor": {
"Direccion": "CIUDAD",
"CodigoPostal": "01001",
"Municipio": "Guatemala",
"Departamento": "Guatemala",
"Pais": "GT"
}
},
"Frases": {
"Frase": [
{
"TipoFrase": "1",
"CodigoEscenario": "1"
}
]
},
"Items": {
"Item": [
{
"NumeroLinea": "1",
"BienOServicio": "S",
"Cantidad": "1",
"UnidadMedida": "UNI",
"Descripcion": "Cargo adicional por envío urgente",
"PrecioUnitario": "25.00",
"Precio": "25.00",
"Descuento": "0",
"Total": "25.00",
"Impuestos": {
"Impuesto": [
{
"NombreCorto": "IVA",
"CodigoUnidadGravable": "1",
"MontoGravable": "22.32",
"MontoImpuesto": "2.68"
}
]
}
}
]
},
"Totales": {
"GranTotal": "25.00",
"TotalImpuestos": {
"TotalImpuesto": [
{
"NombreCorto": "IVA",
"TotalMontoImpuesto": "2.68"
}
]
}
},
"Complementos": {
"Complemento": {
"NombreComplemento": "NDEB",
"ReferenciasNota": {
"NumeroAutorizacionDocumentoOrigen": "A-123456",
"FechaEmisionDocumentoOrigen": "2024-01-15",
"MotivoAjuste": "Cargos adicionales no incluidos",
"NumeroDocumentoOrigen": "123456",
"SerieDocumentoOrigen": "A"
}
}
}
},
"extra": {
"subDomain": "DMO1"
}
}
Example: Debit Note (Price Correction)
Scenario: Price was incorrectly calculated in original invoice, needs upward adjustment
{
"ID": "DatosCertificados",
"DatosEmision": {
"ID": "DatosEmision",
"DatosGenerales": {
"Tipo": "NDEB",
"FechaHoraEmision": "2024-01-20T14:30:00",
"CodigoMoneda": "GTQ",
"rpaUUID": "550e8400-e29b-41d4-a716-446655440004",
"rpaDE_Empresa": "Digifact",
"rpaCertificador_Usuario": "GT.000044653948.RPA_TEST",
"rpaCertificador_Clave": "your-password",
"rpaFisco_Usuario": ""
},
"Emisor": {
"NITEmisor": "44653948",
"NombreEmisor": "CAFE DESPIERTO, S.A.",
"CodigoEstablecimiento": "1",
"NombreComercial": "CAFE DESPIERTO",
"AfiliacionIVA": "GEN",
"DireccionEmisor": {
"Direccion": "VIA 4 1-17 ZONA 4 GUATEMALA,GUATEMALA",
"CodigoPostal": "01001",
"Municipio": "Guatemala",
"Departamento": "Guatemala",
"Pais": "GT"
}
},
"Receptor": {
"NombreReceptor": "RANGEL,CASTRO,,KENNETH,ZAIDD",
"IDReceptor": "49862952",
"DireccionReceptor": {
"Direccion": "CIUDAD",
"CodigoPostal": "01001",
"Municipio": "Guatemala",
"Departamento": "Guatemala",
"Pais": "GT"
}
},
"Frases": {
"Frase": [
{
"TipoFrase": "1",
"CodigoEscenario": "1"
}
]
},
"Items": {
"Item": [
{
"NumeroLinea": "1",
"BienOServicio": "B",
"Cantidad": "1",
"UnidadMedida": "UNI",
"Descripcion": "Ajuste de precio - Diferencia de precio unitario",
"PrecioUnitario": "15.00",
"Precio": "15.00",
"Descuento": "0",
"Total": "15.00",
"Impuestos": {
"Impuesto": [
{
"NombreCorto": "IVA",
"CodigoUnidadGravable": "1",
"MontoGravable": "13.39",
"MontoImpuesto": "1.61"
}
]
}
}
]
},
"Totales": {
"GranTotal": "15.00",
"TotalImpuestos": {
"TotalImpuesto": [
{
"NombreCorto": "IVA",
"TotalMontoImpuesto": "1.61"
}
]
}
},
"Complementos": {
"Complemento": {
"NombreComplemento": "NDEB",
"ReferenciasNota": {
"NumeroAutorizacionDocumentoOrigen": "A-123456",
"FechaEmisionDocumentoOrigen": "2024-01-15",
"MotivoAjuste": "Corrección de precio",
"NumeroDocumentoOrigen": "123456",
"SerieDocumentoOrigen": "A"
}
}
}
},
"extra": {
"subDomain": "DMO1"
}
}
cURL Example: Generate Debit Note
BASE_URL="https://fel.rpapos.com/api/fel"
TOKEN="your-auth-token"
curl -X POST "${BASE_URL}/generateCertificateToSign" \
-H "Content-Type: application/json" \
-H "Authorization: ${TOKEN}" \
-d '{
"ID": "DatosCertificados",
"DatosEmision": {
"ID": "DatosEmision",
"DatosGenerales": {
"Tipo": "NDEB",
"FechaHoraEmision": "2024-01-20T14:30:00",
"CodigoMoneda": "GTQ",
"rpaUUID": "550e8400-e29b-41d4-a716-446655440003",
"rpaDE_Empresa": "Digifact",
"rpaCertificador_Usuario": "GT.000044653948.RPA_TEST",
"rpaCertificador_Clave": "your-password",
"rpaFisco_Usuario": ""
},
"Emisor": {
"NITEmisor": "44653948",
"NombreEmisor": "CAFE DESPIERTO, S.A.",
"CodigoEstablecimiento": "1",
"NombreComercial": "CAFE DESPIERTO",
"AfiliacionIVA": "GEN",
"DireccionEmisor": {
"Direccion": "VIA 4 1-17 ZONA 4 GUATEMALA,GUATEMALA",
"CodigoPostal": "01001",
"Municipio": "Guatemala",
"Departamento": "Guatemala",
"Pais": "GT"
}
},
"Receptor": {
"NombreReceptor": "RANGEL,CASTRO,,KENNETH,ZAIDD",
"IDReceptor": "49862952",
"DireccionReceptor": {
"Direccion": "CIUDAD",
"CodigoPostal": "01001",
"Municipio": "Guatemala",
"Departamento": "Guatemala",
"Pais": "GT"
}
},
"Frases": {
"Frase": [
{
"TipoFrase": "1",
"CodigoEscenario": "1"
}
]
},
"Items": {
"Item": [
{
"NumeroLinea": "1",
"BienOServicio": "S",
"Cantidad": "1",
"UnidadMedida": "UNI",
"Descripcion": "Cargo adicional por envío urgente",
"PrecioUnitario": "25.00",
"Precio": "25.00",
"Descuento": "0",
"Total": "25.00",
"Impuestos": {
"Impuesto": [
{
"NombreCorto": "IVA",
"CodigoUnidadGravable": "1",
"MontoGravable": "22.32",
"MontoImpuesto": "2.68"
}
]
}
}
]
},
"Totales": {
"GranTotal": "25.00",
"TotalImpuestos": {
"TotalImpuesto": [
{
"NombreCorto": "IVA",
"TotalMontoImpuesto": "2.68"
}
]
}
},
"Complementos": {
"Complemento": {
"NombreComplemento": "NDEB",
"ReferenciasNota": {
"NumeroAutorizacionDocumentoOrigen": "A-123456",
"FechaEmisionDocumentoOrigen": "2024-01-15",
"MotivoAjuste": "Cargos adicionales no incluidos",
"NumeroDocumentoOrigen": "123456",
"SerieDocumentoOrigen": "A"
}
}
}
},
"extra": {
"subDomain": "DMO1"
}
}'
Void/Cancel Invoice
Voiding an invoice completely cancels it. This is different from a credit note:
- Void: Completely cancels the invoice (as if it never existed)
- Credit Note: Reduces the amount but keeps both documents
Key Requirements for Voiding
- Must have the original invoice authorization number (
NumeroDocumentoAAnular) - Must include original invoice details (NIT, IDReceptor, Date)
- Must include cancellation reason (
MotivoAnulacion) - Must include cancellation date/time (
FechaHoraAnulacion)
Example: Void Invoice
Scenario: Invoice A-123456 was issued incorrectly and needs to be completely voided
{
"NumeroDocumentoAAnular": "A-123456",
"NITEmisor": "44653948",
"IDReceptor": "49862952",
"FechaEmisionDocumentoAnular": "2024-01-15T10:30:00",
"FechaHoraAnulacion": "2024-01-15T11:00:00",
"MotivoAnulacion": "Error en facturación - Factura emitida incorrectamente",
"Gface": "Digifact",
"rpaCertificador_Usuario": "GT.000044653948.RPA_TEST"
}
cURL Example: Void Invoice
BASE_URL="https://fel.rpapos.com/api/fel"
TOKEN="your-auth-token"
curl -X POST "${BASE_URL}/voidCertificate" \
-H "Content-Type: application/json" \
-H "Authorization: ${TOKEN}" \
-d '{
"NumeroDocumentoAAnular": "A-123456",
"NITEmisor": "44653948",
"IDReceptor": "49862952",
"FechaEmisionDocumentoAnular": "2024-01-15T10:30:00",
"FechaHoraAnulacion": "2024-01-15T11:00:00",
"MotivoAnulacion": "Error en facturación - Factura emitida incorrectamente",
"Gface": "Digifact",
"rpaCertificador_Usuario": "GT.000044653948.RPA_TEST"
}'
Example Response (Success)
{
"ok": true,
"voidID": "firebase-document-id-12345",
"data": {
"motivoAnulacion": "Error en facturación - Factura emitida incorrectamente",
"fechaHoraAnulacion": "2024-01-15T11:00:00",
"fechaEmisionDocumentoAnular": "2024-01-15T10:30:00",
"numeroDocumentoAAnular": "A-123456",
"rpaUUID": "550e8400-e29b-41d4-a716-446655440000",
"serie": "A",
"autorizacion": "A-123456",
"numero": "123456",
"fechaDTE": "2024-01-15T10:30:00",
"nitEface": "12345678",
"nombreEface": "DIGIFACT S.A.",
"nitComprador": "49862952",
"nombreComprador": "RANGEL,CASTRO,,KENNETH,ZAIDD",
"fechaDeCertificacion": "2024-01-15T10:30:00"
}
}
Common Scenarios
Scenario 1: Customer Returns Product → Credit Note
Original Invoice: A-123456 for Q100.00 Action: Customer returns product Solution: Issue Credit Note NCRE for Q100.00 referencing A-123456
# Step 1: Generate Credit Note
curl -X POST "${BASE_URL}/generateCertificateToSign" \
-H "Content-Type: application/json" \
-H "Authorization: ${TOKEN}" \
-d @credit_note.json
Scenario 2: Additional Charges → Debit Note
Original Invoice: A-123456 for Q100.00 Action: Additional shipping charge Q25.00 was missed Solution: Issue Debit Note NDEB for Q25.00 referencing A-123456
# Step 1: Generate Debit Note
curl -X POST "${BASE_URL}/generateCertificateToSign" \
-H "Content-Type: application/json" \
-H "Authorization: ${TOKEN}" \
-d @debit_note.json
Scenario 3: Invoice Error → Void Invoice
Original Invoice: A-123456 issued to wrong customer Action: Cancel the invoice completely Solution: Void the invoice using voidCertificate endpoint
# Step 1: Void Invoice
curl -X POST "${BASE_URL}/voidCertificate" \
-H "Content-Type: application/json" \
-H "Authorization: ${TOKEN}" \
-d '{
"NumeroDocumentoAAnular": "A-123456",
"NITEmisor": "44653948",
"IDReceptor": "49862952",
"FechaEmisionDocumentoAnular": "2024-01-15T10:30:00",
"FechaHoraAnulacion": "2024-01-15T11:00:00",
"MotivoAnulacion": "Factura emitida a cliente incorrecto",
"Gface": "Digifact",
"rpaCertificador_Usuario": "GT.000044653948.RPA_TEST"
}'
Scenario 4: Partial Return → Partial Credit Note
Original Invoice: A-123456 with 3 items totaling Q300.00 Action: Customer returns 1 item worth Q100.00 Solution: Issue Credit Note NCRE for Q100.00 referencing A-123456
{
"DatosEmision": {
"DatosGenerales": {
"Tipo": "NCRE",
...
},
"Items": {
"Item": [
{
"Descripcion": "Item 1 - Returned (from invoice A-123456)",
"Total": "100.00",
...
}
]
},
"Totales": {
"GranTotal": "100.00",
...
},
"Complementos": {
"Complemento": {
"NombreComplemento": "NCRE",
"ReferenciasNota": {
"NumeroAutorizacionDocumentoOrigen": "A-123456",
"FechaEmisionDocumentoOrigen": "2024-01-15",
"MotivoAjuste": "Devolución parcial",
"NumeroDocumentoOrigen": "123456",
"SerieDocumentoOrigen": "A"
}
}
}
}
}
Important Notes
Credit Notes (NCRE)
- ✅ Use when you need to reduce the amount owed
- ✅ Must reference the original invoice
- ✅ Can be partial or full
- ✅ Both original invoice and credit note remain valid
- ✅ Common reasons: Returns, discounts, errors
Debit Notes (NDEB)
- ✅ Use when you need to increase the amount owed
- ✅ Must reference the original invoice
- ✅ Can be partial or full
- ✅ Both original invoice and debit note remain valid
- ✅ Common reasons: Additional charges, price corrections, missing items
Void Invoice
- ✅ Use when you need to completely cancel an invoice
- ✅ Invoice is treated as if it never existed
- ✅ Must be done before the invoice is paid (usually)
- ✅ Common reasons: Wrong customer, duplicate invoice, critical errors
- ⚠️ Cannot be undone once voided
Common MotivoAjuste Values
For Credit Notes:
- "Devolución de productos"
- "Devolución parcial"
- "Descuento aplicado"
- "Error en facturación"
- "Corrección de precio"
- "Producto defectuoso"
For Debit Notes:
- "Cargos adicionales"
- "Corrección de precio"
- "Productos faltantes"
- "Servicios adicionales"
- "Ajuste de monto"
For Void:
- "Error en facturación"
- "Factura duplicada"
- "Factura emitida incorrectamente"
- "Cliente incorrecto"
- "Datos incorrectos"
Complete Workflow Example
#!/bin/bash
BASE_URL="https://fel.rpapos.com/api/fel"
# Step 1: Get Token
TOKEN=$(curl -s -X POST "${BASE_URL}/GetToken" \
-H "Content-Type: application/json" \
-d '{
"UserName": "GT.000044653948.RPA_TEST",
"Password": "your-password"
}' | jq -r '.response.token')
echo "Token: ${TOKEN:0:20}..."
# Step 2: Original Invoice was A-123456 for Q100.00
# Step 3: Customer returns product - Generate Credit Note
CREDIT_NOTE_UUID="550e8400-e29b-41d4-a716-446655440001"
CREDIT_NOTE_RESPONSE=$(curl -s -X POST "${BASE_URL}/generateCertificateToSign" \
-H "Content-Type: application/json" \
-H "Authorization: ${TOKEN}" \
-d "{
\"ID\": \"DatosCertificados\",
\"DatosEmision\": {
\"ID\": \"DatosEmision\",
\"DatosGenerales\": {
\"Tipo\": \"NCRE\",
\"FechaHoraEmision\": \"$(date -u +%Y-%m-%dT%H:%M:%S)\",
\"CodigoMoneda\": \"GTQ\",
\"rpaUUID\": \"${CREDIT_NOTE_UUID}\",
\"rpaDE_Empresa\": \"Digifact\",
\"rpaCertificador_Usuario\": \"GT.000044653948.RPA_TEST\",
\"rpaCertificador_Clave\": \"your-password\",
\"rpaFisco_Usuario\": \"\"
},
\"Emisor\": {
\"NITEmisor\": \"44653948\",
\"NombreEmisor\": \"CAFE DESPIERTO, S.A.\",
\"CodigoEstablecimiento\": \"1\",
\"NombreComercial\": \"CAFE DESPIERTO\",
\"AfiliacionIVA\": \"GEN\",
\"DireccionEmisor\": {
\"Direccion\": \"VIA 4 1-17 ZONA 4 GUATEMALA,GUATEMALA\",
\"CodigoPostal\": \"01001\",
\"Municipio\": \"Guatemala\",
\"Departamento\": \"Guatemala\",
\"Pais\": \"GT\"
}
},
\"Receptor\": {
\"NombreReceptor\": \"RANGEL,CASTRO,,KENNETH,ZAIDD\",
\"IDReceptor\": \"49862952\",
\"DireccionReceptor\": {
\"Direccion\": \"CIUDAD\",
\"CodigoPostal\": \"01001\",
\"Municipio\": \"Guatemala\",
\"Departamento\": \"Guatemala\",
\"Pais\": \"GT\"
}
},
\"Frases\": {
\"Frase\": [
{
\"TipoFrase\": \"1\",
\"CodigoEscenario\": \"1\"
}
]
},
\"Items\": {
\"Item\": [
{
\"NumeroLinea\": \"1\",
\"BienOServicio\": \"B\",
\"Cantidad\": \"1\",
\"UnidadMedida\": \"UNI\",
\"Descripcion\": \"Product description (RETURNED)\",
\"PrecioUnitario\": \"100.00\",
\"Precio\": \"100.00\",
\"Descuento\": \"0\",
\"Total\": \"100.00\",
\"Impuestos\": {
\"Impuesto\": [
{
\"NombreCorto\": \"IVA\",
\"CodigoUnidadGravable\": \"1\",
\"MontoGravable\": \"89.29\",
\"MontoImpuesto\": \"10.71\"
}
]
}
}
]
},
\"Totales\": {
\"GranTotal\": \"100.00\",
\"TotalImpuestos\": {
\"TotalImpuesto\": [
{
\"NombreCorto\": \"IVA\",
\"TotalMontoImpuesto\": \"10.71\"
}
]
}
},
\"Complementos\": {
\"Complemento\": {
\"NombreComplemento\": \"NCRE\",
\"ReferenciasNota\": {
\"NumeroAutorizacionDocumentoOrigen\": \"A-123456\",
\"FechaEmisionDocumentoOrigen\": \"2024-01-15\",
\"MotivoAjuste\": \"Devolución de productos\",
\"NumeroDocumentoOrigen\": \"123456\",
\"SerieDocumentoOrigen\": \"A\"
}
}
}
},
\"extra\": {
\"subDomain\": \"DMO1\"
}
}")
echo "Credit Note Response:"
echo "$CREDIT_NOTE_RESPONSE" | jq '.'
CREDIT_NOTE_AUTH=$(echo "$CREDIT_NOTE_RESPONSE" | jq -r '.Autorizacion_Text')
echo "Credit Note Authorization: $CREDIT_NOTE_AUTH"
Summary Table
| Document Type | When to Use | Effect | Original Invoice Status |
|---|---|---|---|
| NCRE (Credit Note) | Reduce amount owed | Reduces customer balance | Remains valid |
| NDEB (Debit Note) | Increase amount owed | Increases customer balance | Remains valid |
| Void | Cancel invoice | Cancels invoice completely | Becomes invalid |
For more examples, see: