A build-to-order Flutterwave payment integration for ERPNext that accepts cards, mobile money, USSD, and bank transfer across 30+ African currencies, with tokenized recurring charges and webhook-driven reconciliation. ECOSIRE builds, installs, and supports it after a scoping call. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $249.00 USD; request a quote for a scoped proposal.

A build-to-order Flutterwave payment integration for ERPNext that accepts cards, mobile money, USSD, and bank transfer across 30+ African currencies, with tokenized recurring charges and webhook-driven reconciliation. ECOSIRE builds, installs, and supports it after a scoping call.
अभी कोई भुगतान नहीं। यह हमारी टीम को एक कोटेशन अनुरोध भेजता है — हम कीमत और अगले चरणों के साथ ईमेल द्वारा संपर्क करेंगे।
Pan-African ERPNext merchants routinely hit a wall at checkout. ERPNext ships integrations for a handful of global processors, but none of them cover the payment methods your customers in Nigeria, Ghana, Kenya, or Cote d'Ivoire actually use — M-Pesa and other mobile money wallets, USSD, and local bank transfers settled in naira, cedi, shilling, or franc. Without Flutterwave, you are stuck routing African customers through card-only rails that decline constantly, reconciling settlements by hand, and manually marking Sales Invoices as paid. The Payment Gateway and Payment Request DocTypes are present, but the connector that ties them to Flutterwave's collections and settlement flows is not.
Registers as a native ERPNext Payment Gateway so `Payment Request` and web checkout route through Flutterwave with no core patches
`Flutterwave Settings` single DocType holds public/secret/encryption keys via Frappe `Password` fields — no plaintext credentials in code or fixtures
Accepts cards, mobile money (M-Pesa, MoMo, Airtel), USSD, and bank transfer through Flutterwave Standard checkout
Supports 30+ pan-African settlement currencies (NGN, GHS, KES, ZAR, XOF, UGX, TZS, RWF and more) with per-currency routing
Whitelisted webhook endpoint verifies the `verif-hash` signature and re-verifies server-side against `/transactions/:id/verify` before crediting
`on_payment_authorized` doc-event hook auto-creates the `Payment Entry` and reconciles it against the source Sales Invoice
We build a proper Frappe app — erpnext_flutterwave — that installs cleanly onto your bench and registers as a first-class ERPNext payment gateway. It introduces a Flutterwave Settings single DocType for your public key, secret key, and encryption/webhook secret (stored via Frappe's Password fieldtype, never in plaintext), plus a Flutterwave Transaction DocType that logs every charge along with its tx_ref, flw_ref, currency, and lifecycle status. When a customer pays a Payment Request, the app initializes a Flutterwave Standard checkout, presents cards, mobile money, USSD, and bank-transfer options in the customer's local currency, and returns them to your site.
Technically, the flow is closed by a whitelisted webhook endpoint (@frappe.whitelist(allow_guest=True)) that verifies the verif-hash signature against your stored secret, re-verifies the transaction server-side against Flutterwave's /transactions/:id/verify endpoint, and only then triggers the standard on_payment_authorized path — creating the Payment Entry and reconciling it against the originating Sales Invoice via Frappe doc events in hooks.py. For recurring revenue we store Flutterwave card tokens against a Flutterwave Customer Token DocType and drive Payment Plans and subscription renewals from a scheduler event (scheduler_events in hooks.py), charging tokenized cards on their due date and writing the result back to ERPNext. Idempotency keys and a status-reconciliation scheduler protect against duplicate or missed webhooks, and role-scoped permissions keep gateway configuration to Accounts Manager while exposing read-only transaction views to your finance team.
Because this is a build-to-order product, nothing ships until we agree on scope. We start with a short scoping call to confirm your currencies, payment methods, ERPNext/Frappe version (v15 or v16), and whether you need subscriptions or one-off collections only. We then build against your requirements, deliver on a staging bench for UAT, and go live with your keys. Typical delivery is 2-4 weeks from confirmed scope, and you receive the full app source code and git repository so you are never locked to us.
Sells across multiple African markets and needs a single ERPNext checkout that accepts local cards, mobile money, and bank transfer in each country's currency, with invoices auto-reconciled instead of matched by hand.
Bills recurring plans and needs tokenized card renewals driven by ERPNext scheduler events, so Payment Plans charge automatically on their due date and post back to the ledger without manual intervention.
Owns settlement accuracy and wants signed, server-verified webhooks, an auditable `Flutterwave Transaction` log, and role-scoped access so only authorized staff can touch gateway keys.
Manages the bench and needs a clean, documented Frappe app with a git repo, upgrade notes, and no core patches — installable and maintainable across v15/v16 upgrades.
Buy the license on ecosire.com and download the Flutterwave Gateway for ERPNext app ZIP from your account dashboard.
Extract the ZIP into your bench's apps folder, or run `bench get-app` with the path to the extracted app.
Run `bench --site SITE_NAME install-app APP_NAME` followed by `bench migrate` to install Flutterwave Gateway for ERPNext and apply its schema.
Open the ECOSIRE License settings on your site and activate your license key. Requires the free ecosire_connect and ecosire_license_client apps.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Flutterwave methods (cards, MoMo, USSD, bank) | All four, scoped per market | Whatever you build and test | Often cards-only or partial | |
| 30+ pan-African currencies | Enabled per your markets | You implement each one | Limited currency set | |
| Tokenized recurring charges | Scheduler-driven card tokens | Build subscription logic yourself | Rarely supported | |
| Signed webhook + server re-verify | verif-hash + /verify, idempotent | Depends on your rigor | Varies, often weak | |
| Invoice auto-reconciliation | Payment Entry via doc events | Wire the hooks yourself | Basic or manual | |
| ERPNext v15/v16 support | Built and tagged for both | You maintain compatibility | May lag core releases | |
| Source code + git handover | Full ownership delivered | You own it (you built it) | Usually closed/licensed | |
| Support and defect window | Post-go-live window included | Your team only | Ticket queue, tiered |
No. This is a build-to-order product. ECOSIRE builds the `erpnext_flutterwave` app against your confirmed scope — your currencies, payment methods, ERPNext version, and whether you need subscriptions — then installs and supports it. There is no instant download.
Typical delivery is 2-4 weeks from confirmed scope. Timing depends on complexity: a one-off collections gateway is faster than a full subscriptions build with tokenized recurring charges. We confirm a firm timeline on the scoping call once requirements are locked.
We build for Frappe/ERPNext v15 and v16. The app installs as a standard Frappe app on your bench with no core patches, so it survives standard `bench update` cycles. We tag releases and provide upgrade notes for future point releases.
Every build includes a post-go-live support window for defect fixes and configuration adjustments. Because you receive the full source and git repository, your own team can also extend it. Longer-term maintenance and Flutterwave API-change updates are available as an ongoing support arrangement.
Cards, mobile money (M-Pesa, MoMo, Airtel Money and others), USSD, and bank transfer, across 30+ pan-African settlement currencies including NGN, GHS, KES, ZAR, XOF, UGX, TZS, and RWF. We enable the exact subset you need per market during scoping.
A whitelisted webhook verifies Flutterwave's signature, re-verifies the transaction server-side, and only then triggers ERPNext's `on_payment_authorized` path to create a `Payment Entry` and reconcile it against the source Sales Invoice. Idempotency keys and a reconciliation scheduler prevent duplicate or missed entries.
Yes. You get the complete Frappe app source and a git repository handover, so you own the code outright and are never locked to ECOSIRE for future changes.
A build-to-order Flutterwave payment integration for ERPNext that accepts cards, mobile money, USSD, and bank transfer across 30+ African currencies, with tokenized recurring charges and webhook-driven reconciliation. ECOSIRE builds, installs, and supports it after a scoping call.