Sync HubSpot and Advanced Billing Fields
Last updated on Aug 26, 2026
See what data moves between Advanced Billing and HubSpot, which direction it moves, and how the integration decides which records match across the two systems.
Some HubSpot property labels below were never renamed after the rebrand to Maxio, so they still read "Chargify" on your HubSpot records — quoted here exactly as they appear.
Advanced Billing customers to HubSpot Contacts
These fields sync one-way, from the Advanced Billing customer record into the matching HubSpot Contact.
| Advanced Billing customer field | HubSpot Contact field |
|---|---|
| First Name | First Name |
| Last Name | Last Name |
| Phone Number | Phone Number |
| Organization | Company Name |
| Address Line 1 and Address Line 2 | Street Address (combined into one field) |
| City | City |
| State | State/Region |
| Zip Code | Postal Code |
| Country | Country/Region |
| Tax Exempt | Tax Exempt |
| VAT Number | VAT Number |
| CC Emails | CC Emails |
| Verified for ACH/eCheck Payments | Verified for ACH/eCheck Payments |
| Locale | hs_language (HubSpot's native language property) |
| Customer Reference | Chargify Customer Reference |
| Customer ID | Chargify Customer ID |
| Every Advanced Billing site the customer's email appears in | Chargify Site(s) |
| Custom Field (Radio, Text, Dropdown) | matching custom Contact property |
HubSpot Contacts back to Advanced Billing customers
By default, updating an existing HubSpot Contact also updates its matching Advanced Billing customer, and a new HubSpot Contact syncs to Advanced Billing as a new customer. An admin can turn this direction off, or narrow it to just the Contact's email address, using Do not Sync Contact Updates to Advanced Billing Customers in Configure HubSpot Integration Sync Options.
HubSpot deals to Advanced Billing subscriptions
Creating a subscription from a HubSpot deal is a one-time action, not a continuous two-way sync. Once you click Create Subscription on the deal's Subscription Preview, the following fields carry over:
| HubSpot deal field | Advanced Billing subscription field |
|---|---|
| Product Library line item | Product price point or Component price point (identified by the line item's SKU) |
| Net Terms | Net Terms (capped at 180 days) |
| First Billing Date | Next Billing Date |
| Collection Method | Payment Collection Method |
| Send Invoice Emails | Send Invoice Emails |
Deal currency (HubSpot's native deal_currency_code property) | Subscription currency |
| Custom property | matching custom Subscription field |
And in the other direction, once the subscription exists:
| Advanced Billing subscription field | HubSpot deal field |
|---|---|
| Setup Fee, if one applies | Setup Fee line item, added automatically |
| Tax, if it applies | Tax line item, added automatically |
| Product name | Chargify Product Name |
| Subscription status | Chargify Subscription Status. Possible Advanced Billing subscription status values: Active, Awaiting Signup, Assessing, Canceled, Expired, Failed to Create, On Hold, Past Due, Paused, Soft Failure, Suspended, Trial Ended, Trialing, Unpaid. |
| Self-service token | Self-Service Page |
| Advanced Billing site subdomain | Chargify Site |
Advanced Billing product catalog to the HubSpot Product Library
These fields sync one-way, from your Advanced Billing catalog into the HubSpot Product Library.
| Advanced Billing catalog field | HubSpot Product Library field |
|---|---|
| Product price point | Line item (SKU P:<item ID>:<price point ID>) |
| Component price point | Line item (SKU C:<item ID>:<price point ID>) |
| Coupon | Line item (SKU COUPON:<coupon ID>:<coupon code>) |
| Component quantity | Line Item Quantity |
| Billing frequency | Line Item Billing Frequency |
Important: HubSpot only accepts a billing frequency of every 1, 3, 6, 12, 24, or 36 months. A price point on any other interval, or a product with a non-monthly expiration interval, fails to sync.
How items are matched across both catalogs
The integration identifies a synced item by its HubSpot SKU, which embeds the object type and the Advanced Billing price point (or coupon code):
- Products:
P:<item ID>:<price point ID> - Components:
C:<item ID>:<price point ID> - Coupons:
COUPON:<coupon ID>:<coupon code>
This is also why the catalog syncs as one flattened set of line items rather than grouped by product family — HubSpot's Product Library has no concept of Advanced Billing's product-family grouping. If you have a large, multi-family catalog, consider creating Product Library folders in HubSpot to keep it organized.
How custom fields become HubSpot properties
An Advanced Billing custom field on the Customer or Subscription resource becomes a HubSpot custom property whenever the custom-fields sync runs — automatically once at initial connection, and again any time an admin clicks Re-sync Custom Fields. A custom field you create after connecting still becomes a HubSpot property; it just doesn't happen until the next time that sync runs.
How address syncing works
When a new customer is created in Advanced Billing from a HubSpot deal, the integration follows this hierarchy to determine the customer's address:
- Contact address — used by default, and whenever Use Company as default address isn't selected in Configure HubSpot Integration Sync Options.
- Company address — used only when Use Company as default address is selected, a Company is attached to the deal, and that Company has at least one non-blank address field. Otherwise, the integration falls back to the Contact address.
The customer's email address always comes from the Contact record, regardless of this setting — there's no company-address equivalent for email.
HubSpot Contact ID updates after contact merges
(This capability is available only for specific accounts. Contact support@maxio.com if you're interested in it.)
On accounts where it's enabled, Maxio automatically updates the HubSpot Contact ID stored on an Advanced Billing customer after HubSpot contacts are merged, so the customer record stays aligned with the surviving Contact.
- The update only happens when the integration can identify exactly one Advanced Billing customer mapped to the merged Contact. If it finds none, or more than one, the update is skipped.
- A skipped update is logged for review, not shown as a validation error in Advanced Billing.
- The update requires both Use Contact and Company IDs and Enable Contact merge functionality to be turned on for the site.
- Users don't manually edit the HubSpot Contact ID on an Advanced Billing customer record — this field is only ever updated by the integration.
Related information
For the settings referenced above, see Configure HubSpot Integration Sync Options.
For common sync errors and how to resolve them, see Troubleshooting and FAQs.
Still need help?
Reach out and our support team will take it from here.
