Skip to main content
ERPNext MyFatoorah Connector — A build-to-order Frappe app that wires MyFatoorah's unified GCC checkout into ERPNext, so KNET — 1/1Illustrative preview

A build-to-order Frappe app that wires MyFatoorah's unified GCC checkout into ERPNext,

so KNET, mada, Benefit, and card payments reconcile straight to confirmed Payment Entries.

ECOSIRE scopes, builds, installs, and supports it for your ERPNext v15/v16 site.

What is ERPNext MyFatoorah Connector?

A build-to-order Frappe app that wires MyFatoorah's unified GCC checkout into ERPNext, so KNET, mada, Benefit, and card payments reconcile straight to confirmed Payment Entries. ECOSIRE scopes, builds, installs, and supports it for your 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.

Key Features

MyFatoorah unified InitiatePayment/ExecutePayment checkout wired into ERPNext via whitelisted server methods that return a hosted payment redirect URL
KNET, mada, Benefit, Apple Pay, and Visa/Mastercard card support surfaced from MyFatoorah's enabled payment-method IDs configurable per environment
Signature-verified webhook endpoint (@frappe.whitelist(allow_guest=True)) that validates the MyFatoorah callback before touching any financial document
Idempotent auto-creation and submission of a Payment Entry against the matching Sales Invoice, keyed to a MyFatoorah Transaction DocType to prevent duplicate postings on webhook retries
MyFatoorah Settings single DocType with test/live base-URL toggle and API token stored via Frappe get_password, never in plaintext
Refund handling that calls MyFatoorah's refund API from ERPNext and records status, refund ID, and amount back to the transaction
Multi-currency mapping between ERPNext currencies and MyFatoorah currency codes with per-currency receivable account routing
Reconciliation scheduler event (hooks.py scheduler_events) that polls GetPaymentStatus for missed webhooks so no paid invoice is left stranded
hooks.py doc_events on Sales Invoice/Payment Request to trigger or update payment sessions on submit
Dedicated role profile and DocType permissions so only finance roles can view API tokens or issue refunds
Full audit trail of every gateway call and callback stored on the MyFatoorah Transaction DocType with raw response payloads for support and dispute handling
Standard Frappe REST API exposure of transaction status and whitelisted actions for integration with POS, storefronts, or external order systems
Optional client script on the payment screen for real-time status polling and user-friendly redirect handling
Compatible with Frappe/ERPNext v15 and v16, packaged as a standard installable Frappe app (bench get-app / bench install-app)

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your ERPNext.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

ERPNext Compatibility
—
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
MariaDB 10.6+

About this Product

GCC merchants running ERPNext quickly hit a wall at checkout: buyers expect KNET in Kuwait, mada in Saudi Arabia, and Benefit in Bahrain, but ERPNext core ships payment integrations aimed at global card gateways, not the local aggregators and debit rails that dominate the region. Teams end up reconciling MyFatoorah settlements by hand, exporting CSVs, and re-keying references against Sales Invoices — which is slow, error-prone, and breaks the moment volume grows. ERPNext's built-in Payment Gateway framework simply does not speak MyFatoorah's InitiatePayment/ExecutePayment API or its webhook contract out of the box.

We build a proper Frappe app (its own module, DocTypes, and hooks.py) that integrates MyFatoorah as a first-class payment method inside ERPNext. A MyFatoorah Settings single DocType holds your API token, base URL (test vs live), and enabled payment-method IDs, with the secret stored via Frappe's get_password so it never sits in plaintext. When an invoice or web-shop order needs payment, whitelisted server methods call MyFatoorah's unified checkout to create a hosted payment session and return the redirect URL; the customer pays via KNET, mada, Benefit, or card, and MyFatoorah drives the result back to a whitelisted webhook endpoint on your site.

Technically, the confirmation path is idempotent and signature-verified. The webhook (a @frappe.whitelist(allow_guest=True) method) validates the MyFatoorah signature, looks up the originating transaction in a MyFatoorah Transaction DocType, and — only on a genuinely paid status — creates and submits a Payment Entry against the correct Sales Invoice, writing back the payment ID, method, and settled amount for clean reconciliation. Refunds issued from ERPNext call MyFatoorah's refund API and record the outcome, and multi-currency orders are mapped to the right MyFatoorah currency and account. A scheduler event (scheduler_events in hooks.py) reconciles any transactions whose webhook was missed by polling GetPaymentStatus, so a dropped callback never leaves an invoice silently unpaid. Roles and permissions are scoped through a dedicated role profile so only finance staff can view tokens or trigger refunds, and everything is exposed through the standard Frappe REST API for your other systems.

Because this is build-to-order, we start from your actual scope — which entities pay (Sales Invoice, POS, web-shop, or a custom flow), which GCC methods and currencies you need, and your MyFatoorah account tier. ECOSIRE writes the code, tests it against your MyFatoorah test credentials on a staging bench, runs UAT with you, and then installs it on your production ERPNext v15 or v16 site with a rollback plan. You receive the full source as an installable app and the Git repository, so you are never locked to us. Typical delivery is one working week from confirmed scope.

What you get

  • Installable Frappe app containing the source code for your scoped version of the MyFatoorah connector
  • Installation and configuration on your ERPNext site, including MyFatoorah Settings, payment methods, currencies, and webhook URL registration
  • Technical documentation covering DocTypes, hooks.py events, whitelisted methods, and the webhook/refund flow
  • End-user guide plus a live training session for your finance and operations team
  • UAT on a staging bench against MyFatoorah test credentials, with a documented rollback plan before production cutover
  • Post-go-live support window for defect fixes and configuration adjustments
  • Handover of the complete Git repository so you fully own and can extend the code

Who this is for

GCC e-commerce merchant on ERPNext

Runs an online store selling into Kuwait, Saudi Arabia, or Bahrain and needs one aggregator that covers KNET, mada, and Benefit alongside cards, with orders auto-reconciled to Sales Invoices instead of manual settlement matching.

Finance manager tired of manual reconciliation

Owns the AR close and wants every MyFatoorah settlement to land as a confirmed Payment Entry against the right invoice, with a full audit trail and reliable refunds, so month-end stops depending on spreadsheet exports.

ERPNext implementation partner or in-house lead

Delivering ERPNext for a regional client and needs a production-grade, source-included MyFatoorah integration on v15/v16 that follows Frappe conventions (DocTypes, hooks, whitelisted methods) and can be handed over cleanly via Git.

Multi-entity retailer with mixed currencies

Sells across GCC markets in KWD, SAR, BHD, and AED and needs currency-correct payment sessions and receivable-account routing so each entity's books stay clean without custom scripting.

How ERPNext MyFatoorah Connector Compares

CriterionECOSIRECustom BuildCompetitorERPNext Native
GCC methods (KNET/mada/Benefit)All enabled via MyFatoorah aggregator, configurable per environmentPossible but you build each rail and its edge cases yourselfOften card-only or a single method; GCC coverage variesNot supported out of the box
Payment confirmationSignature-verified webhook + idempotent Payment Entry, plus scheduler reconciliation for missed callbacksDepends entirely on your build; retries and idempotency easy to missBasic webhook; reconciliation depth variesManual matching of settlements to invoices
Refund handlingIssued from ERPNext via MyFatoorah refund API with recorded statusMust be coded and tested from scratchSometimes present, sometimes manual in the MyFatoorah portalHandled manually outside ERPNext
Multi-currencyCurrency mapping + per-currency receivable account routingAchievable with extra development effortOften single-currency or limitedNo MyFatoorah currency mapping
Frappe conventionsProper app, DocTypes, hooks.py events, whitelisted methods, role profilesQuality depends on your developer's Frappe expertiseUsually conventional, but internals and quality are opaqueN/A — no MyFatoorah integration exists
Source ownershipFull source + Git repo handover, no runtime lockYou own it, but you also carry all the build costOften closed source or license-gatedN/A
Support & version upgradesPost-go-live window + optional maintenance for v15/v16 upgradesEntirely your team's responsibilityVaries by vendor; may lag ERPNext releasesCommunity upgrades only, no connector
Time to productionTypically one working week from confirmed scope, built and tested for youOften months, plus your team's ramp-up on MyFatoorah's APIFast if it fits, but gaps force custom work anywayImmediate, but the capability simply isn't there

Frequently Asked Questions about ERPNext MyFatoorah Connector

How long does delivery take?

This is a build-to-order app, not an instant download. Typical delivery is one working week from confirmed scope, depending on how many payment flows (Sales Invoice, POS, web-shop, custom), currencies, and edge cases are involved. After a short scoping call we give you a firm timeline and a fixed milestone plan before any build starts.

Is this available on the Frappe Cloud Marketplace as a one-click install?

No. ECOSIRE builds, tests, and installs this connector specifically for your ERPNext site and MyFatoorah account. You receive it as a standard installable Frappe app plus the Git repository, so it deploys via bench like any Frappe app and you fully own the code.

Which ERPNext versions and payment methods are supported?

We support Frappe/ERPNext v15 and v16. Through MyFatoorah's unified checkout the connector can enable KNET, mada, Benefit, Apple Pay, and Visa/Mastercard cards — you choose which methods are active per environment, and we configure them against your MyFatoorah test and live credentials.

How are payments confirmed and reconciled?

MyFatoorah calls a signature-verified webhook on your site. Only on a genuinely paid status does the app create and submit a Payment Entry against the matching Sales Invoice, keyed to a MyFatoorah Transaction record so webhook retries never double-post. A scheduler event also polls GetPaymentStatus to catch any missed callback, so no paid invoice is left unreconciled.

What about refunds and multi-currency?

Refunds are issued from ERPNext via MyFatoorah's refund API, with status and refund ID recorded on the transaction. Multi-currency orders are mapped to the correct MyFatoorah currency and routed to the right receivable account, so KWD, SAR, BHD, and AED transactions keep your books accurate.

What support and updates do we get after go-live?

Every engagement includes a post-go-live support window for defect fixes and configuration tweaks. Because you receive the full source and Git repository, your own team can extend it too. Ongoing maintenance — new MyFatoorah methods, ERPNext version upgrades, or feature additions — is available as a separate support agreement.

Do we own the code, or are we locked to ECOSIRE?

You own it. We hand over the complete Git repository and the installable app for your scoped version. There is no runtime license lock and no dependency on our servers — the connector runs entirely on your ERPNext bench.

Request a quote

ERPNext MyFatoorah Connector

A build-to-order Frappe app that wires MyFatoorah's unified GCC checkout into ERPNext, so KNET, mada, Benefit, and card payments reconcile straight to confirmed Payment Entries. ECOSIRE scopes, builds, installs, and supports it for your ERPNext v15/v16 site.

  • MyFatoorah unified InitiatePayment/ExecutePayment checkout wired into ERPNext via whitelisted server methods that return a hosted payment redirect URL
  • KNET, mada, Benefit, Apple Pay, and Visa/Mastercard card support surfaced from MyFatoorah's enabled payment-method IDs configurable per environment
  • Signature-verified webhook endpoint (@frappe.whitelist(allow_guest=True)) that validates the MyFatoorah callback before touching any financial document
  • Idempotent auto-creation and submission of a Payment Entry against the matching Sales Invoice, keyed to a MyFatoorah Transaction DocType to prevent duplicate postings on webhook retries

Request a Quotation

Tell us about your ERPNext MyFatoorah Connector requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.