Loading article…
Loading article…
Last updated on Aug 27, 2026
Advanced Billing gives your customers and your staff several different ways to manage subscriptions. Use this comparison to pick the method that fits your engineering resources, the subscription types you sell, and the payment methods you accept.
Each method serves either your end customers or your own staff, and the two are not mutually exclusive. Most sites pair one customer-facing method with one staff-facing method.
| Method | Audience | Reasons to use |
|---|---|---|
| Billing Portal | End customer | Most common. No code, quick launch. |
| API | End customer | Fully custom and fully in your control, deployed in your own web app. |
| Embeddable Components | End customer | Prebuilt UI components you drop into your own app, without wrangling the API yourself. |
| None | End customer | You do not allow your customers to self-manage their subscriptions. |
| Advanced Billing Admin UI | Staff | Most common for staff. No code, no implementation. |
| Salesforce | Staff | Your company manages subscriptions in Salesforce and wants all changes to sync to Advanced Billing. |
| HubSpot | Staff | Your company manages subscriptions in HubSpot and wants all changes to sync to Advanced Billing. |
The methods differ most in how much engineering work they take to launch and how much control you get over the resulting experience.
| Method | Implementation path | Code required | UI control | Domain |
|---|---|---|---|---|
| Billing Portal | A link from an email invite, your website, or an in-app button | None to little | Logo and some CSS | billingportal.com/s/{your-shortname} |
| API | In your app, with all actions performed through the API. Use Maxio.js to collect payment information. | Some to heavy | Full control | Yours |
| Embeddable Components | Embedded in your app, reusing your Billing Portal feature settings | Some | Some control | Yours |
| Advanced Billing Admin UI | None | None | Not applicable | Not applicable |
| Salesforce | Install and configure | None | Not applicable | Not applicable |
| HubSpot | Install and configure | None | Not applicable | Not applicable |
To set up the Billing Portal, see Configure the Billing Portal. For prebuilt UI components you embed in your own app, see Set Up Embeddable Components for Self-Service Subscription Management. To build the whole experience yourself against the API instead, see Build your own Billing Portal with the Advanced Billing API.
Which method you choose also depends on how your Subscriptions are structured, because not every method supports every structure.
Subscription type definitions
| Type | Definition |
|---|---|
| Standard | Most common. A normal Customer with a normal Subscription. |
| Grouped | One Customer pays for multiple Subscriptions, and each Subscription is consolidated into a single Invoice. |
| Parent/Child | A parent Customer pays for a child Customer's Subscription. Uses Customer Hierarchies. |
| Standalone Parent | A parent Customer who is in a hierarchy pays for their own Subscription. Uses Customer Hierarchies. |
| Standalone Child | A child Customer who is in a hierarchy pays for their own Subscription. Uses Customer Hierarchies. |
Embeddable Components is not listed separately below, because it reuses your Billing Portal feature settings and therefore follows the Billing Portal column.
Subscription type support by method
| Type | Billing Portal | API | Advanced Billing Admin UI | Salesforce | HubSpot |
|---|---|---|---|---|---|
| Standard | ✔ | ✔ | ✔ | ✔ | ✔ |
| Grouped | ✔ | ✔ | ✔ | ✔ | |
| Parent/Child | ✔ | ✔ | ✔ | ✔ | |
| Standalone Parent | ✔ | ✔ | ✔ | ✔ | ✔ |
| Standalone Child | ✔ | ✔ | ✔ | ✔ | ✔ |
The last constraint is which payment methods each option can collect. In the Billing Portal, bank account and Apple Pay support depend on your Site using Maxio Payments as its Payment Gateway.
| Payment method | Billing Portal | API | Advanced Billing Admin UI | Salesforce | HubSpot |
|---|---|---|---|---|---|
| Credit card | ✔ | Use Maxio.js | ✔ | ✔ | |
| Bank account (ACH, direct debit, SEPA) | ✔ Maxio Payments only | Use Maxio.js | ✔ | ✔ | |
| Apple Pay | ✔ Maxio Payments only | Use Maxio.js | |||
| PayPal | Use Maxio.js | ||||
| Remittance | ✔ | ✔ | ✔ | ✔ | ✔ |
In the Billing Portal, a customer paying by bank account enters their routing and account numbers directly, or links their bank instantly through Plaid where that is available. To collect any of these payment methods inside your own application instead, see Collect Payment Methods in your App with Maxio.js.
Once you have chosen a method, see Design your Subscription Management Flow to work out what your customers can change and what happens after they do.
To let customers reach the Billing Portal, see Implement Billing Portal Login for your Customers.
Still need help?
Reach out and our support team will take it from here.