Dynamics 365 Business Central – Message “There is nothing to post because the journal does not contain a quantity or amount” when posting a Recurring General Journal

Introduction

When attempting to post a recurring general journal you receive the message “There is nothing to post because the journal does not contain a quantity or amount” even though you have specified the General Ledger codes and the amounts and everything appears fine.

This is a common query that crops up, and also something I see from time to time in the forums, so I thought I’d write it up for reference and to hopefully help anyone else who receives this message.

The Recurring General Journal

Below is a recurring general journal. I’ve populated all the required fields however when I try and post it I get the message below:

The Solution

The reason I’m getting this message is because of the unique way in which a recurring general journal works. In a Recurring General Journal the “Posting Date” is compared to the “Work Date” and if the posting date is greater than the work date you receive this message.

I’ll therefore compare the Posting Date on my journal to my Work Date, and as you can see the Posting Date is in advance of my Work Date:

Therefore, in my case, the solution is to change the user date to a date of 01/01/23 (or a date in advance of 01/01/23) and try again:

After doing this my journal will now post 🙂

Conclusion

As far as I’m aware, this is the only journal that behaves this way. For example, I can post a General Journal and the system won’t check the Work Date against the Posting Date.

I suspect the primary reason for this behaviour is to prevent a user mistakenly posting a recurring general journal numerous times, as by default the lines remain on a recurring general journal after you have posted it, and the posting date automatically advances based on the “Recurring Frequency”. (i.e. if the recurring frequently in 1M the Posting Date changes by one month).

Therefore you could post the journal once and then post it again by accident. Having the system perform this simple check prevents this.

Thanks for reading!

Dynamics 365 Business Central – Walking through an Adjust Exchange Rates (revaluation) scenario in Business Central

Introduction

Recently I helped someone in the Business Central forum with a query on revaluing their bank accounts using the “Adjust Exchange Rate” batch job.

We went back and forth for a while, trying various things, however in the end it was resolved by providing a simple worked example of the whole process that the user could compare to their process.

Therefore I thought it might be useful to write this up for anyone else who may have similar issues and want to see the whole process in action. (and as a bonus I can also use it as a reference point in future 🙂 )

** For info the original forum post can be found here

The Scenario

In this scenario my local currency (LCY) is GBP and I have a EURO bank account with several transactions that I wish to revalue at month end using a rate of 1.5.

Step 1 – The initial transactions

To prepare for the revaluation I need some transactions on the EURO bank account. Therefore, I’ve posted the three entries below using different exchange rates.

The transactions total €600 with a LCY amount of £516.

Step 2 – Set the month end rate

Next, I set the month end rate of 1.5 in the Currency Exchange Rate page. This is the rate I want to revalue the bank account ledger entries at the end of month.

** For more info on how to set exchange rates, and what each field in this page means, I wrote this blog post.

Step 3 – Run the “Adjust Exchange Rate” batch job

Finally, I run the “Adjust Exchange Rate” batch job with a posting date of 30/11/22 and added a few additional filters to revalue the bank account ledger entries.

Step 4 – The Results

The system should create an adjustment of £116. This is because the bank account ledger entries total €600, which when revalued at the new rate of 1.5, equal an LCY amount of £400, and the current LCY amount is £516. Therefore an adjustment of £116 is required.

If we look at the General Ledger entries the Exchange Rate Adjustment has created, we can see this is exactly what has happened.

The system has also created a bank account ledger entry to record the exchange adjustment

Conclusion

The “Adjust Exchange Rate” batch job is an essential tool for companies that post transactions in foreign currencies and wish to revalue their customers, vendors and bank accounts.

However, one limitation to the routine is the inability to revalue an individual GL code, which some companies may find an issue, especially if migrating from Dynamics GP which has this functionality as standard. This is because only the LCY amount is held on the General Ledger Entries. (as well as the reporting currency which is something a little different)

Hopefully this functionality will be added in a later version of Business Central :).

Thanks for reading!

Dynamics 365 Business Central – Making sense of the Currency Exchange Rates Page when setting Exchange Rates

Introduction

Coming from a Dynamics GP background I initially found the exchange rate setup in Dynamics 365 Business Central a little confusing. In Dynamics GP you set an exchange rate, and then configure whether you wish the system to divide or multiple the foreign currency amount by that rate, to get the local currency amount, and that’s it.

However, in Dynamics 365 Business Central things are a little different. In this post I’ll walk through the key fields in the Currency Exchange Rates page to explain how you can set Exchange Rates in Dynamics 365 Business Central.

** This post only goes through setting Exchange Rates for Documents. It doesn’t touch on the Exchange Adjustment side of things.

Currency Setup

To access the “Currency Exchange Rate” page you must first go to the “Currencies” page, highlight the currency in question, and then drill down on the “Exchange Rate”. Alternatively from the “Currencies” page you can highlight the currency and click “Process > Exch. Rates” as per below.

This should then open the “Currency Exchange Rates” window which is shown below:

As I mentioned previously this window looks a little confusing to me? It appears there’s more than one place to enter a rate for the same currency? There’s also no option to specify if you wish to divide or multiply the currency at a given rate? (which is something I’m used to). So where do you enter the rate exactly?

Making sense of it all

I’ve found the key fields in this window are the “Exchange Rate Amount” and the “Relational Exch. Rate Amount”.

The “Exchange Rate Amount” is the rate to use for the “Currency Code” selected on the line, and the “Relational Exch. Rate Amount” relates to the rate to use for the “Relational Currency Code”. (generally its left blank so its the local currency – see further below for an example where this isn’t the case)

This can be further explained in the image below

Therefore using the Currency Exchange Rates window shown above, as we have 1.0 in the Relational Exch. Rate Amount (GBP) and 1.3 in the Exchange Rate Amount (EUR) this means 1.3 Euros is equal to 1 GBP. (The “Exchange Rate Amount” is acting as the exchange rate)

Hence entering a transaction for €200.00 would equate to £153.85 (i.e. 200 / 1.3 = 153.85)

I could also flip this by entering 1.0 in the “Exchange Rate Amount” and 0.76923 in the “Relational Exch. Rate Amount” as per below:

This now means the “Relational Exch. Rate Amount” is acting as the Exchange Rate.

In this example €1 (Exchange Rate Amount) is equal to £0.76923 (Relational Exch. Rate Amount). Therefore entering a transaction for €200.00 would also equate to £153.85 (i.e. 200 * 0.76923)

Both would work exactly the same its just a slightly different configuration.

** I would tend to use the divide method as the rates make more sense in this scenario.

Bonus – Adding a Relational Currency Code

I’ve never come across a situation where the “Relational Currency Code” is anything other than blank (i.e. the local currency) however now we know how the relationships work let’s test this out.

I’ve therefore changed the Currency Exchange Rates page for EUR to include USD as the Relational Currency Code as per below

And the USD rate is below:

Therefore if I were to raise a €200 Invoice the GBP will be calculated as follows:

Step 1 Euros to USD :- €200 / 1.3 = $153.8462

Step 2 USD to GBP :- $153.8462 / 1.39 = £110.68

To confirm I added an Invoice in Business Central and below is the statistics page confirming our calculations

Conclusion

Although confusing at first (at least to me) understanding how the Exchange Rates are picked up and used is fairly straight forward. Its also flexible offering various options for how to calculate exchange rates.

Thanks for reading!