Dynamics GP Vs Dynamics 365 Business Central – Where is the General Ledger Journal Entry Number in Business Central?

Introduction

When you post a transaction in a subsidiary module in Dynamics GP, a journal is created in the General Ledger to record the transaction in the chart of accounts. The journal has its own unique journal number that groups all the distributions related to that transaction together and is stored in the GL table on all the lines.

Being a long time Dynamics GP user, when I started using Business Central, on posting a transaction I looked for the equivalent journal number in the G/L Entries, but couldn’t find it? Yes, there are G/L entries created, but I couldn’t find what I classed as a unique journal number that binds these together just like the Dynamics GP journal number.

In this post I’ll walk through what I regard as the closest equivalent to the Dynamics GP journal number in Business Central.

Dynamics GP – Journal Number

When you post a transaction in a subsidiary module in Dynamics GP, like a Sales Invoice for example, this is recorded in the General Ledger as a Journal Entry.

For example when I post the Sales Invoice below its recorded in the General Ledger using a unique Journal Entry number. The same journal number is stored on all the lines of the journal.

And here’s the Journal Entry recording the transaction in the General Ledger. The journal entry number is stored on all the distribution lines.

Therefore when posting one transaction in Dynamics GP, you get one Journal Entry with a unique number grouping all the distributions relating to that transaction in the General Ledger.

** Please note things like the originating document number and customer number are also transferred and stored in the GL table in Dynamics GP just like Business Central.

Dynamics 365 Business Central – G/L Entries

Going back to the example of a Sales Invoice, when you post a Sales Invoice in Business Central a series of Entries are created including G/L Entries.

Therefore if I were to post the Sales Invoice below

I’d get the following G/L Entries.

As you can see each line has a unique “Entry No.”. There is no obvious unique number from a GL point of view that groups all these lines together. (You can group them together using the “Document Number” but this is the Sales Invoice document number. There is no GL specific unique reference that groups these together in the G/L Entries table.)

Up steps the G/L Register

Although not obvious at first, whenever you post any transaction in Business Central, along with all the various entries that are created, a G/L Register is also created.

The G/L Register has its own unique number and encompasses all the entries that have been created by posting the transaction. It does this by holding the “From Entry No.” and the “To Entry No.”

Below is the G/L Register that was created by posting the Sales Invoice above

As you can see this has a unique GL reference. This is the “No.” column.

Therefore this is what I regard as Business Centrals equivalent to Dynamic GPs journal number.

Conclusion

Once I’d grasped this concept of entries and registers, I felt I had a greater understanding of the posting flow in Business Central.

Thanks for reading!

** Please note there is also a “Transaction No.” field stored on the G/L Entries which appears unique however I’ve found you can post one document number which can generate more than one “Transaction No.”. I blogged about this here

Dynamics 365 Business Central – Why didn’t the Reverse Transaction function in the General Ledger Entries page reverse all my General Journal?

Introduction

A client reported that when reversing a large journal via the “Reverse” option in the “General Ledger Entries” page only part of their original General Journal was reversed?

This stumped me and forced me to dig deeper into how the journal was posted. On investigation it seems the journal lines on the journal had been grouped, and each group has been given a different “Transaction No.” in the G/L Entry table. Then, when the reversal option had been selected, only those lines with the same “Transaction No” had reversed.

Its the first time I’ve come across this behaviour in one distinct journal, so in this post I’ll demonstrate how this happened and the correct way this should have been reversed. (i.e. I’d expect this for different document numbers but not the same document number)

The Journal

The clients journal contained many lines however I can recreate the scenario with a much simpler journal.

Below is a journal with five lines. All the lines have the same Posting Date and Document number and the journal balances to nil. This is essentially one journal which we want to post as one unit.

I’ll now post the journal and go and view this in the General Ledger Entries page. I filter on the document number and I can see the full journal. This is great and just what I expect 🙂

The Reversal

I now realise I’ve made a mistake and want to reverse the whole journal. Therefore, while still in the General Ledger Entries page, I select the top line and choose “Process > Reverse Transaction” from the menu however it only gives me the option to reverse a portion of the journal? (the first three lines of the original journal)

So what has happened here? Why is the system not offering to Reverse all the entries on this Document Number?

The Transaction No. column

As shown on the screen shot above it seems the “Reverse Transaction” option pulls back the G/L Entries based on a “Transaction No.”?

I’ve never seen this column before, and when I try and add this via personalisation to the “General Ledger Entries” page, its not an available column?

I’ll therefore dig deeper and look at this document number directly in the the G/L Entry table, and there I can see the journal has been grouped and each group has been given a separate “Transaction No.”

So now the question is why has a journal with the same Posting Date and Document Number been broken up and given two separate “Transaction No.”?

The answer lies in how I posted the journal. If I look back at my original journal I’d inadvertently balanced the journal in two sections.

It seems even though the journal lines have the same posting date, and more importantly the same document number, the system gave these a different “Transaction No” based on how its balanced part way through.

Finally, it seems the “Reverse Transaction” function pulls back the entries based on this “Transaction No.” which causes a complication if I wanted to reverse the whole Document Number.

Quickly Reverse all Entries

So how do I reverse all the lines?

In my example its quick and easy as the journal is small. I could stay in the “General Ledger Entries” page and select one of the first three lines, and click “Reverse Transaction” and then select the fourth line and use the same “Reverse Transaction” option. However what happens if the journal contained many lines that had been grouped into lots of different “Transaction No.”?

In this scenario you can reverse via the G/L Registers page.

As the G/L Register contains all the G/L entries in my journal I just click click “Reverse > Reverse Register” as per below

This gives me all the G/L Entries in my journal that I can then reverse.


Conclusion

It was great investigating and finding out more about how Business Central works in the background. In some ways you could argue this behaviour is advantageous, as you have the opportunity to only reverse part of one huge journal.

My biggest takeaway from this is when reversing an entry via the “Reverse Transaction” in the “General Ledger Entries” page ensure all the expected lines are being reversed.

Also, if you do want to reverse all the journal lines consider using the “Reverse Register” function on the “G/L Register” page rather than “Reverse Transaction”.

Thanks for reading!

Dynamics 365 Business Central – Method and explanation to assist troubleshooting the message “The Posting Date is not within your range of allowed posting dates”

Introduction

When posting Purchase Invoices you can sometimes encounter the error “The Posting Date is not within your range of allowed posting dates” even though the Posting Date on the Invoice is within your allowed range.

In this post I’ll briefly explain a method you can use to find out which Posting Date the system is trying to post into and also why you are getting this message.

** Please note I’ve also written about this here but cover more things in this post 🙂

The Error

A common scenario is you are happily posting a Purchase Invoice that is matched to a Posted Purchase Receipt when you receive the error below:

The first thing to do is check if the Posting Date of the Purchase Invoice does indeed fall within your allowed posting range. You can check your allow posting date range via “User Setup” and compare this to the Posting Date on the document.

As you can see the Posting Date of the document (05/03/21) falls within my allowed posting dates (01/03/21 – 31/03/21) so what’s the issue? Why is the system saying this posting falls outside my allowed range?

The Troubleshooting Method

Before we try and understand why this is happening its a good idea to figure out which date the system is trying to post into. I do this by following the method below:

1) Blank out your posting range in the “User Setup”.

2) Rather than posting the document select to “Preview” the postings as per below. (if you did choose to post the document it would work so be sure to only Preview)

3) If you then drill down on the G/L Entries this will show you the Posting Date the system is trying to use which is outside of your range:

So, now we know the system is trying to post a portion of the GL entries to the date 20/02/21, which falls outside my range of Posting Dates, and this is why I’m receiving the error message. However, before we go changing our allowed posting dates and posting the document, let’s look into why the system is posting back to this date.

A Little background

Before we get into why this happens its useful to have some background on this example. In this example the Sales and Purchasing process followed the following steps:

1) The Item was purchase receipted at a cost of £15.00 on the 10/02/21.

2) The Item was sold on a Sales Invoice on the 20/02/21.

3) The Purchase Receipt is being Purchase Invoiced on the 05/03/21 but the cost changed from £15.00 to £17.00 on the Item.

The key point here is point 3. The costs of the Item have changed from when they were purchase receipted (point 1) and subsequently sold (point 2). When this happens a key piece of functionality called “Adjust Costs – Item Entries” makes adjustment postings but more on that later.

Digging deeper

In Business Central when posting a Purchase Invoice that involves Items you are essentially creating two separate postings (registers). This is standard behaviour to support the “Automatic Cost Posting” feature. (more on that here)

One posting is for the purchases side of the transaction, which includes the Account Payable G/L code, and the other is for the Inventory. If you take a look at the G/L entries window you can see these defined in groups by the “Source Code”. The PURCHASES source code is the entries related to purchases such as the Account Payables G/L code and the INVPTCOST is for the Inventory postings.

In our example one of the INVPTCOST set of postings is causing an issue. For some reason this has been back dated to the 20/02/21. So why have these entries been created?

Adjust Costs – Item Entries

These entries have been created by the “Adjust Cost – Item Entries” batch job that runs when you post the Purchase Invoice (assuming you have “Automatic Cost Adjustment” set to Always).

As the costs have changed from £15.00 on the Purchase Receipt (point 1) to £17.00 on the Purchase Invoice (point 3) adjustments need to be made as the Item was sold at a cost of £15.00 (point 2). Therefore the Cost of Goods Sold and Inventory postings need adjusting to the new Cost.

Choosing the Posting Date for the Adjustment

So why has the system selected the date of 20/02/21 for these postings?

The system determines the earliest date for Inventory adjustments based on the Allowed Posting Dates in the General Ledger Setup. (and also Inventory Periods if they are in use. You can read more about how the Posting Date is selected when Inventory Periods are involved via this Microsoft article.)

Therefore if we check our General Ledger Setup the Allowed Posting Dates are as follows:

In this configuration the earliest date we can post an adjustment is the 01/02/21.

In our scenario the Inventory we need to adjust on the Sales Invoice has a posting date of 20/02/21. Looking at our General Ledger Posting Setup we allow postings to this date so system creates adjustments with a posting date of 20/02/21 and as a consequence of this we receive the error “The Posting Date is not within your range of allowed posting dates” as our User Setup only allows postings between 01/03/12 and 31/03/21.

The Fix

Now we know why this is happening, and how the date is selected, we can choose to fix this by either adjusting our User Setup to allow posting in February or change the General Ledger Setup.

In my scenario I’ve changed the General Ledger Setup to only allow postings from 01/03/21 through to 31/03/21 which matches my User Setup. So now the earliest posting date that can be used for the Inventory Adjustment is 01/03/21.

If I now preview postings you can see the system will make the adjustment on the 01/03/21.

I will now be able to post this transaction as the Posting Dates on all entries are within my Allowed Posting Dates.

Conclusion

This error crops up a lot when people sell items prior to Purchase Invoicing them and costs change. Hopefully this article will help explain why this is happening and how you can troubleshoot it.

Thanks for reading!