We’re a SaaS provider that traditionally offers Annual and Monthly billing options, where invoicing begins at the time the subscription is created. Because of that, we’ve never had to deal with proration—until now.
We’re now integrating with a partner whose subscription model bills on a month-to-month basis, prorating the first month based on the number of remaining days in the calendar month the subscription starts. Then, on the 1st of each following month, they charge the full standard monthly rate until cancellation.
Example Scenario:
- Subscription start date: April 10th
- Standard monthly fee: $100
- Prorated invoice for April:
$100 × (20 days remaining in April / 30 total days in April) = $66.67 - Starting May 1st, and on the 1st of every month going forward, the subscription bills at the standard $100 rateuntil canceled.
I’m trying to figure out if HubSpot can handle this kind of proration setup natively—particularly with how Commerce Hub interacts with the product library, billing frequency, terms, and line item setup. So far, I haven’t found a way to configure it exactly as needed.
Possible Workaround (using API + Private App):
We already have a Private App integration that creates a Deal when our partner calls our API to insert a new subscription. I’m thinking of doing the following:
-
Insert a one-time line item for the prorated first month, where:
- The “Quantity” field = fractional days remaining in the month (e.g., 20/30 = 0.6667)
- The “Unit Price” = $100
-
Add a monthly recurring line item:
- Term: “Automatically renew until canceled”
- Set the “Delay Billing Start Date” to the 1st of the following month (e.g., May 1st)
- This ensures standard monthly billing begins after the prorated first month
This workaround feels a little hacky
but might get the job done if there’s no native support.
Question:
- Is this type of proration natively supported within HubSpot’s billing tools or Commerce Hub?
- Is anyone else handling mid-month starts with prorated first-month charges inside HubSpot?
- Any guidance or best practices would be appreciated!