How to add a mobile app to ERPNext
Short answer
Start with ERPNext's responsive Desk and the Frappe mobile apps for simple needs. For scanning, job cards and stock moves on the floor, build a focused PWA or native app on the REST API, with a scoped user, barcode support and a clear plan for what happens when Wi-Fi drops.
ERPNext is a browser application, and it works on a phone, but a standard form on a small screen is a poor tool for someone holding a pallet. Floor staff want three big buttons: scan, confirm, done. Warehouse teams want to pick against a list and have stock move on the spot. Field service staff want to see their jobs and log time.
The good news is that Frappe's REST API sees everything the Desk sees, so a purpose-built mobile layer is realistic. The harder questions are not technical: which five actions matter, how users sign in on shared devices, and what to do when the plant has dead zones. This page walks through those choices for ERPNext specifically.
What teams use it for
Receiving against a Purchase Order
Scan the PO or supplier barcode, scan items, key quantities, and create a Purchase Receipt draft or submitted entry with warehouse and batch captured on the spot.
Stock transfers and picks
Create Stock Entry (Material Transfer) by scanning source location, item and quantity, or pick against a Pick List so Delivery Notes follow accurately.
Job Card time and quantity reporting
Operators start and stop Job Card timers, enter completed and rejected quantities, and report downtime reasons without opening the full Work Order.
Quality Inspection on the line
Inspectors fill in reading values against an Item's Quality Inspection Template, attach a photo of a defect, and accept or reject the lot.
Approvals for managers away from the Desk
A short list of pending Workflow Actions with approve and reject, linking to the full form for detail.
ERPNext integration surface
- REST API: /api/resource/<DocType> for Stock Entry, Purchase Receipt, Job Card, Quality Inspection, and /api/method for whitelisted actions; JSON in, JSON out.
- Authentication: token auth with API key and secret, or session login through /api/method/login; OAuth is also available through the OAuth settings in many versions.
- Barcode handling: Item has barcode child rows, and several transaction forms offer a Scan Barcode field in current versions; verify what your version supports.
- Frappe mobile options: the Frappe and ERPNext mobile apps from the app stores, plus the responsive Desk installable as a PWA, and Frappe UI for building a custom front end.
- Realtime updates through the socket.io server, and the Bin, Batch and Serial No DocTypes for stock state that a mobile screen must read correctly.
How it works
- 1
Pick five actions, not fifty
Observe the floor for a week. Choose the handful of tasks that cause the most retyping or delay, such as receive, transfer, report quantity, inspect, approve. Everything else stays in the Desk.
- 2
Choose the app type
A PWA built with Frappe UI or a lightweight framework is the cheapest to maintain. Go native only if you need background scanning, hardware SDKs for rugged scanners, or reliable offline storage.
- 3
Design authentication for shared devices
Use a named User per person, short PIN or badge scan sign-in layered over token or session auth, and idle timeouts. Avoid one shared login, since stock ledger entries record who did what.
- 4
Call the API with narrow roles
Give mobile users Roles that can create only the DocTypes you expose. Apply User Permissions by Warehouse and Company so a scan in the wrong site fails.
- 5
Handle scanning and validation
Resolve barcodes through the Item barcode table, validate warehouse and batch rules on the server, and return clear error text the operator can act on.
- 6
Plan offline and retries
Queue writes with idempotency keys, show a pending state, and resolve conflicts such as stock that moved while the device was offline. Keep offline scope small.
Example flows
Goods receipt by scan
Trigger: Receiver scans the PO barcode at the dock.
- The app loads open lines of the Purchase Order through the API.
- Receiver scans each item; quantities increment and batch or serial numbers are captured.
- On confirm, the app posts a Purchase Receipt against the PO to the chosen warehouse.
- Overreceipts beyond the tolerance are blocked with a message.
Result: Stock is available the moment it is received, with no end-of-day keying.
Operator reports a Job Card
Trigger: Operator badges in at a workstation and picks a Job Card from today's list.
- The app starts the time log on the Job Card.
- At the end, the operator enters completed and rejected quantity and a reason code for scrap.
- The app updates the Job Card and shows remaining quantity on the Work Order.
Result: Production progress and scrap are recorded at source, not reconstructed from paper at shift end.
Keeping data on-prem
Mobile apps work well with on-prem ERPNext as long as devices can reach the server. Put the API behind a reverse proxy on the plant network or a VPN, use TLS with a certificate your devices trust, and keep the bench itself unexposed. Offline-first designs help in dead zones but add conflict risk, so limit them to actions like scanning and queued transfers. If you add voice or AI assistance on the device, run models on a local server rather than sending shop-floor audio or photos to a third party. Rugged scanner SDKs and MDM policies are separate decisions worth involving IT early.
Security checklist
- Use per-user accounts and roles, never a shared integration key on the device.
- Store tokens in the platform keystore, set short lifetimes, and support remote wipe through MDM.
- Enforce all business rules on the server; the app is a convenience, not a control.
- Use User Permissions by Warehouse, Company and Cost Center to bound what a device can touch.
- Pin TLS and log API calls with user, device and time for later investigation.
Ways to get it done
Responsive Desk and the Frappe mobile app
Effort: Configuration only.
Approvals, lookups and occasional entry by managers and field staff.
Custom PWA or native app on the REST API
Effort: Four to eight weeks for a focused first release with device testing.
Scanning, stock moves and job reporting where speed per transaction matters.
Partner build with Netray
Effort: Pilot on one cell or warehouse, then roll out.
Shop-floor apps with AI help, such as photo-based defect notes or natural-language lookups, on local models.
Pitfalls
- !Replicating the whole Desk on a phone yields a slow, confusing app; keep to a few tasks.
- !Letting offline queues post blindly can drive stock negative; revalidate on sync.
- !Barcode formats differ per supplier; map them to Item barcodes before launch.
- !Shared devices with one login destroy traceability in Stock Ledger Entry history.
- !Ignoring ERPNext version upgrades can break custom API calls; pin and test them in CI.
Frequently asked questions
Is there an official ERPNext mobile app?
Yes, Frappe publishes mobile apps for ERPNext and the Desk works as an installable PWA. They suit approvals, lookups and general entry. Capabilities and form coverage change between releases, so test your key workflows before relying on them for the floor.
Can ERPNext scan barcodes on a phone?
Current versions have barcode scanning support in several forms and the Item DocType holds barcode records. Phone camera scanning is usable for small volumes, while high-volume warehouses usually prefer dedicated scanners with a purpose-built app for speed.
Does the app need to work offline?
Only if your site has real connectivity gaps. Offline adds complexity around conflicts and stale stock, so first try fixing coverage. If you need it, restrict offline to queued scans and transfers with server revalidation on sync.
How should users authenticate?
Use named ERPNext users with API tokens or session login, and add a quick sign-in such as a PIN or badge for shared devices. Avoid a shared service account because ERPNext records the user on every transaction, which you want to stay meaningful.
Can we build this without a developer on staff?
For approvals and lookups, yes, using the standard apps. For a scanning and job reporting app, you need development skills or a partner. Low-code tools can call the REST API, but validation and offline behavior still need careful engineering.
Want Mobile app working on your ERPNext?
A free 30 minute assessment: we map the integration path for your version and setup, and where it should run.
Get a free assessment