# Integrations

{% hint style="info" %}
Looking to integrate directly with the Hardfin API? Please see the [API access](/advanced-options/api-access.md) documentation.
{% endhint %}

Hardfin supports integrating with Customer Relationship Management (CRM) software, as well as Accounting or Enterprise Resource Planning (ERP) systems. These integrations allow your organization to sync data between Hardfin and your business systems automatically.

CRM integrations allow your organization to load commercial data from your CRM into Hardfin automatically, while Accounting/ERP integrations enable synchronization of operational and financial data between Hardfin and your ERP.

## CRM integrations

### How CRM data sync works <a href="#hubspot-crm-integration" id="hubspot-crm-integration"></a>

Hardfin can automatically pull data from your CRM on an ongoing basis.

{% @mermaid/diagram content="graph LR\
CRM(CRM data) -- Automatic sync --> HF(Hardfin platform)" fullWidth="false" %}

#### Data sync <a href="#hubspot-crm-integration" id="hubspot-crm-integration"></a>

You define rules for which data flows from your CRM to Hardfin, including field-level configurations for data integration. Most businesses sync 3 key types of data on a regular basis:

* CRM Account or Company → Hardfin **Customer**
* CRM Opportunity or Deal → Hardfin **Project**
* CRM Product or Line Item → Hardfin **Product**

Some businesses track additional types of data to sync, such as:

* CRM Site Information → Hardfin **Location**
* CRM Service Record → Hardfin **Ticket**

#### Sync frequency <a href="#hubspot-crm-integration" id="hubspot-crm-integration"></a>

Free accounts sync data once per day, while paid accounts sync data more frequently (every 5–60 minutes depending on the plan). Please [contact us](mailto:support@hardfin.com) to enable *real-time* data sync.

#### Sync triggers

CRM data syncs to Hardfin once when a record first meets your sync criteria (such as a deal reaching the "Closed won" stage). After this initial sync, Hardfin will not automatically override data with subsequent CRM changes unless you specifically request a re-sync.

If you need to pull the latest CRM data for a specific project, you can manually trigger a re-sync from the project details page. This gives you full control over when CRM updates flow into Hardfin while protecting the work your operations team has already completed.

{% hint style="info" %}
This behavior is intentional: once CRM data flows into Hardfin, your operations team and supply chain staff typically begin making updates directly in Hardfin—adjusting project details, managing fulfillment, and tracking assets. Automatic re-syncing from the CRM could overwrite these operational changes if sales or support teams later modify the original CRM record.
{% endhint %}

### Connecting your CRM <a href="#hubspot-crm-integration" id="hubspot-crm-integration"></a>

Integrate your CRM with Hardfin from the [integrations page](https://assets.hardfin.com/integrations), accessible in the user dropdown menu.

<figure><img src="/files/7yxfG0bYdkYs1dixLm4b" alt="" width="175"><figcaption><p>Integrations in dropdown menu</p></figcaption></figure>

You will see CRM configuration options in the "Customer Relationship Management" section. The integrations page displays all available integration types, including those not currently included in your plan. Integrations that are not available on your current plan display a message with guidance on how to access them, so you can see the full range of capabilities and plan for future needs.

If you do not have a CRM connected, you will see the option to Connect HubSpot. If you are on an advanced plan tier and other CRMs have been enabled for your organization, you will see those integration options instead.

Hardfin supports **HubSpot** as the default CRM integration available on all plans. Hardfin also supports **Salesforce** as a custom CRM integration available an add-on for on all plans.

<table data-header-hidden><thead><tr><th width="275.9375"></th><th width="244.4140625"></th></tr></thead><tbody><tr><td><img src="/files/9xCp79XIA5S5Et8MgAwe" alt="" data-size="original"></td><td><img src="/files/sn3xhbPZV3U2J44uV5P6" alt="" data-size="original"></td></tr></tbody></table>

### Use HubSpot as your CRM integration

Hardfin supports **HubSpot** as the default CRM integration available on all plans. This integration allows users to manage their CRM data directly within the Hardfin platform with seamless synchronization, ensuring that your sales and financial operations are perfectly aligned.

#### Connect HubSpot <a href="#hubspot-crm-integration" id="hubspot-crm-integration"></a>

Clicking "Connect HubSpot" will pop open a new window with the authentication flow for HubSpot. After you have approved your integration, your Hardfin organization will be directly connected to the CRM.

{% hint style="success" %}
To ensure that all workflows have appropriate access to complete successfully, we recommend you integrate using an **administrator** account in your CRM.
{% endhint %}

<figure><img src="/files/HHEVqvWRguoogUTckJbW" alt=""><figcaption><p>CRM configuration before HubSpot is connected</p></figcaption></figure>

Once connected successfully, you will be returned to the *Integrations* page.

#### Configure HubSpot integration <a href="#hubspot-crm-integration" id="hubspot-crm-integration"></a>

You must configure the integration in order for data to start syncing automatically. Click "Configure" to open the configuration menu.

<figure><img src="/files/WMjbZtk2QObnq9ljUkPV" alt=""><figcaption><p>CRM configuration before HubSpot is configured</p></figcaption></figure>

#### HubSpot project mapping

Your project mapping determines how HubSpot *Deal* information is mapped to a Hardfin *Project*.

Select the deal fields you wish to map to projects. Hardfin will automatically sync your CRM information for each of these fields.

<figure><img src="/files/NcjUOOy6fABi6AeNyzGi" alt="" width="563"><figcaption><p>HubSpot project mapping configuration</p></figcaption></figure>

#### HubSpot line item mapping

Your line item mapping determines how HubSpot *Deal line item* information is mapped to a Hardfin *Project line item*.

Select the line item fields you wish to map. Hardfin will automatically sync your CRM information for each of these fields.

{% hint style="info" %}
If a HubSpot Product already has an existing match in Hardfin, it will be mapped automatically. If a HubSpot Product does not have an existing match, the Hardfin platform will try to match the product based on its name. If a HubSpot Product still cannot find a match, the Hardfin platform will create a new product.
{% endhint %}

<figure><img src="/files/GyzY7Kw6hO5mky6Is4g7" alt="" width="563"><figcaption><p>HubSpot line item mapping configuration</p></figcaption></figure>

#### HubSpot customer mapping

Your customer mapping determines how HubSpot *Company* information is mapped to a Hardfin *Customer*.

Select the company fields you wish to map to customers. Hardfin will automatically sync your CRM information for each of these fields.

<figure><img src="/files/wmUa8WNSwReNHWIuZyjt" alt="" width="563"><figcaption><p>HubSpot customer mapping configuration</p></figcaption></figure>

#### HubSpot pipeline selection

Your deal trigger determines *when* HubSpot information is synced automatically to Hardfin. By default Hardfin recommends syncing *Closed won* deals.

<figure><img src="/files/S2Yii5Z0LbmGzmZE3Xdp" alt="" width="563"><figcaption><p>HubSpot pipeline selection configuration</p></figcaption></figure>

Select your deal pipelines and deal stages. Hardfin will automatically sync your CRM information as soon as a Deal hits this stage.

#### Multiple pipeline support

Hardfin supports syncing deals from multiple HubSpot pipelines simultaneously, allowing you to manage different sales processes and product lines within a single integration.

**Pipeline configuration**

* **Multiple pipeline setup.** Configure sync triggers for different HubSpot pipelines based on your sales organization
* **Pipeline-specific triggers.** Set different deal stages for each pipeline to control when deals sync to Hardfin
* **Flexible mapping.** Each pipeline can have its own field mappings and sync rules
* **Unified project creation.** Deals from all configured pipelines create projects in the same Hardfin workspace

**Managing multiple pipelines**

* **Pipeline selection.** Choose which HubSpot pipelines to include in your sync configuration
* **Stage customization.** Define the appropriate sync trigger stage for each pipeline
* **Audit tracking.** All pipeline configuration changes are tracked in your organization's audit log
* **Performance optimization.** Sync frequency and processing are optimized across all configured pipelines

This is particularly useful for organizations with separate sales processes for different deal types, product lines, customer segments, or geographic regions, ensuring all deals flow seamlessly into Hardfin regardless of their originating pipeline.

#### Enable HubSpot sync

Once your HubSpot integration is fully configured, you will see the option to enable sync.

<figure><img src="/files/X6HZ0sjfUH2pV6rnWvje" alt=""><figcaption><p>CRM configuration before sync is enabled</p></figcaption></figure>

When enabling sync, you can specify a date from which to sync modified deals. Hardfin will automatically sync all deals modified after this date. For example, you may want to sync the prior year's worth of deals to Hardfin to [jumpstart your onboarding](/getting-started.md#start-with-existing-data-in-30-minutes).

{% hint style="info" %}
Note that deals can be modified in HubSpot after they close. Hardfin will look for any deals *modified* after the given date, even if they closed at an earlier date.
{% endhint %}

Select "Active" for the sync status on any pipeline and click Save to start Hardfin automatically mapping your CRM data on an ongoing basis.

#### Editing HubSpot configuration

You can update your configuration settings at any time to update the sync trigger, modify field mappings, or pause syncing. Simply click the *gear icon* :gear: next to your HubSpot configuration.

<figure><img src="/files/DcMbA2btrebptwSnh5UC" alt=""><figcaption><p>HubSpot CRM configuration after fully connected, configured, and syncing</p></figcaption></figure>

#### **HubSpot file syncing**

Hardfin automatically syncs files from HubSpot Deals directly to your Hardfin Projects, ensuring all relevant documentation is centralized and accessible.

<figure><img src="/files/FslPLo0BOIeKu9dAgQ89" alt="" width="563"><figcaption><p>Audit record for HubSpot file sync</p></figcaption></figure>

**Automatic file synchronization**

* **Deal attachments.** Files associated with HubSpot deals are synced when the deal triggers project creation
* **Activity files.** Files attached to HubSpot activity are automatically downloaded and linked to the corresponding project
* **Real-time updates.** New files added to HubSpot are automatically pulled into Hardfin during regular sync cycles
* **Centralized storage.** All HubSpot files are stored securely within your Hardfin project workspace
* **Access control.** File permissions follow your Hardfin project access settings

This ensures that all project-related documentation from your sales process is immediately available to your operations and success teams without manual file transfers.

### Use Salesforce as your CRM integration

Hardfin supports **Salesforce** as a custom CRM integration available as an add-on to advanced plan tiers for organizations requiring enterprise-level customer relationship management capabilities. A Salesforce integration allows users to manage their CRM data directly within the Hardfin platform with seamless synchronization, ensuring that your sales and financial operations are perfectly aligned.

<figure><img src="/files/XyvYqSNBtTGPZupPApIV" alt=""><figcaption><p>Salesforce CRM configuration after fully connected, configured, and syncing</p></figcaption></figure>

{% hint style="warning" %}
Due to the high degree of customization and complexity that is typical in Salesforce implementations, this integration usually requires custom configuration during the implementation process.
{% endhint %}

#### **Set up Salesforce connection**

Salesforce can be connected to a Hardfin in just a few easy steps, and—for a default Salesforce configuration—Salesforce can be implemented within a few hours. For custom implementations, Salesforce configuration will take longer.

{% hint style="success" %}
Your account manager will help your team with this configuration during implementation.
{% endhint %}

**Install Hardfin data connector for Salesforce**

A Salesforce administrator should install the **Hardfin data connector** in your Salesforce org. This connector leverages Salesforce's new *External Client App* technology to provide an additional layer of security for your org.

**Choose appropriate user for Hardfin to access Salesforce**

Hardfin must be granted access to Salesforce through a specific user account. This is usually a dedicated **integration user** account (for a modern ECA implementation), a full user account, or in some cases a relevant user account such as for a business operations manager or Salesforce analyst.

In either case, Hardfin must be granted the appropriate **permission sets** and **permissions** to access relevant fields. Contact your Hardfin account manager for the details relevant for your implementation.

{% hint style="success" %}
To ensure that all workflows have appropriate access to complete successfully, the simplest method is using an **administrator** account in your CRM.
{% endhint %}

**Authenticate Salesforce user with Hardfin**

Click "Connect Salesforce" to open a new window with the authentication flow for Salesforce. After you have approved your integration, your Hardfin organization will be directly connected to the CRM.

Once connected successfully, you will be returned to the *Integrations* page.

#### Configure Salesforce implementation

The Salesforce integration setup involves working directly with the Hardfin implementation team to configure the connection based on your specific Salesforce configuration. This ensures that data flows correctly between systems while respecting your existing Salesforce workflows and data integrity requirements.

**Field mapping customization.** Each Salesforce instance has unique custom fields, objects, and workflows that must be individually mapped to Hardfin's data structure

**Pipeline integration.** Salesforce opportunity stages and sales processes vary significantly between organizations and require tailored sync trigger configuration

**Hardfin setup.** Hardfin will map Salesforce data consistently to Customer, Locations, Products, and Projects in order to ensure standardized reporting

#### **Enable Salesforce sync**

Once your Salesforce integration is fully configured, you will see the option to enable sync.

When enabling sync, you can specify a date from which to sync modified opportunities. Hardfin will automatically sync all opportunities modified after this date. For example, you may want to sync the prior year's worth of opportunities to Hardfin to jumpstart your onboarding.

{% hint style="info" %}
Note that opportunities can be modified in Salesforce after they close. Hardfin will look for any opportunities *modified* after the given date, even if they closed at an earlier date.
{% endhint %}

#### Editing Salesforce configuration

You can view your configuration status at any time to monitor the Salesforce integration. Contact your account manager to make modifications to a custom Salesforce implementation.

#### Resyncing projects from Salesforce

If you need to refresh project data from Salesforce, you can manually trigger a resync for individual projects. This is useful when:

* Salesforce opportunity data has been updated and you want to pull the latest changes immediately
* You need to correct data discrepancies between Salesforce and Hardfin
* You want to ensure a specific project reflects the most current Salesforce information

To resync a project from Salesforce, navigate to the project details page and select the resync option from the project actions menu. Hardfin will fetch the latest opportunity data from Salesforce and update the project accordingly, including any changes to project details, line items, or associated customer information.

## Managing unmatched items from external systems

When syncing data from external systems such as ERP integrations, some items may not automatically match to existing products in Hardfin. These unmatched items are collected in the **item triage** queue for manual classification.

### Item triage

The item triage page displays items from external systems that could not be automatically matched to existing Hardfin products. This typically occurs when an external system contains products or SKUs that have not yet been set up in Hardfin, or when naming conventions differ between systems.

**To access item triage:**

Navigate to the item triage page from the navigation menu. You will see a list of unmatched items with their external system name, SKU, and the source system they came from.

**To classify an unmatched item:**

1. Select an item from the triage list
2. Choose to either map it to an existing Hardfin product or create a new product
3. Confirm your selection

Once classified, the item will be linked to the appropriate Hardfin product and future syncs will automatically use this mapping. The triage queue helps ensure that all external system data flows correctly into Hardfin without requiring manual intervention for each sync.

{% hint style="info" %}
Item triage is primarily used with ERP integrations. If you are using a CRM integration only, products are typically created automatically during the sync process based on your field mappings.
{% endhint %}

### Connect other CRMs <a href="#hubspot-crm-integration" id="hubspot-crm-integration"></a>

{% hint style="info" %}
Looking for enterprise CRMs such as Microsoft Dynamics? [Contact support](mailto:support@hardfin.com) to activate the appropriate integration for your account. Advanced CRM support is included with Hardfin's advanced plan tiers or as an enterprise add-on.
{% endhint %}

## Accounting and ERP integrations

Hardfin supports integrating with accounting and Enterprise Resource Planning (ERP) systems. These integrations allow your organization to sync operational and financial data between Hardfin and your ERP.

Integrate your ERP with Hardfin from the [integrations page](https://assets.hardfin.com/integrations), accessible in the user dropdown menu.

<figure><img src="/files/7yxfG0bYdkYs1dixLm4b" alt="" width="175"><figcaption><p>Integrations in dropdown menu</p></figcaption></figure>

You will see ERP configuration options in the "Accounting and enterprise resource planning (ERP)" section. If you do not have an ERP connected, you will see the option to Connect QuickBooks Online. If you are on an advanced plan tier and other ERPs have been enabled for your organization, you will see those integration options instead.

Hardfin supports **QuickBooks Online** as the default ERP integration available on all plans. Hardfin also supports **Oracle NetSuite** as a custom ERP integration available an add-on for on all plans.

| <img src="https://upload.wikimedia.org/wikipedia/commons/c/ce/Intuit_QuickBooks_logo.png" alt="" data-size="original"> | <img src="https://www.logoeps.net/wp-content/uploads/2016/12/netsuite-logo.png" alt="" data-size="original"> |
| ---------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |

### Use QuickBooks Online as your accounting system

Hardfin supports a direct connection to **QuickBooks Online** for organizations that use QuickBooks as their accounting system. This integration enables seamless data synchronization between Hardfin and QuickBooks Online.

<figure><img src="/files/MKFJIMiyhfgOBhmzhR47" alt=""><figcaption><p>Integrations view before QuickBooks Online is connected</p></figcaption></figure>

#### Connect QuickBooks Online

To connect QuickBooks Online to Hardfin:

1. Navigate to the [integrations page](https://assets.hardfin.com/integrations) from the user dropdown menu
2. In the "Accounting" section, click "Connect QuickBooks Online"
3. A new window will open with the QuickBooks Online authentication flow
4. Sign in to your QuickBooks Online account and authorize the connection
5. Once approved, you will be returned to the Integrations page

{% hint style="success" %}
To ensure that all workflows have appropriate access to complete successfully, you must integrate using an **administrator** account in QuickBooks Online.
{% endhint %}

<figure><img src="/files/9UV2HMTbPG3rqFneUYgJ" alt="" width="375"><figcaption><p>Connect QuickBooks window</p></figcaption></figure>

Once connected, the integration status will display alongside your other connected integrations on the Integrations page.

<figure><img src="/files/iU5eo2mmrKCHecAFXNby" alt="" width="563"><figcaption><p>QuickBooks integration connected</p></figcaption></figure>

#### Item sync

Once your QuickBooks Online connection is active, Hardfin automatically syncs items (products and services) from QuickBooks Online on a recurring basis. This keeps your Hardfin product catalog aligned with your accounting system without manual data entry.

**How item sync works**

Hardfin periodically fetches items from QuickBooks Online and attempts to match them to existing products and parts in Hardfin. Matching is based on SKU or item name:

* If a QuickBooks item matches an existing Hardfin product or part by SKU or name, the items are linked automatically
* If a QuickBooks item cannot be matched, it is sent to the integration triage queue for manual review

**Sync status**

You can view the current sync status for your QuickBooks Online integration on the integrations page. The status indicates when items were last synced and whether any items require attention in triage.

### Use NetSuite as your ERP integration

Hardfin supports **NetSuite** as an ERP integration for organizations that need to synchronize inventory, product, and financial data between systems.

#### Connect NetSuite

To connect NetSuite to Hardfin, navigate to the [integrations page](https://assets.hardfin.com/integrations) and locate the ERP integration section. Click "Connect NetSuite" to begin the authentication process.

{% hint style="success" %}
NetSuite integration is available as an add-on to advanced plan tiers for organizations that have sophisticated synchronization needs for inventory, product, and financial data. Your account manager will help your team with NetSuite configuration during implementation.
{% endhint %}

#### Configure NetSuite integration

The NetSuite integration setup involves working with the Hardfin implementation team to configure the connection based on your specific NetSuite configuration. This ensures that data flows correctly between systems while respecting your existing NetSuite workflows.

<figure><img src="/files/asKfkPvclDUitAlgpaEB" alt=""><figcaption><p>NetSuite connected view</p></figcaption></figure>

#### Multiple integration support

Items in Hardfin (products and parts) can be linked to multiple integrations simultaneously. This allows you to maintain connections with both CRM and ERP systems for the same items, enabling flexible data synchronization across your business systems.

For example, a product can be linked to both your HubSpot CRM integration (for sales data) and your NetSuite ERP integration (for inventory and financial data) at the same time.

{% hint style="info" %}
Contact your account manager to enable NetSuite integration for your organization.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://guide.hardfin.com/manage-your-account/integrations.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
