Loading article…
Loading article…
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.
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.
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.
When to use: Same as Basic Recurring, but for situations where you must collect sales tax or VAT.
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.
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.

Enter setup fee
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.

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.
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.
Example 29.99/mo with a 30-day free trial. Credit card required.

Set up free trial ($0) and recurring cost

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

Disabling the payment method requirement is the key step.
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.
Tip: Use the Recurring Discount? option to define how often the coupon will be used for your customer

Create a coupon with a recurring discount.
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.
Example: A SaaS company charges for monthly SMS messages

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

Example of signup for $25/month
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.
Example: Three On/Off components used for bundled selections

Example of selections a subscriber can purchase
When to use: When a customer has multiple subscriptions that should be billed together. Useful for:
See Also: Consolidate Subscription Groups
Example 2a: Multiple subscriptions using on/off components

Public Signup Page example
Example 2b: Multiple subscriptions using quantity components

Configure the subscription quantity
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.

Choose the day of the month all signups are billed on
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 $100/month product set to expire after 12 months
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:
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.
Track referral sources and assign sales commissions using custom fields on sign-up pages.
Create a custom field for the salesperson ID.
Check the field box for visibility.
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.
Add the custom field as a URL parameter: ?sales=mysalespersonID
Pre-populate and hide the field via JavaScript.
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();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.