Dynamics 365 Business Central

There are three main steps to configuring the connection - you may need help from an IT admin to complete the first step.

  1. Create credentials in Azure (an 'app')
  2. Configure Business Central to accept a connection from 1Password SaaS Manager
  3. Connect SaaS Manager to Business Central

What data does SaaS Manager pull?

By default SaaS Manager will pull Purchase invoice data from Business Central. Line items that do not match the account codes specified will be discarded.

Alternatively, when you connect you may chose to take data from the General Ledger instead. This has the benefit that you can configure Security Filters in Business central. Security Filters don't work with Purchase invoice data as Business Central's API does not support filtering to Purchase invoice line items.

Create a new app in Azure

This also involves multiple steps:

  1. Register the basic app details
  2. Assign API permissions
  3. Create credentials

Register the app

  1. Log in to Azure and find App registrations:mceclip0.png
  2. Click New registration.
  3. Enter a name (e.g. Business Central).
  4. Choose Accounts in this organizational directory only (Single tenant).mceclip1.png
  5. Enter a Redirect URI:
    • Choose Web
    • Enter https://businesscentral.dynamics.com/OAuthLanding.htm
      mceclip3.png
  6. Click Register.

Configure API permissions

  1. On the API permissions tab, click Add a permissionmceclip3.png
  2. Under the Microsoft APIs tab choose Dynamics 365 Business Centralmceclip4.png
  3. Choose Application permissions and then under API tick API.ReadWrite.Allmceclip6.png
  4. Click Add permissions.
  5. Finally, click Grant admin consent:<>mceclip0.png </>

Create a new secret

  1. Go to Certificates & secrets
  2. Click New client secret
  3. Give the secret a name (e.g. SaaS Manager) and chose the Expiry duration that you are comfortable with (we recommend 12 or 24 months).
  4. Click Add.

Collect the IDs from Azure

You need three IDs which you can copy from Azure:

  1. From the Certificates & secrets tab copy the Client Secret Value (not the Secret ID).

    The Client secret value will only be available for you to copy for a short period of time. If you are unable to view or copy it, then just create new one.

  2. From the Overview tab copy the Application (client ID) and the Directory (tenant) IDmceclip2.png

Configure Business Central

  1. Search for Entra and click Microsoft Entra Applications:
    BusinessCentral app creation.png
  2. Click New:
    BusinessCentral app creation2.png
  3. Paste the Application (client ID) from Azure AD into the Client ID field:
    BusinessCentral app creation3.png
  4. Enter SaaS Manager as the Description and then set the State to Enabled
  5. Ensure that the D365 BASIC ISV user group is assigned:mceclip4.png
  6. Click Grant Consent.
  7. A confirmation popup will appear (you may need to allow popups in your browser). Click Accept.
  8. In the main Dynamics browser window, you will see a message confirming that consent was given:mceclip8.png

Connect SaaS Manager to Business Central

  1. Identify the name of your Business Central environment. Login to Business Central and go to Admin Center under the Settings cog.
  2. In the Admin Center you will see a list of environments. You will need to copy the name of the environment that you want to connect to SaaS Manager. 

    The underlining on the links makes underscore (_) characters look like spaces. Click through on the link to see the name without any links to be sure you are entering the right name.

  3. In SaaS Manager, go to Integrations > Business Central
  4. Click Connect and enter the Environment name and the IDs that you collected earlier.
  5. Click Connect again.
  6. Select the expense categories you want to import from, and click Import.

FAQ

I get the error "Sorry, the current permissions prevented the action. (TableData 1366 Field Monitoring Setup IndirectRead: Base Application)"

The API action in Business Central to read invoices is internally querying the Field Monitoring Setup table (id 1366) but does not have sufficient permissions. IndirectRead is a Business Central permission type which means that a request can indirectly (but not directly) read from the table.

First, create a new permission set with additional permissions. Find the permission sets page:

Click New and enter a name (e.g. SAASMANAGER), and then click to edit the Permissions.

Enter the Object ID (1366) and tab out of the field - "Field Monitoring Setup" will be selected. Go ahead and grant Read permission.

Now locate your Entra application and click to add a new permission set:

Was this article helpful?

0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.