by Nicholas Jackson, TrinSoft Senior Dynamics Consultant
TrinSoft exists to “provide value to organizations by using technology to solve business challenges…” This series of blog posts details some of the many customizations (often called extensions) TrinSoft has made to Business Central to fit our clients’ needs, solving simple and complex business challenges.
Problem Statement
Dynamics 365 Business Central (BC) uses dimensions to classify and categorize transactions. This is a different approach than the more common account segment method, but it yields a far better user experience, allowing for quick additions of dimensions and robust reporting on these transactions.
However, an issue can arise when a given transaction needs to be spread across many dimensions. (The same issue could occur if using account segments as well.) For example, an organization may have a single utilities invoice, but want to distribute it across 8 different departments, as they all share the same building. This would require 8 separate lines in a purchase invoice, one for each department, and would require the user to do the math to properly allocate the expense across departments according to a predefined set of ratios, requiring precious time be spent on remedial data entry.
TrinSoft’s Solution
TrinSoft solved this client’s business challenge by writing an extension called “Dimension Allocation” which automatically allocates certain predefined ratios of an expense across multiple dimension values. Here’s how it works:
The extension creates a page called “Dimension Allocation Templates” which allows the users to set multiple predefined allocations (e.g. “Utilities” or “Rent”).

From there, the user can select “Dimension Lines” which will let the user determine what percentage of a given transaction will go to which dimensions.

In this example, 20% of the expense will go to administration and production, but sales uses much more square footage, so they will receive 60% of the expense.
Once the allocations have been setup, the user can select them on the purchase invoice line to determine which allocation to use.

In the sample screenshot, this would be the same as having 3 lines for Rent Expense, one to admin for $200, one to production for $200, and one to sales for $600. However, because of the extension, only one line is needed. Multiple dimension allocations can be used on the same invoice since the allocations happen at a line level. Also, just because one line on an invoice has a dimension allocation doesn’t mean all lines on the invoice have to have one, giving the user the ultimate flexibility.
Once the user has filled out the lines and associated allocations, the invoice is ready to post, just like a normal invoice.
Here are the G/L entries that resulted from the invoice posting:

There is one line for AP, and that is expected, as the dimension allocation only applies to the expenses listed on the lines. However, there are a few more lines than expected.
The way the extension works is quite simple. The extension lets the invoice post as normal but posts it to 2 clearing dimensions. (Like clearing accounts, clearing dimensions are temporary placeholders that should not contain long-term values.) Then, after the invoice posts normally, the extension backs out the values posted to the clearing dimension and allocates them to the proper dimensions as defined by the template. It may be misleading to see the additional lines, but if you take the net of the transactions, there is 1 entry to AP, and 3 entries to Rent Expense as defined by the dimension allocation template.
Another benefit of this design is the built-in safeguard in case something errors when posting the correction. If an error occurs, the original invoice still posts successfully, but the dimension amounts are stored in the clearing dimensions, allowing for manual adjustment.
This extension provides many more features, including support for both global dimensions as well as general journal integration. Ultimately, this extension greatly reduced the data entry time for our client, allowing them to spend time on more important tasks.
Are you a current Business Central user who would like this extension? Have another business challenge you would like TrinSoft to help solve? Give us a call today for a free consultation!