Mobile Setup
The Mobile Setup page is the central configuration point for connecting Aptean Mesh mobile clients to your Business Central environment. It manages Azure AD authentication credentials, API endpoint discovery, label printing, telemetry, and request logging.
Accessing Mobile Setup
Search for Mobile Setup in Business Central, or navigate to it from the Aptean Mesh role center.
Configuration Fields
General
| Field | Type | Description |
|---|---|---|
| Enable Request Logging | Boolean | When enabled, all RPC requests and responses are recorded in the MobileRequestLog220FDW table for debugging. |
| Enable Camera Scanner | Boolean | When enabled, the mobile app shows a camera-based barcode scanner button alongside the hardware scanner input. |
| App Locale Code | Code[10] | Default locale for date and decimal formatting when no user-specific language is configured. Must match a BC Language Code with a valid Windows Language ID. |
| Label Provider | Enum LabelProviderType220FDW | The label printing backend used when the mobile app triggers a print action. Default: Aptean Labeling (bridges to Foodware's CustomLabelToPrintFDW table). Extend the enum to integrate a custom label provider. |
| Auto-Print Labels | Boolean | When enabled, labels are printed automatically after a warehouse operation completes without requiring a manual print action from the user. |
| Movement Jnl. Template Name | Code[10] | Journal template used when posting inventory movement entries from the Ad Hoc Movement service. |
| Adjustment Jnl. Template Name | Code[10] | Journal template used when posting inventory adjustment entries from the Adjustments service. |
Login Credentials
| Field | Type | Editable | Description |
|---|---|---|---|
| Tenant ID | Text[250] | No (auto-populated) | Azure AD (Entra ID) tenant identifier. Automatically retrieved from the BC environment on SaaS. |
| Client ID | Text[250] | Yes | Application (client) ID from your Azure AD app registration. |
| API Endpoint | URL (computed) | No | The BCRPC API endpoint URL. Format: <baseUrl>/apteanBC/bcRpc/v1.0/companies(<companySystemId>)/ |
Telemetry
| Field | Type | Description |
|---|---|---|
| Telemetry Connection String | Text[250] | Azure Application Insights connection string. When configured, the mobile client reports usage metrics, errors, and performance data. |
Azure AD App Registration
Before mobile clients can authenticate:
- In the Azure Portal, go to Azure Active Directory > App registrations > New registration.
- Set a display name (e.g.,
Aptean Mesh Mobile). - Add a Redirect URI for the mobile app platform.
- Under API permissions, add delegated permission for Dynamics 365 Business Central:
Financials.ReadWrite.All. - Grant admin consent.
- Copy the Application (client) ID and enter it in the Client ID field.
In Business Central SaaS, the Tenant ID is populated automatically when you open the Mobile Setup page.
Label Provider Configuration
The Label Provider field selects which label printing backend is used when the mobile app triggers a print action (receipt labels, bin lot labels). The default provider Aptean Labeling bridges to Foodware's CustomLabelToPrintFDW table.
To integrate a custom label provider:
- Create a codeunit that implements
IMobileLabelProvider220FDW:
codeunit 50200 MyLabelProvider implements IMobileLabelProvider220FDW
{
procedure PrintLabel(var LabelRequest: Record MobileLabelRequest220FDW)
begin
// Call your label system here using fields from LabelRequest:
// LabelRequest."Item No.", "Lot No.", "Bin Code", "No. of Labels", etc.
end;
}
- Extend
LabelProviderType220FDWto register it:
enumextension 50200 MyLabelProviderType extends LabelProviderType220FDW
{
value(1; "My Label System")
{
Caption = 'My Label System';
Implementation = IMobileLabelProvider220FDW = MyLabelProvider;
}
}
- On the Mobile Setup page, change Label Provider to
My Label System.
QR Code Configuration
The Mobile Setup page includes a Configuration QR Code FactBox that generates a scannable QR code encoding:
{
"tenantId": "<Tenant ID>",
"clientId": "<Client ID>",
"companyUrl": "<API Endpoint URL>",
"telemetryUrl": "<Telemetry Connection String>"
}
Users scan this in the Aptean Mesh app to configure the connection automatically.
Request Logging
When Enable Request Logging is on, every RPC call is recorded in Mobile Request Logs:
| Log Field | Description |
|---|---|
| Entry No. | Auto-incremented identifier |
| Request Date/Time | When the request was received |
| Mobile Service Code | The service that handled the request |
| Rpc Method | The method name called |
| Request Json | Full JSON-RPC request payload |
| Response Json | Full JSON-RPC response payload |
| Error Message | Error text if the call failed |
Request logging adds overhead to every RPC call (a DB insert at start, a modify at end, each with Commit()). Enable it only during development. For production monitoring, use the Telemetry Connection String with Application Insights instead.
Troubleshooting Common Connection Issues
| Problem | Solution |
|---|---|
| "No active Mobile App Bundle found" | Verify at least one bundle has Production status, or the user has a User Assignment |
| "Root Page ID is not configured" | Open the bundle card and set a valid Root Page ID |
| "You are not configured as a warehouse employee" | Set up the user under Warehouse Employees with a default location |
| "Your app is outdated" | The bundle's Min Client Version exceeds the client's version — user must update the app |
| QR code is blank | Tenant ID or Client ID is empty — reopen Mobile Setup to refresh credentials |
| Authentication failures | Verify Client ID matches the Azure AD app registration and Financials.ReadWrite.All is consented |