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

Return to the regular view of this page.

Intercompany

Learn to use Pryme intercompany.

Master data is the foundation for intercompany projects. It refers to customers, resources and projects. Transfer data between different tenants (data bases) regardless of their location. Improve your data quality by sharing it in a reliable way. Forget about manually copying data from one business to another.

Maintain a single copy of master data to ensure consistency of important information that is shared across companies within the group.

Whether in the form of centralised data sharing, or in the form of dynamic data exchange, choose which scenario suits you best. With the first option you act as the primary source of data for the entire group. Where as with the second option you and other companies within the group can easily transfer data to one another as needed. In both cases you’re ensuring that all companies in the group have access to the same accurate and up-to-date information.

This video shows how intercompany data flow between entities

We offer two specialized apps to streamline master data sharing:

  • Pryme Intercompany Data Management is an extension on Microsoft Dynamics 365 Business Central for managing, sharing, and automatically process master data between a free selection of companies.
  • Pryme Intercompany for Projects is an extension that managing and sharing project, resources, and entries for time, expenses and items. This app requires Progressus Advanced Project.

Flow

YouTube channel

Watch our YouTube channel for more information about Pryme Intercompany.

1 - Introduction

Introcuction of Pryme Intercompany

Master data is the foundation for intercompany projects. It refers to customers, resources and projects. With Pryme Intercompany, you can:

  • Transfer data between different tenants (databases), no matter where they are located.
  • Improve data quality by sharing it in a reliable way.
  • Eliminate manual work — no more copying data from one company to another.

Maintain a single source of truth for master data to ensure consistency across all companies in your group.

You have two options sharing your data:

  • Centralized data sharing: Act as the primary source of data for the entire group.
  • Dynamic data exchange: Easily transfer data between companies as needed.

Both options ensure that every company has access to the same accurate and up-to-date information.

Introduction video Pryme intercompany.

We have two specialized apps to make master data sharing simple

  • Pryme Intercompany Data Management
    An extension for Microsoft Dynamics 365 Business Central that manages, shares, and automatically processes master data between any selection of companies.
  • Pryme Intercompany for Projects
    An extension for managing and sharing project, resources, and entries for time, expenses and items. This app requires Progressus Advanced Project.

1.1 - Design details

Messages are organized in Topics that are made available to multiple Subscribers. A Publisher posts new messages to the Topic and notifies Subscribers as illustrated on the following flow chart.

Flow

Messaging pattern

New record

Publisher (Topic)Subscriber (Subscription)
A user creates a new record – the changelog is updated.
The data is converted to:
Topic record
Topic message
Notifies the subscribers that new Topic messages is available.
Requests to receive new Topic messages.
Returns the new message to the subscriber.
Saves the received message as a Subscription message.
Sends feedback to the publisher.
Registers consumed Topic messages.
Creates a Subscription record and process it.

Update record

Publisher (Topic)Subscriber (Subscription)
A user updates a record – the changelog is updated.
The publisher converts the data into a Topic message.
Notifies the subscribers that new Topic messages is available.
Requests to receive new Topic messages.
Returns the new message to the subscriber.
Saves the received message as a Subscription message and process it.
Sends feedback to the publisher.
Registers consumed Topic messages.

Link to Youtube.

1.2 - Terminology

Learn about the different components used in Pryme Intercompany.

Pryme Intercompany makes it easy to transfer data between Business Central companies using Messages. For this purpose, there are three main components:

  • Party
  • Topic
  • Subscriptions

Party

A Party is a Business Central company that exchanges data with other companies using data messages. All companies must agree on a unique party code. This code identifies each company in the system.

Topic

In the publishing company, the data messages are organized in Topics. The topic defines:

  • Which tables and fields are included in the data message.
  • Restrictions or filters that determine which records are made available.
  • When and which subscribers should be notified.

When the publisher detects a new or an updated record, the Topic notifies the subscribers that new data is available to pull from the publisher.

Topic records

When a publisher detects a new record, the data is converted into a Topic record. It describes what kind of data the Topic contains. It does not contain any actual data. It defines:

  • Which tables and fields are included
  • Any filters that limit what data is published
  • Rules or metadata that help Subscribers understand the Topic
  • Who is allowed to subscribe

Topic messages

The Topic message is created when a publisher detects a new or and updated record. It contains the actual data that is sent to the Subscribers when they request new messages.

Topic register

The register keep track how far we are, last created message and if there were any errors on the last run.

Subscription

The Subscription is what allows a subscriber to receive, store, and process data that another company (parties) makes available through Topic messages. The subscription pulls data from the Topic and confirms back to the Publishers what has been received.

Subscription Records

A Subscription Record describes how a Subscriber wants to receive and store data from a Topic. It doesn’t contain any actual data. The Subscription record is created when a new record is received through a Topic message.

It contains:

  • Which party to receive data from
  • The owner of the record
  • Target tables
  • Target fields
  • Mappings from Topic fields (source) → Subscription fields (target)
  • Filters (if any)

Subscription register

The register keep track how far we are, last created message and if there were any errors on the last run.

2 - 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

2.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

The Party represents Business Central companies that exchange data with other companies through messages.

  • All companies must agree on a unique party code. This code identifies each company in the system.
  • Use a clear and scalable naming convention, example: Instead of “UK,” use “UK10,” “UK11,” ….

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

Decide how to manage master data across the group:

  • Will one company provide master data for all?
  • Or will each company manage its own?

If you choose a central provider, pick one company to share master data with the others. Key Considerations:

Tables to transfer:
Decide which tables to share. Ensure all 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.

Restrictions or Filters:
Identify and implement any necessary restrictions, filters, or field-level mappings.

Code Harmonization:
Ensure codes are consistent across companies. Align and update the codes if needed.

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

Pryme intercompany project includes two pre-defined templates for transferring ledger entries. The templates can be used individually or together.

Time entries - Time entries and resources.
Project ledger entries - Time, expenses and item ledger entries.

Before you start setting up the Topics and Subscriptions, decide which transactions you want to transfer, and which templates to use.

Time Entries Template

What it does:

  • Transfers time entries when timesheet is submitted in the performing company.
  • In the “selling company” the project manager can preview, approve and comment the entries until they are posted in the performing company.
  • After posting the time sheet in the performing company, project ledger entries are created in both companies.

Limitations:

  • Only transfers time entries, not expenses or item entries.
  • Entries moved between projects using “Move entries” or entries created in a project journal are not transferred.
  • If you re-open a posted time sheet, the changes are not transferred.

Project Ledger Entries Template

What it does:

  • Transfers posted project ledger entries for time, expense, and item to the project journal.
  • Creates project ledger entries in the selling company.

Limitations:

  • Project managers in the selling company can’t preview time entries before posting.
  • Is not transferring resources.

Combining Templates

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

  • Time Entries → Time and Resources
  • Project Ledger Entries → Expenses and Item Entries

2.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

Pryme Intercompany setup

  1. Select the 🔎 icon, enter Pryme Intercompany Setup, and choose the related link.

My Party code
Set up the Party code for this company

Disable changelog
If you disable the Changelog, changes of records will not be stored in the change log, and no data can be sent from the company.

Log Modify on all fields
If you enable the an entry will be created in the changelog even though the field that is changed is not part of included fields for that Topic Table.

Email notification
If you prefer to be notified when subscription processing fails, add a email adress in Failure Email Notification Recipients. Read more about the setup here.

Exclude dimensions

If your company uses local dimensions (dimensions used only within one company), you can exclude them from intercompany messages.

  1. Select the 🔎 icon, enter Dimensions, and choose the related link.
  2. For any dimension you want to exclude, select Skip for Intercompany (IDM).

Transferring expenses

If you are going to transfer project ledger entries for expenses, you must configure do some setup in the companies receiving the expenses:

This prevents expenses from posting to the general ledger during intercompany updates. The G/L posting will happen later when the Purchase Invoice is posted.

Setup expeses

  1. Select the 🔎 icon, enter Expense Payment Type, and choose the related link.
  2. Create a new expense payment type for Intercompany puropse. Set the Expense Payment Function to Company Paid and the Expense Posting to NONE.
  3. Select the 🔎 icon, enter Project Expenses, and choose the related link.
  4. Create a new Project expense for Intercompany purpose.
  5. Select the 🔎 icon, enter Project Expense Posting Setup, and choose the related link.
  6. Set up all combinations of Expense Code and Expense Payment Type.
  7. Complete the necessary fields. Hover over each field for a short description. Note, you only need to add a Debit account.

2.3 - Step by step

Step by step

Follow a structured approach to configure sending and receiving companies for** transferring projects and time entries**. The process involves setting up parties, topics, and subscriptions.

Below is a step-by-step guide to help you set up everything in the correct order. After the step-by-step guide you have a detailed description of each step.

Working with intercompany, there is one company sending and one company receiving the data. For two-way data transfer, you must set up the same topic and subscription in both companies.

Before you start setting up the Topics and Subscriptions, you must set up the Parties.

Masterdata

Company ACompany B
Choose the 🔎 icon, enter Topics (IDM), and select the related link.
Create a Topic. Message processing type=Generic
Add the Tables you want to transfer
Review and update the table definitions.
Set status to Ready
Restart the company.
Choose the 🔎 icon, enter Subscriptions (IDM), and select the related link.
Create a Subscription for Masterdata.
Review and update the Table definitions.

Templates

Working with intercompany, there is one company sending and one company receiving the data. In the description below these are called:

  • Company A -> Sending projects and receiving resources and time entries
  • Company B -> Receiving projects and sending resources and time entries

Projects

Company ACompany B
Choose the 🔎 icon, enter Topics (IDM), and select the related link.
Create a Topic. Message processing type=Project
Review and update the table definitions.
Set status to Ready.
Restart the company.
Choose the 🔎 icon, enter Subscriptions (IDM), and select the related link.
Create a Subscription for Projects.
Select the Topic for Time entries.
Select if you want to add an Invoice and a Price template on the project.
Review and update the Table definitions.

Time entries

If you want to transfer time entries only, use the Time entries Template. It will transfer Time entries and resources between companies. When a timesheet is submitted in Company B, the entries are available for the project manager in Company A to preview and approve (for informational purposes only).

Company ACompany B
Choose the 🔎 icon, enter Topics (IDM), and select the related link.
Create a Topic. Message processing type=Time Entries
Review and update the table definitions.
Set status to Ready.
Restart the company.
Choose the 🔎 icon, enter Subscriptions (IDM), and select the related link.
Create a Subscription for Time entries.
Select the Topic for Time entries.
Review and update the Table definitions.

Time, expenses and items

If you want to transfer time, expense and items you have two options.

Note that you must update your setup for expenses. You can read more about it here.

Alternative 1 – With approval flow for time entries (information purpose only)

Using this alternative you use two different templates in combination.

  • Time -> Time entries template
  • Expenses and items -> Project ledger entries template.
Company ACompany B
Choose the 🔎 icon, enter Topics (IDM), and select the related link.
Create a Topic. Message processing type=Time Entries
Create a Topic. Message processing type=Project ledger entries
Add a condition in the Type field to include only g/l account and item in the data message.
Review and update the table definitions.
Set status to Ready on both Topics.
Restart the company.
Choose the 🔎 icon, enter Subscriptions (IDM), and select the related link.
Create a Subscription for Time entries.
Select the Topic for Time entries.
Review and update the Table definitions.
Create a Subscription for Project ledger entries.
Select the Topic for Project ledger entries.
Review and update the Table definitions.
Setup Expense payment type, Project expense code and Project expense posting setup. Read more about it here.

Alternative 2 – Without approval flow for time entries

Using this alternative, you use the Project ledger entries template for all transactions.

Company ACompany B
Choose the 🔎 icon, enter Topics (IDM), and select the related link.
Create a Topic. Message processing type=Project ledger entries
Add a condition in the Type field to include only g/l account and item in the data message.
Review and update the table definitions.
Create a Topic. Message processing type=Time Entries
Open the Topic tables
Delete Time entry (PGS) table (14045726).
Set status to Ready on both Topics.
Restart the company.
Choose the 🔎 icon, enter Subscriptions (IDM), and select the related link.
Create a Subscription for Project ledger entries.
Select the Topic for Project ledger entries.
Review and update the Table definitions.
Create a Subscription for Time entries.
Select the Topic for Time entries.
Review and update the Table definitions.
Setup Expense payment type, Project expense code and Project expense posting setup. Read more about it here.

2.4 - Setup Parties

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

A Party is a company in Business Central sharing data with other companies. Each party can send and receive data. All companies involved in data sharing must be set up as a party. Make sure to first setup your own Party code in Pryme Intercompany Setup.

Watch our video how to setup 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).

Parties

Companies in the same environment

  1. Choose the 🔎 icon, enter Parties (IDM), and select the related link.
  2. Code -> The company’s Party code.
  3. Data Transfer Type -> Select In-Database.
  4. Company Name -> Select the company. The name is automatically updated.
  5. Currency code -> If the companies have different local currencies, select the currency code for the Party (company). If they have the same currency, leave the field blank.

Companies in different environments (Azure)

  1. Choose the 🔎 icon, enter Parties (IDM), and select the related link.
  2. Code -> The company’s Party code.
  3. Data Transfer Type -> Select Azure Service Buz.
  4. Name -> Add the Name of the company.
  5. Currency code -> If the companies have different local currencies, select the currency code for the company. If they have the same currency, leave the field blank.

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.

2.5 - Setup 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 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.

In the Pryme Intercompany for Projects app, you have access to pre-configured templates that do not exist in the Pryme Master Data app. Because of this, the setup process for a Topic looks slightly different between the two apps. For this reason, we provide separate instructions for masterdata and templates.

Watch our video how to setup a Topic.

Masterdata

When setting up a Topic for masterdata you have to configure it manually. You add the tables you want to share with other companies, and manually change the table definitions.

Topic card

  1. Choose the 🔎 icon, enter Topics (IDM), and select the related link.
  2. Click on New and the Topic card is opened.
  3. Fill in the fields as necessary. Hover over a field to read a short description.
  4. Some of the most important fields are:
    Message processing type
    Select Generic.
    Subscription type
    Use the field to restrict a Topic to a specific Party or to a Group of Parties.
    Subscription Code
    If the Subscription Type is Party/Group, add the Party or Party group to whom data is published the topic.
    Topic Tables
    Shows how many tables are included in the Topic. You can click on the link to open the Topic tables.
  5. Click on the Topic tables action.

Topic tables

  1. Add the tables you want to transfer.
  2. Fill in the fields as necessary. Hover over a field to read a short description.
  3. Some of the most important fields are:
    Allow On-Demand Publish
    Enables users to manually select which records should be sent to the subscribers, provided the conditions are fulfilled. This field is valid only for tables with special on-demand functionality. Now it is only available Projects.
    Conditions
    Use this field to set filters to restrict if not all the entries should be included in the Topic message.
    Included fields
    Shows the number of fields in the table, and how many of them are included in the Topic message. By default, all fields are included in the data message. If you want to exclude fields, click on the link in the Include fields column.
  4. Go back to the Topic card and Set status to Ready.
  5. Restart the company.

Templates

In Pryme Intercompany for Projects you have pre-configured templates that helps you to create the Topic. You have these templates available:

  • Project
  • Time entries
  • Project ledger entries

Topic card

  1. Choose the 🔎 icon, enter Topics (IDM), and select the related link.
  2. Click on New and the Topic card is opened.
  3. Fill in the fields as necessary. Hover over a field to read a short description.
  4. Some of the most important fields are:
    Message processing type
    Select which template you want to use: Project, Time entries or Project ledger entries
    Subscription type
    Use the field to restrict a Topic to a specific Party or to a Group of Parties.
    Subscription Code
    If the Subscription Type is Party/Group, add the Party or Party group to whom data is published the topic.
    Topic Tables
    Shows how many tables are included in the Topic. You can click on the link to open the Topic tables.
  5. Open the Topic Tables.

Topic tables

When using the pre-configured templates, the tables and fields are already added and configured, but they are easy to change.

  1. If you want to add a table, 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.
  3. Some of the most important fields are:
    Allow On-Demand Publish
    Enables users to manually select which records should be sent to the subscribers, provided the conditions are fulfilled. This field is valid only for tables with special on-demand functionality. Now it is only available Projects.
    Conditions
    Use this field to set filters to restrict if not all the entries should be included in the Topic message.
    Note that if you are transferring Time with the Time entries template and are setting up the Project ledger entries template for expenses and items, you must add a condition to only include type g/l account and Item.
    If you don’t add this condition, you will get duplicate project ledger entries.
    Included fields
    Shows the number of fields in the table, and how many of them are included in the Topic message.
    Click on the link if you want to change the definitions.
  4. Go back to the Topic card and Set status to Ready.
  5. Restart the company.

Template - Project

TableTable Name
167Job
352Default dimension
1001Job task
1002Job task dimension
14045676Permissions PM (PGS)
14045713Budget Entry (PGS)
14045718Milestones (PGS)
14046302Project Team members PGS
14046351Project attribute PGS
14046352Project attribute Value PGS
14046353Project Attr. Value mapping PGS
70230251IC Time Approval Outb. ICPRYME

Template - Time entries

TableTable Name
156Resource
352Default dimension
14045726Time entry (PGS)

Template - Project ledger entries

TableTable Name
169Job ledger entry

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.

2.6 - Setup a Subscription

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 that should pull data from the Topic.

Watch our video how to setup a Subscription.

Masterdata

The subscriptions are setup a bit different depending on if the companies are in the same environment or not.

Same environment

  1. Select the 🔎 icon, enter Subscriptions (IDM), and select the related link.
  2. Select New to create a new Subscription.
  3. General fast tab:
    Party code – Select the code for the sending company.
    Topic – Select the Topic.
  4. Subscription Tables
    The tables that are included in the Topic message.
  5. Use Subscription Fields to modify field-level data processing, mapping, and rules.

Multiple environments using Azure Service Bus

  1. Run the Topic in the sending company.
  2. Go to the receiving company.
  3. Select the 🔎 icon, enter Subscriptions (IDM), and select the related link.
  4. Enter the Party code for the sending company and select the related Topic.
  5. Run the Subscription.
  6. Add the tables under Subscription Tables.
  7. Use Subscription Fields to modify field-level data processing, mapping, and rules.

Subscription tables

When the Subscription header is filled in, the tables from the Topic are automatically populated in the Subscription tables. It’s possible to delete a table you don’t want to import.

Subscription Fields

Subscription fields is the definition of which fields are imported, and it controls how the data is processed. Note that you can’t add a filed in the Subscription that doesn’t exist in the Topic. Some of the most important fields are as follows:

FieldComment
Target field No./NameThe number and name of the field that should be updated in your company. It’s not always one-to-one with the Source No/Name in the Topic.
The fields are colour coded:
Green – The field is imported, no action needed.
Red – The field is imported, an action is needed (check the comment field).
Black – The field is not imported.
Source field No./NameThe number and name of the table in the sending company.
Include fieldThis field is selected if the field is included when running the subscription. This value can be changed.
Skip validationIf this field is selected, the data will not be validated. This means that any data can be imported, even if the field has a related table.
Mapping typeWhen importing a table, it’s possible to change a value in a field on an entry using the Mapping functionality. Mapping must be done if the values in the sending and receiving company are not the same. You can map a field four different ways:
Value – One-to-one mapping.
Filter – Conditional updates based on filters.
Fixed – Assigns a fixed value to all imported transactions.
Currency – Manages local currency conversions. Read more about currencies.
Has mappingIf you have selected a Mapping type, you must add the Mapping parameters. Click on Yes/No to update the parameters.
ValueFrom value -> To value
Add one or several one-to-one mappings. This is useful if you want to update the project managers to different values.
FilterConditional updates based on filters.
FixedAssigns a fixed value on all imported entries. Useful when you map the Bill-to customer to the sending company’s customer number in your company.
CurrencyNo mapping needs to be done.
CommentWhen changing or mapping a field, add a comment to document the changes.

Templates

The subscriptions are setup a bit different depending on if the companies are in the same environment or not. The Subscription looks the same and the example below shows the Project template.

Same environment

  1. Select the 🔎 icon, enter Subscriptions (IDM), and select the related link.
  2. Select New to create a new Subscription.
  3. General fast tab
    Party code – Select the code for the sending company.
    Topic – Select the Topic.
  4. Options fast tab (only visible for the Project template):
    Inv. Setup Template – Select if you want to add an invoice template when creating the project.
    Res. price Template – Select if you want to add a pricing list when creating the project.
  5. Subscription Tables.
    The tables that are included in the Topic message.
  6. Use Subscription Fields to modify field-level data processing, mapping, and rules.

Multiple environment using Azure Service Bus

  1. Run the Topic in the sending company.
  2. Go to the receiving company.
  3. Select the 🔎 icon, enter Subscriptions (IDM), and select the related link.
  4. Enter the Party code for the sending company and select the related Topic.
  5. Run the Subscription.
  6. Options fast tab (only visible for the Project template):
    Inv. Setup template – Defines if you want to add an invoice template on intercompany projects.
    Res. price template - Defines if you want to add a pricing list on intercompany projects
  7. Add the tables under Subscription Tables.
  8. Use Subscription Fields to modify field-level data processing, mapping, and rules.

Subscription tables

When the Subscription header is filled in, the tables from the Topic are automatically populated in the Subscription tables. It’s possible to delete a table you don’t want to import.

Subscription Fields

Subscription fields is the definition of which fields are imported, and it controls how the data is processed. Note that you can’t add a filed in the Subscription that doesn’t exist in the Topic.

Some of the most important fields are as follows:

FieldComment
Target field No./NameThe number and name of the field that should be updated in your company. It’s not always one-to-one with the Source No/Name in the Topic.
The fields are colour coded:
Green – The field is imported, no action needed.
Red – The field is imported, an action is needed (check the comment field).
Black – The field is not imported.
Source field No./NameThe number and name of the table in the sending company.
Include fieldThis field is selected if the field is included when running the subscription. This value can be changed.
Skip validationIf this field is selected, the data will not be validated. This means that any data can be imported, even if the field has a related table.
Mapping typeWhen importing a table, it’s possible to change a value in a field on an entry using the Mapping functionality. Mapping must be done if the values in the sending and receiving company are not the same. You can map a field four different ways:
Value – One-to-one mapping.
Filter – Conditional updates based on filters.
Fixed – Assigns a fixed value to all imported transactions.
Currency – Manages local currency conversions. Read more about currencies.
Has mappingIf you have selected a Mapping type, you must add the Mapping parameters. Click on Yes/No to update the parameters.
ValueFrom value -> To value
Add one or several one-to-one mappings. This is useful if you want to update the project managers to different values.
FilterConditional updates based on filters.
FixedAssigns a fixed value on all imported entries. Useful when you map the Bill-to customer to the sending company’s customer number in your company.
CurrencyNo mapping needs to be done.
CommentWhen changing or mapping a field, add a comment to document the changes.

Review and update table definitions

In Pryme Intercompany Project templates there are fields that needs to be mapped project 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 the companies have different local currencies. Read more about currencies.
2000Sell-to Customer No.FixedIf the customer table is not part of master data, map to the sending company’s customer number.
14045651Resource Invoice TypeValueIf there is a fixed price agreement with the end-customer, but the intercompany agreement is not fixed price you should map to T&M.
14045655Item Invoice TypeValueIf there is a fixed price agreement with the end-customer, but the intercompany agreement is not fixed price you should map to T&M.
14045656Expense Invoice TypeValueIf there is a fixed price agreement with the end-customer, but the intercompany agreement is not fixed price you should map to T&M.
14045674Project Manager PGSVerify if the resource matches the sending company.
14045753Timesheet Currency CodeCurrencyUse Currency if the companies have different local currencies. Read more about currencies.

Job Task (Table 1001 – Job Task)

Target Field NoTarget Field NameMapping ValueComment
14045764Contract Type PGSValueIf there is a fixed price agreement with the end-customer, but the intercompany agreement is not fixed price you should map to T&M.
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.

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. Choose the Update Source Fields action under the Actions action group.
  3. Open the Subscription Card.
  4. Select Subscription Fields under Subscription Tables tab.
  5. Locate the field to add.
  6. In Source Field No, add the Table No (same as Target Field No).

Update Subscription Fields after changing the target table

If field is added to or removed from target table listed under Subscription Tables, you can update the Subscription Fields manually.

  1. Select the 🔎 icon, enter Subscriptions (IDM), and select the related link.
  2. Select the subscription which subscription fields you want to update.
  3. Choose the Update Subscription Fields action.
  4. Open the Subscription Card.
  5. Select Subscription Fields under Subscription Tables tab.
  6. Field is added to or removed from Subscription Fields based on whether it was added to or removed from related target table.

2.7 - Currencies

Learn how to setup currencies when the parties have different LCY

If the parties have different local currencies (LCY) it’s important to have the correct settings in the party, topic and subscription.

Party

Add the currency code that the party have in the General ledger setup.

Topic

Add the fields Invoice currency code and Timesheet currency code in the Job table.

Subscription

  1. Open the Subscription for Project.
  2. Open the the Job table.
  3. Add the fields Invoice currency code and Timesheet currency code in the Job table.
  4. Set the Mapping type = Currency on the fields you just added.
  5. Open the Subscription for Project ledger entries.
  6. Open the Job ledger entry table.
  7. Set the Mapping type = Currency on the field Currency code.

This is how it works

  • 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.  

2.8 - 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 with UI under the Home action group.
  3. If a prompt appears about updating values, always choose the selected answer.

In Background

  1. Choose the 🔎 icon, enter Subscriptions (IDM), and select the related link.
  2. Choose the Subscription to run and select Run Subscription in Background under the Home action group.
  3. When running in background, there will be no prompts or messages, but also no message about errors in processing. The unprocessed messages must be manually checked.

Via 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.

2.9 - 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.

2.10 - Subscriptions email notifications

Learn about the email notifications for the subscriptions.

When a subscription processing fails email notification can be sent to inform the certain persons about it.

To set up email notifications

You must set up email as described in Set up email.

There is email scenario Subscription Notification to which you can assign specific email account if you prefer to send email notifications through it.

Email notifications settings

On the Pryme Intercompany Setup page, under the Email Notifications FastTab, In the field Failure Email Notification Recipients, you can specify who you want to receive email notifications when there is subscription which processing failed.

On the Pryme Intercompany Setup page use the Schedule Email Notifications action if you want automatically to create a job queue entry for sending email notifications for subscriptions.

Sending email notifications

Email notifications when there is subscription which processing failed are sent via job queue entry which you can schedule as described in Email notifications settings.

3 - Process

Learn about the processes in Pryme Intercompany

3.1 - Run Topics and Subscriptions

Learn about how to run Topics and Subscriptions

Once the Topic and Subscription are setup, data transfer can be done manually or automatically using Job queues.

Run Topics

On the Topic card you have a setting, Schedule run on changelog, that determines if the Topic runs automatically. If disabled, you must either run the Topic manually or setup a job queue to run the Topic (recommended).

Manually

  1. Choose the 🔎 icon, enter Topics (IDM), and select the related link.
  2. Go to Actions –> Run Topic.

Job Queue

  1. Choose the 🔎 icon, enter Topics (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.
  4. Set Status to Ready.

Run Subscriptions

When you are setting up the Intercompany app, you normally run the Subscriptions manually. In the production environment we recommend to setup a Job queue.

Manually

  1. Choose the 🔎 icon, enter Subscriptions (IDM), and select the related link.
  2. Choose the Subscription to run action and select Run Subscription in Background.

Job Queue

  1. Choose the 🔎 icon, enter Subscriptions (IDM), and select the related link.
  2. Go to Job Queue –> 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.

3.2 - Transfer all entries in a table

Learn about how to publish data manually.

The intercompany apps transfer new and updated entries. To ensure consistency across all subscribing companies, you can 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.

Watch our video about publishing data manually.

3.3 - Projects

Learn about how to transfer project in Pryme Intercompany Project

An intercompany project is created the same way as any other project. The project is only transferred when the companies to which the project should be sent are selected, even if the topic publishes to all companies.

Steps to Send a Project to Another Company:

  1. Choose the 🔎 icon, enter Project list, and select the related link.
  2. Select the project to send. Navigate to Send to company under the Action tab.
  3. Select the companies to which the project should be transferred.
  4. Unmarking a company will stop updates to that company but will not delete the project.

Troubleshooting Missing Companies in the List:

  1. Verify the receiving company is set up as a Party.
  2. Confirm the Topic allows projects for that party.
  3. Update the Subscription (IDM) in the receiving company.

If Allowed On-Demand Publish is set to FALSE on the Topic, all projects will transfer automatically without selection.

3.4 - Time and expenses

Learn about how to transfer time and expenses in Pryme Intercompany Project

You have two templates for transferring time: Time entries and Project ledger entries. These can be used separately or in combination. If you use them in combination, time entries are transferred with Time entries, and expenses and item entries with Project ledger entries.

Time Entries

When submitting a time sheet in the performing company, time entries are transferred to the External time entries table in the subscribing company. This table is for informational purposes only. All changes to entries must be made in the performing company.

Viewing External Time Entries:

  1. Navigate to Project list -> Related -> IDM -> External Time Entries.
  2. Navigate to Project Plan -> External time (Not posted) column.
  3. Search for External Time Entries. This option allows viewing all external time entries for projects where the user is the project manager or responsible person.
  4. Project executives can view all transactions across all projects (with filtering options to restrict the view).

If the Approval status or Comment fields are updated in the External time entries, this information is transferred back to the performing company. The information is visible in the regular Approval flow.

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

Project ledger entries

This feature can transfer time, expense, and item entries. The entries are added to a project or job journal and can automatically when the subscription is run, or posted manually in the journal.

There is no approval process for these entries, unlike the time entries template.

4 - Design Details

Intercompany (Master) Data Management enables Business Central Companies to share data. Data is serialized to Messages and organized in Topics by the Publisher. The Subscriber can then setup Subscriptions on the Topics thereby receive the data.

This section will cover the underlying thoughts and architecture behind IDM.

Messaging pattern

Data is transferred between Companies in so called Messages. A Message that is made available in a Topic by a Publisher is referred to as a Topic Message and a Message that has been received by a Subscriber is known as a Subscription Message.

IDM has been built with inspiration from the Publish-Subscribe pattern as well as the Client-Server pattern making it a hybrid that benefits from strengths in both models. The main sequence for new data to be published is as follows.

  1. User changes some data.
  2. Data change is registered by Publisher.
  3. Publisher serializes changed data into Messages.
  4. Publisher notifies Subscriber about new Messages.
  5. Subscriber requests new Messages from Publisher.
  6. Publisher returns new Messages to Subscriber.
  7. Subscriber saves each received Message.
  8. Subscriber registers information about consumed Messages with Publisher.
  9. Subscriber deserializes and processes each Message.

The above flow is illustrated in the following sequence diagram. Messaging Pattern

The main sequence is a hybrid of Publish-Subscribe and Client-Server and the following table lists key features from each model which have been implemented in the general Messaging Pattern.

PatternHighlights
Publish-Subscribe
  • Publisher serializes data to Messages without direct data transfer.
  • Publisher organizes Messages in Topics.
  • A Topic can have multiple Subscribers.
  • Publisher immediately notifies Subscribers.
  • Subscribers registers Message consumption with Publisher.
Client-Server
  • Messages are transferred by request of Subscriber.
  • Data serialization and Message Processing is aligned between Topic and Subscription.
  • Publisher has knowledge about each Subscriber.
  • Publisher and Topic is kept within the same System.
  • A Publisher can only post Messages to its own Topic.

Publish-Subscribe

Messages are organized in Topics that are made available to multiple Subscribers. A Publisher posts new messages to the Topic and notifies Subscribers as illustrated on the following flow chart.

Publish-Subscribe

This allows for a decoupling between publishing new data and consumption, where Subscribers will receive the new data. Data is serialized and stored as Topic Messages before notifying Subscribers which has the following benefits.

  • Messages can quickly be returned to Subscribers when needed as no further processing is required.
  • Messages can be marked to only be published to a subset of Subscribers.

Each Topic can have multiple Subscribers and the Publisher does not necessarily need to know each Subscriber beforehand.

Client-Server

Data is only transferred when Subscribers requests new Messages from Publisher as shown the below illustration.

Client-Server

In this way the Subscriber can decide when data transfer should take place. The Topic is placed in the Publisher system to allow for the Topic to contain full information about the communications protocol which is managed by the Message Broker.

Message Broker

Functionality in IDM is grouped into the following three main areas.

AreaDescription
Data SerializationConvert data to and from text.
Data TransferNotify Subscriber and transfer Message.
Message ProcessingParse and map Message to data.

IDM has been implemented with extensibility in mind and functions involving these three areas are placed in Codeunit Message Broker IDMYME. In this way it is possible to use any of the predefined interfaces as well as have a partner implement new ones to fit your specific needs while still making use of the overall IDM framework. Each implementation consists of a number of explicitly required functions defined by the AL interface as well as implicitly required Subscriber functions which allows for additional features and differentiations to be implemented with fallback to default functions.

The following sections will describe each of the three interfaces in detail.

Data Serialization

In Business Central data is stored as records in tables and can not be directly transferred to other Companies. Therefore when data is saved as Messages by the Publisher it is first serialized to text and when Messages are processed by the Subscriber it is deserialized back from text to data.

Serialization can be performed in a number of ways and the key point is that serialization and deserialization should be done in more or less the same way when both Publisher and Subscriber is a Business Central Company. IDM therefore provides an interface for Serialization that can both be defined on Topic and Subscription to ensure consistency during integration.

The technical name for the Data Serialization interface is IData Serialization IDMYME and the following table outlines it from a programming point of view.

FunctionTypeAreaDescription
Serialize()InterfaceSerializationInvoked when data is serialized.
Deserialize()InterfaceSerializationInvoked when data is deserialized.

IDM comes with a default Json Serialization but the Data Serialization interface can be extended to match your specific needs.

Data Transfer

In IDM, Data Transfer consists of three areas:

AreaDescription
NotificationPublisher sends notification to Subscriber that new Messages have been published.
Topic MetadataSubscriber receives Topic Metadata from Publisher to understand the Message context.
MessageSubscriber receives Topic Messages from Publisher and saves it as Subscription Messages.

In all three areas, both Publisher and Subscriber must request and respond accordingly to ensure consistency. To help this along Data Transfer has been implemented in a single interface, IData Transfer IDMYME, that is defined on Parties (IDM) in by both Publisher and Subscriber.

and the following table outlines it from a programming point of view.

FunctionTypeAreaDescription
NotifySubscriber()InterfaceNotificationInvoked when a Publisher notifies a Subscriber about new Messages.
FindTopics()InterfaceTopic MetadataInvoked when Subscriber lists Topics from a Publisher.
FindICParties()InterfaceTopic MetadataInvoked when Subscriber lists Parties (IDM) from a Publisher.
RequestNewMessages()InterfaceMessageInvoked when a Subscriber requests new Messages from a Publisher.
RegisterConsumedMessages()InterfaceMessageInvoked when a Subscriber registers Message Consumption with a Publisher.
GetTopicTables()InterfaceTopic MetadataInvoked when a Subscriber lists Topic Tables from a Publisher.

Message Processing

Each Subscription Message is processed by the Subscriber and the default behaviour is to map tables and fields more or less 1:1 resulting in data from Publisher being replicated to Subscriber. However, you might require some specific Message Processing where underlying data or procedures are taking into use and to support this the Message Processing interface has been provided.

The technical name for the Message Processing interface is IMessage Processing IDMYME and the following table outlines it from a programming point of view.

FunctionTypeAreaDescription
ProcessMessage()InterfaceMessage ProcessingInvoked when Message Processing is triggered.
OnInitSubscriptionTables()SubscriberSubscription MetadataFunction OnInitSubscriptionTables in Codeunit Message Broker IDMYME is invoked whenever a Subscription initiates a Subscription Table from Topic Table metadata received from the Publisher. This function is optional and the default initiation will be used if an interface does not implement this function.
OnInitTargetField2SourceField()SubscriberSubscription MetadataFunction OnInitTargetField2SourceField in Codeunit Message Broker IDMYME is invoked whenever a Subscription Field is initiated from a Source Field. This function is optional and the default initiation will be used if an interface does not implement this function.

Enum Message Processing Type

The Role of the Publisher

A Publisher is a Party where a Topic has been created in the its company. The Publisher posts data to a Topic and notifies Subscribers about new Messages. When Subscribers requests new Messages then it is the Publisher that responds to those requests and returns new Topic Messages to Subscribers as well as Topic Metadata.

Topic

Published data is organized in Topics which have the following key features.

FeatureDescription
Data contentTables and Fields to be included is defined on each Topic.
Subscription FilterTopic can be defined to only allow Subscription from some Subscribers.
Message FilterTopic Messages can be filtered to only be available to some Subscribers.
MetadataTopic can provide Metadata to Subscribers to ease the process of setting up new Subscriptions.
Message QueuePublished data is saved as Topic Messages to allow for immediate delivery upon demand where it is returned to Subscribers is chronological order.
NotificationInformation about notification sent to Subscribers is stored in Topic Register.

The Role of the Subscriber

A Party where a Subscription has been created in its company is considered as being a Subscriber. The Subscriber requests new Messages from a Topic at a Publisher and each Message is then saved and later on processed. When receipt is completed then the Subscriber register receipt of Messages back to the Publisher.

Subscription

When a Subscriber wishes to receive data from a Topic a Subscription is created meaning there is a direct correlation between a Topic from a Publisher and a Subscription. Subscription has the following key features.

FeatureDescription
TopicSubscription contains information about Publisher and Topic.
Target dataTarget Tables and -Fields is defined on each Subscription with a mapping from the Topics data content which is referred to as Source Tables and -Fields.
Message QueueReceived data is saved as Subscription Messages to allow for asynchronous Message Processing in chronological order.
ConsumptionInformation about last Message received from Publisher is stored in Subscription Register.

4.1 - Topology

Learn about different configuration of multiple companies in multiple environments

Single environment

Hub and spoke

flowchart TB
    Contoso --> Fabricam
    Contoso --> Northwind
    Contoso --> ProseWare

Mesh

flowchart LR
    Contoso <--> Fabricam
    Contoso --> Northwind 
    Fabricam --> ProseWare   
    Northwind <--> ProseWare
    Northwind --> Fabricam
    Contoso --> ProseWare
flowchart TB
    Contoso --Chart of Accounts--> Fabricam
    ProseWare --Items--> Northwind 
    Contoso --Chart of Accounts--> Northwind     
    Fabricam --Items--> ProseWare       
    Northwind --Resources--> ProseWare    
    Northwind --Resources--> Fabricam    
    Contoso --Chart of Accounts--> ProseWare    
    ProseWare --Items--> Contoso 

Multiple Environments

flowchart TB
    subgraph BC_Env_US
        direction LR
        Contoso 
        Fabricam
    end
    subgraph BC_Env_GB
        direction LR
        Northwind 
        ProseWare
    end
    ASB[(Azure Service Bus)]    
    Contoso<-->ASB
    Fabricam<-->ASB
    Northwind<-->ASB
    ProseWare<-->ASB

6 - Pryme Intercompany Release Notes

12.0 (February 2026)

Required BC version: 27.0

Application enhancements in 12.0

Transfer additional project tables

In Pryme Intercompany Projects app, as part of template for projects, now you can transfer data in tables related to Milestones, Project Team Members, Budget Entries and Project Attributes.

Transfer the extended description

Transferring of field “Extended Description” is now supported for time entry and project ledger entry records.

NOTE: If you already have subscriptions that are related to topic which is using template for time entries or project ledger entries (field “Message Processing Type” of topic has value Time Entry or Project Ledger Entries), you will need to update subscription tables as described in Update Subscription Fields after changing the target table.

Email notifications from subscriptions

When you prefer to be notified when subscription processing fails, now you can set up receiving of email notification for subscriptions in these situations. Learn more

Fixes and minor adjustments in 12.0

  • #170 Subscription Fields should show field that is added to target table afterwards
  • #153 Added read-only permission sets Read (IDM) and IC Projects Read ICPYME
  • #156 Task dimensions are sent when a project is not selected

11.2 (January 2026)

Application enhancements in 11.2

Run subscription in background

With a new page action “Run Subscription in Background” on subscription pages, you are now able to start a background process that runs the subscription the same way as when running via a Job Queue. Learn More

Fixes and minor adjustments in 11.2

  • #139 Parallel subscriptions is not working
  • #143 Incorrect error message when selecting an additional company in Send to Company page

10.1 (September 2025)

Fixes and minor adjustments in 10.1

  • #145 Permission adjustment sending projects
  • #131 Permissions for IC time approval

3.0 (June 2024)

Application enhancements in 3.0

External time approval

When external time entries are received, someone in the receiving company must review the entries before final approval in the performing company. An approval status and comment can be set on the external time entry. This will then be transferred back to the original time entry, so the approver of that time entry will know if the time entry can be approved or needs changes.

Fixes and minor adjustments

  • #118 Let the user if you have not filled in the options in Project ledger Entries subscription
  • #123 Error when you send a project without having the admin permission set

2.7 (May 2024)

Application enhancements in 2.7

Automatic currency mapping

When sending records between companies with different currencies, the system can automatically map the local currency codes.

The mapping type Currency can be used on subscription fields related to currency. The system will then automatically map a blank currency code to the local currency code of the sending party. Records with a currency code matching that of the receiving party will be mapped to blank.

The field “Currency Code” on each party must be defined as well as the “LCY Code” on the general ledger setup.

Fixes and minor adjustments in 2.7

  • #101 Time sheet currency code is not used when creating the PLE

2.6 (April 2024)

Application enhancements in 2.6

Easier creation of parties

The Parties page have been restructured. When creating a new party, the system will suggest a name based on the company name.

A new field “My Party Code” have been added to the Pryme Intercompany Setup page. This field is used to set the default party code for the company. The party code is used to identify the company in intercompany transactions.

Conditions for sending records

Previously, the conditions on a topic limited which records were sent to the receiving company when using the “Create Messages” action.

Now the conditions always control which records are sent. If a record has passed the conditions and thus have been sent, it will always be sent in the future even if it no longer passes the conditions. This is needed to support scenarios like conditions based on a status field that is updated after the record is sent.

Easy update of subscription fields

When fields are added to a subscription, the corresponding topics will often need to have the fields added as well. Previously it was not obvious how to do that.

A new action “Update Subscription Field” have been added to the Subscriptions page, the Subscription page and the Subscription Tables page. This action will add the fields to the topics.

Transfer project ledger entries (PREVIEW)

Project Ledger Entries can now be transferred between companies. A topic set up with “Project Ledger Entries processing type will transfer the entries to the company where the project originated. The entries are either automatically posted or created as journal lines for manual review and posting.

Conditions can be set up to control which entries are transferred, like only expense or items. By default, the entries are transferred with the price becoming the cost.

Note that the Time Entries process will still post project ledger entries to the receiving company. So if the Time Entries process is used, the Project Ledger Entries process should not be used for resource entries. In a future version there will be an option to not post external time entries to the project ledger.

This is a preview feature and to be tested in a sandbox environment. Please contact support if you want to use it in a production environment.

Fixes and minor adjustments in 2.6

  • External time entries now use the quantity to invoice as the quantity to post. This aligns better with the final IC invoicing.
  • Fixed price tasks are now converted to chargeable T&M tasks in the receiving company.
  • The External Time Entries page now filters the entries based on project permissions.
  • The “Send to Company” action have been added to the Project Card and Project Plan.
  • #96 Recreating a subscription with a default fixed mapping fails
  • #98 Lookup in subscription mapping to wrong table
  • #106 You need ADMIN IDMYME to send a project through intercompany

2.5 (February 2024)

Application enhancements in 2.5

Manage subscriptions in a single card

Subscriptions can now be managed from a single card showing both general settings and the included tables. This makes it easier to see the status of a subscription and to manage the subscription. Special options for different proccessing methods are also managed on the card. The card is available from the Subscriptions page.

Apply a price template to new IC projects

When a new intercompany project is created, a price template can be applied to the project. This makes it easier to ensure that the project is set up correctly from the start. The price template is selected on the Subscription Card page.

Apply an invoice setup template to new IC projects

When a new intercompany project is created, an invoice setup template can be applied to the project. This makes it easier to ensure that the project is set up correctly from the start. The invoice setup template is selected on the Subscription Card page.

More consistent mapping of fields with better performance

The mapping of fields between the sending and receiving companies is now more consistent and has better performance. The default mapping type in subscriptions is now “None”. This relieves the system from unnecessary checking if a mapping exists and makes it easier to understand the mapping. A new mapping type “Fixed” has been added. This is used when the field is always the same receiving companies independent of the value in the sending company. Effectively this can replace the use of mapping with filter from * to a value, but will perform better.

Fixes and minor adjustments in 2.5

  • #68 Include “Timesheet PGS” for Resource and also way set as false.
  • #85 Default retention policy in new installations set to 2 months.

2.4 (January 2024)

Application enhancements in 2.4

Subscription progress

The progress of a manual subscription run is now shown from the Subscriptions page. This makes it easier to see the progress of a run and to identify any errors.

External time entries in project plan

External time entries that are not yet approved and posted should be visible to the PM directly without the need to open the list of external time entries. A column in the project plan “External Time (Not Posted)” that specifies the total amount of time on external time entries that are not yet approved and posted has been added.

Fixes and minor adjustments in 2.4

  • #62 Problem with dimensions on tasks
  • #63 Tasks received via IC can have too many dimensions
  • #64 New customer in sending company stops the subscription in the receiving company
  • #53 Topics - Auto Init Subscriptions doesn’t work
  • #55 External Time Entries - Filter setting is not correct in view Not Posted
  • #76 Time entries on Fixed price becomes chargeable when running subscription
  • #81 Copying a company with Azure Service Bus active can deactivate Azure Service Bus
  • #66 Special permissions are needed to allow logging changes to the Changelog table

2.3 (November 2023)

Application enhancements in 2.3

The list of data content fields now allows searching. This makes it easier to find fields in long lists.

Fixes and minor adjustments in 2.3

  • #34 Filter is not working correctly in Topics
  • #35 General fit-n-finish. Included Fields in subscription tables is renamed to Subscription Fields. Source Data Content in subscription tables is renamed to Source Fields.

2.2 (September 2023)

Application enhancements in 2.2

Skip dimensions for intercompany data

Specific dimensions can be omitted for intercompany data. This is done by setting the Skip for Intercompany (IDM) field on the Dimensions page.

Control re-publishing of intercompany data

When publishing records tables that are also in subscriptions, there is a risk that a received record is published again. This can lead to loops. To avoid this, the new default is that received records are not published again. This can be overridden using the “Allow Republishing” field on the Topic Tables page.

Fixes and minor adjustments in 2.2

  • #28 Can not open Topics wizard from IDM role center

2.1.1 (September 2023)

Fixes and minor adjustments in 2.1.1

  • #6 All dimensions are included for Projects, Tasks and Resources [Intercompany Project only]
  • Table relations are shown for subscription fields
  • Option in Changelog Setup IDM to only log modification when tracked fields are changed. Experimental

2.1 (August 2023)

Application enhancements in 2.1

Intercompany Project app

New app with predefined processing for intercompany projects and time.

Fixes and minor adjustments in 2.1

  • Preview posting breaks when a topic table is modified during posting.

7 -