Skip to main content
USDT / Crypto Checkout for ERPNext — A build-to-order Frappe app that lets your ERPNext store and sales flow accept USDT, USD — 1/1Illustrative preview

A build-to-order Frappe app that lets your ERPNext store and sales flow accept USDT,

USDC, BTC and other stablecoins through CoinGate or a self-hosted BTCPay Server, with on-chain confirmation tracking, FX rate lock at checkout, and refund-to-wallet handling.

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

What is USDT / Crypto Checkout for ERPNext?

A build-to-order Frappe app that lets your ERPNext store and sales flow accept USDT, USDC, BTC and other stablecoins through CoinGate or a self-hosted BTCPay Server, with on-chain confirmation tracking, FX rate lock at checkout, and refund-to-wallet handling. 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

New `Crypto Payment` DocType linked to Sales Invoice, Sales Order and web checkout, holding coin, wallet address, expected amount, locked FX rate and expiry
CoinGate connector (hosted/custody-managed) with API key auth, invoice creation and status callbacks
Self-hosted BTCPay Server connector (non-custodial) using your own store, API key and Greenfield API
USDT, USDC, BTC and ETH acceptance, with per-coin and per-network (ERC-20, TRC-20) configuration during scoping
Webhook receiver as a whitelisted Frappe method with HMAC signature verification and replay protection
On-chain confirmation state machine: Pending → Seen on chain → Confirmed → Settled, with configurable minimum confirmations per coin
`hooks.py` scheduler event that re-polls provider status for stuck, expired or under-confirmed payments as a safety net
FX rate lock at checkout via the provider rate endpoint, persisted with the coin amount so GL posts in your ERPNext base currency
Automatic `Payment Entry` creation and invoice reconciliation on confirmation via `doc_events` handlers
Refund-to-wallet action that issues the provider refund and writes the matching credit note and reversing `Payment Entry`
Client script rendering a live payment QR code and real-time confirmation status on the transaction form
Role profiles and DocType permissions restricting wallet, refund and settlement actions to finance roles only
Frappe REST API endpoints so headless storefronts and mobile checkouts can create and poll crypto payments
Full audit trail: every provider callback, status change and rate lock is logged as a linked child table for reconciliation and disputes

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

Cross-border ERPNext merchants keep losing crypto-paying customers because ERPNext has no native way to take a stablecoin payment. Out of the box, ERPNext Payments supports card and bank gateways like Stripe, Razorpay and PayPal, but there is no Payment Gateway document for USDT, USDC or BTC, no way to watch a blockchain for confirmations, and no mechanism to lock the fiat value of a volatile asset at the moment of sale. Teams end up emailing a wallet address manually, reconciling transactions by hand in Payment Entry, and arguing with customers about which exchange rate applied. That is where ERPNext native runs out of road.

We build a proper Frappe app (its own module, installed with bench get-app and bench install-app) that plugs crypto acceptance directly into the ERPNext checkout and sales flow. The app registers a new payment method backed by either CoinGate (hosted, custody-managed) or a self-hosted BTCPay Server (non-custodial, your own node), selected per your risk appetite during scoping. When a customer chooses to pay in crypto on a Sales Invoice, Sales Order or web checkout, the app calls the provider API, generates a payment request for the exact stablecoin or coin, and stores the invoice, wallet address, expected amount and expiry in a dedicated Crypto Payment DocType linked back to the source document.

Technically, confirmation is event-driven. The provider's webhook hits a whitelisted Frappe method (@frappe.whitelist(allow_guest=True)) that verifies the HMAC signature, then updates the Crypto Payment state machine (Pending → Seen on chain → Confirmed → Settled). A hooks.py scheduler event polls for stuck or under-confirmed transactions as a safety net, and doc_events handlers auto-create the matching Payment Entry and reconcile it against the invoice once the required on-chain confirmations are reached. At checkout we call the provider's rate endpoint to lock the FX rate, persist the locked rate and coin amount on the payment record, and post the accounting entry in your ERPNext base currency so your GL and receivables stay clean regardless of coin volatility. Refunds are handled through a role-gated action that issues a refund to the customer's wallet and writes the corresponding credit note and Payment Entry. Client scripts surface a live QR code and confirmation status on the transaction form; permissions and role profiles keep wallet actions restricted to finance roles.

Because this is build-to-order, nothing ships until we agree on scope. It starts with a short scoping call to confirm your coins, provider (CoinGate vs BTCPay), ERPNext version (v15 or v16), and reconciliation rules. We then build against your requirements, deliver on a staging instance for UAT, and only cut over to production after you sign off. Typical delivery is one working week from confirmed scope, and you receive the full source repository, so you are never locked to us.

What you get

  • Installable Frappe app source code (the `bench get-app` / `bench install-app` package) built for your ERPNext v15 or v16 instance
  • Installation and configuration on your instance, including provider (CoinGate or BTCPay) credentials, webhook wiring and coin/network setup
  • Technical documentation covering DocTypes, hooks, whitelisted methods, scheduler events and the reconciliation flow
  • End-user guide plus a live training session for your finance and sales teams
  • UAT on a staging instance with sample transactions, followed by a production cutover with a documented rollback plan
  • Post-go-live support window for bug fixes and adjustments after launch
  • Handover of the full git repository so you own and can extend the code
  • Provider onboarding checklist (CoinGate account or BTCPay Server setup) so your wallets and payouts are configured correctly before go-live

Who this is for

Cross-border ERPNext merchant

Sells to customers in regions where stablecoins are the practical way to pay, and needs USDT/USDC to land as a clean, reconciled receipt against the right Sales Invoice in ERPNext without manual wallet juggling.

Finance controller on ERPNext

Owns the GL and receivables and refuses to let crypto volatility pollute the books. Needs the FX rate locked at checkout, entries posted in base currency, and refunds fully traceable through Payment Entries and credit notes.

Web-store operator using ERPNext e-commerce

Runs checkout on ERPNext's web store or a headless frontend and wants crypto to appear as a first-class payment option with a live QR code and automatic confirmation, not an off-platform manual step.

Non-custodial / self-sovereign business

Prefers to run its own BTCPay Server and hold its own keys rather than trust a custodial gateway, and needs that node wired into ERPNext with on-chain confirmation tracking and automatic reconciliation.

How USDT / Crypto Checkout for ERPNext Compares

CriterionECOSIRECustom BuildCompetitorERPNext Native
Crypto/USDT acceptanceBuilt in via CoinGate or BTCPay with USDT/USDC/BTC/ETHPossible but you design and build the whole integrationOften single-coin or single-provider, take it or leave itNone; no crypto payment gateway exists in ERPNext
On-chain confirmation trackingState machine + webhook + scheduler safety-net pollingYou must build confirmation logic and edge-case handlingVaries; often a simple paid/unpaid flagNot applicable
FX rate lock at checkoutRate locked and persisted; GL posts in base currencyYou implement rate capture and base-currency postingFrequently absent, leaving volatility on the booksNot applicable
Reconciliation into ERPNextAuto Payment Entry + invoice matching via doc_eventsYou wire the accounting hooks yourselfMay stop at marking the invoice paidManual Payment Entry keyed by hand
Refund to walletRole-gated refund with credit note + reversing entryYou build refund flow and accounting reversalRarely handled end to endManual, off-book adjustment
Fit to your instanceScoped to your coins, provider, version and rulesFully bespoke but slow and costly to startGeneric; you adapt your process to the appN/A
Source code ownershipFull git repo handed over; no lock-inYou own it because you wrote itUsually closed source, license-gatedN/A
Support & version upgradesPost-go-live window + v15/v16 support availableYour team maintains it entirelyDepends on vendor roadmap and responsivenessN/A

Frequently Asked Questions about USDT / Crypto Checkout

How long does delivery take?

This is a build-to-order app, not an instant download. Typical delivery is one working week from confirmed scope, depending on your chosen provider (CoinGate vs a self-hosted BTCPay Server), the coins and networks you need, and your reconciliation rules. We build on a staging instance, run UAT with you, and cut over to production only after sign-off.

Is this an existing app I can download from the Frappe marketplace?

No. ECOSIRE builds it to order for your specific ERPNext instance and requirements, installs it, and supports it. You receive the full source repository at handover, so you own the code and are never locked to us.

Do you support both custodial and non-custodial setups?

Yes. We can connect CoinGate for a hosted, custody-managed experience where the provider handles wallets and settlement, or wire in a self-hosted BTCPay Server so you stay fully non-custodial and hold your own keys. We help you choose during the scoping call based on your compliance and risk position.

How does the app stop crypto volatility from messing up my accounting?

At checkout the app calls the provider's rate endpoint to lock the FX rate and persists both the locked rate and the coin amount on the `Crypto Payment` record. When confirmations complete, the resulting `Payment Entry` posts in your ERPNext base currency, so your GL and receivables reflect the agreed fiat value regardless of how the coin moves afterward.

What ERPNext and Frappe versions are supported?

We build for Frappe/ERPNext v15 and v16. Confirm your exact version and site setup on the scoping call so we target the right branch and test on a matching staging instance before cutover.

What happens with updates and support after go-live?

Every build includes a post-go-live support window for bug fixes and adjustments. Because you receive the full git repository, your team can extend it, or we can provide ongoing maintenance, provider API upgrades and version migrations (for example v15 to v16) under a separate support arrangement.

How are refunds handled?

Refunds run through a role-gated action available only to finance roles. It issues the refund to the customer's wallet through the provider API and writes the matching credit note and a reversing `Payment Entry` in ERPNext, so the refund is fully reconciled and auditable rather than an off-book transfer.

Request a quote

USDT / Crypto Checkout

A build-to-order Frappe app that lets your ERPNext store and sales flow accept USDT, USDC, BTC and other stablecoins through CoinGate or a self-hosted BTCPay Server, with on-chain confirmation tracking, FX rate lock at checkout, and refund-to-wallet handling. ECOSIRE scopes, builds, installs and supports it for your instance.

  • New `Crypto Payment` DocType linked to Sales Invoice, Sales Order and web checkout, holding coin, wallet address, expected amount, locked FX rate and expiry
  • CoinGate connector (hosted/custody-managed) with API key auth, invoice creation and status callbacks
  • Self-hosted BTCPay Server connector (non-custodial) using your own store, API key and Greenfield API
  • USDT, USDC, BTC and ETH acceptance, with per-coin and per-network (ERC-20, TRC-20) configuration during scoping

Request a Quotation

Tell us about your USDT / Crypto Checkout 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.