- Home
- Apps
- SaaS Tools
- Tabby BNPL for ERPNext
Illustrative previewA build-to-order Frappe app that adds Tabby Buy-Now-Pay-Later as a first-class ERPNext payment method
— Pay in 4, monthly installments, eligibility pre-scoring, and product/cart promo messaging.
ECOSIRE scopes, builds, installs, and supports it on your ERPNext v15/v16 instance.
What is Tabby BNPL for ERPNext?
A build-to-order Frappe app that adds Tabby Buy-Now-Pay-Later as a first-class ERPNext payment method — Pay in 4, monthly installments, eligibility pre-scoring, and product/cart promo messaging. ECOSIRE scopes, builds, installs, and supports it on your ERPNext v15/v16 instance. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $999.00 USD; request a quote for a scoped proposal.
Key Features
Built to order, done for you
No DIY setup — a working app, built, installed and supported by ECOSIRE.
- 1
You order
Start with a one-time build price. We scope it with you at kickoff.
- 2
We build & install
ECOSIRE builds, configures and installs it on your ERPNext.
- 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 running ERPNext consistently lose cart conversion and average order value at the payment step: shoppers in the UAE and Saudi Arabia now expect a Tabby "Pay in 4" option, and when they don't see it they abandon or downsize the basket. ERPNext core ships card and generic payment-gateway integrations, but it has no native concept of a Buy-Now-Pay-Later provider — no pre-checkout eligibility scoring, no product/cart promotional messaging ("or 4 payments of AED X"), and no way to reconcile a BNPL settlement that is captured, partially refunded, or clawed back on a schedule that differs from the sale document. Bolting this onto ERPNext with ad-hoc client scripts creates silent reconciliation gaps that surface as unbalanced payment entries weeks later.
We build a proper Frappe application — erpnext_tabby — installed on your bench as a versioned app, not a pile of loose customizations. It introduces its own module and DocTypes: a Tabby Settings single DocType (holding public/secret API keys, merchant code, environment toggle, and currency/locale config, with secrets stored as Password fieldtype), a Tabby Session DocType logging every checkout session and its provider ID, and a Tabby Webhook Log DocType for idempotent event capture and replay. The checkout flow calls Tabby's pre-scoring endpoint through whitelisted server methods (@frappe.whitelist()) so the browser never touches your secret key; eligibility results and installment plans are returned to the storefront via the Frappe REST API. On the web storefront we register client scripts and Website-level assets that render Tabby's promo snippet on product and cart pages, honoring the shopper's cart total and locale.
The lifecycle is wired through hooks.py document events and scheduler hooks. When a Sales Order or Sales Invoice is submitted against a Tabby session, on_submit doc events create and reconcile the corresponding Payment Entry; capture, refund, and cancellation each map to the correct accounting document so your general ledger always ties out. Tabby's asynchronous settlement is handled by a whitelisted webhook endpoint that verifies the signature, writes to Tabby Webhook Log with a dedupe key (so retries are idempotent), and updates the linked sale document's status. A scheduler_events hourly job reconciles any sessions that were authorized but whose webhook never arrived, closing the gap between "customer paid Tabby" and "ERPNext knows about it." Access is governed by a dedicated role and role profile so only finance and store-admin users can view keys or trigger manual refunds, and all sensitive actions are captured in the standard Frappe audit trail.
Because this is build-to-order, nothing ships as a blind download. We start with a scoping call to confirm your ERPNext version (v15 or v16), storefront setup, Tabby merchant account, currencies, and reconciliation rules, then build against a staging copy of your instance. You review the working integration in UAT before we touch production. Typical delivery is one working week from confirmed scope. You receive the full app source in a git repository you own, installed and configured on your bench, with documentation, a training session, and a post-go-live support window — no vendor lock-in and no black box.
What you get
- Installable source code for your version of the `erpnext_tabby` Frappe app, targeting your ERPNext v15 or v16 instance
- Installation and configuration on your bench — app install, `Tabby Settings` populated, webhook URL registered with Tabby, test-to-live cutover
- Technical documentation: DocType reference, hooks.py events, whitelisted methods, webhook contract, and scheduler job behavior
- End-user guide plus a live training session for finance and store-admin staff (refunds, reconciliation, promo config)
- UAT on a staging copy of your instance with a documented rollback plan before production go-live
- Post-go-live support window for bug fixes and configuration adjustments after launch
- Full git repository handover — you own the source, commit history, and can maintain or extend it independently
- Reconciliation runbook covering capture/refund/settlement edge cases and the hourly recovery job
Who this is for
UAE/KSA ERPNext retail owner
Runs an online store on ERPNext's web storefront and is losing conversions because shoppers expect Tabby. Wants Pay in 4 live at checkout with promo messaging on product pages to lift both conversion and average order value.
Finance / accounts manager
Owns the general ledger and needs every Tabby capture, refund, and settlement to post to the correct Payment Entry so the books reconcile. Cares about the idempotent webhook log, the hourly recovery job, and a clean audit trail.
ERPNext administrator / implementation partner
Manages the bench and other Frappe apps. Wants a properly packaged app with clean hooks.py events, whitelisted methods, and a role profile — not brittle client-script hacks — and full source in git so they can maintain it.
Growth / e-commerce manager
Focused on checkout conversion and AOV. Needs eligibility-aware Tabby messaging on product and cart pages, locale-aware for Arabic and English shoppers across the GCC.
How Tabby BNPL for ERPNext Compares
| Criterion | ECOSIRE | Custom Build | Competitor | ERPNext Native |
|---|---|---|---|---|
| BNPL support in ERPNext | Purpose-built Tabby app with Pay in 4 and installments | Whatever you scope and build yourself | Generic gateway plugin, often not Tabby-specific | None — no BNPL concept in core |
| Eligibility pre-scoring | Live pre-scoring via whitelisted server methods | Must design and secure the API calls yourself | Rarely included; usually card-only | Not available |
| Promo messaging on product/cart | Locale-aware snippets via client scripts and Website assets | Hand-built client scripts to maintain | Limited or none | None |
| Settlement reconciliation | Idempotent webhook log plus hourly recovery job into Payment Entries | DIY reconciliation, easy to leave gaps | Basic status update, often no recovery job | Manual journal entries |
| Code ownership | Full source in a git repo you own | You own it but carry the full build cost | Vendor-controlled, often closed or licensed | N/A |
| Delivery and testing | Staging UAT, rollback plan, one working week build-to-order | Depends entirely on your in-house capacity | Install-and-hope, minimal onboarding | N/A |
| Version fit | Built and tested against your v15/v16 bench | Whatever you target | Generic release, may lag your version | Ships with core |
| Support after launch | Post-go-live support window plus training | Self-supported | Forum or paid tier, variable | Community only |
Frequently Asked Questions about Tabby BNPL
Is this a ready-made app I can download and install today?
No. Tabby BNPL for ERPNext is build-to-order. ECOSIRE scopes it to your ERPNext version, storefront, and Tabby merchant account, then builds, installs, and supports it. There is no instant download — you receive a working, tested app installed on your bench with the full source in a git repository you own.
How long does delivery take?
Typical delivery is one working week from confirmed scope. The timeline starts once we've completed the scoping call and agreed on your ERPNext version, currencies, storefront setup, and reconciliation rules. Complex multi-currency or custom-storefront requirements can extend this, and we confirm the estimate in writing before starting.
Which ERPNext versions are supported?
We support Frappe/ERPNext v15 and v16. We build and test against your actual bench and Frappe/Python version so the app is upgrade-safe rather than pinned to a generic release.
How are refunds and settlements kept in sync with my accounts?
Capture, refund (full or partial), and cancellation each map to the correct ERPNext Payment Entry or Journal Entry via `hooks.py` doc events. A signature-verified webhook writes to an idempotent `Tabby Webhook Log`, and an hourly scheduler job reconciles any authorized session whose webhook was delayed, so your general ledger always ties out.
Do you need my Tabby account, and are my API keys secure?
Yes — you provide your own Tabby merchant credentials. Secret keys are stored in a `Tabby Settings` DocType as a `Password` fieldtype and are only used inside whitelisted server methods, so the browser and storefront never see them. Access is restricted to a dedicated finance/store-admin role.
What kind of support and updates do I get after launch?
Every build includes a post-go-live support window for bug fixes and configuration adjustments. Because you own the git repository and full source, you or your implementation partner can maintain and extend it freely; ECOSIRE can also provide ongoing support or enhancements under a separate agreement.
Can I run it on a staging copy before going live?
Yes. We build against a staging copy of your instance and you sign off in UAT before we touch production. We include a documented rollback plan, and the environment toggle in `Tabby Settings` lets you validate in Tabby's test mode before switching to live.
Related Modules

Subscription Billing & Mandates for ERPNext
A recurring-revenue engine for ERPNext that adds mandate-backed collections, smart dunning, proration, and gateway retry logic on top of your existing Sales Invoice and payment flows. ECOSIRE builds it to your plans and pricing model, then installs and supports it.

Supermarket & Grocery POS for ERPNext
A high-speed grocery checkout for ERPNext with weight-embedded (EAN-13) barcode parsing, live weighing-scale integration and fast multi-item scanning. ECOSIRE builds, installs and supports it on your bench after we agree the scope.

Tally to ERPNext Migrator
A build-to-order Frappe app that imports Tally masters and vouchers into ERPNext with accurate ledger, group and GST mapping, opening balances, and reconciliation reports. ECOSIRE scopes, builds, installs, and supports it for your specific Tally company file.

Tamara BNPL for ERPNext
A build-to-order Frappe app that adds Tamara split-payment and pay-later checkout to ERPNext, with localized Arabic and English promo widgets, eligibility pre-checks, and full authorize/capture/refund reconciliation. ECOSIRE scopes, builds, installs, and supports it for your instance.
Tabby BNPL
A build-to-order Frappe app that adds Tabby Buy-Now-Pay-Later as a first-class ERPNext payment method — Pay in 4, monthly installments, eligibility pre-scoring, and product/cart promo messaging. ECOSIRE scopes, builds, installs, and supports it on your ERPNext v15/v16 instance.
- Dedicated Frappe app `erpnext_tabby` with its own module, installed via bench as a versioned, upgrade-safe application rather than loose customizations
- `Tabby Settings` single DocType for API keys, merchant code, environment (test/live) toggle, currency and locale config — secret key stored as a `Password` fieldtype, never exposed to the browser
- Pre-scoring and eligibility checks invoked through whitelisted server methods so the customer only sees the Tabby option when their cart qualifies
- Pay in 4 and monthly installment plans surfaced at checkout with the correct per-installment amounts computed from the live cart total