- 首页
- Apps
- SaaS Tools
- Brevo (Sendinblue) Connector for ERPNext
示意预览A build-to-order Frappe app that connects ERPNext to Brevo (formerly Sendinblue) for two-way contact and list
sync, email + SMS campaign triggers, and open/click engagement back-sync.
ECOSIRE scopes, builds, installs, and supports it for your Frappe/ERPNext v15/v16 site.
什么是 Brevo (Sendinblue) Connector for ERPNext?
A build-to-order Frappe app that connects ERPNext to Brevo (formerly Sendinblue) for two-way contact and list sync, email + SMS campaign triggers, and open/click engagement back-sync. ECOSIRE scopes, builds, installs, and supports it for your Frappe/ERPNext v15/v16 site. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $999.00 USD; request a quote for a scoped proposal.
核心功能
按需定制,全程代劳
无需自行搭建——由 ECOSIRE 构建、安装并提供支持的可用应用。
- 1
您下单
以一次性构建价格开始。我们在启动时与您共同确定范围。
- 2
我们构建与安装
ECOSIRE 在您的 ERPNext 上构建、配置并安装。
- 3
上线 + 支持
约一个工作周内上线,并包含两周上线支持。我们交付的代码中的缺陷免费修复。
技术规格
- ERPNext 兼容性
- —
- 许可证
- 许可证需要确认
- Python 要求
- Python 3.10+
- 数据库
- MariaDB 10.6+
关于此产品
If you run marketing from Brevo but your customer data lives in ERPNext, you end up maintaining two disconnected address books. Sales updates a Contact or Customer in ERPNext, someone re-keys it into a Brevo list, and the segments drift within days. ERPNext core has an Email Group and Newsletter feature, but it has no concept of Brevo lists, no SMS channel, and no way to see who opened or clicked a Brevo campaign back on the customer record. Marketing operates blind to what the CRM knows, and the CRM never learns what marketing did. This connector closes that loop.
We build a proper Frappe app — its own module, DocTypes, and hooks.py wiring — that treats Brevo as a first-class integration inside ERPNext. A single Brevo Settings DocType holds the API key (stored as a Frappe Password field, never in plain text) and default sender identity. Contact and list sync runs through the Brevo REST API v3: on_update doc events on Contact/Customer/Lead push changes to Brevo contacts and map ERPNext fields to Brevo attributes, while a scheduler event reconciles Brevo lists into a Brevo List DocType so marketers pick real, live lists from a Link field. Campaign and transactional sends go through whitelisted methods (@frappe.whitelist()) invoked from client scripts or workflow hooks, so you can trigger an email or SMS from a button, a workflow transition, or a server script — not just from a separate marketing tool.
The engagement back-sync is the piece ERPNext can't do natively. We expose a signed webhook endpoint (a whitelisted, allow_guest method with HMAC verification) that receives Brevo delivery, open, click, bounce, and unsubscribe events and writes them to a Brevo Engagement Log child/linked DocType against the matching Contact. That turns raw campaign activity into queryable ERPNext data — report on click-through by customer segment, or fire an automation when a lead clicks a specific campaign. All API traffic runs through Frappe's background queue (frappe.enqueue) with retry and rate-limit handling so a Brevo hiccup never blocks a save, and every call is written to an integration log for auditability. Role-based permissions and role profiles keep the API key and send buttons restricted to marketing roles.
Because this is build-to-order, nothing ships until we agree on scope. You request a quotation, we run a short scoping call to confirm which DocTypes sync, your field-to-attribute mapping, which channels (email, SMS, transactional) you need, and your Frappe/ERPNext version (v15 or v16). We then build against a staging copy of your site, run UAT with you, and install to production with a rollback plan. Typical delivery is one working week from confirmed scope, and you receive the full app source and git repository so you are never locked in.
你得到什么
- Installable Frappe app source code for your pinned Frappe/ERPNext version (v15 or v16), delivered as a `bench get-app`-ready package
- Installation and configuration on your site, including `Brevo Settings`, API key wiring, field mapping, and webhook registration
- Technical documentation: DocType reference, `hooks.py` doc events, whitelisted method signatures, and webhook payload/HMAC spec
- End-user guide plus a live training session for your marketing and admin users
- Post-go-live support window for defect fixes and configuration questions
- UAT on a staging copy of your site before production cutover, with a documented rollback plan
- Full git repository handover so you own and can extend the code with no vendor lock-in
- Field-to-attribute mapping worksheet and Brevo API key setup checklist agreed during scoping
这是给谁的
SMB Marketing Manager on Brevo
Runs combined email and SMS campaigns in Brevo but manages customers in ERPNext. Needs contacts and segments to stay in sync automatically and wants open/click data visible against the customer record instead of trapped in Brevo's dashboard.
ERPNext System Administrator
Owns the Frappe site and is wary of unsupported customizations. Wants a proper installable app with clean `hooks.py` wiring, role-based permissions, background-queued API calls, and a git repo they can maintain — not brittle client scripts pasted into production.
Head of Sales / RevOps
Wants campaign engagement to drive action in the CRM — a lead that clicks a specific campaign should surface to sales or trigger a workflow. Needs the back-sync so marketing activity becomes queryable ERPNext data for reporting and automation.
Operations Lead sending transactional messages
Needs reliable order, invoice, and status notifications sent through Brevo's deliverability infrastructure and triggered directly from ERPNext documents and workflow transitions, with bounces and unsubscribes reflected back so suppressed contacts aren't re-mailed.
Brevo (Sendinblue) Connector for ERPNext 如何比较
| 标准 | 伊科西尔 | 定制建造 | 竞争对手 | ERPNext 原生 |
|---|---|---|---|---|
| Brevo email + SMS integration | Both channels wired natively into ERPNext DocTypes and workflows | Possible but you build every endpoint and mapping yourself | Usually email-only; SMS rarely covered | No Brevo concept at all; core Newsletter only |
| Two-way contact & list sync | `on_update` doc events push, scheduler reconciles Brevo lists | Depends entirely on your dev's design and upkeep | Often one-way push with no list reconciliation | No sync; ERPNext Email Groups stay isolated |
| Engagement back-sync (open/click) | Signed HMAC webhook → `Brevo Engagement Log` per Contact | Must design webhook, verification, and storage from scratch | Rarely offered; data stays in Brevo dashboard | Not available |
| Frappe/ERPNext v15 & v16 fit | Built and tested against your pinned version | Your responsibility to test and maintain per upgrade | Version support varies; may lag core releases | N/A |
| Reliability under load | Background queue with retry + 429 rate-limit handling | Only if your developer implements queuing correctly | Often synchronous calls that can block saves | N/A |
| Security & permissions | API key in `Password` field, role profiles, HMAC-verified webhook | Varies; easy to leak keys in scripts | Generic; may store keys weakly | N/A |
| Ownership & lock-in | Full git repo handover, no lock-in | You own it, but bear full build cost and risk | Closed source; tied to vendor licensing | N/A |
| Delivery & support | one working week from scope, UAT + rollback, support window | Timeline and support depend on internal capacity | Instant install but generic, self-serve support | Immediate but no Brevo functionality |
关于Brevo (Sendinblue) Connector的常见问题
How long does delivery take?
This is a build-to-order app, so nothing is pre-packaged for instant download. After you request a quotation we run a scoping call, then build against a staging copy of your site. Typical delivery is one working week from confirmed scope, depending on how many DocTypes you sync and which channels (email, SMS, transactional, back-sync) you need.
Which Frappe/ERPNext versions do you support?
We build and test for Frappe/ERPNext v15 and v16. We pin the app to your exact version during scoping so the DocTypes, `hooks.py` events, and API calls are validated against the site you actually run.
How does the engagement back-sync work technically?
We register a signed Brevo webhook that posts delivery, open, click, bounce, and unsubscribe events to a whitelisted `allow_guest` endpoint in the app. The endpoint verifies an HMAC signature, then writes each event to a `Brevo Engagement Log` DocType linked to the matching Contact — making campaign activity queryable in ERPNext reports and usable as an automation trigger.
Do you get access to our Brevo account or API key?
You create the Brevo API key and paste it into the `Brevo Settings` DocType yourself; it is stored in a Frappe `Password` field and never in plain text. During the build we work against your staging site, and for production you can enter the key after handover so we never need to hold your live credentials.
What about support and updates after go-live?
Every build includes a post-go-live support window for defect fixes and configuration questions. Because you receive the full git repository, your own team can extend it too. Beyond the included window we offer ongoing support and version-upgrade work (for example moving from v15 to v16) as a separate engagement.
Will this conflict with ERPNext's native Newsletter and Email Group features?
No. The app adds its own module and DocTypes rather than overwriting core. It can read from ERPNext `Email Group` / `Email Group Member` for segmentation and write suppression status back to keep them consistent, but Brevo lists, SMS, and engagement logging live in dedicated DocTypes so nothing in ERPNext core is patched destructively.
Can campaign clicks trigger actions in ERPNext?
Yes. Because engagement events land in a DocType, you can wire them to Frappe workflow transitions or `frappe.enqueue` jobs — for example flag a Lead, create a ToDo for sales, or advance a workflow state when a contact clicks a specific campaign. We scope the exact automations you want during the kickoff call.
相关模块
Brevo (Sendinblue) Connector
A build-to-order Frappe app that connects ERPNext to Brevo (formerly Sendinblue) for two-way contact and list sync, email + SMS campaign triggers, and open/click engagement back-sync. ECOSIRE scopes, builds, installs, and supports it for your Frappe/ERPNext v15/v16 site.
- Dedicated Frappe app with its own module, `hooks.py` wiring, and versioned `__init__.py` — installed via `bench get-app` / `bench install-app`, not a pile of loose server scripts
- `Brevo Settings` single DocType storing the API key in a Frappe `Password` field plus default sender name/email and per-channel toggles
- Two-way contact sync: `on_update` and `after_insert` doc events on `Contact`, `Customer`, and `Lead` push to Brevo REST API v3 contacts with configurable field-to-attribute mapping
- `Brevo List` DocType hydrated by a scheduler event so marketers select live Brevo lists from a Link field instead of hard-coding IDs



