Facturación electrónica de Hacienda, en una llamada a la API.
El mismo motor que emite los comprobantes de Astra. FE 4.4, los 7 tipos, webhooks, PDF y archivo fiscal de 5 años.
{ "document": { "document_type": "01", "branch": "001" }, "commercial_info": { "currency": "CRC", "payment_method": "06" }, "issuer": { "type": "02", "id": "3101654321", "name": "Ferretería La Sabana S.A." }, "receiver": { "type": "01", "id": "109870654", "name": "Laura Jiménez Mora", "email": "laura.jimenez@example.com" }, "items": [{ "cabys_code": "4423201000100", "description": "Taladro percutor 750 W", "quantity": 1, "unit": "Unid", "price": 42500, "tax": { "type": "01", "rate_code": "08", "rate": 13 } }], "delivery": { "email": true }}
{ "success": true, "data": { "document_key": "50608102600310165432100100001010000001042147201936", "consecutive_number": "00100001010000001042", "document_type": "01", "status": "processing", "environment": "staging" }}
- Validación FE 4.4 · 5 fases0.4 ms
- XML armado71 µs
- Firmado XAdES-EPES6 ms
- Enviado a Hacienda412 ms
1<?xml version="1.0" encoding="UTF-8"?>2<FacturaElectronica xmlns="https://cdn.comprobanteselectronicos.go.cr/xml-schemas/v4.4/facturaElectronica">3 <Clave>50608102600310165432100100001010000001042147201936</Clave>4 <ProveedorSistemas>3101000000</ProveedorSistemas>5 <CodigoActividadEmisor>475201</CodigoActividadEmisor>6 <NumeroConsecutivo>00100001010000001042</NumeroConsecutivo>7 <FechaEmision>2026-10-08T10:42:07-06:00</FechaEmision>8 <Emisor>9 <Nombre>Ferretería La Sabana S.A.</Nombre>10 <Identificacion><Tipo>02</Tipo><Numero>3101654321</Numero></Identificacion>11 </Emisor>12 <DetalleServicio>13 <LineaDetalle>14 <NumeroLinea>1</NumeroLinea>15 <CodigoCABYS>4423201000100</CodigoCABYS>16 <Cantidad>1</Cantidad>17 <UnidadMedida>Unid</UnidadMedida>18 <Detalle>Taladro percutor 750 W</Detalle>19 <PrecioUnitario>42500.00000</PrecioUnitario>20 <BaseImponible>42500.00000</BaseImponible>21 <Impuesto><Codigo>01</Codigo><CodigoTarifaIVA>08</CodigoTarifaIVA><Tarifa>13</Tarifa><Monto>5525.00000</Monto></Impuesto>22 <MontoTotalLinea>48025.00000</MontoTotalLinea>23 </LineaDetalle>24 </DetalleServicio>25 <ResumenFactura>26 <MedioPago><TipoMedioPago>06</TipoMedioPago></MedioPago>27 <TotalImpuesto>5525.00000</TotalImpuesto>28 <TotalComprobante>48025.00000</TotalComprobante>29 </ResumenFactura>30 <ds:Signature Id="id-7f3c1e2a" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">31 <ds:SignedInfo>32 <ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>33 <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>34 </ds:SignedInfo>35 <ds:SignatureValue>kQ3v9yT0b1m…Xr8=</ds:SignatureValue>36 <ds:Object>37 <xades:QualifyingProperties Target="#id-7f3c1e2a">38 <xades:SignedProperties Id="xades-id-7f3c1e2a">39 <xades:SigningTime>2026-10-08T10:42:07-06:00</xades:SigningTime>40 <xades:SignaturePolicyIdentifier>…</xades:SignaturePolicyIdentifier>41 </xades:SignedProperties>42 </xades:QualifyingProperties>43 </ds:Object>44 </ds:Signature>45</FacturaElectronica>
- Recibido · POST /electronic-documents · 20110:42:07.112
- Firmado · XAdES-EPES · 6 ms10:42:07.118
- Enviado a Hacienda · recepción 20210:42:07.540
- Respuesta de Hacienda · aceptado · callback10:42:09.874
- Webhook entregado · document.accepted · 200 OK · 84 ms10:42:09.958
- Correo enviado · XML + PDF a laura.jimenez@example.com10:42:10.402
Los siete comprobantes de la versión 4.4, más el Mensaje Receptor.
Emití sin pelearte con el XML
Mandás JSON; Aster valida, arma, firma y envía. Las reglas de la 4.4 se revisan antes de firmar, así los rechazos de Hacienda se quedan en tus pruebas y no en tus clientes.
Tu primera factura en minutos. Una llave de prueba, un POST y el veredicto de Hacienda staging o del sandbox simulado.
$ curl $ASTER_API/electronic-documents \-H "Authorization: Bearer $ASTER_KEY" \-H "X-Idempotency-Key: pedido-1042" \-d @factura.json201 processing · 50608102600310…✓ aceptado en 2.3 s$Errores de Hacienda, atrapados antes de enviar. Totales, CABYS, referencias de notas y tarifas se validan en cinco fases. Recibís el campo exacto y el código que Hacienda habría devuelto.
POSpos-caja-02 envió POST /electronic-documents···Nota de crédito 0000000087 que referencia la factura 0000001042validación · 5 fases · 0.4 ms422Aster respondió 422 validation_error···items[1].cabys_code — El CABYS 4292199990200 no aparece en el documento referenciado. -509
totals.total — La nota (₡61 020,00) supera el total de la factura (₡48 025,00). -512
Los 7 comprobantes. Factura, tiquete, notas de crédito y débito, compra, exportación y recibo electrónico de pago.
Catálogos incluidos. CABYS, partidas arancelarias, provincias hasta barrios y contribuyentes, en endpoints públicos.
Tipo de cambio del BCCR y de cada banco. Con histórico desde 2012 para facturar en dólares.
Menos de medio segundo de tu sistema a Hacienda
Mediana de 0,46 s en producción real, desde que llega tu solicitud hasta que el comprobante queda validado, firmado, guardado y en cola hacia Hacienda. Medido en los últimos 30 días sobre cerca de 1 000 comprobantes reales.
Medido en producción, no en un laboratorio. La mitad de los comprobantes sale en menos de 0,46 s, el 90 % en menos de 0,66 s y el 95 % en menos de 0,74 s. Los Mensajes Receptor, en 0,45 s.
En ese tiempo revisamos todo lo que Hacienda rechaza: las 5 fases de validación, el CABYS y la tarifa de IVA de cada línea, los totales, la cédula del receptor contra el registro de Hacienda y su actividad económica. Si algo falla, te respondemos con el campo exacto antes de que Hacienda vea el comprobante, sin idas y vueltas por un error de digitación.
Cada veredicto, sin tener que preguntar
Webhooks firmados, reintentos y una cola que no pierde nada. Si Hacienda no responde, Aster guarda el comprobante y lo reenvía solo cuando vuelve.
Hacienda caída no es tu problema. Los comprobantes quedan en cola y se reenvían solos, sin límite de intentos. Te avisamos con
document.queuedy después con el veredicto.Webhooks firmados con HMAC-SHA256. Aceptado, rechazado o en cola: cada cambio llega a tu URL, con reintentos e historial de entregas.
Aceptá o rechazá lo que te facturan. Mensaje Receptor total, parcial o rechazo, guardado junto al XML del proveedor y la respuesta de Hacienda.
Seguridad sin configurar nada. PIN y credenciales cifrados, webhooks solo a HTTPS público y llaves separadas para pruebas y producción. Ver seguridad.
Cinco años de XML, sin un disco duro en la oficina
La ley le pide al emisor guardar sus comprobantes cinco años. Todos los planes guardan 90 días con descarga completa; Archeion guarda los cinco años: incluido desde Escala, o US$5 por empresa al mes en Inicial y Crecimiento.
Archeion guarda el XML firmado, la respuesta de Hacienda y el PDF de cada comprobante durante cinco años.
Buscá por período o por clave y descargá cualquier archivo en segundos, desde el portal o por API.
Importá el historial de tu proveedor anterior y exportá todo en un ZIP cuando lo necesités.
Un emisor o quinientos, la misma integración. Para ERPs, puntos de venta y despachos contables.
- Una llave de cuenta para crear emisores por API
- Llaves, certificado .p12 y credenciales ATV por contribuyente
- 25 000 comprobantes compartidos y US$2 por emisor activo
- Integración a la medida desde US$500, si preferís que lo hagamos nosotros
Construido por el equipo de Astra
Aster no es un prototipo. Es el motor que factura todos los días para los negocios que usan Astra, con miles de comprobantes aceptados por Hacienda.
El mismo motor firma los comprobantes de Astra y los de tu aplicación. Cuando Hacienda cambia algo, lo arreglamos una vez para todos.
Estado de Hacienda en vivo y público, para saber en segundos si el problema es tuyo o de Hacienda.
Validar, armar y firmar toma unos 6 ms por comprobante; con las consultas al registro y el guardado, el recorrido completo queda en menos de medio segundo. El resto es Hacienda.
Precios que crecen con tus comprobantes
Empezá gratis en Sandbox y pasá a producción desde US$19 al mes. Todos los planes incluyen los 7 comprobantes, webhooks, PDF y correo. Mejorá de plan o agregá un paquete en cualquier momento.
Lo que Hacienda cambió, ya está resuelto
Cada cambio de reglas llega a todos los clientes el mismo día, sin que tengás que tocar tu integración.
Códigos de referencia 13 a 17 de la Nota 9: anulación y corrección por error material, sustitución de rechazados y pago a comprobante.
Tipos de documento de referencia 19 y 20: factura electrónica de exportación y recibo electrónico de pago.
IVA devuelto en servicios de salud: CABYS 93 al 4 %, pago con tarjeta y monto máximo, validados antes de firmar.
Cédulas jurídicas alfanuméricas del Registro Nacional en validaciones, claves y búsquedas.
Recibo electrónico de pago y las tarifas de IVA 0,5 %, exenta y 0 % sin derecho a crédito de la versión 4.4.
-509: cada CABYS de una nota de crédito o débito se compara con el comprobante original antes de enviarla.
-512: una nota de crédito nunca supera el total de la factura que corrige.
CABYS exentos con tarifa 10, no con otra tarifa 0 %, para evitar los rechazos -107, -483 y -485.
Consecutivos únicos por ambiente: un consecutivo que llegó a Hacienda, aceptado o rechazado, nunca se reutiliza.
Código de referencia 99 con su descripción obligatoria, para no recibir el rechazo -491.
Todo lo que necesitás saber sobre Aster
¿Necesito la llave criptográfica (.p12) para empezar?
No para probar. Con una llave aster_test_ y sin certificado, el sandbox firma con un certificado de plataforma y devuelve un veredicto simulado. Para producción subís el .p12 que generás en ATV, su PIN y tus credenciales ATV; quedan cifrados con AES-256-GCM. La cédula del certificado debe coincidir con la del emisor.
¿Cuál es la diferencia entre pruebas y producción?
Las llaves aster_test_ envían al ambiente de pruebas de Hacienda (o al sandbox simulado) y no cuentan para tu plan. Las llaves aster_live_ envían a producción y requieren un plan pagado. Certificados y consecutivos son independientes por ambiente. Ver ambientes.
¿Qué pasa si Hacienda está caído?
Aster valida y firma igual, y deja el comprobante en cola (document.queued). Cuando Hacienda vuelve, lo reenvía automáticamente, sin límite de intentos, y te avisa el veredicto por webhook. El estado en vivo está en /haciendastatus.
¿Cuánto tiempo guardan mis comprobantes?
Todos los planes guardan el XML firmado, la respuesta de Hacienda y el PDF durante 90 días, con descarga completa en ZIP. La obligación de conservarlos cinco años es del emisor (art. 109 del CNPT); Archeion lo hace por vos: viene incluido en Escala, Plataforma y Empresa, y en Inicial y Crecimiento cuesta US$5 por empresa al mes.
¿AstraNexo está registrado como proveedor de sistemas?
Sí. AstraNexo está declarado ante la Dirección General de Tributación como proveedor de sistemas, y Aster completa ProveedorSistemas por vos. Si tu empresa ya es proveedor registrado, podés enviar tu propia cédula.
¿Los precios incluyen IVA?
Los precios están en dólares y no incluyen IVA. A clientes en Costa Rica se les suma el 13 %, y cada pago genera una factura electrónica de AstraNexo, emitida con Aster, para que podás acreditar ese IVA.
¿Qué cuenta como un comprobante?
Cada comprobante de producción con veredicto final de Hacienda, aceptado o rechazado. Un Mensaje Receptor cuenta como medio comprobante. Las pruebas, los reintentos y lo que nunca llegó a Hacienda no cuentan.
¿Qué pasa si uso todos los comprobantes del mes?
Te avisamos por correo al 80 % y al 100 %. Mejorá de plan o agregá un paquete en cualquier momento desde el portal; el cambio aplica en menos de un minuto.
¿Cómo migro desde otro proveedor?
Mantenés tu numeración: enviá tus propios consecutivos o indicá el siguiente número. Reutilizás tu certificado y tus credenciales ATV, probás en paralelo con llaves de prueba e importás tu historial de XML a Archeion. Guía de migración.
¿Puedo emitir para varios contribuyentes?
Sí. Crecimiento incluye 10 emisores, Escala 50 y Plataforma los que necesités. Cada emisor tiene sus propias llaves, su certificado y su numeración. Ver Plataforma.
¿Tienen SDK?
La API es REST con JSON y una especificación OpenAPI, así que funciona desde cualquier lenguaje. La documentación trae ejemplos completos en curl, Node.js, PHP y Python, y una referencia interactiva.
¿Listo para emitir?
Gratis para empezar, sin tarjeta. Pasá a producción cuando tu integración esté lista.