Official Date in NAV


can anyone help me to understand the reason of this block of code which is in the function FinishCodeUnit() of the CodeUnit 12?

IF (GLEntry.“Posting Date” < FiscalYearStartDate) OR
(GenJnlLine.“Closing Balance Sheet” = TRUE) THEN
GLEntry.“Official Date” := WORKDATE
GLEntry.“Official Date” := GLEntry.“Posting Date”;

I am not able to understand why only in the case of the closing/opening fiscal year entries the Official Date must be “Posting Date”…

Thank you for attention.


Hi Erme,

First of all, I think it is part of the localizing.
I don’t see that code (or field in table 17) in the DK-version (4.0SP3 & 5.0).

Second of all, i believe that it is the other way around.
If the posting date used, is before the starting date of current Fiscal Year (I assume that is what is stored in the variable FiscalYearStartDate), or it is a closing of Income Statement, then WORKDATE is used, otherwise Posting Date is used.

My best guess is that we want (for auditorial purposes?) to be able to see when exactly an entry of those types are created.
When it comes to “ordinary” entries, we don’t care so we use Posting Date.

Hi Sander,

I want to explai my problem: a customer has done the income/balance closing for the year 2006 on 10 february 2007, in the tables 17 and 12144 (GL Entry and GL Book Entry), because of the code that I say, the Official Date is posted as 10/02/07, but the Posting date is C31/12/06. The problem is that if I print the “G/L Book - Print” I don’t have that the total amount for February is zero because of this difference of dates.

I think that the two dates, Posting and Official, have to be always the same, but I would be sure that this is right.

Thank you.


In the Italian forum there are several threads about this subject. You may do a search there.

This one should answer most of your doubts