Automatización · Hacienda v4.4

¿Cómo hacer facturación masiva y recurrente en Costa Rica?

Masiva es emitir muchos comprobantes de una sola corrida; recurrente es emitir el mismo comprobante cada ciclo (mes, quincena) sin volver a digitarlo. En Costa Rica no hay un botón mágico en Hacienda: cada factura es independiente y se resuelve por software. Con la API de Plaxp tu sistema dispara cada emisión y nosotros generamos el XML v4.4, lo firmamos con XAdES y lo enviamos a Hacienda — una o mil, en línea o programadas.

¿Qué es la facturación masiva y qué es la recurrente?

Son dos cosas distintas que la gente suele juntar, y conviene separarlas porque se resuelven diferente:

  • Facturación masiva (por lotes): emitir muchos comprobantes en un mismo proceso —por ejemplo, las 300 membresías de un gimnasio el día 1 de cada mes, o el cierre de una corrida de ventas de un e-commerce.
  • Facturación recurrente: emitir el mismo comprobante de forma periódica —la cuota de un alquiler, una suscripción, un plan mensual—. Cada período genera un comprobante nuevo, aunque el contenido casi no cambie.

Lo importante: en la facturación electrónica de Costa Rica no existe un comprobante que cubra varios períodos ni una "factura recurrente" nativa en Hacienda. Cada ciclo es un nuevo, con su clave, su consecutivo y su firma. Lo que se automatiza es quién lo dispara y cuándo, no el documento fiscal en sí.

En una frase

Masiva = muchos de una vez. Recurrente = uno cada período. En ambos casos, cada comprobante sigue siendo individual para Hacienda.

¿Para qué sirve? Suscripciones, alquileres y cuotas

Este es el dolor de cualquier negocio que cobra lo mismo, a muchos, todos los meses. Hacerlo a mano —abrir el panel, digitar cliente por cliente— no escala y se presta a errores. Los casos típicos en Costa Rica:

  • Suscripciones y membresías: gimnasios, software (SaaS), clubes, streaming, academias. Una factura por suscriptor, cada ciclo de cobro.
  • Alquileres: inmobiliarias y arrendantes que emiten la factura del mes a cada inquilino. El alquiler grava IVA cuando supera el umbral que fija la ley (alrededor de 1,5 salarios base); confirmá el caso con tu contador.
  • Cuotas de crédito: una venta a plazos. Se documenta como venta a , y cada pago posterior se respalda con un .
  • Planes de servicios y mantenimientos: pólizas, contratos de soporte, iguala contable, honorarios fijos.

¿Suscripción a crédito o de contado?

Si el cliente ya pagó el ciclo (tarjeta recurrente, SINPE), la factura es de contado con su medio de pago. Si se factura y se cobra después, es crédito con plazo. No es lo mismo, y el cambia según el caso.

¿Qué dice la normativa de Costa Rica?

La normativa no regula "el lote": regula cada comprobante. Eso define cómo hay que automatizar sin meterse en problemas:

  • Cada comprobante es independiente. Lleva su clave numérica de 50 dígitos, su consecutivo de 20 dígitos y su firma XAdES-EPES propia. No hay un "documento de lote" que agrupe varios cobros.
  • El consecutivo es correlativo por sucursal, caja y tipo. En una corrida masiva no podés repetir ni saltar números: el consecutivo tiene que ir en orden dentro de cada caja.
  • La v4.4 es obligatoria desde el 1 de setiembre de 2025 (con prórroga desde junio). Un lote emitido con una versión vieja se rechaza completo.
  • El alquiler grava IVA sobre el umbral (aproximadamente 1,5 salarios base mensuales); por debajo puede estar exento. El tratamiento exacto depende del caso —confirmá con tu contador.
  • Emitir tarde o no emitir tiene sanción. Los artículos 83 y 86 del Código de Normas y Procedimientos Tributarios contemplan multas de hasta 100 salarios base y hasta cierre del negocio. Automatizar la recurrencia es, en el fondo, un control de cumplimiento.

Traducido: la máquina que dispara el lote tiene que respetar el correlativo, mandar cada comprobante en 4.4 y no dejar ciclos sin facturar. Si un comprobante del lote sale mal, aparece como y hay que corregirlo y reenviarlo — sin frenar al resto del lote.

¿Cómo lo resuelve Plaxp?

Plaxp no te obliga a esperar a Hacienda documento por documento. La API está pensada para volumen: hacés un POST por comprobante y la respuesta es HTTP 202 —te devuelve la clave y el consecutivo al instante, mientras la firma y el envío a Hacienda ocurren en background. Eso es justo lo que hace viable un lote: podés disparar cientos de emisiones en una corrida sin bloquearte esperando cada respuesta.

  • Emisión asíncrona (202): el lote no se traba. Cada llamada vuelve al toque con la clave; Plaxp firma y envía por detrás, con reintentos.
  • Consecutivo llevado por caja: Plaxp registra el correlativo por sucursal, caja y tipo, así que en la corrida no chocás ni saltás números.
  • Un endpoint para todo: el mismo /api/procesar sirve para factura (01), tiquete (04) o cualquiera de los seis comprobantes —cambiás el tipo en el body.
  • Correo automático al receptor: cada comprobante del lote se le manda al cliente con el PDF y los XML, como exige la normativa.
EJEMPLO

Ejemplo tico

Un gimnasio en San José cobra 320 membresías de ₡18.000 el día 1 de cada mes. En vez de digitar 320 facturas, un proceso recorre la lista de socios y hace un POST por cada uno; el consecutivo avanza solo. En minutos las 320 facturas están emitidas, firmadas y camino a Hacienda, y cada socio recibe su PDF por correo. El mes siguiente, el mismo proceso corre de nuevo.
cobro-recurrente.js
// El calendario (día 1 de cada mes) lo dispara TU sistema o un cron;
// Plaxp es el motor que arma, firma y envía cada comprobante.
for (const socio of membresias) {   // 320 socios
  await fetch('https://api.plaxp.com/api/procesar', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'X-API-Key': process.env.PLAXP_API_KEY,
    },
    body: JSON.stringify({
      tipo_documento: '01',           // factura electrónica
      codigo_sucursal: '001',
      codigo_caja: '001',
      consecutivo: socio.consecutivo, // correlativo por caja
      condicion_venta: '01',          // contado: la tarjeta ya cobró
      medios_pago: [{ tipo: '02', monto: 18000 }],
      receptor: {
        tipo_identificacion: '01',
        identificacion: socio.cedula,
        nombre: socio.nombre,
        correo: socio.correo,
      },
      lineas: [{
        codigo_cabys: '9311120000000',
        detalle: 'Membresía mensual gimnasio',
        cantidad: 1,
        precio_unitario: 15929.20,    // base sin IVA
        codigo_tarifa: '08',          // IVA 13%
        tarifa: 13,
      }],
    }),
  });
  // 202 → { data: { clave, consecutivo } } al instante
}

¿Es un alquiler o una venta a plazos que se cobra después? Cambiás condicion_venta a "02", agregás el plazo y quitás medios_pago: cuando el inquilino paga, ese cobro se documenta con un . Del estado de cada comprobante del lote no te preocupás: y Plaxp hace el polling contra Hacienda por vos.

El calendario lo ponés vos, la emisión la ponemos nosotros

Seamos claros: Plaxp es el motor de emisión, no un reloj. La fecha del ciclo la dispara tu ERP, tu e-commerce o un cron que llama a la API —eso también lo integramos con vos—. Otros sistemas empaquetan un calendario de recurrencia dentro de su propio panel; el enfoque de Plaxp es darte la API para que la recurrencia viva en tu sistema, con tus reglas de negocio. Si estás comparando, mirá la .

Antes de correr el lote en real, podés probarlo completo en el con credenciales de sandbox. Y todo el detalle del flujo por API está en la . ¿Venís de otro proveedor? Mirá cómo .

Automatizá tu facturación masiva y recurrente con la API de Plaxp

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.