Ir al contenido
SitioCrear cuenta

Comprobantes

Nota de Crédito

Emití Notas de Crédito (tipo 03) para devoluciones, descuentos posteriores y anulaciones, con las verificaciones contra el comprobante original.

La Nota de Crédito Electrónica (document_type: "03") reduce o anula un comprobante ya aceptado por Hacienda. Usala para:

  • Devoluciones de mercancía, totales o parciales.
  • Rebajas posteriores a la venta, como un descuento acordado después de facturar.
  • Anulaciones de una factura emitida por error.

Para anular un comprobante completo en una sola llamada, usá POST /documents/{clave}/void: Aster arma la nota por vos. Ver anular.

Toda nota de crédito lleva un bloque reference que apunta al comprobante original.

Campo Valor
document_type Tipo del documento referenciado (Nota 10): 01 factura, 04 tiquete, 09 factura de exportación, etc.
number La clave de 50 caracteres del original
date Fecha de emisión del original
code Motivo (Nota 9), ver la tabla siguiente
reason Explicación en texto, de 3 a 180 caracteres
code_other_description Obligatorio solo con code: "99" (Hacienda -491)

Los códigos de motivo más usados en una nota de crédito:

code Significado Período en que se registra
01 Anula el documento de referencia El de la nota de crédito
06 Devolución de mercancía El de la nota de crédito
09 Nota de crédito financiera El de la nota de crédito
12 Crédito por exoneración posterior a la facturación El de la nota de crédito
13 Anula el documento de referencia por error material El del comprobante original
14 Corrige monto por error material El del comprobante original

Los códigos 13 a 17 son parte de la actualización de Hacienda obligatoria desde el 1 de noviembre de 2026; Aster ya los acepta. Usá 13 o 14 solo cuando el error fue material (un dato equivocado al emitir), porque se registran en el período del comprobante original y pueden obligar a rectificar una declaración ya presentada. Para una devolución o una anulación normal, usá 06 o 01.

Si después de anular emitís un comprobante de reemplazo, este lleva code: "07" (después de un 01) o code: "15" (después de un 13).

Consultá el catálogo vigente en GET /reference/reference-codes y GET /reference/reference-doc-types, sin autenticación.

La cliente devuelve uno de los dos taladros de la factura de ejemplo. La nota acredita una unidad, con la mitad del descuento original.

nota-credito.json
{
"document": {
"document_type": "03",
"activity_code": "475201",
"date": "2026-10-08T16:40:00-06:00",
"situation": "1",
"branch": "001",
"terminal": "00001"
},
"commercial_info": {
"currency": "CRC",
"sale_condition": "01",
"payment_method": "04"
},
"issuer": {
"type": "02",
"id": "3101654321",
"name": "Ferretería La Sabana S.A.",
"email": "facturas@ferreterialasabana.cr",
"phone": "22905511",
"address": {
"province": "1",
"canton": "08",
"district": "01",
"details": "Del Más x Menos 200 m sur"
}
},
"receiver": {
"type": "01",
"id": "109870654",
"name": "Laura Jiménez Mora",
"email": "laura.jimenez@example.com"
},
"items": [
{
"line_number": 1,
"cabys_code": "4423201000100",
"quantity": 1,
"unit": "Unid",
"description": "Devolución: taladro percutor de 1/2 pulgada",
"price": 45000,
"discount": [
{ "amount": 4500, "code": "07", "reason": "Descuento comercial" }
],
"tax": [
{ "type": "01", "rate_code": "08", "rate": 13 }
]
}
],
"reference": {
"document_type": "01",
"number": "50608102600310165432100100001010000001042147201936",
"date": "2026-10-08T10:15:00-06:00",
"code": "06",
"reason": "Devolución de un taladro percutor"
}
}
Concepto Monto
1 × 45 000 45 000
Descuento −4 500
Subtotal 40 500
IVA 13 % 5 265
Total de la nota 45 765
Terminal
curl https://aster.astranexo.com/api/v1/electronic-documents \
-H "Authorization: Bearer aster_test_8KfQ2mVx3TzL9pRw" \
-H "Content-Type: application/json" \
-H "X-Idempotency-Key: devolucion-1042-1" \
--data @nota-credito.json
201 Created
{
"success": true,
"message": "Document submitted for processing.",
"data": {
"id": 327,
"document_key": "50608102600310165432100100001030000000087190318274",
"consecutive_number": "00100001030000000087",
"document_type": "03",
"document_type_name": "Nota de Crédito Electrónica",
"status": "processing",
"environment": "staging",
"queued_at": "2026-10-08T22:40:01Z"
}
}

Para anular la factura completa, repetí todas sus líneas con las mismas cantidades, precios, descuentos e impuestos, y usá code: "01". El total de la nota queda igual al de la factura (204 530 en el ejemplo).

En la mayoría de los casos es más simple usar el atajo POST /documents/{clave}/void, que hace exactamente eso. Ver anular.

Verificaciones contra el comprobante original

Sección titulada «Verificaciones contra el comprobante original»

Cuando reference.number es una clave, Aster revisa el comprobante original antes de firmar la nota. Si algo no cuadra, responde 422 y no consume el consecutivo.

Verificación Código de Hacienda que evita
El original fue aceptado por Hacienda. No se puede acreditar un comprobante rechazado ni uno que todavía espera veredicto -17 / -29
La identificación del receptor es la misma que en el original -17
Cada cabys_code de la nota aparece en el original -509
El total de la nota no supera el total del original -512
La nota va al mismo ambiente que el original —

Las verificaciones de contenido usan el XML firmado del original. Si el original no está en Aster (por ejemplo, lo emitiste con otro proveedor antes de migrar), Aster no lo puede revisar y lo deja a criterio de Hacienda.

  • receiver con type e id es obligatorio.
  • Los códigos de tarifa transitorios 05 (0 %) y 06 (4 %) solo se aceptan en notas de crédito y de débito.
  • Los tipos de exoneración 01, 05, 06 y 07 también son exclusivos de notas. Ver exoneraciones.
  • Una nota de crédito sobre una Factura de Compra usa reference.document_type: "17", y en ese caso el receptor de la nota sos vos (Hacienda -60).
  • Un comprobante rechazado no se acredita: se reemplaza. Ver anular.

Ver errores.