Skip to main content
ERPNext Tap Payments Connector — A build-to-order ERPNext connector for Tap Payments that lets GCC merchants collect KNET, ma — 1/1Illustrative preview

A build-to-order ERPNext connector for Tap Payments that lets GCC merchants collect KNET,

mada, Apple Pay, and card payments with webhook-confirmed auto-reconciliation into ERPNext.

ECOSIRE builds, installs, and supports it for you — not an instant marketplace download.

What is ERPNext Tap Payments Connector?

A build-to-order ERPNext connector for Tap Payments that lets GCC merchants collect KNET, mada, Apple Pay, and card payments with webhook-confirmed auto-reconciliation into ERPNext. ECOSIRE builds, installs, and supports it for you — not an instant marketplace download. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Server-side Tap charge creation via a whitelisted `erpnext_tap.api.create_charge` method — no keys ever exposed to the browser
Hosted-checkout redirect flow supporting cards, KNET, mada, and Apple Pay from a single Tap charge
Payment link generation from Sales Invoice / Sales Order for share-by-email or WhatsApp collection
HMAC-signature-verified webhook endpoint handling `charge.captured`, `charge.failed`, and `charge.refunded` events
Automatic creation and submission of a matching `Payment Entry` against the correct Sales Invoice on successful capture
`Tap Settings` single DocType storing encrypted live/test API keys, webhook secret, and default account mappings
`Tap Transaction` DocType mirroring every charge (Tap ID, status, amount, currency) for audit and reconciliation
Scheduler-event reconciliation sweep that polls the Tap API to self-heal any charge whose webhook was missed
Refund and partial-refund initiation from inside ERPNext that posts the corresponding reversal `Payment Entry`
Multi-currency GCC support (KWD, SAR, AED, QAR, BHD, OMR) mapped to ERPNext currency and exchange settings
`hooks.py` doc-events wiring charge outcomes into the invoice lifecycle via idempotent background jobs
Role-gated refund and settings access using DocType permissions and dedicated role profiles
Client scripts on Sales Invoice / Sales Order showing live transaction status and copyable payment links
Idempotency keys on charge and refund calls so retried webhooks and network retries never double-post entries
Test-mode toggle so you can validate the full flow against Tap sandbox before switching to live keys

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

Most GCC merchants running ERPNext hit the same wall: the payment methods their customers actually use — KNET in Kuwait, mada and Apple Pay in Saudi Arabia, local acquiring across the UAE, Qatar, Bahrain, and Oman — are not part of ERPNext core. Out of the box ERPNext ships integrations for a handful of global gateways, but nothing that speaks to Tap Payments' charges, authorize, and refunds APIs or handles KNET's redirect flow. So finance teams end up posting Sales Invoices as paid by hand, chasing settlement reports, and reconciling gateway payouts against bank statements in spreadsheets — exactly the manual work ERPNext was supposed to remove.

We build a proper Frappe app (erpnext_tap) — a versioned, installable module with its own Tap Settings single DocType for API keys and merchant configuration, a Tap Transaction DocType that mirrors every charge for audit and reconciliation, and clean integration into ERPNext's existing Payment Entry and Sales Invoice flows. It is not a hack on top of the Payment Gateway list; it is a first-class connector installed via bench get-app and bench install-app on your own site, so it survives migrations and upgrades cleanly.

Technically, checkout works by creating a Tap charge server-side through a whitelisted method (erpnext_tap.api.create_charge) and redirecting the customer to Tap's hosted page for cards, KNET, mada, or Apple Pay. Confirmation is never trusted from the browser: a dedicated webhook endpoint receives Tap's charge.captured / charge.failed events, verifies the HMAC signature, and — through a hooks.py doc-event and a background job — creates and submits the matching Payment Entry against the correct Sales Invoice, updating outstanding amounts atomically. A scheduler event runs a periodic sweep to reconcile any charge whose webhook was missed by polling the Tap API, so a dropped webhook never leaves a paid order stuck as unpaid. Refunds and partial refunds are initiated from within ERPNext and post the corresponding reversal entries automatically.

Every capability is permission-aware. API keys live encrypted in Tap Settings, refund actions are gated behind a dedicated role (via role profiles and DocType permissions), and multi-currency GCC transactions (KWD, SAR, AED, QAR, BHD, OMR) are mapped to the correct ERPNext currency and exchange settings. Client scripts surface transaction status and payment links directly on the Sales Invoice and Sales Order forms so your team never leaves ERPNext.

Because this is build-to-order, nothing ships until we agree on scope. We start with a short scoping call, confirm your Tap merchant setup, ERPNext version (v15 or v16), currencies, and reconciliation rules, then build against a staging copy of your site. You get UAT on staging with a rollback plan, a training session, and a defined post-go-live support window — plus the full Git repository handed over so the code is yours. Typical delivery is one working week from confirmed scope.

What you get

  • Installable source code for your build — a versioned Frappe app (`erpnext_tap`) deployed via `bench get-app` / `bench install-app`
  • Installation and configuration on your ERPNext v15/v16 site, including Tap keys, webhook, and account mappings
  • Technical documentation: DocType reference, hooks/doc-events, whitelisted API methods, and webhook contract
  • End-user guide plus a live training session for finance and sales operations staff
  • UAT on a staging copy of your site with a documented rollback plan before go-live
  • Post-go-live support window for defect fixes and configuration adjustments
  • Full Git repository handover so the code and history are yours to keep
  • Reconciliation runbook covering webhook failures, the scheduler sweep, and refund handling

Who this is for

GCC e-commerce merchant on ERPNext

Runs an online store selling into Kuwait, Saudi Arabia, or the UAE and needs KNET, mada, and Apple Pay at checkout with orders auto-marked paid in ERPNext instead of reconciled by hand.

Finance / accounts manager

Owns the books and wants every Tap settlement to land as a submitted Payment Entry against the right Sales Invoice, with refunds and partial refunds posting reversals automatically and a reconciliation trail for audit.

ERPNext system administrator / implementation partner

Maintains the site and needs a clean, versioned Frappe app that survives `bench migrate` and upgrades, with permissions, scheduler events, and webhooks configured properly rather than a fragile custom script.

Operations lead sending invoices for collection

Sends payment links to customers over email or WhatsApp and needs each link tied to a Sales Invoice so payment status updates in ERPNext the moment the customer pays.

How ERPNext Tap Payments Connector Compares

CriterionECOSIRECustom BuildCompetitorERPNext Native
GCC payment methods (KNET, mada, Apple Pay)All supported via Tap hosted checkoutPossible but you build each flowOften cards-only or missing KNET/madaNot available
Auto Payment Entry reconciliationWebhook-confirmed + scheduler self-healYou design and test it yourselfVaries; often manual or partialManual posting only
Refund & partial-refund handlingInitiated in ERPNext, posts reversalsExtra scope to buildSometimes full refund onlyManual journal entries
Fit to your ERPNext version & rulesBuilt for your v15/v16 site on stagingFully bespoke but slowGeneric, take-it-as-isN/A
Delivery timeone working week from confirmed scopeMonths of in-house devInstant install, then reworkImmediate but manual forever
Support & maintenancePost-go-live window + optional retainerYou own all maintenanceDepends on vendorCommunity only
Code ownershipFull Git repo handed overYou own itUsually closed/licensedN/A
Upgrade safetyProper Frappe app, migrates cleanlyDepends on your disciplineVaries by vendor qualityN/A

Frequently Asked Questions about ERPNext Tap Payments Connector

Is this an existing app I can download and install today?

No. This is a build-to-order connector — ECOSIRE builds it for your ERPNext site, Tap merchant setup, and reconciliation rules, then installs and supports it. It is not an instant Frappe Cloud Marketplace download.

How long does delivery take?

Typical delivery is one working week from confirmed scope. The clock starts once we've agreed on your ERPNext version, currencies, payment methods, and reconciliation rules on the scoping call — not from first contact.

Which ERPNext versions do you support?

We build against Frappe/ERPNext v15 and v16. We confirm your exact version on the scoping call and build and test against a staging copy of your site so the app installs and migrates cleanly.

Which Tap Payments methods and currencies are covered?

Cards, KNET, mada, and Apple Pay through Tap's hosted checkout, with multi-currency support for KWD, SAR, AED, QAR, BHD, and OMR mapped to your ERPNext currency and exchange settings.

How does reconciliation actually work — is it reliable if a webhook fails?

Confirmation comes from Tap's signed webhooks, which create and submit a matching Payment Entry. A scheduler-event sweep also polls the Tap API to catch any missed webhook, and idempotency keys prevent double-posting, so a paid order never stays stuck as unpaid.

What about support and updates after go-live?

Every build includes a defined post-go-live support window for defect fixes and configuration adjustments. Because you receive the full Git repository, your team or ours can extend it later; ongoing support or a retainer can be arranged separately.

Do we own the code?

Yes. We hand over the complete Git repository for your build, including history. The installable Frappe app and its source are yours to keep, audit, and extend.

Request a quote

ERPNext Tap Payments Connector

A build-to-order ERPNext connector for Tap Payments that lets GCC merchants collect KNET, mada, Apple Pay, and card payments with webhook-confirmed auto-reconciliation into ERPNext. ECOSIRE builds, installs, and supports it for you — not an instant marketplace download.

  • Server-side Tap charge creation via a whitelisted `erpnext_tap.api.create_charge` method — no keys ever exposed to the browser
  • Hosted-checkout redirect flow supporting cards, KNET, mada, and Apple Pay from a single Tap charge
  • Payment link generation from Sales Invoice / Sales Order for share-by-email or WhatsApp collection
  • HMAC-signature-verified webhook endpoint handling `charge.captured`, `charge.failed`, and `charge.refunded` events

Request a Quotation

Tell us about your ERPNext Tap Payments 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.