HubSpot + SAP S/4HANA integration

S/4HANA and ECC keep the customer master, the sales order and the billing document. Which SAP interfaces reach HubSpot, and what a keyed build takes.

Connects by API , iPaaS

Scope this integration Book a scoping call Estimate the cost

Is there an official SAP S/4HANA + HubSpot integration?

Not from HubSpot or SAP. As of September 2026 a search of the HubSpot App Marketplace for S/4HANA finds only a generic ERP connector from another developer, which names SAP among the systems it bridges. We recommend a custom API integration over the released S/4HANA OData APIs, with SAP Event Mesh events where the client runs it, at 70 to 150 build hours; an ECC system reachable only through IDocs, BAPIs and middleware moves into the enterprise band of 300 to 450 hours.

Recommended route
Custom API integration
Build effort
70 to 150 hours
In the HubSpot App Marketplace?
Yes, a third-party connector
Typical elapsed time
4 to 8 weeks

Marketplace checked September 2026.

Why teams connect SAP S/4HANA to HubSpot

In a company that runs SAP, the ERP usually arrived years before HubSpot and is guarded by a team whose job is to keep it stable. The business partner, the sales order and the billing document live there, beside the credit limits and delivery blocks that decide whether an order ships at all. HubSpot tends to arrive later, bought by a sales or marketing team that wanted a CRM its people would actually open, and within a month somebody asks why the portal cannot see what a customer has ordered.

The requests that follow are specific. Sellers want open orders, delivery status and billed revenue on the company record before a call. Account managers want to know which customers are blocked before promising anything. Finance wants a new customer created once, in SAP, with the right sales area and payment terms, instead of typed twice by two teams who disagree about the spelling.

Timing shapes the design as much as the mapping does. SAP has committed mainstream maintenance for SAP ERP 6.0, the release most buyers call ECC, only to the end of 2027, with optional extended maintenance to the end of 2030. An integration built against ECC’s interfaces today gets rebuilt when that system moves to S/4HANA, so the part worth protecting is the HubSpot side: objects, keys and history that do not care which SAP release feeds them.

What syncs

Five objects carry the account view. Business partners with the customer role become HubSpot companies, their contact persons become contacts, sales orders become deals, billing documents land on a custom object, and products become HubSpot products.

S/4HANA makes the business partner the leading object, and the customer is a role that partner holds, with a customer number of its own. Sales orders name the customer as the sold-to party, so we store both numbers on the company and associate each document on the number it carries. Older SAP ERP systems can hold customers with no business partner at all, which SAP’s own IDoc guidance allows for, and that is one more reason to check the key again after a conversion.

A customer also has one sales area row for every sales organization, distribution channel and division it trades in. Those rows describe a single company and never become companies of their own.

Data flows into HubSpot only. Pricing, credit, delivery blocks and billing belong to S/4HANA, and a CRM that edits them creates work for the people who run the ledger. A won deal can create a sales order through the Sales Order API, and we keep that for a second phase with a review step in front of it.

Objects that sync between SAP S/4HANA and HubSpot
Source object HubSpot object Direction Match key Notes
Business partner (A_BusinessPartner) Company Into HubSpot Business partner number, with the customer number from the customer role stored beside it Sales documents name the customer as sold-to party, so both numbers travel with the company.
Contact person (A_BusinessPartnerContact) Contact Into HubSpot The contact person's own business partner number, with email shown as the readable match The relationship carries validity dates, and an ended one removes the association.
Sales order (SalesOrder) Deal Into HubSpot Sales order number, associated to the company through the sold-to party Orders stay read only in HubSpot. S/4HANA prices, schedules and bills them.
Billing document (BillingDocument) Custom object Into HubSpot Billing document number, associated to the company and the sales documents it references The same API carries invoices, credit memos and cancellations, so the document type is stored too.
Product (A_Product) Product Into HubSpot Product number

Architecture

S/4HANA gets a watermark sync, with events in front of it where the client runs SAP Event Mesh. A service signs in as the communication user of a communication arrangement and reads each released OData API on a schedule. It filters on the change fields SAP publishes: LastChangeDateTime on sales orders and billing documents, and LastChangeDate with LastChangeTime on business partners. Each entity keeps its own watermark inside the service, and a restart picks up from it.

Where S/4HANA publishes business events, business partner and sales order events land on an Event Mesh queue, and a webhook subscription pushes them to our endpoint. The events carry keys, not records, so each one queues a read of the full record. The scheduled read keeps running behind the events and catches anything they miss.

The HubSpot writer upserts in batches on the SAP numbers, then a second pass links orders to companies through the sold-to party and billing documents to their orders. Either pass can be rerun over the same window with no effect, so replaying a bad day costs time and nothing else.

A sync service reads the released S/4HANA OData APIs on a watermark, and where SAP Event Mesh runs, business events arrive through a webhook and trigger a read by key. Records are upserted on SAP numbers, linked in a separate association pass, and reconciled so deleted orders close.

What the API allows

API style
REST
Authentication
Basic authentication
Webhooks
Partial
Changed-since filter
Partial
Sandbox
Yes
Rate limit
Not documented

Developer documentation help.sap.com

Three ways to connect

Two facts pick the route on SAP: the release you run, and what your SAP team already operates. Object count matters less.

On S/4HANA, in the cloud or on premise, a custom API integration against the released OData APIs is the route we recommend. The APIs are documented on the SAP Business Accelerator Hub, each belongs to a communication scenario the SAP team already governs, and events can sit in front of them later.

Where the client already licenses SAP Integration Suite, its flows can do the SAP-side work, including reading ECC through OData Provisioning, and hand clean records to the HubSpot writer. That keeps SAP logic with the people who own it.

The generic connector from the marketplace is the third option, and a fair one for a simple mapping, but it does not change what the SAP side has to expose. On ECC without Integration Suite, the interfaces are BAPIs over RFC and IDocs, usually through middleware the client already runs, and the work moves into the enterprise band.

  • iPaaS

    Possible

    SAP Integration Suite is SAP's own iPaaS. Where the client already runs it, its flows can do the SAP-side work, including reading ECC through OData Provisioning, and hand clean records to a HubSpot writer.

  • Marketplace app

    Possible

    The marketplace lists a generic ERP connector from another developer that names SAP. It can suit a simple mapping, but its runtime and roadmap stay with that developer, and SAP still has to expose the data to it.

What breaks and how we prevent it

Partner changes split across two fields

Sales orders and billing documents carry one LastChangeDateTime, but the business partner carries LastChangeDate and LastChangeTime as separate fields. A filter copied from the order read compares the date alone and misses every later change made on the same day. We build the business partner filter on both fields and prove it with two edits to one partner in one afternoon.

Webhook subscriptions stuck at handshake

An Event Mesh webhook subscription delivers only after a handshake, and an endpoint that answers without the WebHook-Allowed-Origin header leaves the handshake requested but never completed. We answer the handshake explicitly, check the subscription status after every deployment, and alert when queue depth grows instead of waiting for someone to notice quiet data.

Deleted orders that stay open

A watermark read cannot return a sales order that no longer exists, so a deleted order stays open in HubSpot and inflates the pipeline. S/4HANA raises a Sales Order Deleted event, and where events are not available we reconcile the full list of order numbers every week and close what has gone.

Contacts who left the customer

Contact persons hang off a relationship with its own validity dates. A sync that ignores the end date keeps a former buyer associated with the account long after the relationship lapsed. We read the validity end date and remove the association in HubSpot while keeping the contact’s history.

Our approach

  1. Scope. We start with the SAP team: release and edition, which communication scenarios are in place, whether Event Mesh or Integration Suite already runs, and how many sales areas trade.
  2. Architect. We fix the keys, the watermark per entity, the event path and the association order, and write them up as the communication arrangement request.
  3. Build. We write the service against the quality or test system, and it refuses any SAP host or HubSpot portal that is not on its allowlist.
  4. Validate. We reconcile customers, open orders and billed totals against SAP reports, including a same-day partner edit and a deleted order.
  5. Operate. Cutover changes the host and the communication user. After that we watch run history and queue depth, and re-test in the test system before each SAP release reaches production.

Common questions

Is there an SAP S/4HANA app in the HubSpot App Marketplace?

Not one built by HubSpot or SAP. The listing that matches a search for S/4HANA is a generic ERP connector from another developer, which names SAP among many systems. It can work for a simple mapping. It does not settle the question that decides the project, which is which released APIs, events and communication arrangements your SAP team will open to an outside service.

Does SAP S/4HANA send a webhook when a sales order changes?

Not directly. S/4HANA raises business events such as Sales Order Created, Changed and Deleted and publishes them to SAP Event Mesh, a separate SAP BTP service. Event Mesh can then push a queue to our endpoint through a webhook subscription, once a handshake completes. Without Event Mesh, a change reaches HubSpot at the next scheduled read, on the interval agreed in discovery.

Will the same HubSpot integration work on SAP ECC?

The HubSpot side will, the SAP side will not. In SAP ERP, BAPIs are methods on business objects called over RFC, and IDocs such as DEBMAS carry customer master data, while the released OData APIs belong to S/4HANA. SAP Integration Suite can expose Business Suite data through OData Provisioning, and the SAP NetWeaver add-on for event enablement can send business object events to Event Mesh.

What happens to an SAP ECC integration when the business moves to S/4HANA?

Plan for the SAP side to be rebuilt. SAP has committed mainstream maintenance for SAP ERP 6.0 only to the end of 2027, with optional extended maintenance to the end of 2030, and the interfaces change from IDocs and BAPIs to released APIs and events. HubSpot's objects, keys and history can stay, provided companies were keyed on customer numbers that the conversion carries across.

How does an SAP S/4HANA sync avoid duplicate HubSpot companies?

By keying on the business partner and nothing else. A customer carries one sales area row for every sales organization, distribution channel and division it trades in, and a sync that reads those rows as customers creates a company per row. We upsert on the business partner number, hold the customer number beside it, and store sales area values as properties.

How does an integration authenticate against SAP S/4HANA?

Through a communication arrangement, which ties a communication scenario to a communication system and an inbound communication user. SAP lists basic authentication, X.509 certificates, OAuth 2.0 and SAML single sign on, and each API documents which it accepts; the Sales Order API takes basic, certificate and OAuth 2.0. We ask for a certificate on the communication user wherever the SAP team supports one.

Can an SAP S/4HANA integration be built against a test system first?

Yes, and it should be. S/4HANA Cloud Public Edition runs either a quality system beside production, where development, configuration and testing happen, or a separate development, test and production landscape. We build and rehearse against the quality or test system, then cut over by changing the host and the communication user.

How many hours does an SAP S/4HANA and HubSpot integration take?

Budget 10 to 20 hours of discovery and 70 to 150 hours of build for five objects over the released APIs, with watermarks, an event path and reconciliation. An ECC system that can only offer IDocs and BAPIs through its own middleware sits in the enterprise band, 300 to 450 hours, because the SAP side becomes a project of its own.

Partnerships and accreditations

  • HubSpot Elite Solutions Partner
  • HubSpot Custom Integration Accreditation
  • HubSpot CRM Data Migration Accreditation
  • HubSpot Solutions Architecture Design Accreditation

HubSpot accreditations

  • HubSpot Onboarding Accreditation
  • HubSpot Academy Accreditations

Industry specializations

  • HubSpot Healthcare Industry Specialist
  • HubSpot Financial Services Industry Specialist
  • HubSpot Manufacturing Industry Specialist
  • HubSpot Quote to Cash Capability

Partnerships

  • Anthropic Solutions Partner

Trust and compliance

We design integrations to support the security and privacy rules your business works under, and we build them on independently audited platforms.

How we build

  • Sandbox first. We build and test in a sandbox before anything reaches production.
  • Fail-closed allowlists. An integration runs only against the HubSpot accounts it is approved for.
  • Least-privilege access. Each integration gets only the API scopes it needs.
  • Secrets in a vault. Keys and tokens live in a secrets vault, never in plain text.
  • Sensitive data scoped early. Discovery covers sensitive data, access controls and any BAA or data-processing needs.
  • A compliance package for regulated industries: audit logging, field-level encryption and sensitive-data handling.

Scope a SAP S/4HANA integration

Send the systems, the direction and the record volume. We reply with a scope and an effort band within one business day.

  • SAP S/4HANA

Type any system and its version, such as Sage 300 or Sage 50. Press Enter or a comma after each one.

Add more detail (optional)

Optional. A sentence or two about the workflow is enough.

We use these answers to scope the work and for nothing else. Privacy policy.

Prefer to talk it through first? Book a technical scoping call

Talk to the people who build these

  • Nijat
  • Sean
  • Prash

Book a scoping call