# Compara el modo de facturación clásico y el flexible Conoce las diferencias entre los distintos modos de facturación Recomendamos usar el [modo de facturación flexible](https://docs.stripe.com/billing/subscriptions/billing-mode.md) porque ofrece un mejor comportamiento de facturación y acceso a nuevas funcionalidades. Sin embargo, cambiar a este modo puede modificar el comportamiento de tu integración. Revisa las siguientes diferencias para entender el impacto en tu integración y tomar una decisión informada. > No puedes migrar una suscripción del modo de facturación flexible al modo de facturación clásico. ## Cálculos de prorrateo de crédito Se emiten prorrateos en forma de crédito cuando los clientes reducen el nivel de sus suscripciones o cancelan items de suscripción antes de que finalice el período de facturación. El modo de facturación flexible calcula estos prorrateos en función del importe original previamente debitado al cliente. Para obtener un resumen completo de los cálculos de prorrateo de crédito, consulta [Prorrateos de crédito](https://docs.stripe.com/billing/subscriptions/prorations.md#credit-prorations). | **Clásica** | **Flexible** | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Cuando una actualización de una suscripción genera un prorrateo en forma de crédito, los importes de dicho prorrateo se calculan según el valor del precio establecido en el item de suscripción, los impuestos, la cantidad y los últimos descuentos aplicados. | Cuando una actualización de una suscripción genera un prorrateo a favor, este se calcula en función del importe debitado originalmente, en lugar de los valores actuales de la suscripción. Si el período que se acredita se facturó originalmente en varios débitos, Stripe genera múltiples prorrateos a favor: uno por cada débito original correspondiente. | ### Aplicación de descuento proporcional para prorrateos Aplicamos los descuentos de manera proporcional a cada item de suscripción durante los [cálculos de prorrateo](https://docs.stripe.com/billing/subscriptions/prorations.md#prorrates-and-discounts) en lugar de distribuirlos de forma uniforme. Esto genera más prorrateos, especialmente al facturar por item o al cancelar items con descuentos distribuidos de manera desigual. | **Clásica** | **Flexible** | | -------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | | Distribuimos los descuentos de manera uniforme entre todos los ítems de suscripciones. | Aplicamos descuentos proporcionalmente a cada ítem de suscripción durante los cálculos de prorrateo. | ## Tarifas por consumo ### Suprimir partidas de importe cero al agregar items basados en el consumo El modo de facturación flexible no crea partidas con importe cero cuando se agregan items basados en el consumo a una suscripción. Si como resultado la factura queda vacía, no se genera ninguna. Por ejemplo, al agregar un item mensual basado en el consumo durante la creación o actualización de una suscripción: | **Clásica** | **Flexible** | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | | Se genera una partida en la factura por un importe de 0 USD para el item basado en el uso. Esto también aplica al actualizar una suscripción sin renovar el ciclo para agregar un item basado en el consumo cuando se usa `proration_behavior=always_invoice`. | No se agrega una partida de 0 USD a la factura por el item basado en el consumo. Si la factura resultante no contiene ninguna partida, no se genera. | Sin embargo, esto no se aplica a las facturas generadas durante el ciclo. Todos los ítems basados en el consumo aparecerán en la factura, incluidas las partidas de 0 USD. ### Facturar los items basados en el consumo según el precio en el momento del reporte. Los cargos del modo de facturación flexible por el consumo según el precio que estaba en vigor cuando se informó el consumo, en lugar del precio más reciente. Por ejemplo: 1. Inicialmente, el precio es por cada 100 llamadas API (Precio A) 1. Consumo del 5 de enero: 1000 llamadas API 1. El 15 de enero, el precio cambia a por cada 100 llamadas (Precio B). 1. Consumo al 20 de enero: 500 llamadas API | **Clásica** | **Flexible** | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Stripe solo factura el consumo que se informó desde el cambio al precio actual. - 500 llamadas API al Precio B (0.15 USD por 100 llamadas) = 0.75 USD Importe total de la factura = 0.75 USD. | Stripe factura todo consumo del período actual al precio vigente en el momento en que se informa. - 1000 llamadas API al Precio A (0.1 USD por 100 llamadas) = 1 USD - 500 llamadas API al Precio B (0.15 USD por 100 llamadas) = 0.75 USD Importe total de la factura = 1.75 USD. | ### Facturar el uso no facturado al eliminar items basados en el consumo Según el valor de `proration_behavior`, el modo de facturación flexible puede generar una partida de factura por el uso no facturado al eliminar un elemento de suscripción basado en uso. Esto aplica tanto a eliminaciones realizadas mediante la API como a transiciones de fase programadas que ocurren a mitad de período. En los casos en que la transición de fase coincida con el `current_period_end` de cualquier elemento de suscripción, se crea una factura con una partida individual de factura correspondiente al elemento de suscripción basado en uso que se eliminó. | **Situación hipotética** | **Clásica** | **Flexible** | | ---------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Actualizar suscripción o calendario con la API | No se genera ninguna partida de factura o factura por el uso no facturado al eliminar un item de suscripción establecido en el consumo. | Se genera una partida de factura por el uso no facturado al eliminar un item de suscripción establecido en el consumo. | | Programar transición de fase | Se genera una factura (pero no una partida de factura) por el uso no facturado al eliminar un item de suscripción establecido en el consumo. | Según el `proration_behavior` de la fase entrante: - `create_prorations`: se crea una partida de factura por el uso no facturado al eliminar un item de suscripción establecido en el consumo. - `always_invoice`: se crea una partida de factura para uso no facturado y se factura inmediatamente. - `none`: no se crea ninguna partida de factura. | ### Restablecer la delimitación del ciclo de facturación El modo de facturación flexible solo restablece la [delimitación del ciclo de facturación](https://docs.stripe.com/billing/subscriptions/billing-cycle.md) en las actualizaciones de las suscripciones cuando estableces `billing_cycle_anchor` explícitamente en un valor distinto de `unchanged`. | Clásica | Flexible | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- | | El `billing_cycle_anchor` se reinicia automáticamente a la fecha actual cuando cambiás una suscripción a un precio con un intervalo de cobro distinto, cuando pasás de precios en cero a precios con costo, o cuando movés el [cancel_at](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-cancel_at)a una fecha anterior a la próxima renovación de la suscripción. | El `billing_cycle_anchor` nunca se restablece automáticamente. | ### Facturación consolidada para las transiciones de fase en el calendario de suscripciones con items basados en el consumo. El modo de facturación flexible genera de manera constante una sola factura cuando se renueva una suscripción. Este cambio elimina las facturas separadas de los ítems basados en el consumo que se hayan eliminado y mejora la coherencia en la facturación. Cuando tu suscripción con items basados en el consumo pasa de una fase a otra: | **Clásica** | **Flexible** | | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Se generan dos facturas. | Se genera una única factura consolidada. Esta factura incluye tanto items establecidos en el consumo como items con licencia, aplica los descuentos de la fase anterior al modelo de cobro por consumo y utiliza las tasas impositivas de la siguiente fase. | ## Cancelación de suscripción programada ### Cancelaciones en el portal de clientes Cuando un cliente programa una cancelación a través del [portal de clientes](https://docs.stripe.com/customer-management/cancellation-page.md), el modo de facturación flexible utiliza `cancel_at` directamente en lugar de `cancel_at_period_end`. Para obtener más información sobre las diferencias entre `cancel_at` y `cancel_at_period_end`, consulta [el registro de cambios](https://docs.stripe.com/changelog/basil/2025-07-30/cancel-at-enums.md). | **Clásica** | **Flexible** | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `cancel_at_period_end` se establece como `verdadero` y `cancel_at` se establece como la marca de tiempo `current_period_end`. Debido a que `cancel_at_period_end` es `verdadero`, `cancel_at` se actualiza cada vez que `current_period_end` cambia. | `cancel_at_period_end` se establece como `falso` y `cancel_at` como el `current_period_end` máximo para todas los artículos de suscripción. Cuando cambia `current_period_end` en un artículo, no se actualiza la fecha de cancelación (`cancel_at`). | ### Excluidos los prorrateos para el primer período de facturación truncado El modo de facturación flexible te permite desactivar los prorrateos en un primer período de facturación reducido (cuando configurás `cancel_at` durante la creación) utilizando el parámetro `proration_behavior` establecido como `none`. | **Clásica** | **Flexible** | | ----------------------------------------------------------- | -------------------------------------------------------------- | | Los prorrateos se aplican al primer período de facturación. | Los prorrateos no se aplican al primer período de facturación. | ## Suscripciones con fechas pasadas Cuando la [antedata](https://docs.stripe.com/billing/subscriptions/backdating.md) es coherente con la facturación regular, el modo de facturación flexible crea partidas individuales de facturas para cada período de facturación dentro del rango antedatado. También alinea de forma automática el anclaje del ciclo de facturación con `backdate_start_date` cuando no se establece explícitamente. No se admite la antedata si la factura resultante contiene más de 250 partidas. Por ejemplo, una suscripción debe tener una fecha anterior debido a que falta una factura de los dos últimos dos períodos de facturación. Al cliente se le facturaron dos períodos con fecha anterior diferentes: - Período de facturación 1 (del 1 al 31 de marzo): - Consumo informado: Se usaron 100 GB de almacenamiento. - Precio: 10 USD por 10 GB. Período de facturación 2 (del 1 al 30 de abril): - Consumo informado: Se utilizan 150 GB de almacenamiento. - Precio: 10 USD por 10 GB. El proveedor de servicios decide antedatar la factura para cubrir ambos períodos de facturación: del 1 de marzo al 30 de abril. | Clásica | Flexible | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Los cargos de todo el período antedatado se calculan de manera conjunta como una sola partida. Cargos totales: - 250 GB = 25 x 10 USD = 250 USD - Este importe aparece como una sola partida en la factura. | Los intervalos de tiempo antedatados se dividen en varias partidas individuales de factura según los límites del período de facturación. Total de cargos: - Período de facturación 1 (marzo): - 100 GB = 10 x 10 USD = 100 USD (como partida separada). - Período de facturación 2 (abril): - 150 GB = 15 x 10 USD = 150 USD (como partida separada). | ## Versiones de prueba ### Actualiza la fecha de inicio de la prueba para las pruebas posteriores El modo de facturación flexible utiliza la fecha de inicio de prueba más reciente para las suscripciones con pruebas posteriores. Por ejemplo, cuando tienes: - Período de prueba del 1 de enero al 1 de febrero - Período normal de facturación del 1 de febrero al 1 de marzo - Período de prueba del 1 de marzo al 1 de abril | **Clásica** | **Flexible** | | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | | El `subscription.trial_start` siempre se refiere a la primera prueba que comenzó una suscripción. | El `subscription.trial_start` se refiere al inicio de la prueba más reciente de una suscripción. | ### Conservar la fecha de finalización de la prueba original cuando se cancela la suscripción El modo de facturación flexible conserva el `trial_end` si modificas la fecha `cancel_at`. | Clásica | Flexible | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Establecer `cancel_at` en una fecha anterior a `trial_end` cambia automáticamente `trial_end` para que coincida con `cancel_at`. Sin embargo, eliminar `cancel_at` o cambiarlo a una fecha posterior a `trial_end` no modifica automáticamente `trial_end`, incluso si originalmente `trial_end` era una fecha posterior. | Programar la cancelación de una suscripción con `cancel_at` ya no altera la fecha `trial_end`. Esto garantiza que las pruebas se ejecuten durante la el periodo previsto, independientemente de las actualizaciones de la fecha de cancelación. | ### Estandariza la descripción de la partida del período de prueba El modo de facturación flexible utiliza un formato de descripción coherente para los items establecidos en el consumo y con licencia durante los períodos de prueba. Por ejemplo, cuando tienes una suscripción mensual de café (con licencia) y una suscripción `hypernian_tokens` (establecida en el consumo), la descripción de la suscripción se muestra de la siguiente manera: | **Clásica** | **Flexible** | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Los artículos con licencia usan la plantilla `Trial period for {product name}`, mientras que los ítems basados en el consumo usan `{quantity} x {product name} (Free trial)`. - Para los ítems con licencia: - `Trial period for monthly coffee subscription` - Para items basados en el consumo: - `10 x monthly hypernian_tokens (Free trial)` | El mismo formato, `Free trial for {quantity} x {product name}`, se aplica a todos los tipos de ítems, lo que proporciona una presentación más uniforme de la información de la prueba. Estas descripciones también están localizadas. - Para los ítems con licencia: - `Free trial for 1 x monthly coffee subscription` - Para items basados en el consumo: - `Free trial for 10 x monthly hypernian_tokens subscription` | ### Volver a facturar las partidas correspondientes al período de prueba El modo de facturación flexible solo genera partidas por los cambios realizados durante una prueba. Las partidas existentes sin cambios no se vuelven a facturar. Por ejemplo, cuando haces una actualización para agregar otro elemento de prueba `price_b` a una suscripción en período de prueba con `price_a`: | Clásica | Flexible | | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Los cambios realizados durante una prueba dan lugar a que no se genere ninguna factura o a una factura que reformule todo el estado de la suscripción. | Los cambios durante un período de prueba generan partidas en la factura de forma consistente, igual que los cambios fuera de la prueba. Por ejemplo, si se agrega un precio nuevo a la suscripción, también se agrega una partida que representa ese precio. | ## Items de factura pendientes ### Incluir de manera coherente las partidas de factura pendientes El modo de facturación flexible incluye todas las partidas de factura pendientes disponibles en las facturas generadas por un restablecimiento de delimitación del ciclo de facturación, donde `proration_behavior = always_invoice`. | **Clásica** | **Flexible** | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------- | | Las facturas que se generan cuando se reinicia el anclaje del ciclo de facturación solo incluyen los ítems pendientes si el `proration behavior` no es `always_invoice`. | Las partidas de factura pendientes siempre se incluyen en todas las facturas que genera una suscripción. | ## Intervalos combinados en la misma suscripción El modo de facturación flexible te permite crear [suscripciones con intervalos mixtos](https://docs.stripe.com/billing/subscriptions/mixed-interval.md), que pueden cobrar varios precios recurrentes con distintos intervalos. Eso te permite combinar diferentes estructuras de precios dentro de una misma suscripción. | **Clásica** | **Flexible** | | -------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | No aceptado. Todos los ítems de una suscripción deben tener precios con el mismo intervalo y recuento de intervalos. | En una [suscripción con intervalos mixtos](https://docs.stripe.com/billing/subscriptions/mixed-interval.md) los ítems pueden tener precios recurrentes con distintos intervalos o cantidades de intervalos. Por ejemplo, una suscripción puede tener un precio mensual y otro anual al mismo tiempo. |