Fiscal
Fiscal provides a simple interface to calculate the calendar dates for fiscal years and quarters. Fiscal has no dependencies and also offers a browser build (see fiscal.min.js
).
Usage
const Fiscal = require('fiscal');
const fiscal = new Fiscal(9);
fiscal.getFiscalInfoForDate().fiscalYear
API
Fiscal can give you information using the current date or one you specify.
Instantiation
Before you start using Fiscal, you need to tell Fiscal what calendar month your fiscal year starts on. This should be zero-indexed (as per JS's Date implementation).
For example, if your fiscal year starts in October, you would do:
const fiscal = new Fiscal(9);
fiscal.getFiscalInfoForDate([Date])
Provides information based on the provided date.
fiscal.getFiscalInfoForDate();
Parameters:
Date
Creates a Fiscal instance for the provided date object. If no date is provided, Fiscal will use the current date.
Returns an object containing information about the provided date.
{
fiscalYear: '[instance of FiscalYear]',
quarter: '[instance of Quarter]',
calendar: {
calendarMonth: '[zero-indexed calendar month]',
calendarYear: '[calendar year]'
}
}
FiscalYear.startDate
Returns the starting date for the fiscal year.
const info = fiscal.getFiscalInfoForDate();
info.fiscalYear.startDate
FiscalYear.endDate
Returns the ending date for the fiscal year.
const info = fiscal.getFiscalInfoForDate();
info.fiscalYear.endDate
FiscalYear.previous()
Returns a new instance of FiscalYear
representing the previous fiscal year.
const info = fiscal.getFiscalInfoForDate();
const prevFy = info.fiscalYear.previous();
FiscalYear.next()
Returns a new instance of FiscalYear
representing the next fiscal year.
const info = fiscal.getFiscalInfoForDate();
const nextFy = info.fiscalYear.next();
Quarter.startDate
Returns the starting date for the fiscal year.
const info = fiscal.getFiscalInfoForDate();
info.quarter.startDate
Quarter.endDate
Returns the ending date for the fiscal year.
const info = fiscal.getFiscalInfoForDate();
info.quarter.endDate
Quarter.previous()
Returns a new instance of Quarter
representing the previous quarter.
const info = fiscal.getFiscalInfoForDate();
const prevQuarter = info.quarter.previous();
Quarter.next()
Returns a new instance of Quarter
representing the next quarter.
const info = fiscal.getFiscalInfoForDate();
const nextQuarter = info.quarter.next();
Running Tests
To run the tests, simply run npm test
.
Misc
This module was developed by Mark Herhold at RTI International. It is available for use under the MIT license. Pull requests are appreciated and welcome.