Skip to main content
GCC POS Payments (Mada, Tap, Geidea, PayTabs) — A build-to-order ERPNext app that connects your POS to locally certified GCC  — 1/1Illustrative preview

A build-to-order ERPNext app that connects your POS to locally certified GCC payment terminals

— Mada, Tap, Geidea, PayTabs and HyperPay — with card-present capture, wallet support, and automatic reconciliation.

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

What is GCC POS Payments (Mada, Tap, Geidea, PayTabs)?

A build-to-order ERPNext app that connects your POS to locally certified GCC payment terminals — Mada, Tap, Geidea, PayTabs and HyperPay — with card-present capture, wallet support, and automatic reconciliation. ECOSIRE builds, installs and supports it for your 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

Card-present capture for Mada, Visa and Mastercard driven from the ERPNext POS screen — no separate manual keying into the PIN pad
Terminal and gateway support for Tap, Geidea, PayTabs and HyperPay, with acquirer selection configurable per POS Profile
Apple Pay, STC Pay and mada wallet acceptance where the acquirer's terminal firmware exposes it
Dedicated `POS Terminal` DocType binding each physical device (serial / terminal ID) to a POS Profile and warehouse
`POS Payment Transaction` DocType logging authorization, capture, void, refund, RRN and gateway reference for every tender
`@frappe.whitelist()` methods orchestrate the terminal round-trip (initiate, poll, confirm) and write results onto the `POS Invoice`
`hooks.py` `doc_events` guard on `POS Invoice.on_submit` blocks submission when captured card tender does not match the invoice total
Refund, void and partial-capture initiated directly from POS, permission-gated by role profile
Scheduler event pulls the acquirer settlement batch and auto-reconciles it against `POS Payment Transaction` rows
Encrypted credential storage using Frappe password fields; no acquirer secrets in plaintext or in the client script
Client script layered onto the POS Awesome / ERPNext POS interface — upgrade-safe, no core file patching
Idempotent transaction handling and RRN de-duplication so a retried or timed-out tap never double-charges
Frappe REST API endpoints expose live tender and reconciliation status for head-office dashboards or a companion app
Multi-outlet ready: per-branch terminal registry, per-company acquirer config, and consolidated settlement reporting
Built for Frappe / ERPNext v15 and v16 with a clean bench app install (`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 retailers and restaurants running ERPNext POS hit a wall the moment a customer taps a card. ERPNext ships a POS Invoice and a Mode of Payment list, but out of the box those payment modes are just accounting labels — there is no card-present integration with a physical terminal. Cashiers end up keying totals manually into a separate Mada or Geidea PIN pad, then reconciling two disconnected systems at end of day. That double entry causes tender mismatches, slows the queue, and leaves you without a certified electronic trail linking each POS Invoice to the actual card authorization.

This build closes that gap. ECOSIRE develops a proper Frappe app (gcc_pos_payments) with its own module, DocTypes and hooks.py wiring that integrates ERPNext POS directly with the terminals and gateways you already use in the GCC — Mada, Tap, Geidea, PayTabs and HyperPay — covering Visa, Mastercard and mada card-present capture plus Apple Pay, STC Pay and mada wallet flows where the acquirer supports them. We add a POS Terminal DocType to register each physical device against a POS Profile, a POS Payment Transaction DocType to record every authorization, capture, void and refund with the gateway reference and RRN, and configuration DocTypes to hold acquirer credentials encrypted via Frappe's password field type.

Technically, the checkout flow is driven by a client script layered onto the POS interface that calls a set of @frappe.whitelist() methods; those methods talk to the terminal (cloud-to-POS or local-network integration, depending on your acquirer) and write the result back against the POS Invoice. A hooks.py doc_events handler on POS Invoice.on_submit verifies that the captured tender matches the invoice total before the sale can close, so you can never submit an invoice whose card leg didn't actually settle. A scheduler event runs a reconciliation pass that pulls the acquirer's settlement batch and matches it to POS Payment Transaction rows, flagging any orphaned auth or short-settled amount. Role profiles and DocType permissions gate who can issue a refund, void or partial capture, and every action is written to the standard Frappe audit trail. Everything is exposed cleanly over the Frappe REST API so head-office dashboards or a mobile app can read live tender status.

Because this is build-to-order, nothing is pre-listed for instant download — we build your version against your acquirer, your merchant IDs and your ERPNext v15 or v16 site. It starts with a short scoping call to confirm which terminals and wallets you run, your settlement and refund policy, and your reconciliation rules. From confirmed scope, typical delivery is one working week: we build on a staging copy of your site, run UAT with your cashiers against your real (or sandbox) terminals, then install to production with a rollback plan. You receive the full source, git repository handover, technical and user documentation, a training session, and a post-go-live support window.

What you get

  • Installable source code for your build of the `gcc_pos_payments` Frappe app, licensed for your use
  • Installation and configuration on your ERPNext v15/v16 site (staging first, then production)
  • Acquirer/terminal setup: merchant ID, terminal binding and encrypted credential configuration per POS Profile
  • Technical documentation: DocType schema, whitelisted methods, hooks, scheduler jobs and reconciliation logic
  • User guide plus a live training session for cashiers and store managers (checkout, refund, void, end-of-day)
  • UAT on a staging clone against sandbox or real terminals, with a signed-off test plan and a rollback plan
  • Post-go-live support window for defect fixes and configuration adjustments after launch
  • Git repository handover with full commit history so your team can maintain or extend the app

Who this is for

GCC retail operations lead

Runs one or more shops on ERPNext POS in Saudi Arabia or the UAE and needs mada/Visa/Mastercard captured at the till without cashiers double-keying into a separate Geidea or PayTabs PIN pad. Wants every sale's card leg tied to its `POS Invoice` and reconciled automatically at end of day.

Restaurant / F&B owner

Operates a quick-service or dine-in venue where queue speed matters. Needs fast card-present and wallet (Apple Pay, STC Pay, mada) acceptance on the POS terminal, plus quick voids and refunds that a supervisor can authorize by role.

ERPNext / finance systems manager

Owns the ERPNext platform and cares about a certified electronic trail, encrypted credentials, permission-gated refunds, and settlement-batch reconciliation. Wants a clean, upgrade-safe Frappe app rather than patched core files, and REST access for head-office reporting.

Multi-outlet franchise controller

Manages several branches on one ERPNext instance with different acquirers or merchant IDs per location. Needs per-terminal registration, per-company gateway config, and consolidated tender and reconciliation reporting across all outlets.

How GCC POS Payments (Mada, Tap, Geidea, PayTabs) Compares

CriterionECOSIRECustom BuildCompetitorERPNext Native
GCC terminal integration (Mada/Geidea/Tap/PayTabs/HyperPay)Built for your specific acquirer and terminalsPossible but you scope and build it yourselfUsually one gateway, often non-GCCNone — payment modes are accounting labels only
Card-present capture from POSCashier drives the terminal from the POS screenDepends entirely on your build effortOnline/hosted checkout, rarely card-presentManual keying into a separate PIN pad
Wallets (Apple Pay, STC Pay, mada)Supported where acquirer firmware exposes itExtra work per walletVaries; often web-onlyNot available
Auto settlement reconciliationScheduler matches settlement batch to transactionsYou design and maintain the logicRarely includedManual end-of-day matching
Refund / void / partial captureFrom POS, role-gated and auditedBuild and secure it yourselfBasic refund only, if anyHandled outside ERPNext
Upgrade safety (v15/v16)Standalone app, no core patchingRisk depends on your disciplineOften patches or lags releasesN/A — nothing to upgrade
Fit to your workflowScoped to your outlets and policiesFully yours but slow and costlyTake it as shippedGeneric POS only
Support and source handoverSupport window + git repo + docsSelf-supportedVendor SLA, closed sourceCommunity forums

Frequently Asked Questions about GCC POS Payments

How long does delivery take?

This is a build-to-order app, not an instant download. After a short scoping call to confirm your acquirer, terminals, wallets and reconciliation rules, typical delivery is one working week from confirmed scope. We build on a staging copy of your site, run UAT with your team, then install to production.

Which payment providers and terminals do you support?

Mada, Tap, Geidea, PayTabs and HyperPay, covering Visa, Mastercard and mada card-present capture. Apple Pay, STC Pay and mada wallet flows are supported where your acquirer's terminal firmware exposes them. We confirm the exact integration mode (cloud-to-POS or local network) for your specific acquirer during scoping.

Do I need a merchant account already?

Yes. ECOSIRE builds and integrates the ERPNext side, but you hold the merchant agreement, merchant IDs and certified terminals directly with your acquirer (Mada/Geidea/Tap/PayTabs/HyperPay). We configure your credentials securely and test against your sandbox or real terminals during UAT.

Will this break when I upgrade ERPNext?

No. It's delivered as a standalone Frappe app (`gcc_pos_payments`) using its own DocTypes, `hooks.py` doc events, whitelisted methods and client scripts — no ERPNext core files are patched. It's built for Frappe/ERPNext v15 and v16, so standard `bench update` upgrades within those lines are supported.

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

You receive a post-go-live support window for defect fixes and configuration adjustments, plus full source and the git repository so your own team can maintain or extend the app. Longer-term support, feature additions and acquirer changes can be arranged as a follow-on engagement.

How does reconciliation actually work?

Every tender is logged as a `POS Payment Transaction` with its RRN and gateway reference. A Frappe scheduler event pulls the acquirer's settlement batch and matches it against those rows, flagging any orphaned authorization or short-settled amount. A `POS Invoice.on_submit` guard also blocks any sale whose captured card tender doesn't match the invoice total.

Can we handle refunds, voids and partial captures at the till?

Yes. Refunds, voids and partial captures are initiated directly from the ERPNext POS screen and are permission-gated by Frappe role profile, so only authorized supervisors can perform them. Each action is written to the standard audit trail and linked back to the original `POS Payment Transaction`.

Request a quote

GCC POS Payments

A build-to-order ERPNext app that connects your POS to locally certified GCC payment terminals — Mada, Tap, Geidea, PayTabs and HyperPay — with card-present capture, wallet support, and automatic reconciliation. ECOSIRE builds, installs and supports it for your v15/v16 site.

  • Card-present capture for Mada, Visa and Mastercard driven from the ERPNext POS screen — no separate manual keying into the PIN pad
  • Terminal and gateway support for Tap, Geidea, PayTabs and HyperPay, with acquirer selection configurable per POS Profile
  • Apple Pay, STC Pay and mada wallet acceptance where the acquirer's terminal firmware exposes it
  • Dedicated `POS Terminal` DocType binding each physical device (serial / terminal ID) to a POS Profile and warehouse

Request a Quotation

Tell us about your GCC POS Payments 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.