How is the monthly amount calculated in flex/classic subscription?

Modified on Thu, 28 Sep, 2023 at 4:07 PM

In the subscription models (flex and classic subscription), customers are billed on each subscription anniversary date, and the calculation for this date is detailed on this page.


Definition of a Subscription Anniversary Date

The anniversary date is either the date of placing the order + a specified number of days defined in the Lizee back-office (BRAND_MIN_STARTING_DAYS), or if there is a field available on the website to choose the subscription start date, then that date serves as the anniversary date.


For example: If I place an order on April 25th, and the specified number of days between my order and the start of my subscription is 3 days, then my anniversary date is April 28th.


Prorated Billing

Lizee bills customers fairly, based on the number of days they have been subscribed with a given set of products.

The count of subscription days starts on the anniversary date and ends:


  • 30 or 31 days after the subscription start date if the customer has not requested to cancel their subscription (depending on the length of the current month).
  • On the date of subscription cancellation if the customer has generated a return voucher for all their products from their customer account.


On each anniversary day, Lizee calculates the number of days in the past month during which the customer was subscribed and using the subscription formula.

For example, if the anniversary date is on 20/05/2023, the monthly subscription will end on 19/06/2023, and the number of days will be 31. If the anniversary date is on 11/04/2023, the monthly subscription will end on 10/05/2023, and the number of days will be 30.


Continuing from the previous example in the flex subscription model:

  • On April 25th, I order 4 products for a total of €50 -> My subscription begins on April 28th.
  • On May 12th, I go to my customer account to return 2 products that cost €25 per month -> Starting from May 13th, I will be subscribed for €25 per month.
  • On May 27th, I will be billed and debited as follows:
    • From April 28th to May 12th: 15 days * €50 / 30 days (April has 30 days) = €25
    • From May 13th to May 27th: 15 days * €25 / 30 days = €12.5
    • Total: €25 + €12.5 = €37.5


Another example for a classic subscription with the following pricing tiers:

  • Up to 4 items -> €20 per month
  • Up to 8 items -> €40 per month


Here's the breakdown:

  • On May 25th, I order 7 products, so I fall into the €40 per month tier.
  • On May 30th, I return 2 products that I don't need, leaving me with 5 products. I am still in the €40 per month tier.
  • On June 3rd, I return 2 more products, moving me to the €20 per month tier.
  • On June 27th (assuming BRAND_MIN_STARTING_DAYS = 3 days, which starts my subscription on May 28th), I am billed as follows:
    • From May 28th to June 3rd: 7 days * €40 / 31 days (May has 31 days) = €9.03
    • From June 4th to June 27th: 24 days * €20 / 30 days = €15.48
    • Total: €9.03 + €15.48 = €24.51


In the case of an exchange during a classic subscription


If a customer decides to exchange all their current products for new ones while staying within the same subscription tier, and if the variable BRAND_MIN_STARTING_DAYS is not set to 0 days, then the following applies:


When the customer clicks "generate the return voucher" for their current products, they are no longer counted as a subscriber. At least, they will not be billed for these products from the following day. The products they order in the meantime will only be billed after the duration specified in BRAND_MIN_STARTING_DAYS, for example, 3 days. This means that for 2 days, this customer will have 0 products in their subscription, and we will count 2 days at €0. On the next anniversary date, instead of being billed for a full month of subscription, they will be billed for 1 month minus 2 days.

  • Advantage for the customer: They are billed as closely as possible to the duration during which they had the products.
  • Disadvantage for the brand: This exchange means that the initial announcement of, for example, €40 per month, is not applied. The customer pays slightly less.


If, as a brand, you want the displayed monthly amount to be applied regardless of exchanges during the monthly periods, you should set BRAND_MIN_STARTING_DAYS to 0 days. In this case, the customer is billed from the day they place the order, even if they have not yet received their products. One can consider these days when they are already paying without having the products as the reservation of the products for their order, as they cannot be rented to someone else at the same time. In any case, you have control over this parameter and the service you offer to your customers!


In the case of a subscription that starts and stops on the same day


If I subscribe and return my products on the anniversary date of my subscription, even though I have just received the products, the system considers that I have been subscribed for 1 day and bills me for 1 day of subscription. 


For example, if I place an order on April 25th, receive my products, and want to return them on April 28th, I would go to my customer account to generate a return voucher on April 28th. The system would consider that I have been subscribed for 1 day and bill me for 1 day of subscription.


In the case of a subscription that is stopped and then restarted in the same month


For example, if a customer:

  • Has an anniversary date on the 5th of each month,
  • Returns all their products on June 12th,
  • Decides to take new products on subscription before July 5th, then their subscription retains the anniversary date of the 5th of each month. It will be considered that they exchanged products by returning the ones they had to take new ones. They will be billed on July 5th, again prorated for the number of days they were considered subscribed.


If they had reordered after July 5th, it would have been considered a new subscription with a new anniversary date.



Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article