This the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Setup and configuration

Set up and configure Pryme Intercompany

Pryme Intercompany enables seamless data sharing between Business Central companies through Messages. This system is based on three core components: Parties, Topics, and Subscriptions.

  • Parties: Business Central companies that exchange data with other companies via Messages.
  • Topics: Messages published by one Party and made available for other Parties to subscribe to.
  • Subscriptions: Mechanisms that allow a Party to receive data from a Topic.

Configuration Differences

Both apps follow the same process for configuring Parties. However, the setup of Topics and Subscriptions differs.

Pryme Intercompany Master Data App

  • Does not include pre-configured templates.
  • Data exchanges require manual configuration of Topics and Subscriptions, offering increased flexibility for custom use cases.

Pryme Intercompany Project App

  • Includes pre-defined templates for Topics and Subscriptions that are tailored to project-related data (e.g., time entries, expenses).
  • Simplifies the setup process and accelerates implementation for project-specific data sharing. Flow

1 - Before you start

Things to do and consider before setting up the Pryme Intercompany app

Before setting up Pryme Intercompany, ensure that the following key considerations are addressed to facilitate smooth implementation and integration.

Party Code

  • All companies involved must agree on a unique intercompany partner identification code, referred to as the Party Code. This code helps identify each company within the system.
  • Establish a consistent and scalable naming convention. For instance, instead of using only a land code (e.g., “UK”), combine it with a number, such as “UK10,” “UK11,” and so on.

Data Conflicts

Ensure there are no data conflicts before setting up the app. Review and update existing entries to prevent issues.

Key Areas to Check:

  • Project numbers
  • Resource codes
  • Other shared references

Master Data

Determine how master data will be managed across the group. Decide whether one company will act as the central master data provider for the entire group or if each company will manage its own master data. In the case of a centralized approach, designate one company to provide the master data to the others.

Key Considerations:

  • Tables to Transfer: Identify which master data tables need to be shared.
  • Field-Level Restrictions or Filters: Ensure any necessary restrictions, filters, or field-level mappings are identified and implemented.
  • Code Harmonization: Check if consistent coding schemes are used across the companies for master data. If not, align and update the codes to ensure consistency throughout the group.

If Pryme Intercompany for Projects is installed, exclude projects and resources from the master data, as these are managed by the app.

Ensure that related tables required for importing data are included in the master data setup. This will prevent data errors due to missing or incorrect data and save time during setup.

Transfer Time, Expense, and Item Entries Between Companies

The Pryme Intercompany Project App includes two predefined templates for transferring time entries and project ledger entries. These templates can be used individually or together.

Time Entries Template

Functionality:

  • Transfers time entries to the External Time Entries table when timesheets are submitted by the performing company.
  • The project manager in the selling company can preview the entries, approve them, and add comments in an approval flow for informational purposes only.
  • After posting, project ledger entries are created in both the performing and selling companies.

Limitations:

  • Only time entries will be transferred. Entries moved between projects using Move Entries or a Project Journal will not be transferred through intercompany automation, as they do not create time entries; only project ledger entries are created.

Project Ledger Entries Template

Functionality:

  • Transfers posted time, expense, and item entries to the Project Journal. When posting these entries, Project Ledger Entries are created in the selling company.

Limitations:

  • Preview and Approval: Project managers in the selling company will not be able to preview time entries before posting.

Combining Templates

To preview time entries (and use the approval flow) and also transfer expenses and item entries, use the templates together.

  • Time Entries β†’ Time and Resources
  • Project Ledger Entries β†’ Expenses and Item Entries

2 - Basic setup

Learn about the basic set up that needs to be done before you start setting up parties, topics and subscriptions in Pryme Intercompany

Add your Party Code

Each company must have a unique Party Code for identification. A naming strategy should be agreed upon with all companies within the group to ensure consistency in Party code naming. Follow these steps to set it up:

  1. Select the πŸ”Ž icon, enter Pryme Intercompany Setup, and choose the related link.
  2. Enter a Party Code in the My Party Code field.

Exclude a Dimension in the Intercompany Data

If local dimensions are used by your company (i.e., dimensions relevant only for a specific company) and should not be shared with other companies, they can be excluded from the Topic Message. Follow these steps:

  1. Select the πŸ”Ž icon, enter Dimensions, and choose the related link.
  2. Set Skip for Intercompany (IDM) to On/Selected for any dimension to exclude.

Expense Payment Type

When using the Project Ledger Entries functionality to transfer expenses between companies, add an Expense Payment type to prevent expenses from posting to the general ledger. The general ledger will be updated when the Purchase Invoice is posted. This Expense Payment Type is specifically for intercompany transactions.

  1. Select the πŸ”Ž icon, enter Expense Payment Type, and choose the related link.
  2. Create a new expense payment type, setting the Expense Payment Function to Company Paid and the Expense Posting to NONE.
  3. Select the πŸ”Ž icon, enter Project Expense Posting Setup, and choose the related link.
  4. Create an Expense Code for each code and assign the newly created Expense Payment Type.
  5. Complete the necessary fields. Hover over each field for a short description.

Permissions

Users who need to send projects to other companies must have the USER IDMYME permission.

3 - Step by step Project, Time, Expense, Item

Step by step how to setup Intercompany for Project and Time entries

When setting up Pryme Intercompany Projects, it is essential to follow a structured approach to ensure proper configuration of both sending and receiving companies for transferring projects and time entries. The process involves setting up Parties, Topics, and Subscriptions in the correct order. Below is a step-by-step guide to help with the setup process.

In Pryme Intercompany Projects, data can be transferred using two pre-defined templates. These templates can be used separately or in combination, depending on the types of data being transferred between companies. More details can be found here.

  • Time Entries: This template is used for transferring time entries.
  • Project Ledger Entries: This template includes time entries, as well as expenses and item entries.

For bi-directional data transfer, set up the Topics and Subscriptions in both companies.

Parties

  1. Create a Party in Company A for Company B.
  2. Create a Party in Company B for Company A.

Project

  1. Create a Topic in Company A. Select the template for Projects.
  2. Create a Subscription in Company B for Projects on the Party Code for Company A.
  3. Review and update the table definitions.

Time (Alternative 1)

The pre-defined Time Entries template transfers resources and time entries. When a timesheet is submitted, the entries are transferred to External Time Entries, allowing a project manager to preview the entries. An approval flow is also available for informational purposes only.

  1. Create a Topic in Company B. Select the template Time Entries.
  2. Create a Subscription in Company A for Time Entries on the Party Code for Company B.
  3. Review and update the table definitions.

Expense and Item Entries

If the Time Entries template is used and project ledger entries for expenses and items should also be transferred, use the Project Ledger Entries template for this purpose.

  1. Create a Topic in Company A. Select the template for Project Ledger Entries.
  2. Review and update the table definitions. Add a Condition on the Type field to include only G/L Account and Item in the data message.
  3. Create Expense Payment Types in Company B and update the Expense Posting Groups.
  4. Create a Subscription in Company B for Project Ledger Entries on the Party Code for Company A.
  5. Review and update the table definitions.

Time (Alternative 2), Including Expenses and Item Entries

If project ledger entries for time, expenses, and items need to be transferred without the option for a project manager to preview the time entries, use the Project Ledger Entries template. With this template, project ledger entries are transferred to a project journal, where they can be posted.

  1. Create a Topic in Company A. Select the template Project Ledger Entries.
  2. Review and update the table definitions.
  3. Create Expense Payment Types in Company B and update the Expense Posting Groups.
  4. Create a Subscription in Company B for Project Ledger Entries on the Party Code for Company A.
  5. Review and update the table definitions.

Summary Table

Company ACompany B
Parties
1aCreate a Party for Company B.
1bCreate a Party for Company A.
Project
2aCreate a Topic. Select the template for Projects.
2bCreate a Subscription for Projects from Company A and update the table definitions.
Time, Alternative 1, via Time Sheet (External Time Entries)
3aCreate a Topic. Select the template for Time Entries.
3bCreate a Subscription for Time Entries from Company B and check the table definitions.
Expense and Item Entries (in addition to Time Entries)
4aCreate a Topic. Select the template for Project Ledger Entries. Update the table definitions. Add a Condition to include only G/L Account and Item in the data message.
4bCreate Expense Payment Types and update the Expense Posting Groups.
4cCreate a Subscription for Project Ledger Entries from Company B and check the table definitions.
Time, Alternative 2, via Project Ledger Entries (includes expenses and items)
5aCreate a Topic. Select the template for Project Ledger Entries. Update the table definitions.
5bCreate Expense Payment Types and update the Expense Posting Groups.
5cCreate a Subscription for Project Ledger Entries from Company A and check the table definitions.

4 - Parties

Learn how to setup a Party, a company in Business Central sharing data with other companies.

A Party refers to a Business Central company that shares data with other companies. Each Party can send and receive data. All companies involved in data sharing must be set up as a Party.

Before setting up the Parties, ensure a consistent format for Party Codes is chosen. It is recommended to combine a land code with a number for uniqueness and clarity (e.g., UK10, UK11).

Set Up the Standard Party Code

  1. Choose the πŸ”Ž icon, enter Pryme Intercompany Setup, and then select the related link.
  2. Enter the Party code in the My Party Code field.

Parties

Each company must have a unique Party code to identify it. Establish a consistent naming strategy and adhere to it.

  1. Choose the πŸ”Ž icon, enter Parties (IDM), and then select the related link.
  2. Fill in the required fields. Hover over a field to read a short description.

Party Groups

A Party Group is a subset of parties that can be used in a Topic to restrict which companies are allowed to receive data.

  1. Choose the πŸ”Ž icon, enter Party Groups (IDM), and then select the related link.
  2. Fill in the required fields. Hover over a field to read a short description.
  3. Enter the code of the Parties that should be grouped under the Parties subpage.

5 - Topics

Learn how to set up Topics in Pryme Intercompany, used for publishing data to other Business Central companies.

Topics are used for publishing data to other parties. Topics themselves do not send data directly but act as a notification system that alerts subscribers to pull data.

The Topic defines the types of data (tables and fields) that are available to be transferred to other parties. Conditions can be added to filter and control which data should be transferred.

Topic card

  1. Choose the πŸ”Ž icon, enter Topics (IDM), and select the related link. Fill in the fields as necessary. Hover over a field to read a short description. Some of the most important fields are as follows:
FieldComment
Message processingPryme Intercompany Masterdata -> Generic
Pryme Intercompany Project -> Project, Time entries or Project ledger entries.
Subscription typeThis field is used to restrict the Topic to a specific Party or to a group of Parties.
Subscription CodeIf the Subscription Type is Party or Group, add the Party or Party group to whom data is published the Topic.
  1. Open the Topic Tables action under Related.

Transfer time entries

Two predefined templates are provided for transferring time entries: Time entries and Project ledger entries.

Time entries

This template transfers both time and resources. Once time entries are submitted, they are transferred to the External Time Entries table in the receiving company. This enables project managers in the selling company to preview the entries. Additionally, an approval flow is included for informational purposes.

When time entries are posted in the performing company, project ledger entries are automatically created in both the selling and performing companies.

Project ledger entries

This template transfers time (excluding resources), expenses, and item entries. It creates transactions in a project journal, and when posted, project ledger entries are generated in the selling company. Unlike the Time Entries template, this option does not include preview or approval functionality when the timesheet is submitted in the performing company.

Both templates cannot be used simultaneously for time entries, as this will result in duplicate project ledger entries. However, the templates can be used in combination for different purposes:

  • Time Entries: For transferring time and resources.
  • Project Ledger Entries: For transferring expenses and item entries (add a Condition to only include Type g/l account and Item).

Topic tables

There is a difference between the two intercompany apps when setting up Topic tables:

  • Pryme Intercompany Masterdata - Tables and table definitions must be added manually. By default, all fields are included in the data message unless specified otherwise.
  • Pryme Intercompany Project - Predefined templates are available, with tables and table definitions already populated.
  1. Select New and search for the table to add.
  2. Fill in the fields as necessary. Hover over a field to read a short description. Some of the most important fields are as follows:
FieldComment
Allow On-Demand PublishEnables users to manually publish records to this topic using an on-demand page action, provided the conditions are fulfilled. This field is valid only for tables with special on-demand functionality.
ConditionsUse this field to set filters that define whether data should be included or excluded in the Topic record.
Included fieldsUse this option to exclude specific fields from the Topic. It opens Message Data Content (IDM), where the restrictions are defined. If Pryme Intercompany Project is installed, and the transfer pricing list is in another currency than LCY, the fields Invoice currency code and Time sheet currency code must be added in the Topic.
  1. Go back to the Topic card and Set status to Ready.
  2. Restart the company. The changelog will be updated with new and updated entries that will generate Topic records for the subscribers.

Transfer all entries in a table

The intercompany apps only transfer new and updated entries. To ensure consistency across all subscribing companies, transfer all entries in a table using the Topic Table -> Create Messages function. Key points to remember:

  • Use this for Master data tables after setting up the Topic to synchronize data across companies.
  • This action adds and updates entries but does not delete records in subscribing companies.
  • If invalid records exist in subscribing companies, manual cleanup may be required.

Update a topic with new fields

To add a new field to an existing Topic, follow these steps:

  1. Choose the πŸ”Ž icon, enter Topics (IDM), and select the related link.
  2. Set the Topic to On hold.
  3. Open the Topic Tables action under Related.
  4. Click on Included fields. Message Data Content (IDM) will open.
  5. Go back to the Topic card and Set status to Ready.
  6. Restart the company.
  7. Add the field in the Subscription. See Updating a Subscription after changing the Topic.

6 - Create a subscriptions

Learn how to setup Subscriptions, used for receiving data from other Business Central companies.

After setting up the Topic, create a Subscription for each Party in the receiving company or companies. Each Subscription corresponds to a Party from which data is received.

In a multiple Business Central environment using Azure Service Bus, run the Topic in the sending company before setting up the Subscription.

Subscription Card

  1. Select the πŸ”Ž icon, enter Subscriptions (IDM), and select the related link.
  2. Enter the Party code for the sending company and select the related Topic.
  3. Pryme Intercompany Project only:
    • Inv. Setup template defines the default invoice template for intercompany projects. Leave blank to add templates manually.
    • Res. price template specifies the transfer pricing list for projects.
  4. Review and adjust tables under Subscription Tables. Delete tables that should not be imported. Re-add deleted tables if needed (limited to tables present in the Topic).
  5. Use Subscription Fields to modify field-level data processing, mapping, and rules.

Subscription Fields

Subscription fields control how data is imported and processed. When importing a table, field-level mapping is possible, provided the field is included in the Topic message.

When changing or mapping a field, use the Comment field to document the changes. The Relation Table Caption specifies the related table. If a related table exists, the imported value must be present in the receiving company’s table; otherwise, the record will not be imported.

A field can be mapped in four different ways:

TypeDescription
ValueOne-to-one mapping.
FilterConditional updates based on filters.
FixedAssigns a fixed value to all imported transactions.
CurrencyManages local currency conversions.

Currency Mapping

Currency mapping ensures proper handling of differing local currencies (LCY) between companies. Setup requires configuring the Currency Code for each Party and the LCY Code in the General Ledger Setup.

  • If the currency code in the subscription message is blank, the Currency Code from the Party code will be used.
  • If the currency code in the subscription message matches the Currency Code on the Party code, the currency field will be set to blank.

Subscription Fields in Pryme Intercompany Project

In the Pryme Intercompany Project app, specific fields must be mapped to ensure correct values in the receiving company’s projects.

Project (Table 167 – Job)

Target Field NoTarget Field NameMapping ValueComment
5Bill-to Customer No.FixedAlways map to the sending company’s customer number in the receiving company.
20Person ResponsibleVerify if it matches the sending company.
23Job Posting GroupVerify if it matches the sending company.
1011Invoice Currency CodeCurrencyUse Currency if an intercompany transfer pricing list exists in another currency.
2000Sell-to Customer No.FixedIf the customer table is not part of Master Data, map to the sending company’s customer number.
14045651Resource Invoice TypeValueMap to T&M if a fixed price agreement exists.
14045655Item Invoice TypeValueMap to T&M if a fixed price agreement exists.
14045656Expense Invoice TypeValueMap to T&M if a fixed price agreement exists.
14045674Project Manager PGSVerify if the resource matches the sending company.
14045753Timesheet Currency CodeCurrencyUse Currency if an intercompany transfer pricing list exists in another currency.

Job Task (Table 1001 – Job Task)

Target Field NoTarget Field NameMapping ValueComment
14045764Contract Type PGSValueMap to T&M if a fixed price agreement exists.
14045709Project Manager PGSVerify if the resource matches the sending company.

Permissions (Table 14045676 - Permissions PM)

This table is not mandatory. If permission from the sending company is unnecessary, delete the table.

Target Field NoTarget Field NameMapping ValueComment
1NoVerify if the resource matches the sending company.

Time (Table 156 – Resource)

Target Field NoTarget Field NameMapping ValueComment
51Gen Prod Posting GrpVerify if it matches the sending company.
58VAT Prod Posting GrpVerify if it matches the sending company.

Project Ledger Entries (Preview Feature)

This feature transfers resource, expense, and item ledgers between companies. Testing should be conducted in a Sandbox environment before production use. Contact support to enable it in a production environment.

Job Journal Line (Table 210)

Target Field NoTarget Field NameMapping ValueComment
1008Currency CodeCurrencySee Currency Mapping.
14045810Expense Payment TypeValueMap expense payment types for intercompany transactions.

Test the Setup

After creating the Topic and corresponding Subscription, test the setup:

  1. Send one entry from the sending company.
  2. Run the subscription manually in the receiving company using Run Subscription.
  3. When successful, configure a Job Queue for automated subscription processing.

For details on job queue setup, see Set Up Job Queues.

Update a Subscription After Changing the Topic

If changes are made to the Topic field definitions, update the Subscription manually:

  1. Select the πŸ”Ž icon, enter Subscriptions (IDM), and select the related link.
  2. Navigate to Update Source Fields under the Action tab.
  3. Open the Subscription Card.
  4. Select Subscription Fields in the table to update.
  5. Locate the field to add.
  6. In Source Field No, add the Table No (same as Target Field No).

7 - Run topics and subscriptions

Learn how to run topics and subscriptions, or setup job queues to run them automatically.

Once the Topics and Subscriptions are set up, data transfer can be done manually or automatically using a Job queue. In a sandbox environment, it is recommended to run Topics and Subscriptions manually, as the Job queue is set to On hold after each run.

Run Topics

The Schedule run on Changelog value in the Topic determines whether it should be run. If set to FALSE, the Topic must be started manually using Action -> Run Topic or scheduled through a Job queue.

  1. Choose the πŸ”Ž icon, enter Topics, and select the related link.
  2. Go to Actions – Create Job Queue Entry.
  3. Fill in the fields as necessary. Hover over a field to read a short description.
  4. Set Status to Ready.

Run Subscriptions

Manually

  1. Choose the πŸ”Ž icon, enter Subscriptions (IDM), and select the related link.
  2. Choose the Subscription to run and select Run Subscription under the Home action.
  3. If a prompt appears about updating values, always choose the selected answer.

Job Queue

  1. Choose the πŸ”Ž icon, enter Subscriptions (IDM), and select the related link.
  2. Go to Actions – Create Job Queue Entry.
  3. Fill in the fields as necessary. Hover over a field to read a short description.

Schedule jobs to run automatically.

8 - Set up Azure Service Bus

Learn how to setup an Azure Service Bus connection for intercompany data transfer between Business Central companies in different environments.

When using multiple Business Central environments, you can use Azure Service Bus to transfer data between the companies. Azure Service Bus is a cloud-based messaging service that enables you to send messages between applications and services. Azure Service Bus supports a set of cloud-based, message-oriented middleware technologies including reliable message queuing and durable publish/subscribe messaging. For more information, see Azure Service Bus.

Before configuring the connection to Azure Service Bus in Business Central, a namespace must be created in Azure Service Bus. The namespace is the container for all messaging components in Azure Service Bus. The namespace is created in the Azure portal.

To create a namespace in Azure Service Bus

  1. Register an application for API connection: Register an application (MS Learn)
    • Save the Application (client) ID for later
    • Create a Client Secret and save the secret value for later.
  2. Create service bus namespace, see Create a namespace (MS Docs). It must be Standard tier or better.
    • Save the Name of the namespace for later
    • Save the Subscription Id where the Namespace was created for later
    • Under Access control (IAM), add the registered application from step 1 as Role, Azure Service Bus Data Owner: Authenticate and authorize an application (MS learn)

After completion you will have the following values to insert into Business Central:

  • Directory (tenant) ID from Azure AD
  • Application (client) ID from the created App Registration.
  • Client Secret from the created App Registration.
  • Subscription Id where the ASB Namespace was created
  • Azure Service Bus Namespace name from the created Azure Service Bus Namespace

To set up Azure Service Bus in Business Central

  1. Choose the πŸ”Ž icon, enter Azure Service Bus (IDM), and then select the related link.
  2. Fill in the fields as necessary. Hover over a field to read a short description.

To set parties to use Azure Service Bus

  1. Choose the πŸ”Ž icon, enter Parties (IDM), and then select the related link.
  2. Select the party to set up for Azure Service Bus.
  3. Select Azure Service Bus in the Data Transfer Type field.