This guide explains what must be configured in Microsoft Dynamics 365 Finance before using the Limble CMMS – Microsoft D365 Finance integration.
1. Required D365 Finance Concepts
Legal Entities
D365 Finance uses legal entities as company boundaries. Vendors, items, warehouses, purchase requisitions, and purchase orders all belong to a legal entity.
The integration maps D365 Finance legal entities to Limble regions.
Recommended hierarchy:
D365 Finance | Limble |
Legal Entity | Region |
Site | Subregion |
Warehouse | Location |
Each legal entity that should sync must be accessible to the integration user.
Warehouses and Warehouse Locations
For this integration, a Limble location maps to an D365 Finance Warehouse.
D365 Finance may also have warehouse locations or bins inside a warehouse. Those are not mapped as Limble locations. They may be used later when creating inventory journals, but the main Limble location is still the D365 Finance Warehouse.
Financial Dimensions
D365 Finance financial dimensions are customer-specific. There is no universal set of fields like Department, Project, or Line of Business.
Each customer defines their own dimension names, values, and required combinations.
Examples may include:
Cost Center
Business Unit
Region
Department
Maintenance Area
Project
Financial dimensions are used for accounting and reporting. They may be required on purchase requisition lines or inventory journals, depending on the customer’s D365 Finance setup.
2. Integration User Setup
The integration uses a Microsoft Entra ID application to connect to D365 Finance.
D365 Finance must trust that app and map it to a valid D365 Finance user.
Register the App in D365 Finance
In D365 Finance:
Go to System administration.
Go to Setup.
Open Microsoft Entra ID applications.
Add a new record.
Enter the Azure app’s Application (client) ID.
Enter a name, such as
Limble integration.Map the app to an D365 Finance user.
Save.
The mapped D365 Finance user is the identity used for integration security checks.
Assign Security Access
For early testing, customers may use a highly privileged role to confirm the connection works.
Before production, replace that with least-privilege access.
The integration user needs access to:
Vendors
Warehouses
Released products/items
On-hand inventory
Purchase requisitions
Purchase orders
Relevant legal entities
If the integration user does not have access, D365 Finance may reject sync or transaction attempts.
Link the Integration User to a Worker
Purchase requisitions require a preparer. D365 Finance uses the worker linked to the mapped integration user as the preparer.
To check this:
Go to System administration > Setup > Microsoft Entra ID applications.
Note the mapped D365 Finance user.
Go to System administration > Users > Users.
Open that user.
Confirm the user has a Person assigned.
Save.
Without a linked worker/person, purchase requisition creation may fail.
3. Integration configuration values
These integration configuration settings must match values from D365 Finance. Enter them during integration deployment.
Default D365 Finance Personnel Number
Why it is needed: D365 Finance purchase requisition lines require a Requester (RequisitionerPersonnelNumber). The integration service user is the Preparer. This setting is the requester on every PR line created from Limble.
Where to find it in D365 Finance:
Go to Human resources > Workers > Workers.
Open the worker who should appear as the requester on maintenance requisitions.
Copy Personnel number (for example
000020).
If the requester is not the integration user, configure Purchase requisition permissions (Section 13) so the preparer can order on behalf of that worker.
Default Procurement Category Code
Why it is needed: D365 Finance requires a procurement category on Category requisition lines. The integration uses this code when:
A Limble PO line is not a synced D365 Finance item, or
A synced item has no procurement category on its released product (fallback).
Item lines use the D365 Finance item when possible; this setting covers the rest.
Where to find it in D365 Finance:
Go to Procurement and sourcing > Consignment > Procurement categories (name may vary by version).
Open the category you use for maintenance / non-catalog purchases.
Copy the Category code (not the display name). Example:
MAINT.
The integration resolves the code to the category name in D365 Finance automatically.
Default D365 Finance Inventory Movement Journal Name
Why it is needed: When a Limble work order is completed and parts are consumed, the integration creates an unposted D365 Finance Inventory Movement Journal. D365 Finance requires a valid movement journal name on each journal header.
Where to find it in D365 Finance:
Go to Inventory management > Setup > Journal names > Inventory
Open an existing movement journal name your company uses for issues/consumption.
Copy the Name field (for example
MovorIMov).
The journal must exist before work order integration can succeed. The integration does not post the journal—posting is still done in D365 Finance.
D365 Finance Dimension Separator
Why it is needed: When Enable D365 Finance Financial Dimensions for Work Order Journals is on, the integration reads values from Limble task instructions and sends one combined string to D365 Finance (for example 100-MAINT-NE). The separator between segments must match what D365 Finance expects.
Where to find it in D365 Finance:
Go to General ledger > Chart of accounts > Dimensions > Financial dimension configuration for integrating applications.
Read the format line for your legal entity (for example
BusinessUnit-CostCenter-Region).Use the character between dimension names as the separator—usually
-.
Also set D365 Finance Dimension Order in the integration to match the same dimension sequence. PO financial dimensions use prebuilt strings in the config table (Section 16); they do not use this separator setting.
4. Sync to Limble Checkbox Setup
The integration uses a custom checkbox named Sync to Limble to control which records should sync.
By default, records should not sync unless this checkbox is checked.
Create the checkbox on these record types:
Vendors
Warehouses
Released products/items
See Step 5 for directions on creating the field.
Use this field label: Sync to Limble
Recommended field name prefix: Sync to Limble
After creating the field, make sure it is also available to integrations. Creating the field on the page is not enough.
Important: Each record type should have only one Sync to Limble field.
Create one field for Vendors, one field for Warehouses, and one field for Released Products. Do not create extra fields with the same label. If there are multiple fields named Sync to Limble, users may check the wrong one and the integration may not sync the record.
Also make sure there is one shared published view for each record type that includes the correct Sync to Limble field. All testers should use the shared published view instead of their own personal views.
5. Creating the Sync to Limble Field
You need exactly 3 Sync to Limble checkboxes. One for each table below. Do not create extras.
What to create
Limble syncs… | D365 Finance page | Table name to pick | Entity to enable later (Step 8) |
Vendors | Accounts payable > Vendors > All vendors | Vendors (VendTable) | Vendors V2 |
Locations | Warehouse management > Setup > Warehouse > Warehouses | Warehouses (InventLocation) | Warehouses |
Parts | Product information management > Products > Released products | Items / Item table (InventTable) | Released products V2 |
Do not use these
Products (shared product table) - wrong for parts
Warehouse locations / bins - those are not Limble Locations
Inventory / on-hand tables - not needed for this checkbox
Before creating a new Sync to Limble field, check if one already exists for that record type. If it already exists, use the existing field. Do not create another field with the same name or label.
Open the D365 Finance page where the field should appear.
Select Options.
Select Personalize this page.
Click the area where the field should appear.
Select + Add a field.
Select Create new field.
7. Fill in the details:
Table name: pick the matching table from the list above
Name prefix:
SyncToLimbleType: Checkbox
Label:
Sync to LimbleHelp text: Check this box to sync this record to Limble
8. Save, then insert the field onto the form.
If the field already exists, do not create it again. Insert the existing field into the form instead. You can search the list of existing fields. Try filtering by using “Sync” or sorting the list Z to A and then scrolling to find the custom field.
Then, click Update to insert the field into your form.
Quick check
After all 3 are created, go to System administration > Setup > Custom fields and confirm you see Sync to Limble on:
VendTable
InventLocation
InventTable
If you see it on Products or warehouse bins instead, that field is on the wrong table.
6. Add the Field to Useful Pages
Vendors
Suggested page: Accounts payable > Vendors > All vendors
Add Sync to Limble to the vendor list or vendor details page.
Warehouses
Suggested page: Warehouse management > Setup > Warehouses > Warehouses
Add Sync to Limble to the warehouse list or warehouse details page.
Do not use the warehouse bin/location page for this mapping. Limble locations map to D365 Finance Warehouses.
Released Products / Items
Suggested page: Product information management > Products > Released products
Add Sync to Limble to the released product list or product details page.
When creating the field, make sure it is added to the released product table used for company-specific released products. If the field is added to the wrong table, it may appear on the page but not be available to the integration.
7. Save Views and Personalizations
After adding a custom field, save the page view so users can see it again after refreshing.
Find the view selector near the top-left of the page.
It may say Standard view, Standard view (Modified), or My view.
Open the view selector.
Select Save or Save as.
If prompted, choose whether the view applies to one legal entity or all legal entities.
For Sync to Limble, choose All legal entities unless there is a customer-specific reason not to.
8. Make the Custom Field Available to the Integration
Creating the checkbox on the page is not enough. You also have to enable it on the integration entity, or Limble can’t see it.
Enable these entities
Table in Custom fields | Enable this entity |
VendTable | Vendors V2 |
InventLocation | Warehouses |
InventTable | Released products V2 |
In D365 Finance:
Go to System administration.
Go to Setup.
Open Custom fields.
Select the table where the field was created.
Select the
Sync to Limblefield.Expand Entities.
Select Edit.
Enable the matching entity from the table above.
Vendors
Note: vendors have an earlier version and the V2 Version of the entity. Double-check before selecting your entity.
Inventory
Warehouses (Inventory location)
9. Select Apply changes.
Tips
Entity labels may say V2. Prefer the V2 option when both exist.
Data source names may look like VendTable or InventTable. That is normal.
For vendors, do not enable the older non-V2 Vendors entity.
For parts, enable Released products V2, not Products.
Quick check
After this step, each Sync to Limble field should be enabled on exactly one entity:
Vendors > Vendors V2
Warehouses > Warehouses
Items > Released products V2
If this step is skipped, the checkbox may show in D365 Finance, but the integration still won’t sync the record.
9. Vendor Setup
For a vendor to sync into Limble:
The vendor must exist in D365 Finance.
Sync to Limble must be checked.
The integration user must have access to the vendor’s legal entity.
At least one warehouse in the same legal entity should already be synced as a Limble location.
Vendors are legal-entity specific in D365 Finance. The same supplier in two legal entities may be treated as two separate vendor records.
10. Warehouse / Location Setup
For a warehouse to sync as a Limble location:
The warehouse must exist in D365 Finance.
Sync to Limble must be checked.
The integration user must have access to the warehouse’s legal entity.
The integration creates the Limble hierarchy from D365 Finance legal entities, sites, and warehouses:
D365 Finance | Limble |
Legal Entity | Region |
Site | Subregion |
Warehouse | Location |
If a warehouse does not have a Site, the Limble location is assigned directly under the legal entity region.
11. Item / Part Setup
For an D365 Finance item to sync as a Limble part:
The released product must exist in D365 Finance.
Sync to Limble must be checked.
Related warehouses must already be synced to Limble locations.
The integration user must have access to the item’s legal entity.
The integration stores the D365 Finance item identity on the Limble part so later flows can match Limble parts back to D365 Finance items.
12. Inventory Setup
After warehouses and items are syncing, the inventory sync updates Limble part stock from D365 Finance on-hand inventory.
For inventory quantities to sync correctly:
The item must already be synced to Limble as a part.
The warehouse must already be synced to Limble as a location.
The integration user must have access to D365 Finance on-hand inventory.
D365 Finance must have on-hand inventory records for the item and warehouse.
If D365 Finance reports no available quantity for a tracked part/location, Limble may be updated to show zero available stock.
13. Purchase Requisition Setup
Preparer and Requester
D365 Finance uses two people for requisitions:
Role | Meaning |
Preparer | The integration user’s linked worker |
Requester | The worker/personnel number configured for the purchase request |
If the preparer and requester are different, D365 Finance must allow the preparer to order on behalf of the requester.
Configure On-Behalf Permissions
In D365 Finance: Procurement and sourcing > Setup > Policies > Purchase requisition permissions
Configure both views:
By preparer
Select the integration user’s worker.
Add the requester worker.
Save.
By requester
Select the requester worker.
Add the buying legal entity.
Add the operating unit if required.
Add the integration user’s worker as an allowed preparer.
Save.
If this setup is missing, D365 Finance may reject the requisition with an authorization error.
Quick Test
Set Default D365 Finance Personnel Number (Section 3) to the same worker as the integration user.
If requisition lines succeed, the basic setup is correct and the issue is likely on-behalf permissions for the real requester.
14. Vendor and Item Rules for Purchase Requisitions
For item-based requisition lines, D365 Finance may require the vendor to match the item’s approved or primary vendor setup.
Before testing POs:
Open the released product in D365 Finance.
Confirm the correct vendor is set for purchasing.
Confirm the Limble PO vendor matches the expected D365 Finance vendor.
Confirm the item has any required procurement category setup.
Note: if the vendor and item setup do not align, the integration may stop before creating the requisition.
15. Category Lines
If a Limble PO item does not match a synced D365 Finance item, the integration may create a category line instead. It uses Default Procurement Category Code (Section 3).
For category lines, customers must confirm:
The procurement category is valid.
The required unit exists in D365 Finance.
D365 Finance purchasing policies allow the category to be used.
Any required financial dimensions are provided or defaulted by D365 Finance.
16. Purchase Order Financial Dimensions
D365 Finance uses customer-defined financial dimensions on purchase lines.
The integration supports prebuilt financial dimension sets. These are configured once and made available as GL selections in Limble.
Where to Find Dimension Format and Order
In D365 Finance: General ledger > Chart of accounts > Dimensions > Financial dimension configuration for integrating applications
Use this page to confirm the order D365 Finance expects.
Example format: BusinessUnit-CostCenter-Region
Where to Find Dimension Names and Values
In D365 Finance: General ledger > Chart of accounts > Dimensions > Financial dimensions
Open each dimension to view valid values.
Example:
Dimension | Example values |
CostCenter |
|
BusinessUnit |
|
Region |
|
Configure PO Financial Dimension Sets
In the integration configuration, each row represents one selectable GL item in Limble.
Field | Required | Description |
Entity | Yes | Limble entity/region where this set should be available |
Label | Yes | What users see in the Limble GL dropdown |
Dimension Values | Yes | The D365 Finance dimension value string |
Description | No | Notes for the implementation team |
Example:
Entity: HQUS
Label: Maintenance - Northeast
Dimension Values: 100-MAINT-NE
Description: BusinessUnit MAINT, CostCenter 100, Region NE
The integration creates Limble GL items only for locations under the selected entity.
The customer is responsible for entering valid dimension values from D365 Finance. Invalid values may be rejected by D365 Finance when the PO is sent.
17. Work Order Inventory Movement Journals
When a Limble work order is completed and inventory parts are used, the integration can create an D365 Finance Inventory Movement Journal.
Set Default D365 Finance Inventory Movement Journal Name in D365 Finance (Section 3). Optional financial dimensions use D365 Finance Dimension Separator and D365 Finance Dimension Order (Section 3).
What Customers Must Configure
Customers must confirm:
Inventory Movement Journal name (Section 3).
Items are synced between D365 Finance and Limble.
Limble task locations map to D365 Finance warehouses.
Required warehouse location/bin setup, if D365 Finance requires it.
Offset account values.
Optional financial dimensions, if required.
Notification recipients.
Important: The integration creates the journal, but it does not post it.
D365 Finance inventory is not reduced until the journal is posted in D365 Finance. A D365 Finance user will need to complete Journal postings INSIDE D365 finance.
Offset Account
The Offset Account is the D365 Finance consumption or expense account for the inventory movement.
Work Order Financial Dimensions
Financial dimensions are optional and customer-specific.
To use them, customers must provide:
The dimension format/order from D365 Finance.
Valid dimension names.
Valid dimension values.
Matching Limble Task Instructions.
Example Limble task instructions:
Offset Account
BusinessUnit
CostCenter
Region
Example selected values:
Offset Account: 610100
BusinessUnit: MAINT
CostCenter: 100
Region: NE
The integration combines the values in the configured order and sends them to D365 Finance. The integration will insert the Dimension Separator where needed. Match D365 Finance Dimension Separator to the format in Section 3.
19. Email Notifications
Configure notification recipients for integration warnings and errors.
Emails may be sent when:
A PO cannot be sent to D365 Finance.
D365 Finance rejects a requisition or line.
Vendor or item validation fails.
Status sync fails.
A Work Order journal is created.
A Work Order journal fails.
Product receipt posting fails, if enabled.
Ideally, customers should provide a shared mailbox or distribution list for integration alerts. This avoids emails being sent to an individual(s) that may change over time or be out of office and not see critical alerts.
A shared mailbox makes managing this easier, so you don't need to update this setting in the configuration when the individual user or user emails you have entered here change. You can just update the mailbox users within the distribution list internally as needed.
20. Common Setup Errors
“Please verify that the user is valid and set up correctly”
Likely causes:
The Entra app is not registered in D365 Finance.
The app is not mapped to a valid D365 Finance user.
The mapped user does not have required roles.
The mapped user does not have legal entity access.
PR is submitted, but no Approval step appears / Workflow does not advance
Likely causes:
System administration > Setup > Workflow > Workflow infrastructure configuration - make sure it's been run/enabled.
System administration > Inquiries > Batch jobs - look for "Workflow message processing" / workflow-related batch jobs and confirm they're Waiting/Executing, not paused or erroring.
If the workflow history shows Submitted and then stops, this is usually the cause.
“Could not find property SyncToLimble”
Likely cause:
The custom field exists on the page but was not made available to integrations.
Fix:
Go to System administration > Setup > Custom fields.
Select the field.
Enable it for the correct entity.
Apply changes.
“Current user is not authorized to request on behalf of requester”
Likely causes:
On-behalf permissions are missing.
Permissions were added for the wrong worker.
Legal entity or operating unit setup is incomplete.
The integration user is not linked to the correct worker.
Fix:
Review the Purchase Requisition permissions setup.
Confirm both By preparer and By requester views are configured.
Released Products List Is Empty
Likely causes:
You are viewing the wrong legal entity.
Released products do not exist in the selected legal entity.
The integration user lacks access.
Inventory Journal Cannot Be Posted
Likely causes:
Warehouse location/bin is required.
Inventory status is required.
Batch or serial number is required.
Offset account is missing or invalid.
Financial dimensions are missing or invalid.
Available inventory is too low.
Fix:
Review the item’s storage and tracking dimension setup.
Confirm the warehouse, location, and financial dimensions.
Try posting manually in D365 Finance to see the required correction.