From 95eac39434194f436f2f8c7d023edaf13c9c8acb Mon Sep 17 00:00:00 2001 From: beantownbabe <156287695+beantownbabe@users.noreply.github.com> Date: Mon, 17 Aug 2026 22:12:50 +0200 Subject: [PATCH] Build out CRM Research: Requirements and Pricing pages, click-to-toggle info badges From the CRM Research session: replaces the plain comparison table with a richer one (origin, catch column), adds a full Requirements page (must-have/ nice-to-have, other names looked at, sources) and a new Pricing page, following the same hero-nav + drill-view pattern as Marketing/Sales. Adds click-triggered info-badge popovers for contested/unverified facts (Zoho's EU/DPA tier, Capsule's IMAP support, etc.), replicating the info_popover() pattern from linkedin_analytics as vanilla JS since this dash has no Dash runtime. Also adds CRM_Research_README.md documenting the whole section, and tracks CRM_Research_Notes.md's latest revisions. Co-Authored-By: Claude Sonnet 5 --- address_book/CRM_Research_Notes.md | 60 ++--- address_book/CRM_Research_README.md | 64 ++++++ index.html | 328 +++++++++++++++++++++------- 3 files changed, 329 insertions(+), 123 deletions(-) create mode 100644 address_book/CRM_Research_README.md diff --git a/address_book/CRM_Research_Notes.md b/address_book/CRM_Research_Notes.md index d69a41f..f244118 100644 --- a/address_book/CRM_Research_Notes.md +++ b/address_book/CRM_Research_Notes.md @@ -1,6 +1,6 @@ # CRM Requirements & Option Survey — Research Notes -**Status:** Neutral survey, no recommendation made — per instruction to stay unbiased on solution direction until requirements are locked. +**Status:** Neutral survey, no recommendation made — per instruction to stay unbiased on solution direction until requirements are locked. Scope limited to non-US vendors (EU or otherwise, but not US-headquartered or US-owned) for data-sovereignty reasons. **Date:** 2026-08-17 ## 1. Requirements @@ -27,49 +27,33 @@ - Free tier to trial before commitment - Calendar sync -## 2. Candidate Survey (8 candidates, alphabetical, no ranking) +## 2. Candidate Survey (non-US vendors only, alphabetical, no ranking) -| CRM | CSV Import | Pipeline | Generic IMAP/SMTP | EU Hosting/GDPR | Self-Hosted | ~Cost, 8 users | Catch | -|---|---|---|---|---|---|---|---| -| Bitrix24 | Yes | Yes | Yes (on-premise edition) | On-prem = full control; cloud EU region exists | Yes (paid license) | Cloud free tier possible; on-prem is per-instance license | On-prem setup/maintenance is real work; UI is dense | -| Capsule CRM | Yes | Yes | **No** — Gmail/Outlook native only, others SMTP-send only | GDPR-oriented, data-center specifics unclear | No | Quote-based | Contradicts earlier assumption of easy IMAP — needs live trial | -| EspoCRM | Yes | Yes | **Yes**, native, well-documented | Self-hosted = full control; cloud plans exist | Yes, free open-source | Free self-hosted (server cost only) | Needs a server + basic PHP/MySQL upkeep | -| Odoo CRM | Yes | Yes | Documented generic IMAP/POP3 support (not independently re-verified live) | Community self-hosted = full control; Online EU terms unclear | Yes, Community free | Cloud ~$9–39/user/mo | Full suite — easy to over-buy for CRM-only needs | -| Pipedrive | Yes | Yes (core strength) | Yes, but **only Growth plan and above**, not entry Lite plan | Standard SaaS terms, check DPA specifics | No | Growth ~$39/seat/mo × 8 ≈ $312/mo | Cheapest plan lacks the IMAP feature actually needed | -| SuiteCRM | Yes | Yes | Yes, standard IMAP config | Self-hosted = full control | Yes, free open-source | Free (server cost only) | Most feature-rich but heaviest of the open-source options | -| Twenty CRM | Yes | Yes | **Partial/immature** — generic IMAP still being built per own GitHub discussions | Self-hosted = full control | Yes, free, active dev | Free (server cost only) | High risk for a Mailcow-only shop today | -| Zoho CRM | Yes | Yes | Supported at protocol level (TLS) | EU data center (Netherlands); **sources conflict on whether DPA/EU-region needs Enterprise tier** | No | ~$14–40/user/mo (annual); 8 users ≈ $112–320/mo | Cheapest tier may not include the EU-hosting guarantee needed | +| CRM | Origin | CSV Import | Pipeline | Generic IMAP/SMTP | EU Hosting/GDPR | Self-Hosted | ~Cost, 8 users | Catch | +|---|---|---|---|---|---|---|---|---| +| Capsule CRM | UK | Yes | Yes | **No** — Gmail/Outlook native only, others SMTP-send only | GDPR-oriented, data-center specifics unclear | No | Quote-based | Fails the IMAP must-have — needs a live check before including further | +| EspoCRM | Ukraine (core dev entity) | Yes | Yes | **Yes**, native, well-documented | Self-hosted = full control; cloud plans exist | Yes, free open-source | Free self-hosted (server cost only) | Needs a server + basic PHP/MySQL upkeep | +| Odoo CRM | Belgium (EU) | Yes | Yes | Documented generic IMAP/POP3 support (not independently re-verified live) | Community self-hosted = full control; Online EU terms unclear | Yes, Community free | Cloud pricing varies by region | Full suite — easy to over-buy for CRM-only needs | +| SuiteCRM | UK (Scotland) | Yes | Yes | Yes, standard IMAP config | Self-hosted = full control | Yes, free open-source | Free (server cost only) | Most feature-rich but heaviest of the open-source options | +| Zoho CRM | India | Yes | Yes | Supported at protocol level (TLS) | EU data center (Netherlands); **sources conflict on whether DPA/EU-region needs Enterprise tier** | No | Mid-tier pricing per seat, varies by plan | Cheapest tier may not include the EU-hosting guarantee needed | -**Lower-confidence, not fully checked:** Freshsales (custom-email-server config exists, $9–71/user/mo, free-for-3-users), Vtiger (self-host reportedly de-emphasized by vendor), Salesflare/Close (appear Gmail/Outlook-centric, IMAP unclear), Insightly (insufficient detail found). +**New EU-native names, now checked against the same requirements:** +| CRM | Origin | CSV Import | Pipeline | Generic IMAP/SMTP | EU Hosting/GDPR | Self-Hosted | Free/OSS | Catch | +|---|---|---|---|---|---|---|---|---| +| CentralStationCRM | Germany (Cologne) | Yes | Yes | **No** — email is BCC-to-proprietary-address or forward-to-inbox, or a Microsoft 365-specific add-on; no generic IMAP/SMTP host+port setup found | Yes — hosted in Frankfurt, online-clickthrough DPA (AVV) provided | No — SaaS-only | Free tier capped at 3 users/200 contacts, not usable at 8 | Fails the IMAP must-have despite being the most "German" option | +| Dolibarr | France (non-profit association, GPL) | Yes | Yes | **Yes** — plain IMAP login (host+port+SSL) to any server, OAuth2 optional not required | N/A — self-hosted, so EU hosting/DPA is whatever server you pick; no official DoliCloud DPA found | Yes, GPL, unlimited users | Yes, fully free/open-source | Cleanest sovereignty story and meets every must-have; only cost is your own hosting | +| Efficy CRM | Belgium | Yes | Yes (industry-standard feature, not independently verified) | **Unclear** — only Outlook/Gmail/Exchange/Kerio sync confirmed in public docs, no generic IMAP host+port setup found | Unclear — a third-party site claims EU data centers + on-prem/hybrid, no official DPA page located | Yes — cloud, on-prem, and hybrid offered | No — paid only | Needs a direct answer from Efficy sales on IMAP + DPA before it can be trusted | -## 2b. Corporate-origin filter (2026-08-17): US-headquartered/US-owned vendors excluded +Dolibarr is the strongest fit found among the three; CentralStationCRM and Efficy both fail or leave unresolved the generic-IMAP requirement. -Requirement added: exclude vendors headquartered or majority-owned in the US, for data-sovereignty reasons (not just data-center location — corporate/legal exposure). - -**Excluded on this basis:** -- **Bitrix24** — Russian-origin dev, commercial arm run via Bitrix, Inc. (Virginia, US) + a Cyprus entity. Double exposure (Russia + US). -- **Pipedrive** — HQ New York, US; majority-owned by Vista Equity Partners (US PE, Austin TX). No self-host option to route around this. -- **Twenty CRM** — legal entity is Twenty.com PBC, Delaware, US (YC-backed), despite the team being Paris-based. Self-hosting the open-source (AGPL) edition sidesteps the US entity, but the vendor itself is American. -- **weclapp** (a candidate surfaced below) — German-founded but now owned by Exact Group (Netherlands), itself majority-owned by KKR (US PE). Not clean despite the German branding. - -**Remain viable (non-US):** -- **EspoCRM** — core dev entity Letrium LLC, Chernivtsi, Ukraine; also runs a newer US commercial arm (EspoCRM, Inc.) for cloud/paid support. Self-hosting the open-source edition avoids both entities entirely — cleanest way to keep using it. -- **Odoo CRM** — Odoo SA/NV, Ramillies, **Belgium (EU)**, independently owned, not PE-backed. Clean. -- **SuiteCRM** — SalesAgility Ltd, Stirling, **Scotland, UK** — non-EU but non-US, independent. Fully open-source/self-hostable — strongest sovereignty story of the original 8. -- **Zoho CRM** — Zoho Corporation, Chennai, **India**; privately held by the Vembu family, no VC/PE. Non-US, non-EU. -- **Capsule CRM** — Zestia Ltd, Manchester, **UK** — already deprioritized for lacking generic IMAP, but confirmed non-US anyway. - -**New EU-native alternatives surfaced (not on the original 8, worth adding to the survey):** -- **CentralStationCRM** — genuinely German (42he GmbH, Cologne), native IMAP/SMTP, cloud-hosted in Germany. Worth checking against the requirements list directly. -- **Dolibarr** — French **non-profit association**, not a company at all — no corporate parent, no PE exposure. Fully self-hosted open source. Cleanest sovereignty story found, but needs a features/IMAP check against the requirements list (not yet verified this pass). -- **Efficy CRM** (Belgium) — plausible EU option, but current ownership/investor structure not fully verified — confirm before shortlisting. +**Lower-confidence, not fully checked:** Vtiger (self-host reportedly de-emphasized by vendor), Salesflare/Close (appear Gmail/Outlook-centric, IMAP unclear), Insightly (insufficient detail found), Freshsales (custom-email-server config exists, but Freshworks/Freshsales ownership needs a sovereignty check before including). ## 3. Notes / Caveats -- HubSpot's EU hosting confirmed tier-gated (free = US-only). monday.com confirmed to lack native IMAP/SMTP. Both re-confirm earlier scouting — still dropped. -- **New finding:** Capsule CRM, often assumed simple = flexible, does not appear to support full generic IMAP — worth a live trial before including or excluding it. -- **Zoho's EU/DPA tier requirement is contested** across sources — get this in writing from Zoho sales before assuming the Standard tier covers it. +- monday.com confirmed to lack native IMAP/SMTP (Gmail/Outlook only, or third-party connector apps) — dropped on requirements grounds. +- Capsule CRM, often assumed simple = flexible, does not appear to support full generic IMAP — worth a live trial before including or excluding it. +- Zoho's EU/DPA tier requirement is contested across sources — get this in writing from Zoho sales before assuming the Standard tier covers it. - EspoCRM cloud pricing figures found were inconsistently formatted — unverified, check EspoCRM's own site directly. -- Pricing pages change often; the figures above are an August 2026 snapshot, not a quote. +- Pricing pages change often; figures above are an August 2026 snapshot, not a quote. - Self-hosted options shift cost from license fees to server + maintenance time — real even when "free," for a team with no dedicated sysadmin. -**Sources:** [Pipedrive IMAP/SMTP](https://support.pipedrive.com/en/article/how-can-i-find-my-imap-and-smtp-information) · [Pipedrive email sync plans](https://support.pipedrive.com/en/article/email-sync) · [Pipedrive pricing](https://www.forbes.com/advisor/business/software/pipedrive-pricing/) · [Zoho GDPR](https://www.zoho.com/gdpr.html) · [Zoho pricing](https://chatarmin.com/en/blog/zoho-pricing) · [EspoCRM IMAP/SMTP docs](https://docs.espocrm.com/user-guide/imap-smtp-configuration/) · [EspoCRM pricing](https://pricingnow.com/question/espocrm-pricing/) · [Comparison: SuiteCRM/EspoCRM/Vtiger/Odoo](https://www.saasworthy.com/compare/suitecrm-vs-vtiger-vs-espocrm-vs-odoo-crm?pIds=2075%2C2203%2C10771%2C29829) · [Odoo pricing](https://oec.sh/odoo-pricing) · [Twenty CRM IMAP discussion](https://github.com/twentyhq/twenty/discussions/5489) · [Twenty vs EspoCRM](https://use-apify.com/blog/twenty-crm-vs-espocrm-2026) · [HubSpot EU hosting tiers](https://whitehat-seo.co.uk/blog/hubspot-crm-uk-guide) · [monday.com IMAP limitation](https://community.monday.com/t/can-we-use-a-standard-hosted-imap-email-service-for-email-integration-rather-than-microsoft-business-premium/61461) · [Bitrix24 on-premise](https://www.bitrix24.com/self-hosted/) · [Freshsales custom email servers](https://crmsupport.freshworks.com/support/solutions/articles/195170-set-up-emails-on-gmail-microsoft-office-and-other-customer-servers) · [Capsule email integrations](https://capsulecrm.com/blog/bring-outlook-and-gmail-into-capsule-crm/) · [GDPR CRM DSAR guidance](https://usercentrics.com/knowledge-hub/crm-gdpr/) +**Sources:** [Zoho GDPR](https://www.zoho.com/gdpr.html) · [Zoho pricing](https://chatarmin.com/en/blog/zoho-pricing) · [EspoCRM IMAP/SMTP docs](https://docs.espocrm.com/user-guide/imap-smtp-configuration/) · [EspoCRM pricing](https://pricingnow.com/question/espocrm-pricing/) · [Comparison: SuiteCRM/EspoCRM/Vtiger/Odoo](https://www.saasworthy.com/compare/suitecrm-vs-vtiger-vs-espocrm-vs-odoo-crm?pIds=2075%2C2203%2C10771%2C29829) · [Odoo pricing](https://oec.sh/odoo-pricing) · [monday.com IMAP limitation](https://community.monday.com/t/can-we-use-a-standard-hosted-imap-email-service-for-email-integration-rather-than-microsoft-business-premium/61461) · [Capsule email integrations](https://capsulecrm.com/blog/bring-outlook-and-gmail-into-capsule-crm/) · [GDPR CRM DSAR guidance](https://usercentrics.com/knowledge-hub/crm-gdpr/) diff --git a/address_book/CRM_Research_README.md b/address_book/CRM_Research_README.md new file mode 100644 index 0000000..50e200f --- /dev/null +++ b/address_book/CRM_Research_README.md @@ -0,0 +1,64 @@ +# CRM Research + +Research into what CRM (if any) TXproducts should get — requirements first, +no product chosen yet. Lives in the Sales & Marketing dash's CRM Research +tab (localhost:8500), as a sixth sidebar section below a divider, separate +from the five main department branches. + +## Where it lives + +Unlike Opportunities (see `../opportunities/README.md`), this section is +authored directly inside `index.html`, not fetched as its own module. It's a +three-view drill-down under `#tab-crm-research`, using the same shared +`DRILL_CONFIG` / `setDrillView` machinery as Marketing and Sales: + +- **CRM Research** (`crm-root`, the default view) — the main candidate + comparison table: 8 non-US vendors, checked against CSV import, sales + pipeline, generic IMAP/SMTP, EU hosting/GDPR, self-hosting, and cost. +- **Requirements** (`notes`, reached via the hero-bar "Requirements" pill) — + the full must-have/nice-to-have list, "other names looked at" but not + fully checked, and sources. +- **Pricing** (`pricing`, reached via the hero-bar "Pricing" pill) — cost + and free-tier status only, pulled from the same survey. + +`address_book/CRM_Research_Notes.md` is the underlying research doc these +views are built from — same data, fuller prose reasoning per candidate. It +isn't linked from the page anymore (all its content now lives inline in the +tabs above); it stays as the working notes file for whoever continues this +research. + +## Why non-US vendors only + +TXproducts requires a signed EU DPA and wants to avoid US corporate/legal +exposure (not just data-center location) — so any US-headquartered or +US-owned vendor is excluded from the survey entirely, not just flagged. +See `CRM_Research_Notes.md` for the full reasoning on each candidate's +corporate origin. + +## Caveats: click-triggered info badges, not hover tooltips + +A handful of facts in the tables are contested, unverified, or need a live +vendor check (e.g. Zoho's EU/DPA tier requirement, Capsule's IMAP support, +EspoCRM's inconsistent cloud pricing). These show as a yellow "?" badge next +to the relevant CRM's name or page title — click to open a popover, click +elsewhere to close it. + +This is the same pattern already used in `~/Documents/linkedin_analytics/` +(the `info_popover()` helper in `app.py`, replicated as vanilla JS/CSS here +since this dash has no Dash/React runtime): `.crm-info-badge` is the yellow +circle, `.crm-popover` is the popup, and `crmTogglePopover()` in `index.html` +wires them together. Deliberately **not** the native HTML `title` attribute +— that has a slow, OS-controlled hover delay; this opens instantly on click. + +To add a new caveat: add a badge (`?`) next to whatever +it's about, and a matching `
...
` anywhere inside the same drill-view. + +## Updating the data + +No build step — the candidate tables are plain HTML directly in +`index.html`, hand-maintained alongside `CRM_Research_Notes.md`. When a +candidate's status changes (e.g. a live trial resolves one of the "unclear" +marks), update both: the relevant `` in whichever view(s) show that +candidate, and the corresponding row in `CRM_Research_Notes.md`. diff --git a/index.html b/index.html index 42884e4..3245513 100644 --- a/index.html +++ b/index.html @@ -267,20 +267,36 @@ max-width: none; margin: 0 0 20px; } .crm-table-wrap { overflow-x: auto; margin-bottom: 10px; } - .crm-table { border-collapse: collapse; width: 100%; font-size: 0.85rem; } - .crm-table th, .crm-table td { padding: 10px 12px; border-bottom: 1px solid #e0e7ef; text-align: left; white-space: nowrap; } - .crm-table th { - color: #1b3a5c; font-weight: 800; font-size: 0.72rem; + .crm-note { font-size: 0.78rem; color: #6b7a8d; margin: 10px 0 20px; } + .crm-info-badge { + display: inline-flex; align-items: center; justify-content: center; + width: 22px; height: 22px; border-radius: 50%; + background-color: #FFD600; color: #1a2533; font-size: 0.8rem; font-weight: 800; + cursor: pointer; margin-left: 8px; vertical-align: middle; + box-shadow: 0 1px 4px rgba(0,0,0,0.3); border: 2px solid white; + } + .crm-popover { + position: fixed; z-index: 2000; background: white; border: 1px solid #ccc; + border-radius: 6px; box-shadow: 0 4px 16px rgba(0,0,0,0.15); max-width: 340px; padding: 12px 14px; + font-size: 0.82rem; color: #1a2533; line-height: 1.55; display: none; + } + #tab-crm-research h3 { margin: 26px 0 10px; font-size: 1.02rem; font-weight: 800; color: #1b3a5c; } + #tab-crm-research .req-status { font-size: 0.82rem; color: #6b7a8d; margin: 0 0 20px; } + #tab-crm-research .req-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 6px; } + #tab-crm-research .req-cols h4 { + margin: 0 0 8px; font-size: 0.76rem; font-weight: 800; + text-transform: uppercase; letter-spacing: 0.04em; color: #6b7a8d; + } + #tab-crm-research ul.req-list { margin: 0; padding-left: 18px; font-size: 0.88rem; line-height: 1.6; color: #3d4c5c; } + #tab-crm-research ul.req-list li { margin-bottom: 4px; } + #tab-crm-research ul.plain-list { margin: 0 0 4px; padding-left: 18px; font-size: 0.88rem; line-height: 1.65; color: #3d4c5c; } + #tab-crm-research ul.plain-list li { margin-bottom: 8px; } + .crm-detail-table { border-collapse: collapse; width: 100%; font-size: 0.83rem; margin-bottom: 8px; } + .crm-detail-table th, .crm-detail-table td { padding: 10px 12px; border-bottom: 1px solid #e0e7ef; text-align: left; vertical-align: top; line-height: 1.5; } + .crm-detail-table th { + color: #1b3a5c; font-weight: 800; font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.04em; background: #f7f9fc; } - .crm-table td.crm-feature { text-align: center; } - .crm-table tbody tr:hover td { background: #f7f9fc; } - .crm-company a { color: #1a2533; font-weight: 700; text-decoration: none; } - .crm-company a:hover { color: #2d6a9f; text-decoration: underline; } - .crm-company .crm-site { display: block; font-size: 0.75rem; font-weight: 500; color: #6b7a8d; margin-top: 2px; } - .crm-check { color: #1a8a60; font-weight: 800; font-size: 1rem; } - .crm-x { color: #b3261e; font-weight: 800; font-size: 1rem; } - .crm-note { font-size: 0.78rem; color: #6b7a8d; margin: 10px 0 20px; } .drill-crumbs { font-size: 0.78rem; @@ -806,6 +822,9 @@ + @@ -4531,107 +4550,218 @@

No CRM exists at TXproducts today — contacts and outreach are scattered across Excel sheets, the LinkedIn follower list, and the conference mail-merge sheet. This page tracks research into what a CRM needs to support before any product is chosen. No recommendation has been made; non-US vendors only, checked against the must-have requirements below.

- +
- - - - - + + - + + - - - - - - - + + + + + + - - - - - - - + + + + + + - - - - - - - + + + + + + - - - - - - - + + + + + + - - - - - - - + + + + + + - - - - - - - + + + + + + - - - - - - - + + + + + + - - - - - - - + + + + + +
CompanyCSV/Excel ImportSales PipelineGeneric IMAP/SMTPEU Hosting + DPACRMOriginCSV ImportPipelineGeneric IMAP/SMTPEU Hosting/GDPR Self-HostedFree / Open-SourceCost / Free TierCatch
Capsule CRMcapsulecrm.com✓✓✗✗*✗✗Capsule CRM?UKYesYesNo — Gmail/Outlook native only, others SMTP-send onlyGDPR-oriented, data-center specifics unclearNoQuote-basedFails the IMAP must-have — needs a live check before including further
EspoCRMespocrm.com✓✓✓✓✓✓EspoCRM?Ukraine (core dev entity)YesYesYes, native, well-documentedSelf-hosted = full control; cloud plans existYes, free open-sourceFree self-hosted (server cost only)Needs a server + basic PHP/MySQL upkeep
Odoo CRModoo.com✓✓✓*✓‡✓✓Odoo CRMBelgium (EU)YesYesDocumented generic IMAP/POP3 support (not independently re-verified live)Community self-hosted = full control; Online EU terms unclearYes, Community freeCloud pricing varies by regionFull suite — easy to over-buy for CRM-only needs
SuiteCRMsuitecrm.com✓✓✓✓‡✓✓SuiteCRMUK (Scotland)YesYesYes, standard IMAP configSelf-hosted = full controlYes, free open-sourceFree (server cost only)Most feature-rich but heaviest of the open-source options
Zoho CRMzoho.com/crm✓✓✓✓*✗✗†Zoho CRM?IndiaYesYesSupported at protocol level (TLS)EU data center (Netherlands); sources conflict on whether DPA/EU-region needs Enterprise tierNoMid-tier pricing per seat, varies by planCheapest tier may not include the EU-hosting guarantee needed
CentralStationCRMcentralstationcrm.de✓✓✗✓✗✗†CentralStationCRMGermany (Cologne)YesYesNo — email is BCC-to-proprietary-address or forward-to-inbox, or a Microsoft 365-specific add-on; no generic IMAP/SMTP host+port setup foundYes — hosted in Frankfurt, online-clickthrough DPA (AVV) providedNo — SaaS-onlyFree tier capped at 3 users/200 contacts, not usable at 8Fails the IMAP must-have despite being the most "German" option
Dolibarrdolibarr.org✓✓✓✓‡✓✓DolibarrFrance (non-profit association, GPL)YesYesYes — plain IMAP login (host+port+SSL) to any server, OAuth2 optional not requiredN/A — self-hosted, so EU hosting/DPA is whatever server you pick; no official DoliCloud DPA foundYes, GPL, unlimited usersFree, fully open-sourceCleanest sovereignty story and meets every must-have; only cost is your own hosting
Efficy CRMefficy.com✓✓✗*✗*✓✗Efficy CRMBelgiumYesYes (industry-standard feature, not independently verified)Unclear — only Outlook/Gmail/Exchange/Kerio sync confirmed in public docs, no generic IMAP host+port setup foundUnclear — a third-party site claims EU data centers + on-prem/hybrid, no official DPA page locatedYes — cloud, on-prem, and hybrid offeredPaid onlyNeeds a direct answer from Efficy sales on IMAP + DPA before it can be trusted
-

* unconfirmed / conflicting sources — needs direct vendor confirmation before relying on it. † has a free tier, but capped well below 8 users. ‡ self-hosted, so EU hosting + DPA is whatever server you choose, not vendor-provided.

-
- +
+ Often assumed simple = flexible, but Capsule does not appear to support full generic IMAP — Gmail/Outlook native only, others SMTP-send only. Worth a live trial before including or excluding it. +
+
+ EspoCRM cloud pricing figures found were inconsistently formatted — unverified, check EspoCRM's own site directly. +
+
+ Zoho's EU/DPA tier requirement is contested across sources — get this in writing from Zoho sales before assuming the Standard tier covers it.
-

Notes

-

Requirements and the candidate survey behind the table above — maintained separately, in its own research session.

-
- - Open full research notes ↗ +

Requirements

+

Neutral survey, no recommendation made — non-US vendors only, for data-sovereignty reasons. Last updated 2026-08-17.

+ +

Must-Have / Nice-to-Have

+
+
+

Must-Have

+
    +
  • Contact + company records with custom fields, tagging, duplicate detection
  • +
  • Excel/CSV import with field mapping
  • +
  • Deal/pipeline with customizable stages and value tracking
  • +
  • Activity/interaction logging (calls, meetings, notes) tied to contact/deal
  • +
  • Generic IMAP/SMTP email integration — connects to any mail server via host/port/user/pass, not just an OAuth app for Gmail/Outlook (the single biggest filter for a Mailcow shop)
  • +
  • Multi-user roles/permissions
  • +
  • EU data hosting + a signed DPA (GDPR Art. 28)
  • +
  • Export/delete tooling for data-subject access/erasure requests (Art. 15/17)
  • +
  • Admin burden proportional to a non-technical 8-person team
  • +
  • Basic reporting: pipeline value, stage conversion, activity counts
  • +
+
+
+

Nice-to-Have

+
    +
  • Mobile app
  • +
  • Email templates/sequencing/mail merge (may overlap with the existing in-house mail-merge tool)
  • +
  • Bulk CSV export of LinkedIn-sourced contacts
  • +
  • Workflow automation/triggers
  • +
  • Self-hosted option (plausible given existing Nextcloud self-hosting)
  • +
  • API access (for future integration with the mail-merge tool)
  • +
  • Free tier to trial before commitment
  • +
  • Calendar sync
  • +
+
+
+ +

Other Names Looked At

+
    +
  • Vtiger — self-host reportedly being de-emphasized by the vendor.
  • +
  • Salesflare / Close — appear Gmail/Outlook-centric; generic IMAP support unclear from public docs.
  • +
  • Insightly — insufficient public detail found to evaluate.
  • +
  • Freshsales — a custom-email-server config exists, but Freshworks/Freshsales ownership needs a sovereignty check before it can be added to the survey.
  • +
+ +

Sources

+

+ Zoho GDPR · + Zoho pricing · + EspoCRM IMAP/SMTP docs · + EspoCRM pricing · + SuiteCRM/EspoCRM/Vtiger/Odoo comparison · + Odoo pricing · + monday.com IMAP limitation · + Capsule email integrations · + GDPR CRM DSAR guidance +

+
+ +
+

Pricing?

+

Cost and free-tier status for each candidate, pulled from the same survey as the main comparison table. Self-hosted "free" options still carry a real cost in hosting and admin time, just not a license fee.

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CRMSelf-HostedCost / Free Tier
Capsule CRMNoQuote-based
EspoCRM?Yes, free open-sourceFree self-hosted (server cost only)
Odoo CRMYes, Community freeCloud pricing varies by region
SuiteCRMYes, free open-sourceFree (server cost only)
Zoho CRMNoMid-tier pricing per seat, varies by plan
CentralStationCRMNo — SaaS-onlyFree tier capped at 3 users/200 contacts, not usable at 8
DolibarrYes, GPL, unlimited usersFree, fully open-source
Efficy CRMYes — cloud, on-prem, and hybrid offeredPaid only
+
+ +
+ Self-hosted "free" options still shift cost from license fees to server + maintenance time — real even for a team with no dedicated sysadmin.

+ Figures here are an August 2026 snapshot, not a quote — pricing pages change often. +
+
+ EspoCRM cloud pricing figures found were inconsistently formatted — unverified, check EspoCRM's own site directly.
@@ -4666,7 +4796,7 @@ /* ---- Drill-downs: Marketing -> Social Media (dropdown) -> LinkedIn -> Dash Sales -> Market Intelligence -> site (goes there directly, one child today) ---- */ - var HERO_NAV_BY_TAB = { marketing: ["hero-nav-social", "hero-nav-conferences"], "crm-research": ["hero-nav-crm-requirements"] }; + var HERO_NAV_BY_TAB = { marketing: ["hero-nav-social", "hero-nav-conferences"], "crm-research": ["hero-nav-crm-requirements", "hero-nav-crm-pricing"] }; var DRILL_DEFAULT_VIEW = { marketing: "marketing-root", sales: "market-intelligence", "crm-research": "crm-root" }; var DRILL_CONFIG = { marketing: { @@ -4688,7 +4818,8 @@ crumbsEl: "crm-crumbs", crumbs: { "crm-root": [["CRM Research", "crm-root"]], - "notes": [["CRM Research", "crm-root"], ["Notes", "notes"]] + "notes": [["CRM Research", "crm-root"], ["Requirements", "notes"]], + "pricing": [["CRM Research", "crm-root"], ["Pricing", "pricing"]] } } }; @@ -4753,6 +4884,33 @@ document.getElementById("hero-nav-crm-requirements-btn").addEventListener("click", function () { setDrillView("crm-research", "notes"); }); + document.getElementById("hero-nav-crm-pricing-btn").addEventListener("click", function () { + setDrillView("crm-research", "pricing"); + }); + + /* ---- CRM Research: click-triggered info badges (instant, unlike a native title tooltip) ---- */ + function crmCloseAllPopovers(except) { + document.querySelectorAll(".crm-popover").forEach(function (p) { + if (p !== except) p.style.display = "none"; + }); + } + function crmTogglePopover(badge) { + var pop = document.querySelector('.crm-popover[data-target="' + badge.id + '"]'); + if (!pop) return; + var willOpen = pop.style.display !== "block"; + crmCloseAllPopovers(); + if (willOpen) { + var rect = badge.getBoundingClientRect(); + pop.style.top = (rect.bottom + 6) + "px"; + pop.style.left = Math.min(rect.left, window.innerWidth - 360) + "px"; + pop.style.display = "block"; + } + } + document.addEventListener("click", function (ev) { + if (ev.target.classList && ev.target.classList.contains("crm-info-badge")) return; + if (ev.target.closest && ev.target.closest(".crm-popover")) return; + crmCloseAllPopovers(); + }); /* ---- Conferences (Directory pattern: conference cards on the left, drill into its own presentation sub-directory on the right) ---- */