How to add a mobile app to SAP Business One
Short answer
SAP offers mobile apps for parts of Business One, but warehouse and shop-floor work usually needs a custom or partner app over the Service Layer. Plan for barcode scanning, per-user authorization, intermittent connectivity and writing transactions as drafts or tightly scoped documents.
The Business One client is a Windows desktop application, and the browser client covers a lot but not everything. On the warehouse floor people need to scan, count and move stock on a handheld, and in the field sales and service staff need orders, stock and customer data on a phone.
SAP has provided mobile apps for sales and approvals, and newer releases have broadened browser access, but their scope and availability depend on the version and whether you run on HANA or SQL Server. For warehouse tasks such as picking, putaway and counting, most customers rely on a partner product or their own app.
This page covers the architecture choices that matter for a custom or partner app: the API, how to handle scanning and offline use, and which transactions to allow from a handheld.
What teams use it for
Goods receipt by scanning
Scan the PO barcode, then scan items and enter quantities and batch numbers to create a Goods Receipt PO against the open order.
Pick list execution
Show Pick Lists, guide the picker by bin location and confirm picked quantities, updating the pick list and later the delivery.
Inventory transfer
Move stock between warehouses or bin locations with scan confirmation using Inventory Transfer documents.
Cycle counting
Count lists on the phone with variance flagging before posting an Inventory Counting document.
Field sales orders
Check stock and customer balance, then create Sales Order or Quotation drafts at the customer site.
Production reporting
Issue components to and receive finished goods from a Production Order from the shop floor.
SAP Business One integration surface
- Service Layer as the API for mobile: REST/OData, JSON, cookie sessions, with entities for PickLists, StockTransfers, InventoryCountings, InventoryPostings, PurchaseDeliveryNotes, ProductionOrders and Drafts.
- Bin location management where enabled: bin codes and stock per bin are available through bin location related entities and queries; the exact entity set depends on the version.
- Item barcodes via the bar codes setup (alternate barcodes per item and unit of measure), which a scanner app must resolve.
- Batch and serial number management for traceable items, which dictates extra scan steps on handhelds.
- Authorizations in B1 apply to the logged-in user; a mobile app that logs in per user inherits them, which is better than a shared device account.
How it works
- 1
Define the transactions
Start with two or three: receipt, transfer and count. Keep creation of orders and invoices off the handheld unless needed.
- 2
Choose the app type
A progressive web app is cheapest to maintain. Native apps help with scanner hardware SDKs, offline storage and background sync.
- 3
Put an API layer in front
Do not call the Service Layer from devices directly. A small gateway simplifies calls, caches master data and hides B1 details from the app.
- 4
Authenticate users
Per-user login mapped to B1 users, with short sessions and device binding. Avoid a shared login on a handheld.
- 5
Handle scanning
Use keyboard-wedge or SDK scanning, resolve barcode to item and UoM, and enforce batch or serial capture rules per item.
- 6
Design for weak networks
Queue transactions locally with idempotency keys, sync when connected, and show clear status. Never post the same receipt twice on retry.
- 7
Roll out with hardware tests
Test on the actual scanners, in the actual warehouse, with realistic Wi-Fi coverage.
Example flows
Receiving against a PO
Trigger: A truck arrives and the receiver scans the PO number.
- App loads open rows from the Purchase Order via the gateway.
- Receiver scans each item, enters quantity and batch where required.
- Over-receipt beyond tolerance is blocked locally.
- On confirm, the gateway creates a Goods Receipt PO based on the order rows with an idempotency key.
Result: Stock is available as soon as the receipt posts, and the PO shows receipts without a second keying step.
Cycle count by bin
Trigger: A supervisor releases a count list for aisle C.
- Counter opens the list on a handheld and scans bin then item.
- Counted quantity is compared with book quantity, showing only a variance flag, not the book number (blind count).
- Variances above a threshold require a recount.
- Final counts are submitted to an Inventory Counting document for review before posting.
Result: Counts happen faster, and adjustments are reviewed rather than posted straight from the floor.
Keeping data on-prem
On-prem B1 with a mobile app means handhelds on the plant Wi-Fi talking to a gateway inside your network, which then talks to the Service Layer. That keeps all data local and avoids exposing B1. For field staff outside the building, use a VPN or a hardened reverse proxy with device authentication, not an open port to the Service Layer. Offline-capable apps keep a local copy of items, bins and open documents, so be deliberate about what is cached on devices and enable device encryption and remote wipe. If you add voice or AI assistance on the shop floor, run speech and language models on local servers so audio and queries do not leave the site.
Security checklist
- Per-user login and B1 authorizations on every call, so the device inherits the user's limits.
- Encrypt data at rest on devices, require a screen lock, and support remote wipe through mobile device management.
- Terminate TLS at the gateway, with certificate pinning where feasible.
- Rate-limit and log all write calls with device ID, user and idempotency key.
Ways to get it done
SAP-provided or partner mobile product for B1
Effort: Weeks of configuration and rollout; licence per device or user.
Fits standard sales and warehouse flows with a supported, tested handheld product.
Custom app over a gateway and the Service Layer
Effort: Two to four months for a first release with receiving, transfer and count.
Fits unusual processes, special labels or integration with local equipment.
Partner build with AI features (Netray with a B1 partner)
Effort: Scoped on top of a base app; AI features added after the core flows are stable.
Fits when you want voice queries, photo-based capture or exception assistance running on private models.
Pitfalls
- !Calling the Service Layer directly from phones leaves session handling, retries and security to each device.
- !Retries without idempotency create duplicate receipts and transfers.
- !Ignoring unit-of-measure conversions on scan: a case barcode must map to the right base quantity.
- !Batch-managed items scanned without the batch field produce unusable stock records.
- !Allowing free-form inventory postings from the floor, which bypasses review.
Frequently asked questions
Is there an official SAP Business One mobile app?
SAP has offered mobile apps for sales and approvals, with availability depending on version and deployment. For warehouse and shop-floor work, most customers use a partner product or a custom app. Check your release notes for current options.
Can I use the Service Layer from a mobile app?
Yes, ideally through a gateway you control. Direct device calls complicate security and session management and expose more of B1 than necessary.
Does it work offline?
Only if the app is built for it. You need local storage of master data and queued transactions with conflict handling. Many warehouses with good Wi-Fi coverage skip full offline mode and only tolerate brief drops.
What scanners are supported?
Most Android handhelds work, using keyboard-wedge or vendor SDKs. Pick the device first, then the app approach, because scanner SDK support can influence native versus web.
Can warehouse staff post inventory adjustments?
They can submit counts, but adjustments are better posted by a supervisor after variance review. Limit handheld permissions so errors cannot go straight to the books.
Want Mobile app working on your SAP Business One?
A free 30 minute assessment: we map the integration path for your version and setup, and where it should run.
Get a free assessment