Integration guide
HubSpot and Imprest
Closed-won deals become draft invoices. Accepted quotes become estimates. Payment status flows back onto the deal, so your sales team can see what has been paid without leaving HubSpot.
The integration is included with Imprest at no additional cost.
Install
You need an Imprest account and a HubSpot user who can install apps (a Super Admin, or a user with App Marketplace access).
Open the Apps page in Imprest
Go to Ecosystem → Apps and choose HubSpot.Choose Connect HubSpot
You are sent to HubSpot to sign in. If you belong to more than one HubSpot account, pick the one you want to connect — this is the account Imprest will read from, and it cannot be changed later without disconnecting.Review the permissions and approve
HubSpot shows exactly what Imprest is asking for. Every item on that screen is listed below with what it is used for.Wait for the first sync
Imprest imports your contacts and companies as customers. A few thousand records take a minute or two; very large accounts take longer. You can keep working while it runs.
One HubSpot account connects to one Imprest organization at a time. If you run several businesses in Imprest, connect each to its own HubSpot account.
What each permission is for
Imprest asks only for what it uses. If a permission below has no purpose you recognise, that is worth telling us about.
| Permission | Why Imprest needs it |
|---|---|
| oauth | Required by HubSpot for any connected app. Lets Imprest hold the connection and receive change notifications. |
| crm.objects.contacts.read | Read your contacts so they can appear in Imprest as customers. |
| crm.objects.contacts.write | Send a customer back to HubSpot, and apply the value you pick when the same field was edited in both places. |
| crm.objects.companies.read | Read your companies so they can appear in Imprest as customers. Imprest never edits a company in HubSpot. |
| crm.objects.deals.read | Read a deal when it is marked closed-won, so Imprest can draft the invoice. |
| crm.objects.deals.write | Write payment status back onto the deal, so your sales team can see what has been paid without leaving HubSpot. |
| crm.objects.line_items.read | Read the line items on a deal or quote, so the invoice matches what was actually sold. |
| crm.objects.quotes.read | Read a quote when it is accepted, so Imprest can create the estimate and invoice. |
| crm.schemas.deals.write | Create the three Imprest fields on your deal record (amount paid, balance due, invoice status) the first time you connect. |
Imprest never reads your marketing email, forms, or website analytics, and never deletes anything in HubSpot.
Configure the sync
Open Ecosystem → HubSpot → Settings. The defaults are chosen to be safe, so you can leave every one of them alone.
- Match contacts bydefault: Email address
- How Imprest decides whether a HubSpot contact is someone you already have. Email is used because it is stable — matching on name merges different people who happen to share one.
- When a contact has no matchdefault: Create a new customer
- What happens to a HubSpot contact with no counterpart in Imprest. Set this to Skip if you want a read-only connection that never adds customers.
- Send customers to HubSpotdefault: After their first invoice
- When an Imprest customer is pushed to HubSpot. The default is deliberately conservative: someone you typed onto a one-off invoice should not land in your sales pipeline. Choose On create to mirror everyone, or Never for one-way sync.
- When both sides changeddefault: Hold for review
- If a field was edited in HubSpot and Imprest at nearly the same time, Imprest holds both values under Sync issues instead of silently picking one. You can also choose HubSpot wins or Imprest wins.
- Treat edits as simultaneous withindefault: 60 seconds
- How close together two edits must be to count as a genuine conflict rather than one side simply being out of date.
How it works day to day
A deal is marked closed-won
Imprest creates a draft invoice for the associated contact or company, using the deal’s line items — including any per-line discounts — rather than the deal amount, so the invoice matches what was actually sold. The invoice date is the deal’s close date. Nothing is ever sent to your customer automatically: the draft waits in your invoice list for you to review and send.
A quote is accepted
Imprest records an accepted estimate and a draft invoice from it. If the quote’s deal is later marked closed-won, you do not get a second invoice.
An invoice is paid
Three fields on the originating deal — amount paid, balance due, and invoice status — update in HubSpot, so your sales team can see payment state on the record they already live in.
A contact changes
Edits in HubSpot reach Imprest within about a minute. Imprest also re-checks everything on a schedule, so nothing is lost if a notification is missed.
When both sides changed
If the same field is edited in HubSpot and in Imprest at nearly the same time, Imprest does not guess. It keeps both values and lists them under Ecosystem → HubSpot → Sync issues, where you can keep the HubSpot value, keep the Imprest value, or type a third. Whichever you choose is written to both systems, so the same conflict does not come back.
You can change this under Settings if you would rather one side always win.
Disconnect or uninstall
You can do this from either side, and both work.
From Imprest
Go to Ecosystem → HubSpot and choose Disconnect. Imprest revokes its own access and removes the app from your HubSpot account, so nothing is left behind and nothing further is read.
From HubSpot
Go to Settings → Integrations → Connected Apps, find Imprest, and choose Uninstall. Syncing stops immediately.
What happens to your data
Customers, invoices and estimates that Imprest already created stay in Imprest — they are your accounting records, and some of them are posted to your books, so removing them would change your financial statements. Nothing further is read from HubSpot, and the fields Imprest added to your deals stop being updated. Reconnecting the same HubSpot account later picks up where it left off rather than duplicating everything.
To have your data deleted from Imprest entirely, email support@imprest.ai.
Support
Email support@imprest.ai. Support is offered in English. Telling us your HubSpot account ID (the number in your HubSpot URL) helps us find the connection quickly.
See also our privacy policy and terms.