HubSpot + E21 ERP integration

E21 ERP keeps a manufacturer's customers, orders and built-in CRM in its own database, typically SQL Server or Oracle, with no published API to call.

Connects by SQL , iPaaS

Scope this integration Book a scoping call Estimate the cost

Is there an official E21 ERP + HubSpot integration?

No. Neither HubSpot nor E21 publishes an E21 ERP app in the HubSpot App Marketplace as of September 2026, and E21's site documents no API for outside developers. The route we recommend is a custom integration that reads the E21 database under a read-only login and writes to HubSpot, at 70 to 150 build hours. It needs the E21 database reachable, which on a hosted install is the host's decision.

Recommended route
Custom integration
Build effort
70 to 150 hours
In the HubSpot App Marketplace?
No listed app
Typical elapsed time
4 to 8 weeks

Marketplace checked September 2026.

Why teams connect E21 ERP to HubSpot

E21 ERP sells itself on doing without add-ons. Its CRM is part of the ERP, and E21’s own CRM page argues that one central database removes the back-and-forth synchronization two systems need. A manufacturer or distributor on E21 that also runs HubSpot has chosen it for reasons of its own. It has also taken on exactly the synchronization E21 set out to avoid. The product is also known as Enterprise 21, the name E21’s own FAQ still uses, and the vendor’s older TGI web address now forwards to the E21 site.

The people working in HubSpot want what E21 already knows. They want to see which accounts are ordering less and which have open quotes. They want the contacts at each location, and whether an account is overdue before a rep books a visit. E21 can already alert its own users when a customer’s order pattern changes. The sellers and marketers who should act on that signal are the ones who never open E21.

Access shapes the project more than the object list does. E21 can run self-hosted, on E21’s hosting services or with another hosting provider, and its site documents no API for outside developers. What it does document is the platform. E21 runs on any ODBC-compliant database, a self-hosted install typically uses Microsoft SQL Server or Oracle, and every licence includes the complete application source code. That makes the database the route, and whoever controls it the first person to talk to.

What syncs

Five objects cover the requests. E21 customers become HubSpot companies, their contacts become contacts, sales orders become deals, invoices land on a custom object and products become HubSpot products. Everything moves one way, into HubSpot, and nothing is written back to the E21 database.

Keys are E21’s own record identifiers, held in custom HubSpot properties and never matched on a name. E21 does not publish its schema, so the exact tables and columns come from the source code or from E21’s developers during discovery. Each one is confirmed against records the business already knows.

Opportunities are left out on purpose. E21’s CRM lets one opportunity link to several accounts, and running two pipelines means reconciling them forever. Where the business moves its pipeline to HubSpot, E21’s opportunities load once, with a primary company chosen for each, and new ones start in HubSpot. Where E21 keeps the pipeline, HubSpot carries orders and history beside it.

Objects that sync between E21 ERP and HubSpot
Source object HubSpot object Direction Match key Notes
Customer Company Into HubSpot The E21 customer record's own identifier, held in a custom HubSpot property Corporate parents roll several customer accounts up, and map to HubSpot parent companies.
Customer contact Contact Into HubSpot The E21 contact record's identifier, with the email checked for collisions E21 allows unlimited contacts per customer account, so the customer link travels with each one.
Sales order Deal Into HubSpot The E21 sales order's identifier Orders stay read only in HubSpot, because E21 remains the system of record.
Invoice Custom object Into HubSpot The E21 invoice's identifier, associated to its order and customer
Product Product Into HubSpot The E21 product's identifier The product carries list data only, because customer-specific pricing stays in E21.

Architecture

The runtime is a scheduled read, because E21 documents no webhooks or events for an outside system. A service connects to the E21 database with a read-only login, either directly or through a small agent inside the network, and reads each object on its own schedule.

Where a table carries a trustworthy modification date, the read uses it as a watermark. Where it does not, the service hashes each row and compares it with the hash it last sent, so only real changes reach HubSpot. Watermarks and hashes live in the service’s own store, never in the E21 database.

Writes into HubSpot are batch upserts keyed on the E21 identifiers, followed by a separate association pass for contacts, orders and invoices. A replay endpoint re-reads one object for a time range. A reconciliation endpoint compares counts on both sides after every run, so a gap shows up as a number rather than a complaint.

A scheduled service reads the E21 database under a read-only login, by modification date where a table carries one and by row hash where it does not. It upserts into HubSpot on E21's own identifiers and never writes to the E21 database.

What the API allows

API style
SQL database
Authentication
Database credentials
Webhooks
Unknown
Changed-since filter
Unknown
Sandbox
Unknown
Rate limit
Not documented

Three ways to connect

What decides the route is who can open the database, since E21 publishes no API to call instead. On a self-hosted install that is your own IT team. The choice there is between a service we build and a managed sync on Skyvia, which reads SQL Server or Oracle through an on-premises agent once the tables are agreed. On a hosted install it is the host, and the conversation starts there.

One route sits outside these cards. E21’s services group develops interfaces to third-party applications as customization work, and its Klaviyo and Mailchimp integrations show the shape that takes: rules inside E21 that push contacts out. That keeps the whole connection inside E21’s support, with E21’s roadmap rather than yours deciding what it carries next.

  • Managed sync on Skyvia

    Possible

    Once the tables are agreed, a Skyvia package can read SQL Server or Oracle through its on-premises agent. It suits a stable one-way mapping and needs the same database access as a custom service.

  • iPaaS

    Avoid

    E21 documents no connector for any iPaaS, so a cloud automation platform would still need the E21 database opened to it, and bills per task or operation on top of that access.

What breaks and how we prevent it

A database the host keeps closed

On a hosted install the database sits with E21’s hosting services or another provider, and reaching it is their decision. The read also depends on what your E21 licence and support agreement allow. We check both on the first call, and where the host says no, it runs a scheduled extract instead.

Tables nobody has documented

E21 does not publish its schema, and guessing which table holds the ship-to address produces confident, wrong data. We read the tables from the source code every licence includes, confirm them with E21’s developers, and check the first run against known records.

Upgrades that move a column

E21 typically releases a major upgrade every 18 to 24 months, and customizations sit on top of the base code. Either can change a column the sync reads, so every run checks the column list first and halts on any change before a blank reaches HubSpot.

E21’s Klaviyo and Mailchimp integrations add contacts to lists by rule, and flag an unsubscribe those platforms report by webhook. If HubSpot takes over email with those rules still on, a HubSpot opt-out leaves the contact subscribed elsewhere. We switch the old rules off at cutover, or agree how HubSpot’s opt-outs reach E21 before go-live.

Parents, bill-tos and ship-tos

An E21 customer can carry unlimited bill-to and ship-to records and roll up into a corporate parent. A company per address fills HubSpot with branches. We make one company per account and map corporate parents to HubSpot’s parent company association.

Our approach

  1. Scope. The first call includes whoever hosts E21. We confirm the database platform, whether a read-only login is possible, and which system owns the pipeline.
  2. Architect. We map each object to its E21 tables from the source code, fix the key and the change signal per table, and write both down.
  3. Build. The service reads under a read-only login, never writes to the E21 database, and upserts into a HubSpot sandbox portal behind an allowlist that fails closed.
  4. Validate. A full backfill of customers and invoice history, reconciled by count and by open balance against an E21 report, then walked through with the person who owns receivables.
  5. Operate. We watch each run against its checkpoint, keep the replay endpoint available, and recheck the column list after every E21 upgrade.

Common questions

Is there an E21 ERP app in the HubSpot App Marketplace?

No. A HubSpot App Marketplace search for Enterprise 21 returned only listings whose descriptions happen to match, and a search for TGI did the same. E21's own integrations page lists Klaviyo, Mailchimp, Shopify, Avalara and others, but not HubSpot. The routes that exist are a build against the E21 database or a customization from E21's own services team.

Does E21 ERP have an API that HubSpot can call?

E21's site documents none for outside developers. What it documents is the platform: for a self-hosted install E21 typically recommends a database server on Microsoft SQL Server or Oracle beside a Windows IIS web server, and every licence includes the complete source code. E21's own integrations, such as Shopify, work the other way round, calling the other product's API from inside E21.

Can an integration reach the E21 ERP database on a hosted install?

Only if the host allows it. E21 can run on E21's own hosting services or with another provider, and either one decides whether a read-only login and a network route to the database exist. Ask before scoping, because the answer decides between a direct read, an agent inside the host's network, or a scheduled extract the host runs for you.

How fresh is E21 ERP data once it reaches HubSpot?

As fresh as the read schedule, because E21 documents no webhooks or events for an outside system to receive. Tables with a trustworthy modification date read incrementally and can run often. Tables without one are compared row by row with what was last sent, which costs more per run, so those run less often. Discovery settles which table is which.

What happens when an E21 ERP sync fails or runs twice?

A failed run stops at its checkpoint and the next run resumes from there, with the failure reported rather than retried in silence. A second run of the same rows changes nothing, because every record upserts on the E21 identifier held in a unique HubSpot property. Associations run in their own pass, so replaying it cannot duplicate a link either.

Should E21's built-in CRM or HubSpot own the pipeline?

One of them, never both. E21 builds CRM into the ERP, with opportunities, sales workflows and contact management, and an E21 opportunity can link to several accounts at once. Where HubSpot takes the pipeline, E21's opportunities load once with a primary company chosen for each, and orders, invoices and credit stay in E21.

How long does an E21 ERP and HubSpot integration take?

Plan on 10 to 20 hours of discovery and 70 to 150 hours of build for customers, contacts, orders, invoices and products, with watermarks and replay. More of the discovery goes on the schema than usual, because E21 does not publish it: the tables come from the source code or from E21's developers, and each one is confirmed against records the business knows.

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 E21 ERP integration

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

  • E21 ERP

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