Integrations

ERPNext Payment Gateway Integration: Razorpay, Stripe, PayU (2026)

How to connect Razorpay, Stripe and PayU to ERPNext for online payments and automatic reconciliation, using the open-source Frappe Payments app. Step by step.

MManojJuly 20, 202610 min read
Share

Connecting a payment gateway to ERPNext lets customers pay invoices online and posts each successful payment straight back into your accounts. The work runs through the open-source Frappe Payments app, which bundles Razorpay, Stripe, PayPal, Braintree and PayTM. Set it up once and reconciliation stops being a manual job.

Short answer

To integrate a payment gateway with ERPNext, install the free Frappe Payments app, open the gateway's Settings DocType (for example, Razorpay Settings), enter your API key and secret, and enable the service. ERPNext creates a Payment Gateway Account you attach to a Payment Request. When the customer pays, a webhook posts a Payment Entry and marks the invoice Paid.

I am Manoj, an ERPNext implementation consultant at Mith Tech in Bengaluru, and wiring payment gateways into ERPNext is one of the most common asks I get from Indian SMBs moving off manual UPI screenshots and bank-statement matching. This guide is the exact path I follow on client projects: which app to install, how to configure Razorpay, how the Payment Request flow works, and where Stripe and PayU fit. My honest take: the setup is genuinely simple, but people underestimate the reconciliation payoff — the point is not "accept cards", it is "never key in a Payment Entry again".

What is ERPNext payment gateway integration?

ERPNext payment gateway integration is the practice of connecting an online payment provider — Razorpay, Stripe, PayTM and others — to ERPNext through the open-source Frappe Payments app, so customers pay invoices online and each cleared payment records itself against the right invoice automatically. The result is faster collection and near-zero manual reconciliation.

Worth being precise about the architecture. ERPNext itself is not coupled to any single provider. Payment support lives in a companion app, Frappe Payments, which defines the gateway plumbing, while ERPNext supplies the invoicing and accounting side. Both are free and open source — ERPNext is licensed under GPLv3, the Payments app under MIT — so there is no per-transaction software fee layered on top of whatever the gateway itself charges. For the ERP side of what you are connecting into, see ERPNext.

Skimmable summary: ERPNext payment gateway integration connects an online payment provider via the free Frappe Payments app so customers pay online and reconciliation happens automatically.

Which payment gateways does ERPNext support natively?

ERPNext ships payment support through the separate Frappe Payments app, which bundles Razorpay, Stripe, PayPal, Braintree and PayTM out of the box. PayU has no official bundled integration and needs a community app or a custom gateway controller built on the same framework. Each bundled gateway gets its own Settings DocType inside ERPNext.

Here is how the common options stack up for an Indian SMB. Pricing and fees vary by provider and edition, so check each vendor's official page for that — this table is about fit, not cost.

GatewayBundled in Frappe Payments?Currency fitBest for
RazorpayYesINR onlyDomestic UPI, cards, netbanking, wallets
PayTMYesINR-focusedDomestic wallet and UPI collections
StripeYesMulti-currencyInternational or multi-currency invoicing
PayPalYesMulti-currencyCross-border customers who prefer PayPal
BraintreeYesMulti-currencyCard collections in supported markets
PayUNo (community/custom)INR + othersTeams standardised on PayU, via a custom build

The pattern to remember: the framework is deliberately extensible. If your provider is not in the bundled five, the same gateway-controller design that powers Razorpay and Stripe is what a developer uses to add PayU, Paystack, PayFast or any other provider. Nothing about ERPNext blocks it; the connector just is not shipped by default.

Skimmable summary: Razorpay, Stripe, PayPal, Braintree and PayTM are bundled; PayU needs a community app or custom connector on the same framework.

How do I set up Razorpay in ERPNext?

Setting up Razorpay means installing the Frappe Payments app, opening Razorpay Settings, entering your API key and secret, and enabling the service. Enabling the service makes ERPNext create a Payment Gateway record, an account head in the Chart of Accounts with account type Bank, and a Payment Gateway Account that ties the gateway to that ledger account.

1

Install the Frappe Payments app

On your bench, run bench get-app payments and then bench --site yoursite install-app payments. On managed hosting, install the Payments app from the marketplace or ask your provider. This is what adds the gateway Settings DocTypes to ERPNext.

2

Get Razorpay API credentials

In your Razorpay dashboard, generate API keys (Key ID and Key Secret) under the API keys section. Keep them safe — the secret is shown once. Use test keys first, switch to live keys only after an end-to-end test.

3

Open Razorpay Settings in ERPNext

Search "Razorpay Settings" in the ERPNext awesomebar. Paste the API Key and API Secret, then tick to enable the service. Remember: Razorpay works only for a company whose base currency is INR.

4

Confirm the auto-created records

On enabling, ERPNext creates a Payment Gateway record, an account head in the Chart of Accounts (type Bank), and a Payment Gateway Account. Open the Payment Gateway Account and confirm the account head points at the ledger where cleared payments should land.

5

Set the redirect and portal option

In the portal or web settings, select the payment gateway so it appears as a pay option on invoices and requests. Configure the success and failure redirect messages so customers get clear confirmation after checkout.

6

Register the webhook

In the Razorpay dashboard, add your ERPNext webhook URL so the gateway can notify ERPNext when a payment succeeds. This callback is what triggers automatic reconciliation — without it, payments happen but ERPNext will not post the entry on its own.

Razorpay is INR-only

Razorpay integration in ERPNext works only when the company's base currency is INR. If you invoice international customers in USD, EUR or other currencies, use Stripe or PayPal for those, and keep Razorpay for your domestic INR collections. Trying to force a non-INR company onto Razorpay will fail.

Skimmable summary: Install the Payments app, enter Razorpay keys in Razorpay Settings, enable the service, confirm the auto-created Payment Gateway Account, and register the webhook.

How do I collect payment against an invoice with a Payment Request?

Collecting payment against an invoice uses the Payment Request DocType. Creating a Payment Request from a Sales Order or Sales Invoice generates a payment link tied to your chosen Payment Gateway Account and emails the customer, who then pays online through the gateway's checkout page. The Payment Request carries the amount, reference document, and gateway.

1

Open the invoice or order

From a submitted Sales Invoice or Sales Order, use the menu to create a Payment Request. ERPNext pre-fills the outstanding amount and links the request back to the source document.

2

Pick the Payment Gateway Account

Select the Payment Gateway Account (for example, your Razorpay account). The account head on that gateway account decides which ledger the received money posts to.

3

Set the customer email

If the customer contact has an email, ERPNext fetches it automatically; otherwise set it manually. The Payment Request is emailed with a print format and a link to the gateway.

4

Send and let the customer pay

The customer opens the link, lands on the gateway's checkout (UPI, cards, netbanking, wallets for Razorpay), and completes payment. No login to ERPNext is required on their side.

The same Payment Request mechanism works whether the trigger is a formal Sales Invoice or an advance against a Sales Order, which is handy for collecting deposits before you begin work. If you are also setting up compliant tax invoicing, pair this with GST e-invoicing in ERPNext so the document the customer pays against is already IRN-ready.

Skimmable summary: A Payment Request built from an invoice or order emails the customer a gateway link; they pay on the gateway's checkout with no ERPNext login.

How does payment reconciliation work after a gateway payment?

Reconciliation after a gateway payment runs on webhooks. When a customer completes checkout, the gateway fires an authenticated callback to ERPNext, a Payment Entry is created against the referenced invoice, the general ledger updates, and the invoice status changes to Paid — all without anyone keying in the transaction. That closed loop is the core value of the integration.

Contrast the two worlds. Without integration, a customer pays, someone screenshots the confirmation, an accountant hunts through the bank statement, matches it to an invoice, and manually creates a Payment Entry — slow and error-prone at volume. With integration, the account head on the Payment Gateway Account is where the received amount posts, the Payment Entry references the original invoice, and the outstanding balance clears in real time.

5
gateways bundled in Frappe Payments
1
app to install (Payments)
GPLv3
ERPNext open-source licence

A practical note from client work: always run a small live transaction end to end before go-live, and confirm the Payment Entry lands in the correct account head. Ninety percent of "reconciliation is wrong" tickets trace back to the account head on the Payment Gateway Account pointing at the wrong ledger, not to the gateway itself.

Skimmable summary: The gateway's webhook makes ERPNext auto-create the Payment Entry, update the ledger, and mark the invoice Paid, removing manual matching.

Can I use Stripe or PayU with ERPNext in India?

Stripe and PayU both work with ERPNext, but with different effort. Stripe is bundled in the Frappe Payments app and suits multi-currency or international collections, so it configures much like Razorpay via its own Settings DocType. PayU has no official bundled connector and needs a community app or a custom integration built on the framework's gateway-controller pattern.

For an Indian SMB the split is usually clean. Domestic INR collections go to Razorpay or PayTM, both of which cover UPI, cards, netbanking and wallets. International or multi-currency invoices go to Stripe or PayPal, because Razorpay is INR-only. If you are committed to PayU — some businesses standardise on it for their payout and settlement terms — budget for a developer to build the connector, because it is a custom effort, not a checkbox. Pricing and settlement terms differ across all of these, so check each vendor's official page before you decide.

Run more than one gateway

ERPNext lets you configure multiple Payment Gateway Accounts at once. A common Mith Tech setup keeps Razorpay for INR customers and Stripe for overseas ones, then selects the right gateway per Payment Request. You are not locked into a single provider.

Skimmable summary: Stripe is bundled and ideal for international or multi-currency; PayU needs a custom or community connector because no official one ships.

How do I automate payment reminders and confirmations?

Automating payment reminders and confirmations layers a workflow tool on top of the gateway. ERPNext can email a Payment Request on its own, and tools such as n8n or a WhatsApp Business API push reminders before the due date and thank-you messages the instant a payment clears. The gateway webhook or a Payment Entry event is the trigger.

The pattern I build most often watches for the Payment Entry submit event, then sends the customer a confirmation over their preferred channel and updates a collections dashboard. Before the due date, a scheduled check on overdue invoices fires polite reminders with the payment link attached. For the full automation layer, see ERPNext n8n integration, and for the messaging side specifically, ERPNext WhatsApp integration.

Skimmable summary: Trigger reminders and confirmations from Payment Request and Payment Entry events using n8n or WhatsApp, with the gateway link attached.

Frequently asked questions

Does ERPNext have a built-in payment gateway?

ERPNext does not embed a gateway in its core; online payment support comes from the separate, free Frappe Payments app. Once installed, that app adds Razorpay, Stripe, PayPal, Braintree and PayTM as configurable gateways inside ERPNext. Install the app, enter your provider's API credentials in its Settings DocType, and enable the service to start accepting online payments.

Is the Frappe Payments app free?

Yes. The Frappe Payments app is open source and MIT-licensed, and ERPNext itself is open source under GPLv3, so there is no software licence fee for the integration. You still pay the payment gateway's own transaction charges, which vary by provider and plan — check the gateway's official pricing page. But the ERPNext-side connector costs nothing to install and run.

Which ERPNext version supports payment gateways?

Payment gateway support relies on the Frappe Payments app and standard Frappe framework features, which work across the current v15 and v16 release lines. Because the integration is app-based rather than tied to version-specific core behaviour, it keeps working across upgrades as long as you keep the Payments app compatible with your ERPNext version.

Can I integrate Razorpay for USD or international payments?

No. Razorpay integration in ERPNext works only for a company whose base currency is INR, so it is meant for domestic collections. For USD, EUR or other currencies, use Stripe or PayPal, both bundled in the Frappe Payments app. Many businesses run Razorpay and Stripe side by side and pick the gateway per Payment Request.

How does ERPNext reconcile a gateway payment automatically?

When a customer pays, the gateway sends an authenticated webhook to ERPNext, which creates a Payment Entry against the referenced invoice, updates the general ledger, and marks the invoice Paid. The received amount posts to the account head set on the Payment Gateway Account. Register the webhook in the gateway dashboard, or reconciliation will not fire on its own.

Can I use PayU with ERPNext?

Yes, but it takes extra work. PayU is not one of the gateways bundled in the Frappe Payments app, so there is no official one-click connector. A developer can build a PayU integration using the same gateway-controller pattern the bundled gateways use, or you can look for a community app. For domestic collections available out of the box, Razorpay and PayTM are the quicker route.

About the author

I am Manoj, an ERPNext implementation consultant at Mith Tech, an independent open-source implementation studio in Bengaluru. I help Indian SMBs and mid-market teams deploy, integrate and automate ERPNext, Frappe, n8n and Medusa. This guide reflects payment gateway setups I build on real client projects.

Want online payments and automatic reconciliation live in ERPNext?

Free · By email

Get practical ERPNext & automation guides

New implementation guides, cost breakdowns and open-source tips for Indian businesses — occasionally, straight to your inbox. No spam.

M

Written by

Manoj

Founder of Mith Tech, an open-source ERP & automation studio. Hands-on ERPNext/Frappe implementation across multi-branch, multi-warehouse Indian operations — GST/TDS/PT compliance, branch-level permissions, and custom Frappe apps that give management real-time visibility.

Keep reading

See what this looks like for your business

Book a free 30-minute audit. We'll map your workflows, find where time and money leak, and design an open-source stack you actually own — no per-user licence fees.

Book a consultation
0 0
Published on 20 July 2026

Manoj

Comments

No comments yet. Start a new discussion.

Ctrl+Enter to add comment