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.
El bloque reference
Sección titulada «El bloque reference»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.
Ejemplo: devolución parcial
Sección titulada «Ejemplo: devolución parcial»La cliente devuelve uno de los dos taladros de la factura de ejemplo. La nota acredita una unidad, con la mitad del descuento original.
{ "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 |
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{ "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" }}Anulación total con nota de crédito
Sección titulada «Anulación total con nota de crédito»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.
Otras reglas
Sección titulada «Otras reglas»receivercontypeeides obligatorio.- Los códigos de tarifa transitorios
05(0 %) y06(4 %) solo se aceptan en notas de crédito y de débito. - Los tipos de exoneración
01,05,06y07tambié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.