ERPNext integrations with the systems you already use
When orders, payments or stock levels are re-typed from one system into another, mistakes follow. We connect ERPNext to the other systems your business runs on, so data moves by itself and stays consistent.
How an integration fits
Your other systems
Store · Payments · Logistics · Devices
REST API · Webhooks · Scheduled sync
Agreed direction, timing and identifiers
ERPNext
One record of orders, stock and accounts
Failures logged · Retried · Visible for follow-up
Webhook and sync logIntegrations
Payment gateway → Payment EntryACC-PAY-2026-00311 created
200 OKOnline store → Sales OrderSAL-ORD-2026-00402 created
200 OKAttendance device → Employee Checkin48 check-ins synced
200 OKCourier API → Delivery NoteTracking number written back
RetryingEvery call is logged. Failures are retried and raised to someone, never lost silently.
Four ways to move data in and out of ERPNext
The Frappe Framework gives every ERPNext document type an API. We choose the method that suits each flow of data.
Frappe also includes ready-made integrations, such as email accounts, Google Calendar and Contacts, social login and cloud backups. We use those before building anything new.
REST API
Read and write any record
Every document type can be read, created and updated over HTTP with token authentication. Other systems call ERPNext, and ERPNext can call theirs.
Webhooks
Tell other systems straight away
ERPNext sends a request to another system the moment a document is created, saved, submitted or cancelled.
Scheduled sync
Exchange data on a schedule
Background jobs that pull or push data at set times, for systems that can’t send events or when batching makes more sense.
Files and imports
Work with systems that export files
CSV and Excel files brought in through ERPNext’s Data Import, for systems that only exchange files.
Systems businesses commonly connect to ERPNext
Whether a particular system can be connected depends on what it offers: an API, webhooks or reliable file exports. We check that before committing to an approach.
E-commerce stores and marketplaces
Orders, customers, prices and stock levels.
Payment gateways and banks
Payment status, bank statements and reconciliation.
Logistics and shipping
Shipments, tracking numbers and delivery status.
Website and enquiry forms
New enquiries arriving in ERPNext as leads.
Email and messaging
Notifications and conversations linked to the records they are about.
Attendance and scanning devices
Employee check-ins for Frappe HR, and barcode scans for stock movements.
Other business software
Specialist or older systems that keep running alongside ERPNext.
Six decisions behind every integration
An integration is only useful if everyone can trust the data it moves.
Which system owns which data
An order may start in a store and finish in ERPNext. Each piece of data has one source of truth.
How records are matched
ERPNext records store the other system’s identifiers, so nothing is created twice.
When data moves
Straight away through webhooks where it matters, in scheduled batches where it doesn’t.
What happens when something fails
Failed calls are logged and retried, and anything that needs a person is flagged for follow-up rather than failing silently.
Where credentials live
API keys are stored in ERPNext settings, not in code, and used by an API user with only the permissions the integration needs.
How it is shipped
As code in your versioned Frappe app, tested against the other system’s sandbox where it has one.
Common questions
Does ERPNext have an API?
Yes. The Frappe Framework provides a REST API for every document type, and ERPNext can also call other systems’ APIs and send webhooks.
Can ERPNext connect to the software we already use?
If the software has an API, webhooks or a reliable export, usually yes. We confirm what it offers before choosing an approach.
Should an integration run in real time or on a schedule?
Real time suits things people wait on, such as an order or a payment confirmation. A schedule suits things that can wait, such as nightly stock or price updates, and puts less load on both systems.
What happens if the other system is unavailable?
The integration is designed so that failures are visible rather than silent: calls are retried, and errors are recorded in ERPNext for someone to follow up.
Have systems that should talk to ERPNext?
Tell us which systems you use and what moves between them. We’ll tell you how ERPNext can connect to them.