ml-connector
Microsoft Dynamics GPHubSpot

Microsoft Dynamics GP and HubSpot integration

Microsoft Dynamics GP runs your financial operations, receivables, and customer master. HubSpot manages your sales pipeline and customer relationship data. Connecting them keeps your customer records in sync across both systems and flows invoice and order data from Microsoft Dynamics GP into HubSpot deals and commerce objects. ml-connector handles the on-premises Windows authentication and polling cadence of Microsoft Dynamics GP while translating financial records into HubSpot's CRM model so your sales team works with accurate customer and transaction data.

How Microsoft Dynamics GP works

Microsoft Dynamics GP exposes customers, receivables invoices, purchase orders, GL accounts, and GL journal entries through a REST-based Service Based Architecture (SBA) endpoint at https://<server>:<port>/GPService/Tenants(<TenantName>)/Companies(<CompanyName>)/<Module>/<Resource>. Authentication is Windows domain-based, requiring an Active Directory account with Kerberos or NTLM credentials and a corresponding Microsoft Dynamics GP user with appropriate role-based security. Microsoft Dynamics GP does not support webhooks or push notifications, so data must be retrieved by polling the SBA endpoint with ModifiedDate filters at customer-defined intervals.

How HubSpot works

HubSpot exposes contacts, companies, deals, invoices, orders, line items, and products through REST API at https://api.hubapi.com/crm/ with date-versioned paths. Authentication uses a Private App Access Token (Bearer token format pat-na1-) for server-to-server integrations. HubSpot supports both webhook subscriptions with signature verification and polling via list and search endpoints, though webhook subscriptions require a separate Public App registration. Batch operations are capped at 100 records, and the Search API is limited to 10,000 records; larger datasets require the Lists API or CRM Export.

What moves between them

Microsoft Dynamics GP customers flow into HubSpot as companies, and GL receivables invoices become HubSpot invoices linked to their corresponding company records. Payments and credits recorded in Microsoft Dynamics GP sync to HubSpot commerce objects and deal updates. The main flow is from Microsoft Dynamics GP into HubSpot, reflecting the source-of-truth role of the ERP for customer master and financial data. Microsoft Dynamics GP has no push capability, so ml-connector polls on a schedule defined by your month-end close or billing cycle.

How ml-connector handles it

ml-connector stores the Windows domain credentials securely and uses them to authenticate to Microsoft Dynamics GP's Service Based Architecture REST endpoint via Negotiate or NTLM. It reads the actual SQL Server company database name from the customer configuration, since Microsoft Dynamics GP company names are database identifiers rather than human-readable names. Polling uses ModifiedDate filters to retrieve only changed records since the last sync, with throttling to respect SQL Server performance and avoid degrading end-user experience. Customer records are mapped to HubSpot companies by name and ID, and invoices are mapped to HubSpot invoices with associations to the corresponding company, linked to HubSpot deals for sales pipeline tracking. Microsoft Dynamics GP's unposted-only write constraint means that only Work transactions can be created; once posted, invoices are read-only. ml-connector deduplicates invoices by document number to avoid validation errors, since Microsoft Dynamics GP has no built-in idempotency mechanism. Payment records are tracked through their associated invoice history so credit memos and overpayments are reflected in HubSpot.

A real-world example

A regional manufacturing and distribution company uses Microsoft Dynamics GP on-premises to manage customer accounts, receivables invoices, and payments across three operating divisions. The sales and customer success teams use HubSpot to track opportunities, close deals, and manage customer relationships. Before the integration, the finance team manually exported monthly customer aging reports from Microsoft Dynamics GP and fed them into HubSpot so sales could see which accounts were past due, leading to confusion over which system held the current state and delayed follow-up on at-risk accounts. With Microsoft Dynamics GP and HubSpot connected, customers and their invoices sync automatically, deals are tagged with invoice status, and credit limits and payment history are visible to the sales team in context, so overdue collections can be coordinated with pipeline activities.

What you can do

  • Sync Microsoft Dynamics GP customers to HubSpot companies with linked receivables data and credit limits.
  • Map Microsoft Dynamics GP GL receivables invoices to HubSpot invoices and associate them with corresponding deals.
  • Pull Windows domain-authenticated data from Microsoft Dynamics GP's on-premises Service Based Architecture REST endpoint.
  • Track payments, credits, and overpayments from Microsoft Dynamics GP and reflect them in HubSpot commerce and deal status.
  • Poll Microsoft Dynamics GP on a schedule aligned to your month-end close, with deduplication to prevent duplicate invoices.

Questions

Does ml-connector work with both Service Based Architecture and SOAP Web Services?
ml-connector uses the REST-based Service Based Architecture (SBA), available in Microsoft Dynamics GP 2015 and later. Older on-premises installations running SOAP-only or eConnect-only will need SBA enabled by the customer first. Always verify that the customer's specific version of Microsoft Dynamics GP has SBA installed and enabled before starting the integration.
How does ml-connector handle Microsoft Dynamics GP's Windows authentication requirement?
ml-connector securely stores the Windows domain account credentials provided by the customer and uses them to authenticate to Microsoft Dynamics GP via Negotiate or NTLM on every REST call to the Service Based Architecture endpoint. The customer must create a dedicated Active Directory account with appropriate Microsoft Dynamics GP user role assignments before the integration can begin.
What happens when Microsoft Dynamics GP invoices are posted or fiscal periods are closed?
Microsoft Dynamics GP allows writes only to unposted (Work) transactions; once posted, invoices become read-only. Invoices in closed fiscal periods also cannot be modified. ml-connector syncs both posted and unposted invoices into HubSpot, but if a post-integration update is needed in Microsoft Dynamics GP, it must be made to an unposted transaction before posting again.

Related integrations

Connect Microsoft Dynamics GP and HubSpot

Free to use. Add your credentials, ping your real systems, and see if we fit.

Get started