Skip to main content
Razorpay & RazorpayX Payments/Payouts — A build-to-order Frappe app that wires Razorpay collections and RazorpayX vendor payo — 1/1Illustrative preview

A build-to-order Frappe app that wires Razorpay collections and RazorpayX vendor payouts directly into ERPNext,

with webhook-driven status sync and automatic Payment Entry posting.

ECOSIRE scopes, builds, installs, and supports it for your instance.

What is Razorpay & RazorpayX Payments/Payouts?

A build-to-order Frappe app that wires Razorpay collections and RazorpayX vendor payouts directly into ERPNext, with webhook-driven status sync and automatic Payment Entry posting. ECOSIRE scopes, builds, installs, and supports it for your 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

Razorpay Orders API checkout and hosted Payment Links generated directly from Sales Invoice and Payment Request DocTypes
RazorpayX contact and fund-account creation for Suppliers, with vendor bank details validated before any transfer
RazorpayX vendor payout automation against Purchase Invoices and Payment Entries, including bulk Payout Batch runs
Signed webhook endpoint (whitelisted method) verifying the X-Razorpay-Signature HMAC before accepting any event
Automatic submitted Payment Entry posting on payment.captured, reconciled against the originating invoice
Refund and settlement handling: refund.processed and payout.reversed book the correct offsetting accounting entry
Scheduler event that reconciles Razorpay Settlement reports against bank Journal Entries and flags variances
Idempotency keys and webhook event de-duplication so retried Razorpay callbacks never double-post
Encrypted API key/secret stored in a dedicated Settings DocType — no credentials hardcoded in source
Maker-checker workflow states on payout DocTypes with a dedicated Payout Approver role profile and permission rules
Client scripts adding Pay / Send Link / Payout / Refund buttons on the standard invoice forms
Whitelisted REST methods so external systems can trigger collections and query payout status
hooks.py doc events wiring collection and payout side effects into ERPNext's document lifecycle
Built and tested against Frappe/ERPNext v15 and v16, with test mode vs live mode key switching

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

Indian businesses running ERPNext usually end up straddling two systems: sales and purchases live in ERPNext, but the actual money movement happens in the Razorpay dashboard. Someone shares a payment link over WhatsApp, a customer pays, and then a person manually finds the matching Sales Invoice and records a Payment Entry — often days later, often with the wrong reference. On the payout side it is worse: vendor bank details are copy-pasted into RazorpayX, a bulk transfer is fired off, and reconciling those debits back to Purchase Invoices is a month-end spreadsheet exercise. ERPNext core has no native Razorpay collection gateway and no RazorpayX payout capability at all, so the gap is bridged by human effort and hope.

We build a proper Frappe app (ecosire_razorpay) installed into your bench that closes that gap end to end. On the collections side, whitelisted server methods call the Razorpay Orders and Payment Links APIs so a Sales Invoice or Payment Request can generate a checkout or a shareable link without leaving ERPNext. On the disbursement side, new DocTypes such as RazorpayX Payout and RazorpayX Payout Batch model contact/fund-account creation and vendor transfers against your Purchase Invoices and Payment Entries, with maker-checker workflow states so a payout is authorized before it is queued. Everything is driven by real Razorpay/RazorpayX API calls under an encrypted key/secret stored in a Settings DocType, never hardcoded.

Status never depends on polling a dashboard. We register a signed Razorpay webhook endpoint (a whitelisted method verifying the X-Razorpay-Signature HMAC) that receives payment.captured, payment.failed, payout.processed, payout.reversed, refund.processed, and settlement events. hooks.py doc events and a handler layer then post the accounting reality automatically: a captured payment creates and submits a Payment Entry reconciled against the correct invoice; a processed payout marks the vendor Payment Entry as cleared; a refund or reversal books the offsetting entry. A scheduler event reconciles Razorpay Settlement reports against your bank Journal Entries and flags mismatches, and idempotency keys plus event de-duplication guarantee a retried webhook never double-posts.

Because this is licensed and access-controlled, we add role profiles (for example a Payout Approver role), permission rules on the payout DocTypes, and client scripts that surface pay/refund/payout actions right on the Sales Invoice and Purchase Invoice forms. Everything is exposed through the standard Frappe REST API and whitelisted methods, so your other systems can trigger collections or query payout status programmatically.

Delivery is build-to-order: nothing ships until we agree the scope on a short call. We confirm which flows you need (collections only, payouts only, or both), your GST/TDS and reconciliation rules, and your Frappe/ERPNext version (v15 or v16), then build against a staging copy of your instance. You get the installable app source, UAT on staging with a rollback plan, and a post-go-live support window. Typical delivery is one working week from confirmed scope — no instant download, because we are building it for your instance, not selling a shelf plugin.

What you get

  • Installable Frappe app source code (ecosire_razorpay) pinned to your ERPNext version
  • Installation and configuration on your bench, including Razorpay/RazorpayX API keys, webhook registration, and role profiles
  • Technical documentation: DocType schemas, hooks, whitelisted methods, webhook events, and reconciliation logic
  • User guide plus a live training session for your finance and accounts team
  • UAT on a staging instance with a documented rollback plan before production cutover
  • Post-go-live support window for defect fixes and configuration adjustments
  • Git repository handover with full commit history and release tags
  • Version-compatibility notes for your Frappe/ERPNext v15 or v16 upgrade path

Who this is for

Finance controller at an Indian SME

Runs collections and vendor payments through ERPNext and wants Razorpay receipts and RazorpayX disbursements to post and reconcile automatically instead of being keyed in by hand at month-end.

Accounts payable lead paying many vendors

Needs RazorpayX bulk payouts driven from approved Purchase Invoices, with maker-checker approval and each transfer traceable back to the exact invoice and Payment Entry.

ERPNext product owner / IT manager

Wants a properly packaged Frappe app with clean DocTypes, hooks, and whitelisted APIs — installable, version-pinned, and handed over as a git repo — not a fragile pile of server scripts.

Founder of a D2C or services business

Sends payment links to customers and pays freelancers and suppliers digitally, and wants both flows to live inside ERPNext with a clear audit trail rather than a separate Razorpay dashboard.

How Razorpay & RazorpayX Payments/Payouts Compares

CriterionECOSIRECustom BuildCompetitorERPNext Native
Razorpay collections in ERPNextCheckout + payment links from invoice DocTypesBuildable but you design it from scratchOften only basic checkout, no payment linksNo native Razorpay gateway
RazorpayX vendor payoutsAutomated payouts + bulk batches from POsPossible with significant effortRarely covered by marketplace appsNot supported at all
Status syncSigned webhooks, idempotent, auto Payment EntryDepends on what you buildPolling or manual reconcile commonManual dashboard checking
ReconciliationScheduler reconciles settlements vs bankYou build the reconciliation logicUsually left to the userMonth-end spreadsheet work
Approval controlsMaker-checker roles on payout DocTypesYou define the workflowSeldom includedNo payout workflow exists
Version fitPinned and tested to your v15/v16Yours to maintain across upgradesGeneric build, may lag versionsShips with ERPNext
Ownership & handoverFull git repo + docs handed to youYou own it fullyClosed vendor code, licensedN/A
SupportPost-go-live window + optional ongoingInternal team onlyVaries, often forum-onlyCommunity support

Frequently Asked Questions about Razorpay & RazorpayX Payments/Payouts

How long does delivery take?

This is a build-to-order product, so nothing downloads instantly. After a short scoping call to confirm your flows, GST/TDS and reconciliation rules, and your ERPNext version, typical delivery is one working week from confirmed scope. We build and test against a staging copy of your instance before any production cutover.

Do you handle both collections and vendor payouts, or can I pick one?

Either or both. Some clients only need Razorpay collections (checkout and payment links posting Payment Entries), some only need RazorpayX vendor payouts, and many need both. We confirm the exact scope on the call and price and build accordingly.

How are payments kept in sync without someone checking the Razorpay dashboard?

We register a signed Razorpay webhook that verifies the X-Razorpay-Signature HMAC and receives events like payment.captured, payout.processed, refund.processed, and reversals. Those events post the matching Payment Entries automatically, with idempotency and de-duplication so a retried webhook never double-posts.

Is it safe to store our Razorpay and RazorpayX API keys in ERPNext?

Keys and secrets live encrypted in a dedicated Settings DocType, never hardcoded in source. Payout DocTypes carry maker-checker workflow states and a dedicated approver role profile with permission rules, so no single user can move funds unchecked.

What about support and updates after go-live?

Every engagement includes a post-go-live support window for defect fixes and configuration adjustments. Because you receive the full git repository, your team can maintain it, and we offer optional ongoing support or version-upgrade work (for example moving from v15 to v16) as a separate arrangement.

Which Frappe/ERPNext versions are supported?

We build and test against Frappe/ERPNext v15 and v16. We confirm your exact version on the scoping call and pin the app to it so the DocTypes, hooks, and API calls match your instance.

Does it reconcile Razorpay settlements against our bank?

Yes. A scheduler event pulls Razorpay Settlement reports and reconciles them against your bank Journal Entries, flagging any variance so payouts, fees, and deposits are traceable end to end rather than reconstructed in a spreadsheet.

Request a quote

Razorpay & RazorpayX Payments/Payouts

A build-to-order Frappe app that wires Razorpay collections and RazorpayX vendor payouts directly into ERPNext, with webhook-driven status sync and automatic Payment Entry posting. ECOSIRE scopes, builds, installs, and supports it for your instance.

  • Razorpay Orders API checkout and hosted Payment Links generated directly from Sales Invoice and Payment Request DocTypes
  • RazorpayX contact and fund-account creation for Suppliers, with vendor bank details validated before any transfer
  • RazorpayX vendor payout automation against Purchase Invoices and Payment Entries, including bulk Payout Batch runs
  • Signed webhook endpoint (whitelisted method) verifying the X-Razorpay-Signature HMAC before accepting any event

Request a Quotation

Tell us about your Razorpay & RazorpayX Payments/Payouts 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.