Dynamics 365 Project Operations: Transaction Categories and Expense Categories

Tested on:
Project Operations solution version (UR 3), CE+F&O integrated deployment

Transaction Categories and Expense Categories have an important role in the setup of Dynamics 365 Project Operations. They’re used in all deployment options. In the CE only “lite” deployment they work exactly as they did in Project Service Automation. An integrated CE+F&O deployment adds additional depth especially to Transaction Categories as in F&O there’s a correlation between transaction categories, shared categories, and project categories – something people from the world of PSA are not familiar with.

Before you read on, I want to emphasize that this post covers creating Transactions Categories and Expense Categories in CE and F&O in an integrated deployment. There’s a fair amount of additional setup needed for features that leverage Transaction Categories and Expense Categories, expense entries being an example. If you’re setting up ProjOps for testing or demo purposes I recommend using demo data as that will get you started with an integrated deployment that has the relevant settings and parameters defined and set up.

Terminology is also something that can use a short clarification. As a lot of the functionality is more that a single word in length, it’s easier to shorted them as follows:

CE = Customer Engagement
F&O = Finance & Operations
TC = Transaction Category
SC = Shared Category
PC = Project Category
EC = Expense Category
PMA = Project management and accounting

Transaction and Expense Categories in ProjOps

Transaction and Expense Categories are seen on both the CE and F&O sides in ProjOps. Let’s examine what Transaction Categories and Expense Categories actually are. They can be easy to mix up.

Transaction Categories

Transaction Categories are a superset for Expense Categories. They represent the basic grouping for project transactions and are not company or transaction type-specific. TCs are used in F&O as a superset for Shared Categories and Project Categories. In CE, an Actual with a Transaction Class of Expense has a TC. They’re also used in CE in Price Lists for category prices and for Expense Estimates on projects. On top of all this, they are a valid option as a pricing dimension in multidimensional pricing. To learn more about TCs, read the docs article named Configure project categories and transaction categories.

Transaction Category on a Cost Price List in CE.
Transaction Categories on Actuals in CE.
Transaction Categories on a project’s Expense Estimates in CE.

Expense Categories

Expense Categories describe the type of expense incurred. For example hotels, flights, mileage, and meals are common Expense Categories. ECs are used in quick expenses in CE and in rich expenses in F&O. To learn more about ECs, read the docs article name Setting up expense categories.

Expense Category on a quick expense in CE.
Expense Category on the new, redesigned rich expense feature in F&O.

Creating new Transaction and Expense Categories

In the ProjOps integrated deployment, Transaction Categories flow from CE to F&O while Expense Categories flow from F&O to CE. When a TC is created in CE, a matching TC is created in F&O. In addition, four Shared Categories are also created in F&O for Hours, Expense, Fees, and Item. You can read more about Shared Categories here. If you’re setting up CE+F&O for expense entries, you should first create all relevant Transaction Categories.

After Transaction Categories are created, the next step is to create Project Categories in F&O. They need to be created for each company. When a Project Category is created, an Expense Category is also created in F&O and CE. You can read more about Project Categories here. Next, let’s see in detail how both TCs and ECs are created in CE and F&O.

Creating a new Transaction Category

Transaction Categories are created in CE. When a new TC is created it is synced to F&O with Dual Write and the resulting Category ID is synced back to CE. In this example, a new TC called Engineering Transaction Category is created.

Creating a new Transaction Category in CE.
Created Transaction Category with a Category ID.

In F&O, the created Transaction Category can be found under Project management and accounting -> Categories -> Transaction categories. Shared Categories and Project Categories can both be found under the Project management and accounting module while Expense Categories are found under the Expense management module.

Accessing Transaction Categories in F&O.

When a Transaction Category is created in F&O, four Shared Categories for Hours, Expense, Fees, and Item are also created.

Created Transaction Category in F&O.
Created Shared Categories in F&O.

Before the new Transaction Category can be leveraged in expenses, the Shared Category for Expense has to be enabled for use in expenses. This is done by selecting Can be used in Expenses to Yes and by then selecting an applicable Expense type. Subcategories are optional and for this example, none are added.

Enabling a Shared Category for expenses.

Creating a new Expense Category

After a Shared Category is created, it’s time to create a Project Category. Category group and Default payment method are mandatory. The docs site has a brief description of category groups here. There are quite a few additional parameters that can be set up but for the sake of breviry, I’m not covering those in this blog post.

Creating a Project Category.

When a Project Category is created, an Expense Category also gets created in F&O and CE. As the sync direction is from F&O to CE, the created Expense Category is read-only on the CE side.

Expense Category from created Project Category in F&O.
Expense Category in CE based on Expense Category in F&O.

Renaming Expense Categories

In this example, the name of the created Project Category was Engineering Expense. When the PC gets synced to CE, the name of the resulting Expense Category doesn’t match the PC that is in F&O. This is because Dual Write actually syncs the COSTTYPE [COSTTYPE] field from F&O to the Name (msdyn_name) field in CE. That results in the name of the Expense Category being pretty ugly on the CE side. In this example, it’s TCN-0000001015-T5F8V-Expense. Such a name isn’t obvious to users when they’re creating expense reports.

DW map Project Operations integration project expense categories export entity is used to sync Expense Categories to CE.

As the out-of-the-box DW map is read-only, a copy of the existing map has to be created. This can be done by clicking on Save as on the ribbon of the DW map. To sync the Category name of the Project Category and Expense Category to CE, the new DW map has to be set to sync the COSTTXT [COSTTXT] field from F&O to CE.

New DW map to sync the Category name from F&O to Name is CE.

When the new DW map is running, changing the Category name of the created Project Category will change the name of the Expense Category in F&O and CE.

Changing the name of the created Project Category in F&O.
Change to Category name in F&O is synced to Name in CE.
All my blog posts reflect my personal opinions and findings unless otherwise stated.