Facturación cripto para SaaS B2B
Cómo permitir que clientes B2B paguen facturas SaaS en cripto: cuándo crear el pago, cómo conciliar y manejar pagos insuficientes, renovaciones y reembolsos.

Algunos clientes B2B quieren pagar tus facturas en cripto: equipos internacionales, empresas con fricción bancaria, empresas nativas de cripto. Atenderlos no es difícil, pero las facturas se comportan distinto del checkout de una tienda, y unas pocas decisiones de diseño determinan si tu equipo financiero lo disfruta o lo detesta. Esta guía cubre esas decisiones.
Por qué una empresa SaaS ofrece facturación cripto
La cripto rara vez es la forma principal en que cobra una empresa SaaS, y no tiene por qué serlo. Es útil como opción adicional cuando:
- los clientes están en países donde las tarjetas o las transferencias bancarias son lentas, caras o poco fiables;
- el comprador es una empresa nativa de cripto que ya paga a sus proveedores en stablecoins;
- quieres pagos que no dependan del horario bancario y que no puedan devolverse por contracargo.
Mantén las tarjetas y las transferencias bancarias para todos los demás. La cripto es una fila más en la lista de «cómo pagar» de tu factura.
En qué se diferencia una factura de un checkout
El checkout de una tienda crea el pago en el momento de la compra. Una factura se emite primero y se paga días o semanas después, a menudo por un equipo financiero que sigue un proceso interno. Eso cambia varias cosas:
- El importe se fija en dólares, no en monedas. Cotizas la factura en dólares; el pagador envía el equivalente en el activo que use.
- El tipo de cambio no puede mantenerse semanas. Con Qvard el tipo queda fijado durante una hora desde que se crea el pago. Un tipo fijado al emitir la factura estaría muy desfasado cuando se pague.
- Hay una referencia. Los equipos financieros necesitan un número de factura en cada pago para poder conciliar.
- Los pagadores siguen flujos de aprobación. Pueden pagar en partes o con retraso, así que necesitas reglas claras para los pagos parciales.
Crea el pago cuando el cliente esté listo para pagar
La decisión de diseño clave: no crees el pago cripto al emitir la factura. Créalo cuando el cliente decida pagar.
Pon un botón «Pagar con cripto» en la página de la factura. Cuando el cliente lo pulsa, tu backend crea un pago con el número de factura como id y el importe adeudado en dólares, y luego redirige al cliente a la página de pago. El tipo queda entonces fijado durante la hora siguiente, que es justo la ventana que el cliente necesita para enviar la transferencia.
Usar el número de factura como id tiene dos ventajas. Si el cliente pulsa dos veces o tu solicitud se reintenta, Qvard devuelve el pago existente para el mismo id y método de pago en lugar de crear un duplicado. Y el webhook que informa del resultado lleva el mismo id, así que encuentras la factura sin tabla de equivalencias.
// Runs when the customer clicks "Pay with crypto" on invoice INV-2026-0142,
// not when the invoice is issued: the exchange rate is fixed for one hour.
async function payInvoiceWithCrypto(invoice) {
const res = await fetch('https://api.qvard.com/api/v1/payment', {
method: 'POST',
headers: { Authorization: 'Bearer ' + process.env.QVARD_API_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({
id: invoice.number, // "INV-2026-0142": clicking twice returns the same payment
price: invoice.amountUsd // amount due, in US dollars
})
});
if (!res.ok) throw new Error('Qvard ' + res.status);
return (await res.json()).redirectUrl; // open this payment page for the customer
}Concilia con el webhook
Cuando el pago se completa, Qvard envía un webhook a tu servidor con el id (tu número de factura) y el estado. Tu manejador marca la factura como pagada y registra la transacción. Tres hábitos lo mantienen fiable:
- Comprueba la firma en el encabezado
X-Qvard-Signatureque acompaña al webhook (HMAC-SHA256 con tu clave secreta) y rechaza las que no coincidan. - Responde con exactamente HTTP 200; de lo contrario la notificación se reintenta, hasta cinco intentos en unos seis minutos.
- Haz el manejador idempotente, de modo que un evento repetido no registre el pago dos veces.
El webhook informa del pago, no de la factura, así que guarda junto a la factura el id del pago, la fecha y el estado. Así tus contadores tienen una línea por pago para cotejar con el extracto que esperan. El manejador completo está en cómo aceptar pagos cripto en un sitio web.
Pagos insuficientes y comisiones de exchange
La incidencia de soporte más habitual en la facturación cripto es el pago insuficiente. El pagador envía algo menos de lo necesario y la factura no queda pagada. Motivos típicos:
- el cliente pagó desde una cuenta de exchange y el exchange descontó su comisión de retiro del importe enviado;
- el cliente redondeó el importe;
- el cliente envió la transferencia en dos partes.
Un pago insuficiente aparece con el estado partial. Define tu política de antemano y escríbela en la factura: o bien la factura sigue abierta hasta que llegue la diferencia, o aceptas pagos dentro de una pequeña tolerancia. Haz que la página de la factura indique lo recibido y lo que falta, para que el cliente pueda completar sin escribir a soporte.
Un consejo que puedes imprimir en la factura: si pagas desde un exchange, suma al importe la comisión de retiro.
Renovaciones y suscripciones
Con tarjeta, una suscripción cobra al cliente automáticamente. Un pago cripto es distinto: el cliente envía la transferencia él mismo cada vez, así que una renovación no puede «extraerse» de su billetera.
El patrón práctico es emitir la factura de renovación como siempre y enviar al cliente un enlace para pagarla, con el mismo botón y la misma creación de pago que en una primera factura. Qvard crea un pago por cada solicitud que envías; la facturación recurrente la gestiona tu propio sistema de facturación, que crea un pago nuevo por periodo. Recuerda al cliente antes del vencimiento y, si ofreces un descuento por plan anual pagado en cripto, hazlo visible en la factura.
Reembolsos y notas de crédito
Una transferencia cripto confirmada es definitiva, así que un reembolso es una nueva transferencia tuya al cliente. Acuerda la dirección con el cliente por escrito, ya que una transferencia a una dirección equivocada no se puede recuperar. La API de Qvard incluye una llamada de pago (payout) para enviar fondos de tu saldo a una dirección, con tu propio id para que un reintento no envíe el dinero dos veces; también puedes retirar manualmente desde el panel.
Registra el reembolso contra la factura original y emite la nota de crédito habitual, para que tus libros cuenten la misma historia que la blockchain.
Lista para contabilidad
Pregunta a tu contador por los puntos que dependen de tu país y prepara los datos que necesitará:
- número de factura,
iddel pago, fecha, importe en dólares y el activo y la red usados; - cómo registras el cobro y cualquier conversión a fiat;
- cómo se trata la comisión de red pagada por el cliente;
- cómo y cuándo retiras a tu billetera.
Esto es información general, no asesoramiento fiscal ni jurídico.
Dónde encaja Qvard
Qvard es una pasarela de pagos cripto custodial: creas un pago mediante la API, el cliente paga en una página de pago alojada en USDT o USDC en las redes principales (o en BTC o LTC), y el estado final llega a tu servidor por webhook. Los fondos se acreditan en tu saldo de comerciante y los retiras a tu billetera. Para equipos SaaS en concreto, mira pagos cripto para SaaS; para lo básico, qué es una pasarela de pagos cripto.
FAQ
¿Puedo emitir facturas en cripto en lugar de dólares?
Emites la factura en dólares estadounidenses y el pagador envía el equivalente en el activo que elija. Así tus precios son estables y tu contabilidad queda en una sola moneda.
¿Cuánto tiempo es válido el tipo de cambio?
Con Qvard el tipo queda fijado durante una hora desde que se crea el pago. Crea el pago cuando el cliente esté listo para pagar, no cuando emites la factura.
¿Qué pasa si el cliente paga menos que la factura?
El pago aparece con el estado partial. Puedes mantener la factura abierta hasta que llegue la diferencia o aceptarlo dentro de una tolerancia que definas; indica la regla en la factura.
¿Puedo cobrar una suscripción automáticamente?
No. Un pago cripto lo envía el cliente, así que no se puede cargar automáticamente a una billetera. Tu sistema de facturación emite cada renovación y envía al cliente un enlace de pago.


