Business Central 28 introduces DateFormula-based posting period fields that automatically calculate your allowed posting range. Here's what changed, how it works alongside the existing fields, and what the code actually does.
The Problem
Everyone Knows
If you've
worked with Business Central for any length of time, you know the drill. Every
month (or every period close), someone has to go into General Ledger Setup and
manually update the Allow Posting From and Allow Posting To date fields. Same
thing on the User Setup page for individual users who need different posting
windows.
Miss it, and
users can't post. Update it late, and someone might accidentally post into a
closed period. It's a small administrative task, but it adds up, and it's
surprisingly easy to forget.
What's New in BC28
With
Business Central 2026 Release Wave 1 (BC28), Microsoft has added two new fields
to both the General Ledger Setup table (Table 98) and the User Setup table:
| New Field | Field No. | Type | What It Does |
|---|---|---|---|
| Allow Posting From DateFormula | 205 | DateFormula | Calculates the start of the allowed posting range dynamically |
| Allow Posting To DateFormula | 206 | DateFormula | Calculates the end of the allowed posting range dynamically |
These fields
use the standard DateFormula data type, the same one you see in payment terms,
lead time calculations, and other places across Business Central. The system
takes the work date, applies your formula, and determines the allowed posting
window automatically.
No more
monthly manual updates. Set the formula once, and the posting window moves
forward on its own.
The Key
Rule: DateFormula and Date Fields Are Mutually Exclusive
This is the
most important thing to understand about this feature. You can use either the
static Date fields or the new DateFormula fields, but not both at the same
time. The code enforces this automatically.
How the
mutual exclusivity works
If you set a
DateFormula value, the system automatically clears the corresponding static
Date field (sets it to 0D). And if you set a static Date value, the system
automatically clears the corresponding DateFormula field (evaluates it to an
empty string).
When you
enter a DateFormula (say <-CM>), the trigger checks if the formula is not
empty. If it has a value that clears the static date field to blank. Then it validates the date
range.
Same thing
in reverse. When you enter a specific date (say 03/01/2026), the trigger checks
if the new date is not blank. If it has a value, it clears the DateFormula
field by evaluating it to an empty string. Clean and simple.
The same
pattern applies to the "Allow Posting To" (Field 3) and "Allow
Posting To DateFormula" (Field 206) pair. The logic is identical.
Bottom line:
You don't need to worry about conflicts between the old and new fields. The
system handles it. Fill in one, and the other gets cleared automatically. They
can coexist on the same page, but only one of each pair will hold a value at
any given time.
Practical
Example: Setting It Up
Scenario: Monthly Posting Window
Your company
wants users to only post within the current month. Previously, you'd set Allow
Posting From = 03/01/2026 and Allow Posting To = 03/31/2026 in General Ledger
Setup, then remember to change both fields when April starts.
| Field | Value | Meaning |
|---|---|---|
| Allow Posting From DateFormula | <-CM> | Beginning of the current month |
| Allow Posting To DateFormula | <CM> | End of the current month |
With today's
date being March 13, 2026, the system calculates:
Allow
Posting From = March 1, 2026 (CalcDate of <-CM> from today)
Allow
Posting To = March 31, 2026 (CalcDate of <CM> from today)
When April
starts, the window automatically becomes April 1 through April 30. No one needs
to touch it.
What Happens
When You Post Outside the Range?
The error
behavior is exactly the same as before. Whether the posting range comes from a
static date or a calculated DateFormula, if the posting date on your document
falls outside that range, you get the familiar error.
Error
"Posting Date is not within your range of allowed posting dates ...."
Note: Same fields available on User Setup.