How do I import existing customer contracts in HubSpot Revenue Hub?

Hey! I’m very excited to use the new RH. This is what we, B2B SaaS company, have been waiting for to get our revenue context.

How do I import my existing customer contracts for the whole shebang to work?

Hey @SAlimohammadi, we’re thrilled you’re excited about Revenue Hub! :raising_hands:

Great question, thanks for asking the HubSpot Community!

You can absolutely bring existing contracts into HubSpot, but the best setup depends on the reporting you want.

Let’s consult our Top Experts: Hi @karstenkoehler, @danmoyle and @Josh have you tested Revenue Hub yet? If yes, do you have any insights to share with @SAlimohammadi, please?

Thanks so much and have a lovely day!
Bérangère

Hi @SAlimohammadi,

At the current moment, you cannot import directly via the import functionality. The current user interface functionality only allows contacts to be created from quotes.

There is a contracts API endpoint: Create - HubSpot docs

This might be the route you’ll have to go to get the existing customer contracts in until the import/manual creation functionality is available.

This is still pretty new, so I could be wrong, but from everything I’m reading, this is how I am understanding it.

Hope this helps!

Josh

Thanks for the ping @Berangere

Moderator note: While this solution may not address the original poster’s specific situation, it could be helpful for other community members facing similar challenges.

Thx a lot for your input Josh! :slight_smile:

@Berangere the API way is not an option for us. So when do u expect to release the import functionality? We won’t be able to use the RH before which is very disappointing.

To import your existing customer contracts into the new HubSpot Revenue Hub, it is important to note that bulk CSV import for the Contracts object is not yet publicly available as of June 2026.

However, you can still bring your contracts into the system using the official supported methods below.

How to Create/Migrate Contracts in Revenue Hub

  1. Automatically from Accepted Quotes: The primary way to generate a Contract record is by having a buyer accept a quote. In your settings, you can turn on “Automatically create contracts from accepted quotes”. This ensures all new business is tracked as a Contract object.
  2. Manual Creation: For existing legacy customers, you currently need to create contract records manually from the associated Deal or Company record to establish them as the “source of truth” for renewals.
  3. Migration Beta (Request Access): Some partners and enterprise users have early access to a CSV import tool for legacy contracts. If you have a large volume of data, you should reach out to your HubSpot CSM or a Commerce Specialist to request “white-glove” migration assistance.

Guide Link

For the most up-to-date instructions and to track when the import tool becomes available, refer to this official guide:
Create and manage contracts in HubSpot

Best,

Momenul

Aha, thx a lot! We have 1500 customers - so I’m gonna go for option 3 :smiley:

Hey @SAlimohammadi, when checking with @JWarren7, the PM in charge of Contract Migrations, I can confirm we will have a path for bringing over the historical MRR / ARR reporting for contracts (be it from deals or an external legacy billing system). The migrations tool is private at the moment, because we want to ensure all merchants full understand the implications before attempting. That said, your use-case seems like a really good fit.

Can you please fill out this form to request early access!

But the TL;DR is that we’re going to be supporting this use-case through Contract Imports where a user can add a ramp key (which tracks all the Revenue Change events). That ramp key will be able to speak directly to the events that power the Recurring Revenue waterfall reports.

I hope this helps!

Have a lovely day!
Bérangère

Hello @Berangere . I filled out the form last week but I haven’t heard back - we would rly like to get started with RH :smiley:

Hey @SAlimohammadi, thanks for your patience!

I’ve been in touch with my colleagues internally and you should be all set now!

Please let me know if you have additional questions or if you need help with anything, I am here for you!

Have a lovely day!
Bérangère

Thx a lot :slight_smile: