I had a user report the error “Amount must be positive in Gen. Journal Line Journal Template Name=’PURCHASES’…..” when posting a Purchase Journal and although the solution is straight forward (the error is telling us the problem) it started a fascinating learning journey into the world of journals in Business Central.
The Beginning – The Error
To confirm the error in full I’ve provided a screen shot below:
A journal line similar to the one being entered, which was causing the error is below. (its a purchase invoice for £100.00)
The simple fix here is to change the “Amount” column to a positive value but why do we have to do that?
The Middle – A Deep dive
If we step back and take a closer look at the journal line we are trying to post we can see the following:
- The journal line has a “Document Type” of “Invoice”
- The “Account Type” is “G/L Account”
- The “Amount” is a negative value.
- The Balancing Account Type is “Vendor”.
So, based on this information what are we telling the system to post?
As the “Amount” is negative we are asking the system to “Credit” the G/L expense code, and as the balancing entry is “Vendor” we are asking the system to debit payables and create a positive “Vendor Ledger Entry”. However, if we think about things, this isn’t the expected entries for a Purchase Invoice. For an purchase invoice you’d expect to Debit the G\L Expense code, Credit the “Vendor” and create a negative “Vendor Ledger Entry”. Therefore when we attempt to post the above transaction Business Central produces the error:
“Amount must be positive in Gen. Journal Line Journal…..“
In essence the error is saying:
“In order to post a Document Type of Invoice for this Purchase Journal Template you need to Debit the G/L Code 30100. Therefore the Amount should be Positive”
So, what happens if we post the same journal line but the opposite way around? What happens if we leave the “Document Type” of “Invoice” but select “Account Type” of “Vendor” first, leave the “Amount” as a negative value, and have the “G/L Account” as the balancing entry like this:
When I attempt to post this it works fine, even though the “Amount” is still negative?
This is because I’m now asking the system to Credit the Vendor (and create a negative “Vendor Ledger Entry”) and Debit the G/L Account 30100 which are valid entries for a document type of “Invoice”.
Penny dropped! I now understand how the journals are working!
The End – More Fun with Journals
Taking this further, have you ever wondered how you can post a Sales Invoice from a Purchase Journal? (or just about any transaction from any Journal) Well if we apply the logic above we can see how this will work just fine.
Take this Sales Invoice I’ve entered in the Purchase Journal page as an example:
Here I’ve selected a “Document Type” of “Invoice” and an “Account Type” of “Customer” and my Bal. Account Type is my G/L revenue code. I’ve then entered a positive number in the “Amount” column. (as this is a Purchase Journal the “Amount” had defaulted to a negative value after choosing “Invoice”) If I post this journal line the system will Debit my receivables, create a positive “Customer Ledger Entry” and the balancing G/L code will be credited. It will therefore work just fine.
The Extras – Lets get a bit technical
How is all this working? Every Page in Dynamics 365 Business Central is based on a table. If you run the “Page Inspector” on the Journal pages you can see they are all based on the “Gen. Journal Line (81)” table. (just press CTRL+ALT+F1 on any page to see the Page Inspector)
This is essentially why we can perform the same actions in all the different Journal pages. For example we can post a Sales Invoice in Purchase Journal or even more bizarre post a Sales Invoice in a Payment Journal. (try it…trust me it works!)
The only difference is that some pages, like the Payment Journal page, have specific actions related to paying vendors like the “Suggested Payments” action.
I must admit this some of this information might be obvious to a seasoned Dynamics NAV or Dynamics 365 Business Central professional however coming from a Dynamics GP background this was a really important learning experience for me.
Now I’ve grasped these concepts I’m much more comfortable working with journals.
Thanks for reading!