Concepto · Hacienda v4.4

¿Cómo anular una factura electrónica en Costa Rica?

No se borra. Una factura electrónica que Hacienda ya aceptó es inmutable: para anularla o corregirla emitís una nota de crédito (tipo 03) que la referencia por su clave. Plaxp arma esa NC vinculada, la firma con XAdES y la envía a Hacienda por vos.

¿Se puede borrar o anular una factura electrónica?

Borrar, no. Una vez que Hacienda acepta un comprobante, ese documento queda registrado y firmado digitalmente; no existe un botón de “eliminar” ni forma de editarlo. Es por diseño: el sello de tiempo y la firma son justamente lo que le da validez legal.

Lo que sí hacés es revertir su efecto emitiendo otro documento: una nota de crédito (NC). La NC es un comprobante electrónico más (tipo 03) que apunta a la factura original y le resta —total o parcialmente— el monto. La factura sigue existiendo en el historial, pero su saldo fiscal neto queda en cero (o reducido).

No dejes una factura equivocada “así nomás”

Emitir mal y no corregir puede exponerte a sanciones por incumplimiento de deberes formales (art. 83/86 del Código de Normas y Procedimientos Tributarios). La vía correcta y trazable es la nota de crédito. Ante dudas del caso puntual, confirmá con tu contador.

¿Qué es una nota de crédito y cuándo la uso?

La nota de crédito es el comprobante que disminuye el valor de una factura o tiquete ya emitido. Es el instrumento oficial de Hacienda para “dar marcha atrás” sin tocar el documento original. Los casos típicos:

  • Anulación total: la factura salió con el receptor equivocado, un monto incorrecto o la venta se cayó. La NC replica las líneas y anula el 100%.
  • Devolución parcial: el cliente devuelve 1 de 3 productos. La NC incluye solo esa línea y su IVA.
  • Corrección de monto: el precio o el impuesto quedaron mal. Se ajusta la diferencia.
  • Descuento o bonificación posterior: acordaste una rebaja después de facturar.

¿Y si me equivoqué para arriba?

Si necesitás aumentar el monto de un comprobante ya emitido (cobraste de menos), no es una nota de crédito sino una nota de débito (tipo 02). La lógica de referencia es la misma.

¿Qué exige la normativa v4.4? (nodo de referencia)

Una NC no puede “flotar” sola: la versión 4.4 obliga a incluir un nodo de información de referencia que enlaza la NC con el documento que corrige. Ese objeto lleva:

campoqué es
tipo_docTipo del documento original (01 = factura electrónica).
numeroLa clave numérica de 50 dígitos de la factura original.
fecha_emisionFecha en que se emitió el documento original.
codigoEl motivo: 01 anula, 02 corrige monto, etc.
razonTexto libre con la explicación (hasta 180 caracteres).

Dato v4.4: el código de referencia “03” dejó de existir

En la 4.4, el antiguo código de referencia 03 (“corrige monto” en 4.3) fue eliminado y su significado migró al 02. Ojo con no confundirlo con el tipo de documento 03 (que sigue siendo la nota de crédito). Para anular usás el código de referencia 01 (“Anula documento de referencia”). Plaxp acepta un 03 heredado y lo remapea al 02 automáticamente, pero lo correcto es mandar el código nuevo.

Este cambio es parte del salto de versión que ya es obligatorio. Si querés el panorama completo del esquema, mirá .

Ejemplo: anular una factura de ₡56.500 mal emitida

Una soda emitió una factura electrónica de ₡56.500 (₡50.000 + IVA 13%) a nombre del cliente equivocado. La factura ya fue aceptada por Hacienda, así que no se borra. La soda emite una nota de crédito por el mismo monto, referenciando la clave de la factura y con motivo 01 (anula). El neto fiscal de esa venta queda en cero.

anular.json
POST /api/nota-credito     // o /api/procesar con tipo_documento: "03"

{
  "tipo_documento": "03",              // 03 = Nota de Crédito
  "codigo_sucursal": "001",
  "codigo_caja": "001",
  "consecutivo": 42,
  "condicion_venta": "01",
  "medios_pago": [{ "tipo": "01", "monto": 56500 }],
  "receptor": {
    "tipo_identificacion": "01",
    "identificacion": "123456789",
    "nombre": "Cliente correcto S.A.",
    "correo": "[email protected]"
  },
  "lineas": [{
    "codigo_cabys": "6311101000000",
    "detalle": "Almuerzo ejecutivo",
    "cantidad": 1,
    "precio_unitario": 50000,
    "codigo_tarifa": "08",             // 08 = IVA 13%
    "tarifa": 13
  }],
  "referencia": {
    "tipo_doc": "01",                  // el original era una factura (01)
    "numero": "50624071700123456789...",   // clave de 50 dígitos de la FE
    "fecha_emision": "2026-07-15T10:12:00-06:00",
    "codigo": "01",                    // 01 = Anula documento de referencia
    "razon": "Anulación por error en el receptor"
  }
}

La respuesta es HTTP 202: recibís al instante la clave de 50 dígitos y el consecutivo de la NC, mientras la firma y el envío a Hacienda ocurren en background. Para una devolución parcial, incluís solo las líneas devueltas; el resto de la factura queda vigente.

¿Cómo lo resuelve Plaxp Invoice?

Vos declarás qué anulás y contra cuál documento; Plaxp se ocupa del resto de la mecánica de la nota de crédito:

  • Arma la clave numérica de 50 dígitos y el consecutivo de 20 de la NC (tipo 03), sin que tengas que calcularlos.
  • Recalcula el desglose de impuestos y los totales con precisión de 5 decimales antes de firmar, para que la NC cuadre y no te la rechacen por montos inconsistentes.
  • Valida el nodo de referencia (tipo, número, fecha, código y razón) y remapea un código 03 heredado al 02 de la 4.4.
  • Firma con XAdES usando tu certificado .p12 y la envía a Hacienda, con consulta automática del estado.
  • Le manda al receptor el PDF y los XML de la nota de crédito por correo, como exige la normativa.

La factura original queda enlazada

Como la NC lleva la clave de la factura en su nodo de referencia, ambos documentos quedan vinculados en el historial. Podés seguir el resultado (aceptado/rechazado) con la misma clave.

Para confirmar que Hacienda aceptó la NC, mirá . Y si te sale rechazada, el catálogo de te dice la causa. El detalle de todos los campos del payload está en la .

¿Necesitás anular o corregir facturas sin dolores de cabeza?

Te damos credenciales de sandbox y te acompañamos en la integración. Escribinos y arrancamos hoy.

Solicitar acceso a la API

Te acompañamos en la puesta en marcha · soporte rápido de gente real · fácil de usar para todo tu equipo. Somos gente ayudando gente.