Getting started
TSL Labs apps install as extensions to Microsoft Dynamics 365. They don't change standard Microsoft objects, and your existing setup stays as it is. Always install and test in a sandbox environment before production.
Install a Business Central app
Applies to the Xero Bills Connector, Dynamics BC for Nonprofit and Dynamics BC Equipment Rental.
- Find the app on Microsoft AppSource, or contact us to arrange access.
- Sign in with a Business Central administrator account and install the app into a sandbox environment first.
- In Business Central, open Extension Management and check that the app shows as installed.
- Assign the app's permission sets to the right users (see Give users access).
- Follow the setup steps for your app below, test with real data in the sandbox, then repeat in production.
Install a Finance & Operations app
Applies to F&O Multisource Exchange Rate and F&O License Management.
- We provide the app as a deployable package for your Finance & Operations version.
- Your system administrator or implementation partner applies the package to a sandbox environment first, using your normal deployment process (Lifecycle Services or the Power Platform admin center).
- If we sent you a license file for the app, apply it through your deployment process. Then check that the app's configuration key is enabled in System administration › Setup › License configuration.
- Assign the app's security roles, follow the setup steps for your app below, and test before applying the package to production.
Give users access
Each app comes with its own security roles or permission sets, so access can be given only to the people who need it.
| App | Roles or permission sets |
|---|---|
| F&O Multisource Exchange Rate | Exchange rate API administrator sets up sources and schedules imports. Exchange rate API reviewer reviews runs and approves or dismisses held rates. |
| F&O License Management | License compliance manager maintains license data and recalculates. License compliance viewer has read-only access to the workspace. |
| Xero Bills Connector | Xero Integration – Admin, Processor and Viewer permission sets. |
| Dynamics BC for Nonprofit and Equipment Rental | Permission sets are listed in the setup guide we provide during onboarding. |
F&O Multisource Exchange Rate
Imports exchange rates from public APIs, starting with the Bank of Canada, checks each rate, and holds unusual movements for review. The app's pages are in the Exchange rate API module, grouped under Setup, Periodic tasks and Inquiries.
1. Create a source profile
- Go to Exchange rate API › Setup › Exchange rate API profiles.
- Select Create Bank of Canada profile. The profile is created disabled, with all currency pairs inactive, so nothing imports until you're ready.
- On Currency pairs, activate only the pairs you want, and mark the ones you expect in every run as Expected so missing data is flagged.
- Select the Exchange rate type the rates should be stored in. It must be the same type you'll choose when importing.
- For other providers, create a profile and set the URL template, payload format (JSON or XML), record and field paths, date format and, if required, an API key. Keys are stored encrypted.
2. Set controls and alerts
- Movement tolerance %: rates that move more than this versus the previous rate are held for review. Enter 0 to switch the check off.
- Maximum publication age: refuses rates older than this many days.
- Effective date offset: days added to the publication date to get Valid from. Leave 0 to keep the publication date.
- Timeout, maximum retries and retry backoff: how long to wait for the provider and how often to retry.
- Alert email: where run summaries are sent. History retention sets how long run history is kept.
3. Test before you import
- Test connection retrieves the latest publication and shows how many rates were mapped, without storing anything.
- Preview shows the rates the profile would propose for a date range, also without storing anything.
When the results look right, enable the profile.
4. Schedule the import and reconciliation
- Add the provider in General ledger › Currencies › Configure exchange rate providers if it isn't already listed.
- Open General ledger › Currencies › Import currency exchange rates, choose the TSL Labs provider and the same exchange rate type as the profile, decide whether existing rates may be overridden, and set it to run as a recurring batch job.
- Schedule Exchange rate API › Periodic tasks › Reconcile exchange rate API runs to run after the import. It confirms what was stored, sets each run's final status and sends the alert email.
5. Review runs and held rates
Open Exchange rate API › Inquiries › Run history. Each run lists every currency pair with its decision: Imported, Unchanged, Held, Rejected, Missing or Skipped. For held rates, a reviewer can:
- Approve the rate, optionally entering a final rate override and a resolution note. Approved rates are stored on the next import for that profile.
- Dismiss the rate with a note, so it is never stored.
Common messages
| Message | What to do |
|---|---|
| API profile is not enabled, or has no active currency pairs | Enable the profile and activate at least one currency pair. |
| Record path matched nothing | Run Test connection to see the normalised response, then correct the record path. |
| Latest publication is older than the maximum publication age | The provider hasn't published recently, for example over a holiday. Check again later or raise the limit. |
| Retrieval failed (HTTP status) | Check the URL template, API key and network access, then use Test connection. |
| Currency or currency pair is not defined | Add the currency in Currencies, or the pair for the exchange rate type, then rerun. |
| Rate was not stored by Import currency exchange rates | Make sure the import uses the same exchange rate type as the profile. |
| Profile already has a running import | Wait for the current run to finish. Runs that exceed the lock timeout are marked abandoned. |
F&O License Management
Compares the licenses your users' security roles require with the licenses assigned in Microsoft 365 and the seats you've purchased. Open it from System administration › Workspaces › License compliance.
Try it with sample data first
Select Load sample data to load a demonstration tenant with deliberate compliance issues and explore the workspace.
1. Build your license catalog
In License SKUs, add each Dynamics 365 license you hold: the SKU as shown in the Microsoft 365 admin center, its name, the application it covers, whether it's a base, attach, Activity or Team Members license, its monthly price and the seats purchased.
2. Map security roles to license levels
In Role license requirements, set the license level each security role needs per application: Team Members, Activity or Full. A Full requirement must name its application. Roles you haven't mapped show up as Needs review.
3. Record Microsoft 365 assignments
In Microsoft 365 license assignments, record the licenses each user holds, matching the user by their alias. Keep this in step with the Microsoft 365 admin center, as the results are only as current as this list.
4. Calculate and review
- Run Refresh compliance. Select Reload user roles from F&O security to take a fresh snapshot of user role assignments.
- Schedule it as a recurring batch job to keep results current.
- Review the workspace tabs: Licenses (purchased vs assigned vs required), Licensing violations, Over-licensed and review, and All users. Select a user to see their roles and the license each role requires.
What each status means
| Status | Meaning |
|---|---|
| Compliant | Assigned licenses cover what the user's roles require. |
| Under-licensed | The roles require more than the assigned license. The role driving the requirement is shown. |
| Unlicensed | Roles grant access, but no Finance & Operations license is assigned in Microsoft 365. |
| Over-licensed | Assigned licenses exceed what the roles require. Users who are disabled or have no roles but still hold licenses are flagged too. |
| Needs review | A decision is needed, for example a role with no license mapping. |
The engine follows Dynamics 365 licensing rules: one base license plus attach licenses for each additional application needing Full access, a higher license covers a lower requirement, and an attach license without a base license is flagged. Always confirm licensing decisions against your Microsoft agreement.
Xero Bills Connector
Brings approved Xero supplier bills into Business Central as purchase invoices, for one company or several sharing a Xero organisation. It only reads from Xero.
- Create a Web app in the Xero developer portal and note its Client ID, secret and redirect URI.
- In the connected company, open Xero Setup, enter the credentials and read-only scope, and authorise one Xero organisation.
- Map Xero tracking options to Business Central companies (multi-company only), pull tax rates and load the default field mappings.
- In each processing company, choose a vendor template, map tax codes and test with a real bill using Xero Test Mapping.
- Schedule the token refresh, tax rate, pull and processing jobs.
The Xero Bills Connector help page has the complete steps, job schedule, field mapping and troubleshooting.
Dynamics BC for Nonprofit
Grant tracking, restricted fund enforcement, donor and pledge tracking, and grant reporting inside Business Central.
After installing the app, our team works with you to configure your funds, grants and reporting templates around your chart of accounts. Contact support for the setup guide or to book an onboarding session.
Dynamics BC Equipment Rental
Real-time asset availability, bookings, maintenance scheduling and usage-based billing inside Business Central.
After installing the app, our team works with you to set up your rental assets, maintenance windows and billing rules. Contact support for the setup guide or to book an onboarding session.
Updates and uninstalling
- Updates: we release fixes and compatibility updates for new Microsoft versions. Business Central apps update through the admin center. For F&O apps, we provide a new deployable package to apply through your normal process.
- Test updates first: apply updates to a sandbox, check your key processes, then update production.
- Uninstalling: removing an app stops its features. Records it already created, such as purchase invoices or exchange rates, stay in your environment.
Frequently asked questions
Do TSL Labs apps change standard Dynamics 365 objects?
No. They're built as extensions. Your standard setup, data and security stay as they are, and each app writes only to its own tables or through standard Microsoft processes.
Does TSI see our business data?
No. The apps run inside your own Microsoft environments and store data in your tenant. If you give us access for a support case, we use what we see only to resolve that case. See the TSL Labs Software Privacy Policy.
Can we try an app before buying?
Yes. Contact us for a demo or a trial in your sandbox. F&O License Management also includes sample data so you can explore it straight away.
Which terms apply to TSL Labs apps?
The TSL Labs Software Terms of Use cover all apps, including the license, your responsibilities, warranty and liability.
Can you set up or customise an app for us?
Yes. As a Microsoft Dynamics 365 partner, we offer implementation, configuration and extension work alongside the apps.
Get support
To help us resolve your request quickly, please include:
- The app name and the environment (sandbox or production)
- Your Dynamics 365 version, and for F&O apps the deployable package date you installed
- What you were doing, what you expected and what happened
- Screenshots of any error message, and the run ID for exchange rate or Xero issues
Contact TSL Labs support
Email info@techsarwar.com or use our contact form. For onboarding or a walkthrough, book a session with our consultants.
