Skip to content

Create and import contracts

Last updated: July 15, 2026

Available with any of the following subscriptions, except where noted:

Contracts are the centralized source of truth for committed revenue in HubSpot. After setting up contracts, learn more about how contracts are created from accepted quotes and how to import contracts. Learn more about how contracts work in HubSpot.

Developer resources

Learn more about building custom solutions using the Contracts API.

Before you get started

Understand requirements

Enroll in the Connected CPQ, Billing, and Payments beta to automatically accept payments on invoices managed through contracts with HubSpot payments or Stripe as a payment processing option. Learn more  about the Connected CPQ, Billing, and Payments beta process.

Understand limitations and considerations

It isn't possible to migrate subscriptions to contracts at this time.

Create contracts

Permissions required Super Admin or Create permissions for contracts are required to create contracts.

Seats required A Revenue Hub seat is required to create and edit contracts. Additional contract creation and editing options may become available in the future. Refer to the product for the most current availability information.

If the Automatically create contracts from accepted quotes setting is turned on, a contract record is automatically created when a quote is accepted by the buyer. Contracts inherit line items, terms, and other details from the associated quote. 

Please note:

  • A Revenue Hub seat is required to create and edit contracts. Additional contract creation and editing options may become available in the future. Refer to the product for the most current availability information.
  • Accepted legacy quotes don't create contracts.

Before you create a contract 

The contract record includes key contract details, such as contact and company information, visibility into committed revenue, and associations to other records. Learn what you can view on a contract.

Before creating a contract, keep the following details in mind:

  • If a line item is automatically renewed until canceled, a contract end date isn’t set.

  • If all line items have a fixed term, the end date will be set to the latest line item’s end date.

  • If the contract only has one-time line items, a contract end date isn’t set.

Please note: if you're not enrolled in the Connected CPQ, Billing, and Payments beta, payment collection remains tied to the existing quote or standalone invoice experience. If you're enrolled in the beta, contracts are used to manage ongoing billing, invoice creation, and payment collection. Learn more about the Connected CPQ, Billing, and Payments beta process.

Create a contract

  1. Create and build the quote.
  2. Share the quote.
  3. After the quote is accepted or signed, a contract will automatically be created and associated with the quote, along with the deal, contact, and company associated with the quote. If you're enrolled in the Connected CPQ, Billing, and Payments beta, an order is also created, and associated with the contract.
  4. To view the contract:
    • In your HubSpot account, click More, then navigate to Revenue > Quotes. If More doesn't appear in your account, navigate to Revenue > Quotes directly.
    • Hover over the quote, then click Preview.
    • In the right panel, scroll to the Contracts card and click the contract name. If the Contracts card isn't appearing by default, you can manually add the card to your HubSpot record.

  5. Contracts can also be viewed on the contract index page.

Import contracts

Import existing contracts to manage them alongside contracts created in HubSpot. Include associations with line items, contacts, and deals.

  1. Create a custom contract property to use as a unique identifier for the contracts you're importing. For example, you could create a custom property called contract_import_id.
  2. When creating the custom property:
    • Set the Field type as Single-line text.
    • Select the Require unique values for this property checkbox.

      Import custom property fields for contracts during a HubSpot import
  3. Prepare your import file:
    • Before you start, review the import overview.
    • Add the custom property you created as a column in your import file. Use the custom property as the unique identifier for contract fields, line items, and deals.
    • For contracts with more than one line item, add additional line items as separate rows alongside the unique identifier.
    • Make sure the deal is on a separate row to the contract details. Add the record ID of the deal to a column to associate the deal to the contract during import.

      CSV example showing custom property field values for importing contract records into HubSpot
  4. Import your file.

Next steps

Was this article helpful?
This form is used for documentation feedback only. Learn how to get help with HubSpot.