- Home
- Apps
- SaaS Tools
- Razorpay & RazorpayX Payments + Payouts
Illustrative previewA build-to-order ERPNext app that unifies Razorpay collections and RazorpayX vendor payouts,
with webhook-driven reconciliation straight into Payment Entry.
ECOSIRE scopes, builds, installs, and supports it on your Frappe/ERPNext v15/v16 site.
What is Razorpay & RazorpayX Payments + Payouts?
A build-to-order ERPNext app that unifies Razorpay collections and RazorpayX vendor payouts, with webhook-driven reconciliation straight into Payment Entry. ECOSIRE scopes, builds, installs, and supports it on your Frappe/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
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
Indian businesses that run collections and supplier payments through Razorpay and RazorpayX end up doing two reconciliations by hand: matching Razorpay settlements to customer invoices, and matching RazorpayX payout debits to Purchase Invoices and expense claims. ERPNext core has no native Razorpay or RazorpayX connector on the payables side — you can wire Razorpay as a website payment gateway for the portal, but there is no automated capture of vendor payouts, no UPI/IMPS/NEFT payout initiation from a Payment Entry, and no signed-webhook pipeline that turns a Razorpay event into a submitted Payment Entry against the right party. Finance teams bridge the gap with spreadsheets and the Razorpay dashboard, and the general ledger drifts out of sync with what actually cleared the bank.
ECOSIRE builds a proper Frappe app — a namespaced module with its own DocTypes — that closes both loops inside ERPNext. On the collections side we generate Razorpay Orders and Payment Links against Sales Invoices, support UPI, cards, and netbanking, and capture the payment.captured and payment_link.paid webhook events. On the payables side we integrate RazorpayX: a RazorpayX Payout DocType (with a Payout Batch parent for bulk runs) that reads bank details from Supplier and Employee records, validates the fund account, and fires the payout via the RazorpayX API. Every inbound webhook lands on a whitelisted frappe.whitelist(allow_guest=True) endpoint that verifies the X-Razorpay-Signature HMAC before doing anything, so no unauthenticated event can create ledger entries.
Technically, the reconciliation is driven by hooks.py doc events and server scripts. When a captured or paid event verifies, the app resolves the linked invoice, creates and submits a Payment Entry with the correct party, mode of payment, and bank clearance reference, and stamps the gateway transaction id back onto both documents for audit. RazorpayX payout status transitions (processing, processed, reversed, failed) update the payout DocType and post or reverse the corresponding Payment Entry. A scheduler event polls for pending/stuck transactions so a dropped webhook self-heals on the next tick. Role profiles and permission rules restrict payout initiation and approval to finance roles, client scripts add the pay/approve actions to the invoice and payout forms, and the whole thing is exposed over the standard Frappe REST API and whitelisted methods for any headless or portal flow you need.
Because this is build-to-order, we start from your actual chart of accounts, GST setup, supplier and employee master data, and approval policy — not a generic template. After a short scoping call we confirm exact scope and payout limits, build the app against Frappe/ERPNext v15 or v16, and hand you installable source plus a git repository. Typical delivery is one working week from confirmed scope. There is no instant download: this is a bespoke integration that we install, test on your staging site, and support after go-live.
What you get
- Installable source code for your version of the app, packaged as a standard Frappe app (bench get-app / pip installable)
- Installation and configuration on your ERPNext site, including Razorpay and RazorpayX API keys, webhook registration, and account mappings
- Technical documentation: DocType reference, hooks and server-script logic, webhook flow, and scheduler jobs
- End-user guide plus a live training session for your finance and AP team
- UAT on a staging site with a signed-off test plan, and a documented rollback plan
- Post-go-live support window for bug fixes and adjustments after launch
- Handover of the private git repository with full commit history
- Configuration runbook covering key rotation, webhook re-registration, and v15-to-v16 upgrade notes
Who this is for
Finance / AP Manager
Runs both customer collections and vendor payments in one team and wants Razorpay settlements and RazorpayX debits reconciled into ERPNext automatically instead of matching them by hand against the gateway dashboard.
ERPNext System Owner / Admin
Owns the Frappe/ERPNext v15/v16 site and needs a clean, namespaced app with proper DocTypes, permissions, and hooks.py events rather than brittle custom scripts, plus a git repo and upgrade path they can maintain.
Founder / CFO of an Indian SME
Wants supplier and salary payouts approved and released from ERPNext with a maker-checker control, and wants the GL to always reflect what actually cleared the bank via RazorpayX.
Operations Lead scaling payouts
Processes high volumes of vendor or partner payouts and needs bulk batch runs, beneficiary validation, and automatic status sync so failed or reversed payouts are caught and re-posted correctly.
How Razorpay & RazorpayX Payments + Payouts Compares
| Criterion | ECOSIRE | Custom Build | Competitor | ERPNext Native |
|---|---|---|---|---|
| Vendor payouts (RazorpayX) | Native payout DocType, bulk batches, status sync to Payment Entry | Possible but you design and maintain the whole flow | Mostly collections-only; payouts rarely covered | Not supported at all |
| Webhook reconciliation | Signed HMAC verify, idempotent, auto Payment Entry | Hand-rolled; signature and idempotency easy to get wrong | Basic capture, often no dedupe or payout events | Manual matching against the gateway dashboard |
| Fit to your ERP setup | Built to your COA, GST, masters, and approval policy | Fully bespoke, at full build cost and timeline | Generic mapping, limited configuration | Portal gateway only, no payables logic |
| Delivery model | Build-to-order, one working week from confirmed scope | Longer; depends on your dev capacity | Instant install but generic and often unmaintained | Already in ERPNext, but the feature does not exist |
| Source and ownership | Full source plus private git repo handover | You own it, but you built it | Often closed or licence-locked | N/A |
| Version support | Frappe/ERPNext v15 and v16, versioned app | Whatever you target and test | Varies; may lag current versions | Ships with core, but no payout feature |
| Support and updates | Post-go-live window plus optional retainer | Your team maintains it | Community or best-effort | Core updates only, no connector |
| Permissions and approval | Role profiles, maker-checker, gated payout release | Build it yourself | Usually minimal role control | Standard doc permissions, no payout concept |
Frequently Asked Questions about Razorpay & RazorpayX Payments + Payouts
Is this an existing app I can download and install today?
No. This is a build-to-order ERPNext app that ECOSIRE scopes, builds, installs, and supports specifically for your site. It is not a Frappe Cloud Marketplace download. You receive installable source code and a git repository as part of delivery.
How long does delivery take?
Typical delivery is one working week from confirmed scope. After the initial scoping call we lock down the exact requirements — payment methods, payout policy, approval flow, and account mappings — and that confirmed scope starts the build clock. Complex approval or multi-entity setups can extend the timeline, which we flag before you commit.
Which ERPNext versions are supported?
We build against Frappe/ERPNext v15 and v16, packaged as a standard versioned Frappe app. We confirm your exact bench version during scoping and target that, and the handover documentation includes v15-to-v16 upgrade notes.
How does the RazorpayX payout side actually work?
Payouts are initiated from a Payment Entry or a dedicated `RazorpayX Payout` DocType that reads fund-account details from your Supplier and Employee masters, validates the beneficiary (account+IFSC or UPI VPA), and fires the RazorpayX API. Bulk runs go through a Payout Batch DocType. Status webhooks (`processing`, `processed`, `reversed`, `failed`) sync back and post or reverse the matching Payment Entry.
How is the webhook reconciliation kept secure and accurate?
Every inbound event hits a whitelisted endpoint that verifies the Razorpay `X-Razorpay-Signature` HMAC before doing anything. Handling is idempotent — keyed on the Razorpay entity id — so retried events never double-post a Payment Entry. A scheduler job also polls for pending transactions so a dropped webhook self-heals on the next tick.
What about support and updates after go-live?
Delivery includes a post-go-live support window for bug fixes and adjustments. Because you get the full source and git repository, you can maintain it yourself afterward, or engage ECOSIRE for an ongoing support and enhancement retainer, including keeping it current with Razorpay/RazorpayX API changes and future ERPNext versions.
Can it drive collections or payouts from outside ERPNext?
Yes. The app exposes Frappe REST API endpoints and whitelisted methods, so a customer portal, mobile app, or external system can create Payment Links or trigger payouts programmatically while the reconciliation and ledger posting still happen inside ERPNext.
Related Modules

QR Code Contactless Ordering for ERPNext
Per-table QR menus that let guests browse, order and pay from their phone, injecting orders straight into ERPNext POS and the kitchen. A build-to-order Frappe app that ECOSIRE scopes, builds, installs and supports for your restaurant.

QuickBooks Migrator & Two-Way Sync for ERPNext
A build-to-order ERPNext app that migrates your QuickBooks Online chart of accounts, contacts, items and transactions into ERPNext, then optionally keeps both systems in incremental two-way sync. ECOSIRE builds, installs, and supports it — request a quotation to start.

Razorpay Suite for ERPNext
A full Razorpay integration for ERPNext that goes well beyond the stock Frappe payment connector, adding UPI-first collections, Payment Links, Smart Collect virtual accounts, recurring eMandate subscriptions, and automated reconciliation. ECOSIRE builds, installs, and supports it for your instance on a build-to-order basis.

Recruitment ATS Pro (Pipeline + Portal)
A full applicant-tracking workflow for ERPNext with a branded public careers portal, a kanban candidate pipeline, interview scheduling with scorecards, and offer-letter e-sign. ECOSIRE builds it as a proper Frappe app, installs it on your bench, and supports it after go-live.
Razorpay & RazorpayX Payments + Payouts
A build-to-order ERPNext app that unifies Razorpay collections and RazorpayX vendor payouts, with webhook-driven reconciliation straight into Payment Entry. ECOSIRE scopes, builds, installs, and supports it on your Frappe/ERPNext v15/v16 site.
- Razorpay Order and Payment Link generation against ERPNext Sales Invoices, with UPI, card, and netbanking payment methods
- RazorpayX vendor payout initiation directly from a Payment Entry or a dedicated `RazorpayX Payout` DocType, reading fund-account details from Supplier and Employee masters
- Signed webhook endpoint verifying the `X-Razorpay-Signature` HMAC on every event before any ledger action, exposed via `frappe.whitelist(allow_guest=True)`
- Automatic creation and submission of `Payment Entry` on `payment.captured` and `payment_link.paid`, mapped to the correct party, mode of payment, and bank clearance reference