Skip to main content

FAQ: How Periods Work with XAVI Formulas (Including Custom Fiscal Calendars)

ExtendInsights FRE | Learn how XAVI resolves accounting periods from dates, text, or Internal IDs, including how to handle custom fiscal calendars (4-4-5, 4-5-4, etc.).

📋 TL;DR

  • XAVI period arguments accept an Excel date, text like Jan 2025, or your period name.

  • Point all period arguments at a single year cell and use DATE($B$1, month, 1) so you only change one cell to roll to a new year.

  • To fill a whole row of periods, build the first date from your year cell, then drag =EDATE(prev, 1) across — a custom mmm-yyyy number format displays each cell as Jan-2025.

  • If your company uses a custom fiscal calendar (4-4-5, 4-5-4, etc.), use period names as dates, and month names won't resolve correctly.

  • Get your period names fast via Bulk Add Periods and GL in the CloudExtend Excel add-in.


Overview

Every XAVI formula that returns financial data, such as XAVI.BALANCE and XAVI.TYPEBALANCE, requires a period argument to tell NetSuite the dates to report on.

The correct period format depends on your NetSuite accounting calendar. Most organizations can use Excel dates or month labels, while organizations with custom fiscal calendars should use NetSuite period names.

This article explains how XAVI resolves that period, what input formats are accepted, and how to handle custom fiscal calendars where periods don't align to calendar months.


How XAVI resolves a period from a date

When you enter a date in a period argument, XAVI does not filter for transactions on that single day.

Instead, it determines which accounting period that date falls in and uses NetSuite's period definition, including the period's actual start and end dates, when it runs the query.


Supported Period Input Formats

XAVI accepts several period formats, allowing you to build reports using Excel dates, period labels, or NetSuite period identifiers.

You can type any of the following directly into a formula, or reference a cell that contains the value:

Month and Period Labels

Month labels are flexible. XAVI automatically normalizes them to the MMM YYYY format before sending them to NetSuite.

ℹ️ Use a space, not punctuation, between month and year

Input Format

Examples

Abbreviated month + year

Jan 2025, Feb 2026

Full month name

January 2025

Two-digit year

Jan 25Jan 2025

Underscore or space

Jan_2025, Jan 2025

Hyphen

Jan-2025Jan 2025

Note: If your company uses a custom fiscal calendar (4-4-5, 4-5-4, 5-4-4, etc.), these month labels may not correspond to your accounting periods. In that case, use your NetSuite period names instead.

Excel Date Values

XAVI accepts either Excel dates or Excel date serials.

Input

Example

Resolves to

Calendar date

1/15/2025, 06/01/2026

Dates are automatically resolved to the accounting period containing that date.

Excel serial

45658

2025-01-01Jan 2025

46174

2026-06-01Jun 2026

Rule: Integers ≥ 10,000 that map to a date in 1990–2100 are Excel serials, not posting IDs.

Sample Report uses this when the month headers are =DATE($E$3, COLUMN()-…, 1).

Period Names

If your NetSuite periods use custom names, pass the period name directly.

Examples:

  • P01 2025

  • PY 01 2025

  • ADJ 2025

This is the recommended format for organizations using custom fiscal calendars.

💡 Tip: The most reliable input format is your period name. You can find your period names using Bulk Add GL and Periods in the app.

Period Ranges

Both fromPeriod and toPeriod accept any supported format.

Example

Result

Jan 2025Mar 2025

Jan 2025 to Mar 2025

Sums all periods in the range

20242025

2024 to 2025

Full-year range

101103

101 to 103

Posting ID range

Same from & to

Single component only

For Balance Sheet formulas, toPeriod is optional. If omitted, XAVI treats fromPeriod as the "as of" period.

Unsupported Formats

These inputs return #N/A.

Input

Reason

394, 112, 101

Period internal Ids not supported

"394"

Period internal Ids not supported

P2 FY2025

Not a recognized pattern

Q1 2025

Quarters not parsed

Period 13 Adjustments

Custom period names

2025-03

yyyy-MM not supported (use Mar 2025 or a date serial)

not a period

Unrecognized text

Empty fromPeriod on P&L

Required for Income/Expense accounts


NetSuite period name alignment

The period label XAVI sends to NetSuite must match your NetSuite accounting calendar. If your period names differ from standard English Month YYYY format, use the exact period name from NetSuite.

Adjustment periods: Pass the period name as a quoted string.

For example, if the adjustment period name is PY 01 2025 and you need the balance for 4100:

=XAVI.BALANCE("4100", "PY 01 2025", "PY 01 2025")


Driving an entire sheet from a single year cell

Instead of editing every formula when you roll to a new year, point all your period arguments at one input cell.

Explicit months

Keep the year in $B$1 and build full dates with Excel's DATE function:

  • =DATE($B$1, 1, 1) → January

  • =DATE($B$1, 3, 1) → March

  • Any day within the month resolves to the correct period. Using the first day of each month keeps things predictable.

Change the value in $B$1 and all dependent formulas update automatically on the next calculation to the new year.

⚠️ Non-calendar periods: If your accounting periods do not align with calendar months, the quick-start reports (CFO Flash and Income Statement) may not display correctly. Replace the date arguments with your actual period names from NetSuite. You can get a list of your periods using Bulk Add GL and Periods in the app.


Auto-filling new periods with a draggable formula

If your report needs a row or column of consecutive periods, you don't have to type each one. Build the first period from your year cell, then drag one formula to generate the rest. Because each cell contains a real Excel date, XAVI resolves it to the correct accounting period — and a custom number format makes the cells display just like your period names.

Step 1: Anchor the year in one cell

Enter the reporting year in a single input cell, for example B1 = 2025. This is the only cell you'll change when you roll the report to a new year.

Step 2: Build the starting period from the year cell

In your first period header cell (for example C3), enter:

=DATE($B$1, 1, 1)

This returns January 1 of the year in B1. If your fiscal year starts in a different month, change the month number — for example =DATE($B$1, 7, 1) for a July start.

Step 3: Drag to populate the remaining periods

In the next cell (for example D3), enter:

=EDATE(C3, 1)

EDATE adds one month to the previous cell's date. Because the reference is relative, you can drag this formula across (or down) as far as you need — each cell automatically advances one period.

Step 4: Format the dates to display like period names

The cells now contain dates like 1/1/2025. To make them display like your period names, apply a custom number format:

  1. Select the period header cells.

  2. Open Format Cells (Ctrl+1 on Windows, Cmd+1 on Mac).

  3. On the Number tab, choose Custom.

  4. In the Type box, enter mmm-yyyy and click OK.

The result:

Cell

Formula

Underlying value

Displays as

C3

=DATE($B$1, 1, 1)

1/1/2025

Jan-2025

D3

=EDATE(C3, 1)

2/1/2025

Feb-2025

E3

=EDATE(D3, 1)

3/1/2025

Mar-2025

ℹ️ Format changes the display, not the value. With mmm-yyyy applied, the cell shows Jan-2025 but still contains the real date 1/1/2025. XAVI reads the underlying date and resolves it to the accounting period that contains it, so your XAVI formulas can point directly at these header cells.

To roll the entire report forward a year, change B1 to 2026 — every period header and every XAVI formula referencing it updates on the next calculation.

⚠️ Custom fiscal calendars: This technique assumes your accounting periods align to calendar months. If you use a 4-4-5, 4-5-4, or other custom period structure, a date like Jan-2025 resolves to whichever period contains that date, which may not be the period you expect. In that case, use your NetSuite period names from your Periods reference sheet instead (see below).


Using Custom Fiscal Calendars and Period Names

Many organizations use custom fiscal calendars — such as 4-4-5, 4-5-4, 5-4-4, or other period structures — where accounting periods do not align to calendar month boundaries. Period names like P01 2025 or P03 2024 cannot be resolved from a date alone because the start and end of each period are unique to your company's configuration in NetSuite.

For users on custom period structures, the recommended approach is to reference the period name of each accounting period directly in your XAVI formulas. This section explains what period names are, how to find them, and how to structure your Excel workbook so that names drive your XAVI formulas while your headers display clean, human-readable period names.

What is a period name?

Every accounting period in NetSuite is assigned a unique period name when it is created. When you automatically generate accounting periods, the period names are fairly easy to understand, i.e., they are Jan 2026, Feb 2026, etc.

When you pass a period name to an XAVI formula, NetSuite returns data for exactly that period, regardless of how the period name is formatted or whether its dates cross month boundaries.

Here is a sample mapping from a custom accounting period structure:

Period Name

Start Date

End Date

Quarter

P09 2025

Aug 27, 2025

Sep 30, 2025

Q3 2025

P10 2025

Oct 1, 2025

Oct 28, 2025

Q4 2025

P11 2025

Oct 29, 2025

Nov 25, 2025

Q4 2025

P12 2025

Nov 26, 2025

Dec 30, 2025

Q4 2025

ADJ 2025

Dec 31, 2025

Dec 31, 2025

Note: The dates shown are illustrative examples. Your own period start and end dates will differ based on your specific NetSuite configuration.


How to find your period names

There are two ways to find your NetSuite accounting period names.

Option 1: NetSuite UI

  1. In NetSuite, go to Setup > Accounting > Manage Accounting Periods.

Option 2: Bulk Add Periods and GL (Recommended)

The Bulk Add Periods and GL feature in CloudExtend Excel generates a structured export of all your accounting periods, including period names, start dates, and end dates. This is the fastest way to capture a complete, accurate mapping for use in your XAVI workbooks.

  1. Open the CloudExtend Excel add-in and navigate to the Bulk Add Periods and GL panel.

  2. Run the period export for the fiscal years you want to report on.

  3. The exported sheet includes the Internal ID, period name, start date, end date, and parent quarter for each period, ready to reference in your report workbook.

💡 Tip: Keep the exported period mapping on a dedicated reference sheet (for example, named Periods) within your workbook. You can then use VLOOKUP or XLOOKUP to pull the correct period name into any reporting sheet automatically.

Did this answer your question?