NewMaxio Metering is now available — usage-based billing for Advanced Billing.Learn more
/

Choose the Right Billing Model

··

Last updated on Aug 27, 2026

Maxio’s Advanced Billing offers flexible tools to support a wide range of subscription and product pricing models. This guide brings together many billing scenarios—from simple recurring charges to complex, usage-based, and bundled configurations—so you can quickly match your setup to your business needs. Each scenario includes a short description, step-by-step instructions, and examples to help you create products and components that align with your pricing strategy. Whether you’re just starting out or fine-tuning an advanced setup, this single reference will help you choose, configure, and launch the right billing approach for your customers.

Basic recurring

When to use: Use when you want to bill customers automatically on a set interval (e.g., monthly, annually) for the same amount. Common for SaaS subscriptions, memberships, or service retainers.

  1. Create a product

Once you’ve done this, future subscribers can sign up for your product by using a Public Signup Page and will be billed on a recurring basis if indicated.

Basic recurring with taxes

When to use: Same as Basic Recurring, but for situations where you must collect sales tax or VAT.

  1. Create a product
  2. When defining your product, make the product subject to taxes
  3. Enable taxes for your site

Using taxes with Advanced Billing requires you to request/require a billing or shipping address. For more information on how to create a taxable subscription, please see Understand Tax Options.

Recurring with fixed setup fee

When to use: When a one-time onboarding or implementation fee should be charged at the start of a subscription. Example: Professional services setup for a SaaS account.

  1. Create a product
  2. Define a setup fee and when it should be charged

an Add Setup Fee toggle switched on, with a price field and radios for charging before or after the trial
Enter setup fee

Recurring with setup fee and trial

When to use: When you want to charge a setup fee and also provide a trial period, either charging the fee before or after the trial. Example: A service that requires upfront configuration before trial access.

  1. Create a product
  2. Define your setup fee (using a fixed setup fee)
  3. Select “When to Charge Setup Fee” / Charge Setup Fee Before Trial Period
  4. This option only applies to the setup fee cost

the Add Trial, Setup Fee, or Expiration Date section expanded, with Add Trial Period switched on
Include trial period length and setup fee

The example above: This is a free trial for 7 days with a $15 setup fee that charges before the trial begins. Alternatively, you can charge the setup fee after the trial period.

Free trial with credit card required

When to use: For trials that should auto-convert to a paid subscription unless canceled, ensuring payment details are on file. Example: PLG model where the trial period is risk-free but transitions smoothly to paid.

  1. Create a product
  2. When defining your product, set the price to $0, and set the recurring period to the length of your free trial.
  3. Require a payment method when creating your product. This requires your customer to enter their credit card upon signup.
  4. Create component(s) (optional) . Any components you create will not be billed until the end of the free trial.

Example 29.99/mo with a 30-day free trial. Credit card required.

a Product Pricing panel: a monthly base price, tax-inclusive radios, and a trial period
Set up free trial ($0) and recurring cost

a Product Details panel with Require Payment Method switched on among its five toggles
Require payment method.

Free trial with no credit card required

When to use: For frictionless signups where payment details are collected only if the customer decides to continue. Best for low-barrier acquisition strategies.

  1. Create a product
  2. When defining your product, set the price to $0, and set the recurring period to the length of your free trial.
  3. Disable the option to “require a payment method” in your product so your customer is not required to enter a credit card.
  4. Choose what happens after the trial ends when there is no card on file.
  5. Create component(s) (optional)
  6. Any components you create will not be billed until the end of the free trial.

a Product Details panel with Require Payment Method switched off and outlined in red
Disabling the payment method requirement is the key step.

Recurring with coupon

When to use: When you want to offer a temporary or ongoing discount without altering the product’s base price. Example: Promotional discount for first 3 months.

  1. Create a product
  2. Create component(s) (optional)
  3. Create coupon(s)
    • Define your coupon (see image below)
    • Coupons appear as a separate line item on invoices
  4. Enable your coupon to display on Public Signup Pages

Tip: Use the Recurring Discount? option to define how often the coupon will be used for your customer

a coupon's Discount Configuration form, with a percentage discount and checkboxes limiting which charges it applies to
Create a coupon with a recurring discount.

Included usage + overage billing

When to use: When a subscription includes a set amount of usage and additional usage should be billed per unit. Example: 100,000 SMS messages included; $0.05 per extra message.

  1. Create a product.
  2. Create a metered component.
  3. When defining your metered component's pricing, set the first bracket to $0 to represent the amount included in the base product price.
  4. Set the subsequent brackets to reflect overage fees.
  5. Review our detailed guide on tiered pricing.

Example: A SaaS company charges for monthly SMS messages

  • If the base product is $99/month for 100,000 SMS messages and charges $0.05 per additional SMS, configure your metered component accordingly.
  • This setup uses a tiered pricing scheme.

a Pricing Scheme panel with Tiered selected, showing a bracket of 1 to 100,000 units at $0.00 each and a second bracket from 100,001 at $0.05 each
Example pricing scheme

Quantity based recurring billing

When to use: For fixed-quantity subscriptions where billing is based on the number of units purchased (e.g., per-seat licensing).

  1. Create a product.
  2. If you only bill for the quantity of some unit and not a base product, create a $0 product.
  3. Create a quantity-based component.

a signup tile reading $25 per user/month above an orange Sign Up button
Example of signup for $25/month

Customer selected add-ons

When to use: When a base subscription includes optional add-ons that customers can select. Example: selling an optional add-on like 24/7 support.

  1. Create a product.
  2. Create each of your components.
  3. During the “Configure Components” step, choose which components appear on your Public Signup Pages.
  4. If using the API, reference the component IDs in your bundle.

Example: Three On/Off components used for bundled selections

  • Company charging $100/month, plus $10/month per user.
  • Option for high-priority support at $50/month.
  • Bundle of TV, internet, and phone from a communications company.

three add-on rows -- Email Hosting $9/mo, Website Hosting $19/mo and Local Marketing $49/mo -- each with its own add button
Example of selections a subscriber can purchase

Multiple subscriptions

When to use: When a customer has multiple subscriptions that should be billed together. Useful for:

  • Multiple contracts for different departments under the same AP team
  • Products with different shipping addresses or tax rates
  • Selling multiple distinct products to the same customer
  1. Create a $0 product.
  2. Create components where each represents a subscription:

See Also: Consolidate Subscription Groups

Example 2a: Multiple subscriptions using on/off components

  • Base product: $20/mo + optional add-ons.
  • Or use a $0/mo base if add-ons are entirely optional.

three on/off checkboxes, Extra Subscription #1 through #3, priced at $40, $50 and $60, above an Update Totals button
Public Signup Page example

Example 2b: Multiple subscriptions using quantity components

  • Customer can configure quantity of additional subscriptions.

a Configure Your Plan step with quantity fields for Bronze Subscriptions at $50.00 each and Silver Subscriptions at $25.00 each
Configure the subscription quantity

Charge customers on the same day each month

When to use: When you want all customers billed on the same calendar date, regardless of signup date. Example: Align all invoices to the 1st of the month for operational simplicity. See the full article on calendar billing for details.

  1. Create a product adhering to these rules:
    • Product period must be 1 month
    • No trial period
    • No expiration
  2. Create a Public Signup Page for the intended signup date.
  3. Review proration settings carefully.

a Calendar Billing setting set to the 4th day of month, with a note that the product must be on a 1 month period with no trial or expiration, and a prorated first charge
Choose the day of the month all signups are billed on

Expiring subscriptions

When to use: For subscriptions with a fixed term length that automatically end at the term’s conclusion—similar to a contract end date. Example: commitment in the form of a 12-month term.

Example: $100/month for 12 months, then expires

a Product Pricing panel with a $100 monthly base price and Enable Expiration/Lifetime switched on, set to expire after 12 months
A $100/month product set to expire after 12 months

Custom pricing for sales-led contracts

When to use: Use when you need to model a negotiated contract or Term Subscription with sales-led pricing. Custom Pricing lets you enter the exact agreed price—rather than relying on catalog list prices and coupons—making it a flexible way to represent discounts and one-off deals.

Example: A sales team closes a 12-month contract at $950/month with discounted component rates that aren’t in the catalog.

Steps to configure:

  1. Create a Subscription.
  2. When selecting a Product Price Point, choose Custom Pricing instead of Catalog Pricing.
  3. For Products, define the base price, interval, trial, setup fee, and expiration terms as needed.
  4. For Components, define the pricing scheme and billing interval.
  5. Save and activate the subscription.

Multi-entity seller

When to use: For organizations billing under multiple legal entities or brands, each with its own catalog, customers, and payment gateways. Example: Holding company with multiple subsidiaries.

  1. Create your first site (master site for resellers).
  2. Create a site for each company entity.
  3. Create products and components for each site.
  4. Set up appropriate user permissions.
  5. Define settings and connect payment gateways per site.

Referrals (track salesperson for commissions)

Track referral sources and assign sales commissions using custom fields on sign-up pages.

  1. Create a product.

  2. Create a component.

  3. Create a custom field for the salesperson ID.

  4. Enable the field on your Public Signup Page.

  5. Check the field box for visibility.

  6. Find the field ID by editing it and checking the URL — it is the number just before /edit, as in https://<your-site>.chargify.com/setup/metafields/10463/edit.

  7. Add the custom field as a URL parameter: ?sales=mysalespersonID

  8. Pre-populate and hide the field via JavaScript.

Modern Public Signup Pages

js
function getUrlVars() {
  var vars = {};
  var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,
  function(m,key,value) {vars[key] = value;});
  return vars;
}
var sales = getUrlVars()["sales"];
$(function() {
  if (sales) {
    $("#subscription_metafields_10463").val(sales);
  }
});
$(".form__section--additional-information").hide();

Classic Public Signup Pages

js
function getUrlVars() {
  var vars = {};
  var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,
  function(m,key,value) {vars[key] = value;});
  return vars;
}
var sales = getUrlVars()["sales"];
$(function() {
  if (sales) {
    $("#metafield_10463").val(sales);
  }
});
$('.metafield_configuration').hide();
$('#contact_info+h2').hide();

Still need help?
Reach out and our support team will take it from here.

Contact support