# Fiscal Periods _(Realtime-enabled)_

`GET` _(Table: Accounting Period)_

```
eOne/core/v1.0/fiscalPeriods
```

Read-only financial calendar. Use it so reporting groups by the company's fiscal periods and fiscal years rather than calendar months, which is the difference between a correct year-to-date figure and a coincidental one for any company whose year does not start in January.

> **Caution:** This endpoint is **read-only**. No POST, PATCH, or DELETE. Accounting periods are created in Business Central by the Create Fiscal Year process, which does more than insert rows.

## Why the derived columns exist

Business Central stores the calendar sparsely. An Accounting Period row holds a starting date, a name and a `New Fiscal Year` flag, and nothing else — a period's **end** and the **year it belongs to** are implied by the rows around it rather than recorded.

That leaves every consumer re-deriving the same two facts, and getting the year boundaries wrong in its own way. So this endpoint derives them once:

| Column | Derived as |
| --- | --- |
| `endingDate` | The day before the next period starts |
| `fiscalYearStartingDate` | The most recent `newFiscalYear` period at or before this one |
| `fiscalYearEndingDate` | The day before the next fiscal year begins |
| `fiscalYear` | The calendar year `fiscalYearStartingDate` falls in |
| `periodNumber` | The period's ordinal within its fiscal year, from 1 |

`fiscalYear` is the year the fiscal year **starts** in. For a year running July 2026 to June 2027 every period returns `2026`, including the ones whose own dates fall in 2027. That is the convention most reporting expects, and stating it here is cheaper than each consumer discovering it.

## Blank end dates are real

The last period of the last declared fiscal year has no successor, so its `endingDate` is blank, and so is the `fiscalYearEndingDate` of that year. This is not missing data — it means nobody has run Create Fiscal Year that far ahead yet. Treat a blank end date as "open-ended", not as an error, and expect it to fill in when the next year is created.

Periods that predate the first `newFiscalYear` row return `0` for `fiscalYear` and blanks for the year boundaries, for the same reason: there is no fiscal year to attribute them to.

## Building a date dimension

The usual shape is to join a date table to this feed on `startingDate <= date <= endingDate`, which gives each transaction date its period name, period number, fiscal year and year boundaries. `closed` tells you whether that year has been closed in Business Central, which is the right filter for "should this period still be moving".

## Fiscal Periods fields

## Fiscal Periods fields

_API column → BC field._

**Legend**

- _(req)_ required on create
- _(res)_ resolver
- _(cur)_ currency-translated
- _(ro)_ read-only
- _(ext)_ added to this endpoint by another extension (BC field name shown; its API column name is not known here)

| API | BC field | Notes |
| --- | --- | --- |
| `id` | SystemId | The Business Central record id of the accounting period. _(ro)_ |
| `bcCompanyId` | bcCompanyId | The company this row belongs to - the same GUID that appears in the request URL. Present on every endpoint so a store pooling several companies can keep them apart without relying on which URL it called. _(ro)_ |
| `bcCompanyName` | bcCompanyName | The name of the company this row belongs to. _(ro)_ |
| `startingDate` | Starting Date | The first date of the period. This is the accounting period's primary key in Business Central. _(ro)_ |
| `endingDate` | endingDate | The last date of the period, derived as the day before the next period starts. Blank on the final declared period, which has no successor to bound it. _(ro)_ |
| `name` | Name | The period's name as entered in Business Central, typically the month. _(ro)_ |
| `fiscalYear` | fiscalYear | The calendar year the fiscal year STARTS in, derived from the most recent New Fiscal Year period at or before this one. For a fiscal year running July 2026 to June 2027 every period returns 2026, including the ones falling in 2027. _(ro)_ |
| `fiscalYearStartingDate` | fiscalYearStartingDate | The first date of the fiscal year this period belongs to. _(ro)_ |
| `fiscalYearEndingDate` | fiscalYearEndingDate | The last date of the fiscal year this period belongs to, derived as the day before the next fiscal year begins. Blank while no later fiscal year has been created. _(ro)_ |
| `periodNumber` | periodNumber | The period's ordinal within its fiscal year, starting at 1. Useful for aligning periods across years when a fiscal calendar does not have twelve of them. _(ro)_ |
| `newFiscalYear` | New Fiscal Year | True when this period is the first of a fiscal year. _(ro)_ |
| `closed` | Closed | True once the fiscal year containing this period has been closed. _(ro)_ |
| `dateLocked` | Date Locked | True when the period's starting date can no longer be changed, which Business Central sets once the year is closed. _(ro)_ |
| `lastModifiedDateTime` | SystemModifiedAt | The last date and time the accounting period was modified. _(ro)_ |
