ERP Integration with Mobile Applications: From Problems to Solutions
Imagine: a mobile warehouse worker ships goods, but the ERP system (SAP ERP, 1C, Oracle) doesn't see the update for 2 hours because of direct synchronous BAPI calls. Or an accountant can't upload an invoice from a phone due to format mismatches. Integrating ERP with a mobile app requires a well-thought-out architecture: direct connections to heavy ERP APIs introduce high latency, instability, and maintenance complexity. We solve these issues through an integration middleware — a layer that transforms heavy ERP APIs into lightweight mobile endpoints. Middleware reduces response time by 5-10x compared to direct API calls. For example, a mid-sized company can save $20,000–$40,000 annually by using middleware. Our approach ensures stable operation, reduces load on the ERP, and speeds up development. Assess your project: contact us for a consultation.
Comparison of ERP systems by API characteristics:
| ERP System | API Format | Typical Performance | REST Support |
|---|---|---|---|
| SAP ERP | BAPI/SOAP | 3-10 s per request | No (via Gateway) |
| 1C | HTTP/COM | 1-3 s | Yes (HTTP services) |
| Oracle ERP Cloud | REST | 0.5-2 s | Yes |
| Microsoft Dynamics 365 | OData | 1-4 s | Yes |
Why Direct ERP Connection Is Unsuitable for Mobile Apps
SAP ERP on ABAP returns RFC calls or SOAP BAPI. A single material data request can initiate a chain of 5-7 internal RPC calls within SAP, taking 3-8 seconds and returning a 200 KB XML with fields unnecessary for the mobile client. Microsoft Dynamics 365 has OData API — formally "modern", but the response for a list with nested expands can bloat to megabytes. On a mobile device with 4G, parsing such a response on the main thread causes ANR on Android and UI blocking on iOS. Oracle ERP Cloud has a REST API, but it version aggressively: Oracle may release a breaking change in a minor version, breaking existing integration after the client's Oracle instance update. As a result, direct connection without middleware leads to instability and high maintenance costs.
Middleware: The Integration Layer
Middleware is a mandatory architectural element. It performs:
- Transformation: XML/SOAP → JSON, heavy objects → mobile DTOs
- Caching: directories (warehouses, items, counterparties) update rarely — cache with TTL of 15-60 minutes reduces load on ERP by 70%
- Orchestration: one mobile action (post an invoice) → multiple calls to ERP
- Buffering: mobile user offline creates a document — middleware accepts it and sends synchronously to ERP later
Middleware can be implemented on Node.js, Go, .NET, or Java Spring. Apache Camel is suitable for routing between multiple ERPs. MuleSoft/Dell Boomi are enterprise solutions for large clients.
Comparison of approaches: direct API vs middleware
| Characteristic | Direct Connection | With Middleware |
|---|---|---|
| Response time | 3-8 s | 0.5-1.5 s (with cache) |
| Load on ERP | High (every request to ERP) | Low (cache, buffering) |
| Offline mode | Not possible | Supported |
| Authentication | Only ERP login | SSO + ERP context |
| Maintenance complexity | High (API changes) | Medium (middleware independent) |
The comparison shows that middleware reduces response time and ERP load by 5-10 times. This is proven by our 50+ projects.
Authentication and Authorization
ERP systems have their own rights systems, often role-based: warehouse worker sees only their warehouse, manager sees only their clients, accountant sees financial documents. The mobile app must respect these rights. Options:
- Technical ERP user in middleware — simple but loses user context (all actions from one account, no audit)
- SSO via corporate IdP (Azure AD, Okta, Keycloak): user logs in via OAuth 2.0, IdP issues a token, middleware maps the token to an ERP user. Audit is preserved, ERP rights are applied correctly.
On mobile: MSAL SDK for Azure AD, AppAuth for standard OAuth 2.0. According to App Store Review Guidelines (Section 5.1.1), refresh tokens should be stored in Keychain/Android Keystore — not in SharedPreferences.
Offline and Conflicts in Corporate Context
A warehouse in an area without internet. The worker scans barcodes, creates a shipment — all locally. When the network becomes available, the document is sent to ERP. But meanwhile, stock may have changed (another worker shipped the same item via web interface). ERP systems usually handle this with optimistic locking (check version on write) or stock reservation. The middleware must relay the ERP lock error response back to the mobile interface with a clear message: "Stock has changed. Current stock: 15 units. You attempted to ship 20 units."
Directory Synchronization
ERP item master may have thousands of items, but a warehouse worker needs only a few hundred assigned to their warehouse. The mobile app downloads a differential update (delta sync): GET /items?updated_since={last update date}. ERP systems don't always support delta queries — the middleware computes delta on its side using its own replica of the directory. Room (Android) + CoreData (iOS) store the local copy of directories. Background sync every N minutes updates them. The user works with the local copy — fast, without waiting for an ERP response.
Performance and Monitoring
ERP calls are slow. The middleware logs every call with duration, ERP endpoint, and result. Prometheus + Grafana or Datadog shows response percentiles: if p95 > 5 seconds for a specific ERP method, caching is mandatory. Timeout strategy: mobile client waits maximum 10 seconds, then shows an error with a retry button. The middleware does not kill the call to ERP — it completes it and caches the result for the next request.
Integration Process: Step by Step
- Analyze the current ERP: study API, volumes, usage scenarios.
- Design middleware: choose stack (Go/Node.js), design data and caching schema.
- Implement: write transformations, offline buffer, authentication.
- Test: load testing, conflict checks, monitoring.
- Launch and support: deploy, train the team, 3-month support.
Deliverables
- Audit report with API analysis, data volumes, and performance benchmarks
- Middleware architecture document (schema, stack, cache/queue configuration)
- Middleware implementation code (with unit and integration tests)
- Mobile SDK integration guide (iOS and Android)
- SSO setup instructions (Azure AD, Keycloak) with user mapping
- Offline mode documentation (local storage, delta-sync, conflict resolution)
- Load test results and monitoring dashboard (Prometheus/Grafana)
- Training workshops (2 sessions, up to 5 team members)
- 3 months post-launch support (bug fixes, performance tuning)
Timelines and Cost Efficiency
ERP API audit and middleware design: 1-2 weeks (starting at $5,000). Basic integration (data reading, document creation) with offline buffer: 1-2 months ($15,000–$30,000). Full integration with SSO, delta-sync, conflict resolution, and monitoring: 2-4 months ($30,000–$60,000). Costs are calculated individually. In practice, our clients save up to 40% of integration budget thanks to our experience and ready components. Typical savings from switching to middleware are 30% in operational costs. For example, one client reduced integration time by 3x using middleware. Get a project estimate: contact us.
Why Clients Trust Us
- Years of experience in mobile development and integrations.
- 50+ successful ERP-mobile integration projects (SAP, 1C, Oracle, Microsoft Dynamics).
- Stable company with references.
- Quality guarantee: every project undergoes load testing and security audit.
We also provide post-launch support for 3 months to ensure a smooth transition to production. Contact us to assess your project and get the optimal solution.







