Product Craft Bible
Billing & invoicing UI
Inicio SaaS y Admin Billing & invoicing UI
SaaS y Admin

Billing & invoicing UI

8 reglas Stripe Invoice Requirements · Baymard checkout transparency · Kinde developer-facing billingStripe Prorations Docs · Dodo Payments (criterio, sin fuente primaria) · Kinde prorationStripe Revenue Recovery Docs · rangos de recuperación reportados por operadores (criterio)Stripe Payment Methods Docs · PCI DSS (no almacenar PAN) · NN/g forms
129

Billing & invoicing UI

8 reglas
1142

Desglosa la factura línea por línea: subtotal, descuento, impuestos y total

El resumen de cobro debe mostrar cada componente por separado antes de que el usuario confirme el pago: subtotal antes de impuestos, línea de descuento con su código y porcentaje, impuestos desglosados por tipo y total final en negrita. Ocultar el impuesto hasta el último paso genera fricción, abandono y disputas de cargo. Alinea los montos a la derecha con tabular-nums para que la columna de cifras quede perfectamente alineada sin importar el ancho de cada digito.

Stripe Invoice Requirements · Baymard checkout transparency · Kinde developer-facing billing
Preferir
Subtotal$1,000.00
Descuento PROMO10−$100.00
IVA 16%+$144.00
Total$1,044.00 MXN
Evitar
Total$1,160.00 MXN
Sin subtotal, sin impuesto, sin descuento: el cargo aparece sin explicación.
1143

Explica el prorrateo al cambiar de plan antes de confirmar

Cuando el usuario cambia de plan a mitad de ciclo, muestra un resumen de prorrateo antes de confirmar: credito por los días no usados del plan anterior, cargo proporcional del nuevo plan por el resto del ciclo, el monto neto a cobrar hoy y la nueva renovación a partir del siguiente ciclo. Nunca cargues la diferencia sin explicarla en un modal o paso de confirmación. La transparencia previa al cambio reduce las solicitudes de reembolso por confusión de prorrateo (dato de Dodo Payments sin fuente primaria); como criterio, mostrar la matematica elimina la principal causa de disputas en upgrades.

Stripe Prorations Docs · Dodo Payments (criterio, sin fuente primaria) · Kinde proration
Preferir
Cambiar a Plan Enterprise
Credito Plan Pro (16 días)−$319.35
Plan Enterprise (16 días)+$639.48
Cargo hoy$320.13
Luego $1,199.00 / mes desde el 1 ago 2026
Evitar
¿Confirmar cambio a Plan Enterprise?
1144

Maneja el cargo fallido con un banner accionable y dunning de un clic

Cuando un cargo falla, notifica de inmediato por email y muestra un banner persistente en la UI con un CTA directo a actualizar el método de pago, sin fricción. El email de dunning lleva el nombre de la empresa en el "From:", una dirección con respuesta real y solo tres oraciones más un botón. Durante el periodo de gracia limita, no cortes, la funcionalidad avanzada. El dunning automatizado puede más que duplicar la recuperación; rangos reportados por operadores: 20-40% sin sistema vs 57-83% con sistema completo.

Stripe Revenue Recovery Docs · rangos de recuperación reportados por operadores (criterio)
Preferir
Tu pago de $499 fallo el 15 jun
Tu tarjeta terminada en 4242 fue rechazada por el banco.
Acceso completo hasta el 22 jun
Evitar
Su pago fue rechazado.
1145

Muestra el método de pago con marca y últimos 4 digitos, nunca el número completo

La tarjeta guardada se identifica con el logo de la marca, los últimos cuatro digitos y la fecha de expiración: suficiente para que el usuario reconozca cual es sin exponer datos sensibles. Nunca muestres el PAN completo ni almacenes el número en tu sistema (lo maneja el procesador vía token). Marca visualmente la tarjeta que esta por expirar y ofrece editar o eliminar cada método. Un campo de texto plano con un número parcial sin marca obliga al usuario a adivinar cual tarjeta tiene cargada.

Stripe Payment Methods Docs · PCI DSS (no almacenar PAN) · NN/g forms
Preferir
VISA
Visa •••• 4242
Expira 08/27
Default
Evitar
Tarjeta: **** 4242
1146

Historial de facturas filtrable, ordenable y descargable (individual y masivo)

El historial de facturación debe permitir filtrar por rango de fechas, estado y monto, y ordenar por cualquier columna. Cada fila lleva su enlace de descarga PDF y el sistema ofrece descarga masiva en ZIP para entregar a contabilidad de un golpe. Muestra los filtros activos como chips removibles y un botón "Limpiar filtros" para resetear en un clic. Una lista plana sin filtros ni descarga obliga al usuario a buscar factura por factura.

UX Planet data tables · UXPin filter UI · LogRocket filtering patterns
Preferir
2026 Pagada Limpiar filtros
FacturaMontoPDF
INV-2026-0041PAGADA$1,160.00
INV-2026-0040PAGADA$1,044.00
Evitar
INV-2026-0041, $1,160.00
INV-2026-0040, $1,044.00
INV-2026-0039, $599.00
1147

Declara impuesto y moneda explicitos, nunca un monto ambiguo

Todo monto cobrable debe llevar el código de moneda visible (MXN, USD) y el impuesto desglosado por tipo y porcentaje, no fundido en el total. En facturación internacional la misma cifra "1,160" significa cosas distintas en pesos y dolares; el código ISO elimina la ambiguedad. Para facturas fiscales en Mexico el IVA debe aparecer como línea propia al 16% sobre el subtotal, además de las retenciones cuando apliquen. Un total sin moneda ni desglose de impuesto invita a disputas y a errores de conciliación contable.

Stripe Tax & currency Docs · CFDI 4.0 (IVA desglosado) · ISO 4217
Preferir
Subtotal$1,000.00 MXN
IVA 16%$160.00 MXN
Total$1,160.00 MXN
Evitar
$1,160
1148

Muestra la proxima fecha y monto de cargo antes de que ocurra

El panel de suscripción debe mostrar siempre la fecha de la proxima renovación y el monto esperado del siguiente cargo en un lugar prominente, no solo en el email de confirmación. La cifra debe actualizarse en tiempo real cuando el usuario cambia de plan, aplica un descuento o agrega usuarios. El objetivo es eliminar el cargo "sorpresa", el mayor driver de disputas y chargebacks en suscripciones. Un widget que solo dice "Plan Pro $599/mes" sin fecha deja al usuario sin saber cuando ni cuanto se le cobrara.

Chargebee Next Billing Date · Stripe / Recurly subscription UI (industry standard)
Preferir
Plan ProActivo
Proximo cargo
$599.00 MXN
el 1 jul 2026
Incluye 5 usuarios · Cambia de plan
Evitar
Plan Pro, $599/mes
1149

Cancelar o bajar de plan: transparente, sin laberinto y con consecuencias claras

Cancelar o bajar de plan debe ser tan simple como suscribirse: un botón visible, sin pasos artificiales ni retenciones forzadas. Antes de confirmar, explica con claridad las consecuencias: hasta que fecha conserva el acceso pagado, que funciones pierde al downgrade y si hay credito o reembolso prorrateado. La cancelación debe respetar el ciclo ya pagado (acceso hasta el fin del periodo), no cortar de inmediato. Esconder la cancelación tras menús o exigir llamar a soporte es un dark pattern que la FTC Click-to-Cancel prohibe.

FTC Click-to-Cancel (Negative Option Rule) · NN/g cancellation flows · Stripe billing portal
Preferir
Cancelar Plan Pro
Conservas acceso completo hasta el 1 jul 2026, fin del ciclo ya pagado.
Después pasas al plan Free: pierdes reportes y API.
Evitar
¿Seguro que quieres cancelar? Llama a soporte para procesar tu cancelación.
Volver a mi cuenta