# Configurar la fecha de renovación de la facturación de la suscripción Las suscripciones se facturan conforme a un ciclo. Aprende a establecer la fecha de facturación. Si tu plataforma Connect usa [Cuentas configuradas por clientes](https://docs.stripe.com/api/v2/core/accounts/create.md#v2_create_accounts-configuration-customer), usa nuestra [guía](https://docs.stripe.com/connect/use-accounts-as-customers.md) para reemplazar las referencias de `Clientes` y eventos en tu código con las referencias de la API Accounts v2 equivalentes. El período de facturación de una suscripción depende de dos factores: - El intervalo recurrente del [precio](https://docs.stripe.com/products-prices/overview.md) o de los precios (mensuales, anuales, semanales, etc.). - La [delimitación del ciclo de facturación](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-billing_cycle_anchor) es el punto de referencia que alinea las fechas de los futuros períodos de facturación. Configura el día de la semana de los intervalos de `week`, el día del mes para los intervalos de `month` y de `year` y el mes del año para los intervalos de `year`. El valor predeterminado es la fecha de creación de la suscripción o la fecha de finalización de la prueba (si estás usando un período de prueba). También puedes establecer explícitamente este valor en el momento de crear la suscripción. > Los delimitadores del ciclo de facturación son marcas temporales UNIX expresadas en segundos desde el punto de partida del sistema. Los siguientes son ejemplos de suscripciones mensuales con diferentes períodos facturación: - Una suscripción mensual con una fecha de delimitación del ciclo de facturación establecida para el 2 de septiembre siempre se factura el segundo día del mes. - Una suscripción mensual con fecha de delimitación del ciclo de facturación establecida para el 31 de enero se factura el último día del mes más cercano a la fecha de delimitación; por ejemplo, el 28 de febrero (o el 29 de febrero en un año bisiesto); el 31 de marzo; el 30 de abril, etc. - Una suscripción semanal con una fecha de delimitación del ciclo de facturación establecida para el viernes 3 de junio se factura todos los viernes subsiguientes a partir de entonces. Los períodos de facturación completos comienzan en la primera fecha de *facturación* (Invoices are statements of amounts owed by a customer. They track the status of payments from draft through paid or otherwise finalized. Subscriptions automatically generate invoices, or you can manually create a one-off invoice) completa, que suele ser la misma que la delimitación del ciclo de facturación y siempre está alineada con el intervalo. ## Especifica la delimitación del ciclo de facturación para las suscripciones nuevas > El momento de creación de la suscripción coincide con el momento de la solicitud. No es lo mismo que la fecha de inicio de la suscripción. Obtén más información sobre [la configuración de una fecha anterior y la delimitación del ciclo de facturación](https://docs.stripe.com/billing/subscriptions/backdating.md#backdating-billing-cycle). Hay dos maneras de establecer la delimitación del ciclo de facturación en las nuevas suscripciones: - Usa `billing_cycle_anchor_config` para calcular la marca de tiempo para ti (solo suscripciones mensuales o anuales). - Usa `billing_cycle_anchor` para aceptar la marca de tiempo directamente. Si vas a crear una suscripción mensual o anual, te recomendamos usar el parámetro `billing_cycle_anchor_config` que toma en cuenta de forma automática los meses cortos y los años bisiestos. Si vas a crear una suscripción diaria o semanal, o si prefieres configurar la fecha de renovación de tu suscripción con una marca de tiempo, usa el parámetro `billing_cycle_anchor` directamente. ### Usa billing_cycle_anchor_config Para crear una integración con las suscripciones mensuales y anuales, usa `billing_cycle_anchor_config` en [crear una suscripción](https://docs.stripe.com/api.md#create_subscription) y especifica el día del mes en el que quieres marcar la delimitación. Establece `day_of_month` en `31` para crear una suscripción mensual que se renueve al final del mes, incluso en meses con menos de 31 días. Si un mes tiene menos de 31 días, la suscripción se renueva el último día de ese mes. ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -d customer="{{CUSTOMER_ID}}" \ -d "items[0][price]"="{{PRICE_ID}}" \ -d "billing_cycle_anchor_config[day_of_month]"=31 ``` También puedes especificar `month` para controlar el mes del año para la delimitación en suscripciones de varios meses y anuales. Para crear un ciclo de tus suscripciones anuales el primero de julio, crea una suscripción anual con un `month` de `7` y `day_of_month` de `1`. ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -d customer="{{CUSTOMER_ID}}" \ -d "items[0][price]"="{{PRICE_ID}}" \ -d "billing_cycle_anchor_config[month]"=7 \ -d "billing_cycle_anchor_config[day_of_month]"=1 ``` Puedes especificar el mes, el día, la hora, el minuto y el segundo exactos para la delimitación del ciclo de cobro con `billing_cycle_anchor_config`. Si no especificas la hora, el minuto y el segundo, se establecerán de forma predeterminada los valores de la hora de creación de la suscripción. La delimitación del ciclo de cobro utiliza la hora universal coordinada (UTC). Por ejemplo, si creas una suscripción con `billing_cycle_anchor_config` establecida a las 5 p. m. hora estándar del este (EST) sin especificar la hora, el horario se registrará en el sistema como 10 p. m. UTC. `billing_cycle_anchor_config` no admite delimitación en una fecha de inicio anterior. Por ejemplo, si ya tienes una suscripción mensual con una marca de tiempo `billing_cycle_anchor` que contiene el día del mes, la hora, el minuto y el segundo de 15, 12, 30 y 0, puedes alinear una nueva suscripción mensual con ella. Para hacer esto, establece `day_of_month`, `hour`, `minute` y '`second` para que coincidan con esos mismos valores, respectivamente. ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -d customer="{{CUSTOMER_ID}}" \ -d "items[0][price]"="{{PRICE_ID}}" \ -d "billing_cycle_anchor_config[day_of_month]"=15 \ -d "billing_cycle_anchor_config[hour]"=12 \ -d "billing_cycle_anchor_config[minute]"=30 \ -d "billing_cycle_anchor_config[second]"=0 ``` Si usas `billing_cycle_anchor_config`, es posible que el resultado sea un `billing_cycle_anchor` que es más de un período de facturación en el futuro. Sin embargo, la primera fecha de factura completa siempre está dentro de un período de facturación desde la creación de la suscripción o la finalización de una prueba gratuita. Por ejemplo, supongamos que creas una suscripción por intervalos de dos meses en febrero y la cierras al final de cada mes al establecer `day_of_month` en `31`. El próximo mes que tiene 31 días en intervalos de dos meses a partir de febrero es agosto, lo que da como resultado una delimitación del ciclo de facturación el 31 de agosto. Sin embargo, la primera fecha de facturación completa para esta suscripción aún tiene lugar en febrero. Hay un período inicial prorrateado desde la creación de la suscripción hasta el 28 de febrero (o el 29 en un año bisiesto), seguido de un período de facturación completo de dos meses. ### Usa billing_cycle_anchor Puedes crear una suscripción con una fecha específica de delimitación del ciclo de facturación con la API Subscriptions o Checkout. #### API Subscriptions Usa la llamada [crear una suscripción](https://docs.stripe.com/api.md#create_subscription) y establece una marca de tiempo para `billing_cycle_anchor`. ```curl curl https://api.stripe.com/v1/subscriptions \ -u "<>:" \ -d customer="{{CUSTOMER_ID}}" \ -d "items[0][price]"="{{PRICE_ID}}" \ -d billing_cycle_anchor=1611008505 ``` ### Configura el comportamiento de prorrata Independientemente del parámetro de API que utilices, Stripe crea automáticamente una factura prorrateada para facturar por el período comprendido entre la fecha de creación de la suscripción y la primera fecha de factura completa. Si no quieres cobrar inmediatamente a un cliente por el período comprendido entre la creación de la suscripción y la primera fecha de factura completa, haz lo siguiente: - [Deshabilita el prorrateo](https://docs.stripe.com/billing/subscriptions/prorations.md#disable-prorations) configurando `proration_behavior` en `none`, lo que hace que el período inicial hasta la primera fecha de factura completa sea gratuito. Con esta acción no se genera ninguna factura hasta el primer período de facturación. - [Combina una prueba con billing_cycle_anchor](https://docs.stripe.com/billing/subscriptions/trials.md#combine-trial-anchor) configurando `trial_end` en una marca de tiempo que represente la fecha en que finaliza la prueba gratuita. En función de la duración de la prueba gratuita y el número de días hasta la primera fecha de factura completa, esta opción podría dar lugar a una factura prorrateada después del período de prueba. Por ejemplo, una prueba gratuita es de 7 días y la facturación se renueva mensualmente el día 1. Si el cliente se suscribe el día 15, generamos una factura prorrateada el día 22 para el período comprendido entre el día 22 y el 1 y, luego, facturamos el importe total el día 1 de cada mes. Si un cliente se suscribe el día 28, la prueba gratuita se extiende más allá del día 1, lo que genera una factura prorrateada hasta el mes siguiente. #### Checkout Usa la llamada de Stripe Checkout [crear sesión](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session) con una marca de tiempo para `subscription_data.billing_cycle_anchor`: #### cURL ```bash curl https://api.stripe.com/v1/checkout/sessions \ -u <>: \ -d "line_items[][price]"="{{PRICE_ID}}" \ -d "line_items[][quantity]"=1 \ -d "mode"="subscription" \ -d "success_url"="https://example.com/success?session_id={CHECKOUT_SESSION_ID}" \-d "subscription_data[billing_cycle_anchor]"=1611008505 ``` Checkout debe estar en modo `subscription` para configurar un ancla de ciclo de facturación. ### Configura el comportamiento de prorrata Puedes configurar cómo manejar el período entre la creación de la suscripción y la primera fecha de factura completa utilizando el parámetro `proration_behavior`. Checkout no admite la combinación de una prueba con la delimitación del ciclo de facturación. - Mantén la configuración predeterminada de `create_prorations` para permitir que Stripe facture inmediatamente al cliente por el período comprendido entre la fecha de suscripción y la primera fecha de factura completa. - [Deshabilita el prorrateo](https://docs.stripe.com/payments/checkout/billing-cycle.md?ui=embedded-form#disable-prorations) configurando `proration_behavior` en `none`, lo que hace que el período inicial (hasta la primera fecha de factura completa) sea gratuito. Esta acción no genera ninguna factura hasta el primer período de facturación. > No puedes usar precios únicos en las sesiones de Checkout si `proration_behavior` es `none`. ## Cambia el período de facturación de las suscripciones existentes Usa la [API Subscriptions](https://docs.stripe.com/api/subscriptions/update.md) o el [Dashboard](https://dashboard.stripe.com/subscriptions) para cambiar la fecha de cobro de una suscripción existente a través de una de las siguientes opciones: - Restablece la fecha de delimitación del ciclo de facturación a la hora actual. - Agrega una [prueba gratuita](https://docs.stripe.com/billing/subscriptions/trials.md). Esto establecerá automáticamente la fecha de delimitación para el final del período de prueba. Por lo general, las pruebas comienzan cuando creas una suscripción, pero también puedes aplicarlas a las suscripciones que ya existen. Esto te permite acreditar al cliente por los días restantes del ciclo anterior que ya pagó. La fecha de tu ciclo de facturación cambia en estos escenarios. No obstante, si creas o actualizas una suscripción con `billing_mode[type]=flexible`, la delimitación del ciclo de facturación no variará. Obtén más información sobre [cómo configurar el modo de facturación flexible](https://docs.stripe.com/billing/subscriptions/billing-mode.md) y sus [limitaciones](https://docs.stripe.com/billing/subscriptions/billing-mode.md#limitations). - Si todos los precios son de importe cero, al agregar uno o más precios pagados se restablece inmediatamente el período de facturación. Consulta la [guía para cambiar los precios de suscripción](https://docs.stripe.com/billing/subscriptions/change-price.md#handle-zero-amount-prices-and-quantities) para obtener más información. - El `billing_cycle_anchor` se restablece a la fecha [cancel_at](https://docs.stripe.com/api/subscriptions/object.md#subscription_object-cancel_at) cuando se crea una suscripción con `cancel_at` establecida en una fecha anterior a la próxima renovación de la suscripción, o cuando se modifica una fecha `cancel_at` existente en una suscripción con un `billing_cycle_anchor` en el futuro de la nueva fecha `cancel_at`. - El `billing_cycle_anchor` se restablece al momento actual cuando se cambia a un precio con un [recurring.interval](https://docs.stripe.com/api/prices/object.md#price_object-recurring) diferente. ### Restablecer el período de facturación al momento actual Para restablecer la delimitación del ciclo de facturación al momento actual, haz una solicitud de actualización con `billing_cycle_anchor` establecido en `ahora`. Esto establece la delimitación del ciclo de facturación al momento de la solicitud de actualización. Después de restablecer la delimitación del ciclo de facturación, Stripe envía inmediatamente una factura. [Habilita el prorrateo](https://docs.stripe.com/api/subscriptions/create.md#create_subscription-proration_behavior) para acreditar al cliente los días ya pagados en el período anterior. Si deshabilitas el prorrateo, es posible que se le cobre de más al cliente. #### API Usa la llamada [actualizar la suscripción](https://docs.stripe.com/api.md#update_subscription) y configura `billing_cycle_anchor` en `now` y `proration_behavior` en `create_prorations` para evitar cobrar de más al cliente por los días que ya pagó del ciclo anterior. ```curl curl https://api.stripe.com/v1/subscriptions/sub_49ty4767H20z6a \ -u "<>:" \ -d billing_cycle_anchor=now \ -d proration_behavior=create_prorations ``` #### Dashboard 1. En el [resumen de las suscripciones](https://docs.stripe.com/api/subscriptions.md), haz clic en el menú de contenido adicional ⋯ y selecciona **Actualizar suscripción**. 1. Ve a **Opciones avanzadas** y selecciona **Restablecer el ciclo de facturación**. 1. Selecciona la opción **Prorratear cambios** para no cobrar de más por los días ya pagados del ciclo anterior. 1. Haz click en **Actualizar suscripción**. ### Cambia el período de facturación utilizando un período de prueba Puedes cambiar la delimitación del ciclo de facturación utilizando un período de [prueba gratuito](https://docs.stripe.com/billing/subscriptions/trials.md) para establecer automáticamente la fecha de delimitación del ciclo de facturación a la fecha de `trial_end`. Por ejemplo, si un cliente tiene una suscripción activa originalmente configurada para facturarse el 23 de julio, y el 15 de julio introduces un período de prueba que termina el 1 de agosto: - El cliente recibirá una factura de USD 0 el 15 de julio. Ya pagaron hasta el 23 de julio en el ciclo anterior, por lo que el período “gratuito” solo se aplica del 24 de julio al 31 de julio. - El cliente no recibirá la factura el 23 de julio. - El nuevo ciclo facturado el 1 de agosto es un ciclo completo a la tarifa normal, y luego nuevamente el 1 de cada mes después de eso. Como alternativa, puedes evitar el prorrateo cuando actualices una suscripción para iniciar una prueba usando `proration_behavior=none`. En la mayoría de los casos, si usas el período de prueba para cambiar el período de facturación sin la emisión de una factura prorrateada, deshabilitas el prorrateo porque la duración del período de prueba representa la parte ya pagada del período de facturación anterior. #### API Usa la llamada [actualizar suscripción](https://docs.stripe.com/api.md#update_subscription) y establece `trial_end` en una marca de tiempo de Unix que represente la fecha de finalización del período de prueba y `proration_behavior` en `none`. Al establecer `trial_end`, se fija el ancla del ciclo de facturación en la misma fecha. ```curl curl https://api.stripe.com/v1/subscriptions/sub_49ty4767H20z6a \ -u "<>:" \ -d trial_end=1627801200 \ -d proration_behavior=none ``` #### Dashboard 1. En el [Resumen de suscripciones](https://docs.stripe.com/api/subscriptions.md), selecciona la suscripción que deseas cambiar y abre su página Detalles. 1. Haz clic en **Acciones** > **Actualizar suscripción**. 1. Haz clic en **Agregar prueba** e ingresa la cantidad de días del período de prueba. El final de la prueba se convierte en la nueva fecha de delimitación del ciclo de facturación. 1. Desmarca la opción **Prorratear cambios** para evitar acreditar al cliente por los días ya pagados. 1. Haz click en **Actualizar suscripción**. ## Cobro por consumo Con el [cobro por consumo](https://docs.stripe.com/products-prices/pricing-models.md), el precio que paga el cliente varía en función del consumo durante el período de facturación. Cuando la modificación de este período de facturación supone que un período de servicio de la suscripción termine antes, le cobras al cliente por el consumo acumulado durante el período de facturación acortado. ### Umbrales Además del ciclo normal, puedes configurar suscripciones para que se cobren cada vez que el importe adeudado alcanza un [umbral](https://docs.stripe.com/billing/subscriptions/usage-based/thresholds.md). Si hay una suscripción configurada para que se facture de este modo, puedes configurarla de forma que se restablezca el período de servicio de la suscripción cuando alcance el umbral. ## See also - [Cómo usar períodos de prueba](https://docs.stripe.com/billing/subscriptions/trials.md) - [Actualiza una suscripción](https://docs.stripe.com/api.md#update_subscription)