How to Plan a Field Sales Mobile App: Orders, Pricing and ERP Integration

How to Plan a Field Sales Mobile App: Orders, Pricing and ERP Integration

Yazar: Üzeyir Hakan CeylanCreated: Updated: 18 dk okuma
Henüz puanlanmadı Puanınız:

Blog yazısı içeriği

A field sales mobile application lets a representative manage customer visits, current product and price information, order drafts, discount authority and the result of transfer to head-office systems. A dependable app is more than an order form placed on a phone. It must make the price source, offline data currency, ERP acceptance and error ownership explicit.

This guide helps distributors, manufacturers and wholesale teams scope a field-sales application. The visit–price–order–ERP acceptance model and test matrix are original planning tools developed for this article. They are not performance results from a Kumsal Agency client and do not guarantee increases in sales, revenue or visit volume.

Define the field-sales operating model first

A field-sales or sales-representative app can support different operations. A presales team records orders without delivering them. A van-sales team may fulfil from vehicle inventory. A retail-visit team may audit shelves, stock and campaigns without taking an order. Other teams also collect payments or handle returns. These tasks have different data, authority and risk even when they share one application.

Discovery should define:

  • Does the representative prepare a draft or submit a binding order?
  • Does availability come from a central warehouse, regional warehouse or vehicle stock?
  • Does price vary by customer, product, quantity, contract, campaign or payment terms?
  • Who approves discount and payment-term exceptions?
  • Are collections, returns, delivery or document generation part of the same scope?

Field-service teams can use similar offline foundations, but work orders, spare-parts consumption and service acceptance create a different workflow. See our guide to planning a field-service mobile application for that use case.

The Kumsal four-gate field-order model

Treat a field order as four decision gates rather than one “sent” state. This keeps user action, commercial approval and technical acceptance separate.

 Four-gate field-order route showing customer visit, price authority, order commitment, ERP acceptance and an offline queue
The four decision gates track field action, commercial authority and central-system acceptance as separate evidence.

               

Four decision gates from visit to ERP acceptance
GateControlEvidenceFailure behaviour
1. Visit contextCorrect customer, representative, task and required permissionsVisit ID, time and optional location/reasonSave as draft or request authorised correction
2. Price authorityPrice list, currency, discount, terms and effective periodPrice source, revision, calculation time and exception approvalHold line/approval; do not silently apply stale price
3. Order commitmentProduct, quantity, unit, fulfilment and customer confirmationImmutable mobile order ID and content digestExpose missing fields and prevent duplicate submission
4. ERP acceptanceCustomer, stock, credit, product and business-rule validationERP order ID or reasoned rejection/errorRoute to a human queue, correct and reprocess with authority

“The phone sent the data” and “ERP accepted the order” are not equivalent. The record may have left the device and reached an integration service, yet still fail ERP credit or product-mapping rules. Show the last verified state to the user.

Limit customer and product data stored on the device

The app should not download every customer and product record to every representative. Define the required set by territory, portfolio, role, product range and visit plan. Decide separately which customer address, account summary, contract price, catalogue and order-history fields remain available offline.

Expose the refresh time and revision of offline records. “Available” or “price valid” can mislead without data-age information. For sensitive fields, consider not storing them, storing only a summary or requiring a connection for retrieval.

Use an assigned pricing source instead of duplicating rules in the app

A customer price can depend on price list, product, quantity, discount, contract, campaign, currency, tax and effective date. Maintaining an independent copy of these rules in the app can cause field and head-office results to diverge. Assign the pricing system of record and decide which cached result, if any, can be used while offline.

Microsoft Dynamics 365 pricing documentation treats price list, unit price, volume discount and manual discount as separate parts of opportunity, quote, order and invoice calculations. This is not a product recommendation. It illustrates why the price shown on screen should be a traceable calculation and authority result rather than an isolated number.

At minimum, a mobile order should retain:

  • Price-list or pricing-engine identifier and revision
  • Calculation time, currency and effective period
  • Applied discount or campaign and its reason
  • User making a manual change and their authority limit
  • Currency of offline price and the ERP revalidation result

Offline operation is a data contract, not a screen feature

Offline support does not end when a screen opens without a connection. Specify which data exists locally, which actions are permitted offline, how the queue survives interruption, the order in which items are submitted and how conflicts are resolved.

The Android offline-first architecture guide discusses local and network data sources, local reads, write queues, retries and synchronisation. A project does not have to use the same implementation, but it must acknowledge that device and server records can change at different times.

Typical conflicts include:

  • The central price list changes while the representative is offline.
  • Two devices create drafts for the same customer.
  • A selected item is closed for sale before connectivity returns.
  • Another channel consumes inventory while quantities are entered.
  • The customer's credit status changes while a discount request is pending.

“Last write wins” is not safe for every object. A visit note may be merged, while a price, limit or order line can require revalidation and an explicit user decision.

Order queues and retries must not create duplicates

If the phone sends a request but receives no response, the user cannot know whether ERP created the order. Pressing submit again must not create another order. Give every order a persistent operation identifier on the device. Integration and ERP should recognise that identifier and return the earlier result when the same intent is retried.

The AWS Builders' Library guide to idempotent APIs explains how a unique client-provided request identifier helps services recognise retried intent. The target service must implement and test this behaviour; adding an arbitrary field to the mobile record is insufficient.

Useful states include draft, waiting on device, transmitting, technically received, ERP accepted, rejected by business rule and awaiting human review. If a user deletes a queued record, account for the audit trail and any copy that may already exist centrally.

Inventory and delivery commitment are not the same value

Physical stock, available-to-sell, reserved stock, vehicle stock, inbound stock and customer allocation are different quantities. Define which quantity the app shows and when it was refreshed. A last-known offline balance should not be presented as a confirmed delivery promise.

ERP can revalidate inventory, permit partial fulfilment or suggest an alternative warehouse when accepting the order. The representative should see which value is an estimate and which is confirmed. Our ecommerce–ERP integration guide provides a complementary ownership matrix for product, inventory, pricing and order fields.

Limit location use to a defined sales purpose

Location can help begin a visit, show a nearby customer or support routing. Continuous background tracking should not be a default technical assumption. Define the business purpose, required accuracy, retention, access authority and fallback when permission is declined.

The Android location-permission guide recommends requesting location in the context of the feature and evaluating background permission separately. Approximate location can be sufficient for some tasks. Where employee monitoring, personal data or employment-law considerations apply, obtain appropriate specialist review; this article is not legal advice.

Treat collection and customer financial information as separate risk areas

Viewing an account balance, recording a collection and processing an actual payment are different operations. Avoid unnecessary payment-data storage. Design provider authorisation, failure, cancellation/refund, receipt and reconciliation flows separately. Offline collection acceptance in particular requires financial and operational risk review.

Limit access to credit, overdue debt and risk information by role and customer portfolio. Plan session revocation, remote access removal and local-data invalidation for a lost device.

Reduce and protect data stored on mobile devices

Offline operation needs local data, but it does not require a copy of the entire ERP. Classify authentication material, customer financial data, prices, orders and location records by sensitivity. Address storage, transfer, backups, screenshots, exports and logs together.

OWASP MASVS secure-storage control requires protection for sensitive data intentionally stored by the app, regardless of storage location. This control alone does not prove security. Authentication, authorisation, network communication, platform interaction, privacy and testing also need project-specific coverage.

Which screens belong in the first useful release?

Complete the representative's daily task chain before adding every possible feature:

  1. Daily customer/visit list: task, address, priority and last synchronisation.
  2. Customer summary: authorised balance, limit, order history and notes.
  3. Product catalogue: search, barcode, pack/unit, last-known inventory and price revision.
  4. Order basket: quantity, fulfilment, discount, warnings and approval need.
  5. Synchronisation centre: pending, failed, accepted and correctable records.
  6. Visit outcome: order, opportunity, loss reason, next task and permitted evidence.

Route optimisation, collections, returns, vehicle stock, mobile printing, campaign presentation or retail audits should enter later phases only when a verified requirement justifies them.

How should end-to-end acceptance tests be written?

                           

Illustrative acceptance scenarios for a field-sales app
ScenarioExpected behaviourEvidence
Order while offlineRecord waits securely on device and its state is visibleLocal ID, time and queue state
Price changed while offlineERP validation exposes the difference; price is not silently replacedOld/new price revision and decision
Same order submitted againNo second ERP order is created; earlier result returnsOne operation ID and ERP ID
Insufficient inventoryPartial, pending or reject behaviour follows the business ruleLine result and reason
Discount exceeds authorityOrder waits for approval; unauthorised price is not appliedApproval rule, decision and time
Location permission declinedDefined fallback visit flow works or limitation is explicitUser preference and outcome
Lost device/session revokedNew access is blocked and local-data risk controls are verifiedSession revocation and device-event record

Test more than the happy path. Include timeouts, queue growth, invalid data, lost authority, app termination, low battery, version upgrades and partial ERP acceptance.

How should proposals and project scopes be compared?

  • Sales model, user roles, customer portfolio and device policy
  • Data sets available and editable offline
  • Pricing, discount, inventory, credit and fulfilment rules
  • ERP/CRM/PIM/WMS field mappings and systems of record
  • Order identity, queue, retry, error and reconciliation behaviour
  • Location, barcode, camera, signature, printer and notification permissions
  • Local data security, sessions, lost devices and access removal
  • Pilot users, acceptance testing, training and rollout
  • Monitoring, support, release distribution, operations and handover

Visit count alone is not a sufficient success measure. Consider ERP-accepted order rate, records held for price differences, duplicate submissions prevented, synchronisation queue age, correction time and representative task-completion rate. Define each metric and baseline before delivery.

Conclusion: design the contract between field and head office

A field-sales app creates value by connecting the customer, price, order and ERP result in one dependable transaction chain—not by displaying the largest number of screens. Offline storage, price currency, retries, location and sensitive data are foundational scope decisions.

Use the four decision gates and acceptance tests to define the first release. To assess your field-sales process, mobile requirements and ERP connection together, explore Kumsal Agency mobile application services.

A field sales mobile application lets a representative manage customer visits, current product and price information, order drafts, discount authority and the result of transfer to head-office systems. A dependable app is more than an order form placed on a phone. It must make the price source, offline data currency, ERP acceptance and error ownership explicit.

This guide helps distributors, manufacturers and wholesale teams scope a field-sales application. The visit–price–order–ERP acceptance model and test matrix are original planning tools developed for this article. They are not performance results from a Kumsal Agency client and do not guarantee increases in sales, revenue or visit volume.

Define the field-sales operating model first

A field-sales or sales-representative app can support different operations. A presales team records orders without delivering them. A van-sales team may fulfil from vehicle inventory. A retail-visit team may audit shelves, stock and campaigns without taking an order. Other teams also collect payments or handle returns. These tasks have different data, authority and risk even when they share one application.

Discovery should define:

  • Does the representative prepare a draft or submit a binding order?
  • Does availability come from a central warehouse, regional warehouse or vehicle stock?
  • Does price vary by customer, product, quantity, contract, campaign or payment terms?
  • Who approves discount and payment-term exceptions?
  • Are collections, returns, delivery or document generation part of the same scope?

Field-service teams can use similar offline foundations, but work orders, spare-parts consumption and service acceptance create a different workflow. See our guide to planning a field-service mobile application for that use case.

The Kumsal four-gate field-order model

Treat a field order as four decision gates rather than one “sent” state. This keeps user action, commercial approval and technical acceptance separate.

 Four-gate field-order route showing customer visit, price authority, order commitment, ERP acceptance and an offline queue
The four decision gates track field action, commercial authority and central-system acceptance as separate evidence.

               

Four decision gates from visit to ERP acceptance
GateControlEvidenceFailure behaviour
1. Visit contextCorrect customer, representative, task and required permissionsVisit ID, time and optional location/reasonSave as draft or request authorised correction
2. Price authorityPrice list, currency, discount, terms and effective periodPrice source, revision, calculation time and exception approvalHold line/approval; do not silently apply stale price
3. Order commitmentProduct, quantity, unit, fulfilment and customer confirmationImmutable mobile order ID and content digestExpose missing fields and prevent duplicate submission
4. ERP acceptanceCustomer, stock, credit, product and business-rule validationERP order ID or reasoned rejection/errorRoute to a human queue, correct and reprocess with authority

“The phone sent the data” and “ERP accepted the order” are not equivalent. The record may have left the device and reached an integration service, yet still fail ERP credit or product-mapping rules. Show the last verified state to the user.

Limit customer and product data stored on the device

The app should not download every customer and product record to every representative. Define the required set by territory, portfolio, role, product range and visit plan. Decide separately which customer address, account summary, contract price, catalogue and order-history fields remain available offline.

Expose the refresh time and revision of offline records. “Available” or “price valid” can mislead without data-age information. For sensitive fields, consider not storing them, storing only a summary or requiring a connection for retrieval.

Use an assigned pricing source instead of duplicating rules in the app

A customer price can depend on price list, product, quantity, discount, contract, campaign, currency, tax and effective date. Maintaining an independent copy of these rules in the app can cause field and head-office results to diverge. Assign the pricing system of record and decide which cached result, if any, can be used while offline.

Microsoft Dynamics 365 pricing documentation treats price list, unit price, volume discount and manual discount as separate parts of opportunity, quote, order and invoice calculations. This is not a product recommendation. It illustrates why the price shown on screen should be a traceable calculation and authority result rather than an isolated number.

At minimum, a mobile order should retain:

  • Price-list or pricing-engine identifier and revision
  • Calculation time, currency and effective period
  • Applied discount or campaign and its reason
  • User making a manual change and their authority limit
  • Currency of offline price and the ERP revalidation result

Offline operation is a data contract, not a screen feature

Offline support does not end when a screen opens without a connection. Specify which data exists locally, which actions are permitted offline, how the queue survives interruption, the order in which items are submitted and how conflicts are resolved.

The Android offline-first architecture guide discusses local and network data sources, local reads, write queues, retries and synchronisation. A project does not have to use the same implementation, but it must acknowledge that device and server records can change at different times.

Typical conflicts include:

  • The central price list changes while the representative is offline.
  • Two devices create drafts for the same customer.
  • A selected item is closed for sale before connectivity returns.
  • Another channel consumes inventory while quantities are entered.
  • The customer's credit status changes while a discount request is pending.

“Last write wins” is not safe for every object. A visit note may be merged, while a price, limit or order line can require revalidation and an explicit user decision.

Order queues and retries must not create duplicates

If the phone sends a request but receives no response, the user cannot know whether ERP created the order. Pressing submit again must not create another order. Give every order a persistent operation identifier on the device. Integration and ERP should recognise that identifier and return the earlier result when the same intent is retried.

The AWS Builders' Library guide to idempotent APIs explains how a unique client-provided request identifier helps services recognise retried intent. The target service must implement and test this behaviour; adding an arbitrary field to the mobile record is insufficient.

Useful states include draft, waiting on device, transmitting, technically received, ERP accepted, rejected by business rule and awaiting human review. If a user deletes a queued record, account for the audit trail and any copy that may already exist centrally.

Inventory and delivery commitment are not the same value

Physical stock, available-to-sell, reserved stock, vehicle stock, inbound stock and customer allocation are different quantities. Define which quantity the app shows and when it was refreshed. A last-known offline balance should not be presented as a confirmed delivery promise.

ERP can revalidate inventory, permit partial fulfilment or suggest an alternative warehouse when accepting the order. The representative should see which value is an estimate and which is confirmed. Our ecommerce–ERP integration guide provides a complementary ownership matrix for product, inventory, pricing and order fields.

Limit location use to a defined sales purpose

Location can help begin a visit, show a nearby customer or support routing. Continuous background tracking should not be a default technical assumption. Define the business purpose, required accuracy, retention, access authority and fallback when permission is declined.

The Android location-permission guide recommends requesting location in the context of the feature and evaluating background permission separately. Approximate location can be sufficient for some tasks. Where employee monitoring, personal data or employment-law considerations apply, obtain appropriate specialist review; this article is not legal advice.

Treat collection and customer financial information as separate risk areas

Viewing an account balance, recording a collection and processing an actual payment are different operations. Avoid unnecessary payment-data storage. Design provider authorisation, failure, cancellation/refund, receipt and reconciliation flows separately. Offline collection acceptance in particular requires financial and operational risk review.

Limit access to credit, overdue debt and risk information by role and customer portfolio. Plan session revocation, remote access removal and local-data invalidation for a lost device.

Reduce and protect data stored on mobile devices

Offline operation needs local data, but it does not require a copy of the entire ERP. Classify authentication material, customer financial data, prices, orders and location records by sensitivity. Address storage, transfer, backups, screenshots, exports and logs together.

OWASP MASVS secure-storage control requires protection for sensitive data intentionally stored by the app, regardless of storage location. This control alone does not prove security. Authentication, authorisation, network communication, platform interaction, privacy and testing also need project-specific coverage.

Which screens belong in the first useful release?

Complete the representative's daily task chain before adding every possible feature:

  1. Daily customer/visit list: task, address, priority and last synchronisation.
  2. Customer summary: authorised balance, limit, order history and notes.
  3. Product catalogue: search, barcode, pack/unit, last-known inventory and price revision.
  4. Order basket: quantity, fulfilment, discount, warnings and approval need.
  5. Synchronisation centre: pending, failed, accepted and correctable records.
  6. Visit outcome: order, opportunity, loss reason, next task and permitted evidence.

Route optimisation, collections, returns, vehicle stock, mobile printing, campaign presentation or retail audits should enter later phases only when a verified requirement justifies them.

How should end-to-end acceptance tests be written?

                           

Illustrative acceptance scenarios for a field-sales app
ScenarioExpected behaviourEvidence
Order while offlineRecord waits securely on device and its state is visibleLocal ID, time and queue state
Price changed while offlineERP validation exposes the difference; price is not silently replacedOld/new price revision and decision
Same order submitted againNo second ERP order is created; earlier result returnsOne operation ID and ERP ID
Insufficient inventoryPartial, pending or reject behaviour follows the business ruleLine result and reason
Discount exceeds authorityOrder waits for approval; unauthorised price is not appliedApproval rule, decision and time
Location permission declinedDefined fallback visit flow works or limitation is explicitUser preference and outcome
Lost device/session revokedNew access is blocked and local-data risk controls are verifiedSession revocation and device-event record

Test more than the happy path. Include timeouts, queue growth, invalid data, lost authority, app termination, low battery, version upgrades and partial ERP acceptance.

How should proposals and project scopes be compared?

  • Sales model, user roles, customer portfolio and device policy
  • Data sets available and editable offline
  • Pricing, discount, inventory, credit and fulfilment rules
  • ERP/CRM/PIM/WMS field mappings and systems of record
  • Order identity, queue, retry, error and reconciliation behaviour
  • Location, barcode, camera, signature, printer and notification permissions
  • Local data security, sessions, lost devices and access removal
  • Pilot users, acceptance testing, training and rollout
  • Monitoring, support, release distribution, operations and handover

Visit count alone is not a sufficient success measure. Consider ERP-accepted order rate, records held for price differences, duplicate submissions prevented, synchronisation queue age, correction time and representative task-completion rate. Define each metric and baseline before delivery.

Conclusion: design the contract between field and head office

A field-sales app creates value by connecting the customer, price, order and ERP result in one dependable transaction chain—not by displaying the largest number of screens. Offline storage, price currency, retries, location and sensitive data are foundational scope decisions.

Use the four decision gates and acceptance tests to define the first release. To assess your field-sales process, mobile requirements and ERP connection together, explore Kumsal Agency mobile application services.

Homepage

Our Projects

Our Products

Our Services