# Free trials, discounts and more

Loop’s flexible architecture natively enables companies to offer free trials, discounts, metered billing, and more. This guide is for how to leverage Loop and does not apply to Stripe or Chargebee integrations.&#x20;

### Free trials

**Auto-invoicing**&#x20;

For subscriptions that have auto-invoicing enabled, Loop allows you to set the `initalOffset` which specifies in days from when the first invoice should be created relative to the date/time of the customer authorization. This is set at subscription (i.e. item) creation.

**Manual**

For those that are manually sending transfer requests, you can leverage the webhook that is sent when a user subscribes. This webhook contains the `subscriber` (wallet address) and the `eventDate` (Unix time in seconds). To offer a free trial, companies can simply send a transfer[ request](https://loop-crypto.gitbook.io/loop-crypto/getting-started/api-enabled-contract/sending-payment-requests) with a `billDate` set to the `eventDate` + `tree_trial_period`.&#x20;

For example, if you wanted to offer a 7 day free trial and a customer signs up on 1/1/2022, you would send the first transfer request dated for 1/8/2022.&#x20;

### Pro-rated charges

Companies can charge a prorated amount from the signup date (`eventDate`) to the last day of the month. At this time, companies need to perform this calculation on their own and include the prorated amount in the `amount` in the transfer request. Thus, this does not work with auto-invoicing. &#x20;

### Discounts&#x20;

The checkout page shows the amount listed on the item. There are a few ways you can offer a discount at this time:&#x20;

1. Create a new item for a lower amount and use that checkout page link for customers that get a discount (auto-invoicing compatible)
2. Add in the cart description field a line about a reduced price (manual invoicing only)
3. Leave the cart as is, but simply bill for the lower amount (manual invoicing only)

Since Loop only bills when it is told of a scheduled payment, after collecting authorization, companies can simply send Loop a transfer request for the discounted `amount`. In the case of auto-invoicing, Loop will generate a new invoice for the subscription's amount, thus this should only be used if the discount lasts in perpetuity. If the discount is only for a few months, then a manual option is needed.&#x20;

{% hint style="info" %}
Discounts in [Stripe](../../integrations/stripe-+-loop/subscriptions/free-trials) are compatible with Loop.
{% endhint %}

### Metered rate&#x20;

Companies that bill for a different amount each period can use Loop. This only works for manual billing as Loop has no way of knowing the price each period. &#x20;

When setting up a subscription or one-time payment, companies can direct the cart to show "price various" in the cart either by selecting this option on the company dashboard or by passing a `0` for the `amount` in the API call.&#x20;

Companies then can calculate the amount due and include this `amount` in their [transfer request](../../technical-docs/apis/transfer-requests) for payment.&#x20;
