Skip to main content

Actions

The ballerinax/microsoft.dynamics365.finance.fiscal package exposes the following clients:

ClientPurpose
ClientProvides access to Microsoft Dynamics 365 Finance Fiscal entities (dimension attributes, parameters, rules, and sets, financial dimension sets and values, and fiscal calendars, periods, and years) via OData.

Client

Provides access to Microsoft Dynamics 365 Finance Fiscal entities (dimension attributes, parameters, rules, and sets, financial dimension sets and values, and fiscal calendars, periods, and years) via OData.

Configuration

FieldTypeDefaultDescription
authOAuth2ClientCredentialsGrantConfigRequiredOAuth2 client credentials configuration containing tokenUrl, clientId, clientSecret, and scopes for authenticating against Microsoft Entra ID.
httpVersionhttp:HttpVersionhttp:HTTP_2_0HTTP protocol version to use for outbound requests.
http1Settingshttp:ClientHttp1Settings{}Configurations related to the HTTP/1.x protocol.
secureSockethttp:ClientSecureSocket?()SSL/TLS configuration for secure connections.
proxyhttp:ProxyConfig?()HTTP proxy server configuration.

Initializing the client

import ballerinax/microsoft.dynamics365.finance.fiscal;

configurable string tokenUrl = ?;
configurable string clientId = ?;
configurable string clientSecret = ?;
configurable string serviceUrl = ?;

fiscal:Client fo = check new (
{
auth: {
tokenUrl,
clientId,
clientSecret
}
},
serviceUrl
);

Operations

Dimension Attributes

listDimensionAttributes

Lists DimensionAttribute records, with optional OData query support.

Parameters:

NameTypeRequiredDescription
headersmap<string|string[]>NoOptional HTTP headers to include in the request.
queriesListDimensionAttributesQueriesNoOData query options: $skip, $top, $filter, $orderby, $expand, cross-company, $count, $select.

Returns: DimensionAttributesCollection|error

Sample code:

fiscal:DimensionAttributesCollection result = check fo->listDimensionAttributes(
queries = {
filter: "DimensionAttribute_Type eq 'MainAccount'",
top: 20
}
);
createDimensionAttributes

Creates a new DimensionAttribute.

Parameters:

NameTypeRequiredDescription
payloadDimensionAttributeYesThe DimensionAttribute record to create.
headersmap<string|string[]>NoOptional HTTP headers to include in the request.

Returns: DimensionAttribute|error

Sample code:

fiscal:DimensionAttribute payload = {
dimensionName: "CostCenter",
dimensionValueMask: "###",
copyValuesOnCreate: "Yes",
giveDerivedDimensionsPrecedence: "No"
};
fiscal:DimensionAttribute result = check fo->createDimensionAttributes(payload);
getDimensionAttributes

Retrieves a single DimensionAttribute by its key.

Parameters:

NameTypeRequiredDescription
dimensionNamestringYesThe dimension name key field, e.g. "CostCenter".
headersmap<string|string[]>NoOptional HTTP headers to include in the request.
queriesGetDimensionAttributesQueriesNoOData query options: $expand, $select.

Returns: DimensionAttribute|error

Sample code:

fiscal:DimensionAttribute result = check fo->getDimensionAttributes("CostCenter");
deleteDimensionAttributes

Deletes a DimensionAttribute by its key.

Parameters:

NameTypeRequiredDescription
dimensionNamestringYesThe dimension name key field, e.g. "CostCenter".
headersDeleteDimensionAttributesHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: error?

Sample code:

check fo->deleteDimensionAttributes("CostCenter");
updateDimensionAttributes

Updates an existing DimensionAttribute.

Parameters:

NameTypeRequiredDescription
dimensionNamestringYesThe dimension name key field, e.g. "CostCenter".
payloadDimensionAttributeYesThe fields to update.
headersUpdateDimensionAttributesHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: DimensionAttribute|error

Sample code:

fiscal:DimensionAttribute payload = {
dimensionValueMask: "####"
};
fiscal:DimensionAttribute result = check fo->updateDimensionAttributes("CostCenter", payload);

Dimension Parameters

listDimensionParameters

Lists DimensionParameters records, with optional OData query support.

Parameters:

NameTypeRequiredDescription
headersmap<string|string[]>NoOptional HTTP headers to include in the request.
queriesListDimensionParametersQueriesNoOData query options: $skip, $top, $filter, $orderby, $expand, cross-company, $count, $select.

Returns: DimensionParametersCollection|error

Sample code:

fiscal:DimensionParametersCollection result = check fo->listDimensionParameters(
queries = {top: 5}
);
createDimensionParameters

Creates a new DimensionParameters record.

Parameters:

NameTypeRequiredDescription
payloadDimensionParametersYesThe DimensionParameters record to create.
headersmap<string|string[]>NoOptional HTTP headers to include in the request.

Returns: DimensionParameters|error

Sample code:

fiscal:DimensionParameters payload = {
key: 1,
dimensionSegmentDelimiter: "Hyphen"
};
fiscal:DimensionParameters result = check fo->createDimensionParameters(payload);
getDimensionParameters

Retrieves a single DimensionParameters record by its key.

Parameters:

NameTypeRequiredDescription
'keyintYesThe entity key value, e.g. 1.
headersmap<string|string[]>NoOptional HTTP headers to include in the request.
queriesGetDimensionParametersQueriesNoOData query options: $expand, $select.

Returns: DimensionParameters|error

Sample code:

fiscal:DimensionParameters result = check fo->getDimensionParameters(1);
deleteDimensionParameters

Deletes a DimensionParameters record by its key.

Parameters:

NameTypeRequiredDescription
'keyintYesThe entity key value, e.g. 1.
headersDeleteDimensionParametersHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: error?

Sample code:

check fo->deleteDimensionParameters(1);
updateDimensionParameters

Updates an existing DimensionParameters record.

Parameters:

NameTypeRequiredDescription
'keyintYesThe entity key value, e.g. 1.
payloadDimensionParametersYesThe fields to update.
headersUpdateDimensionParametersHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: DimensionParameters|error

Sample code:

fiscal:DimensionParameters payload = {
dimensionSegmentDelimiter: "Underscore"
};
fiscal:DimensionParameters result = check fo->updateDimensionParameters(1, payload);

Dimension Rules

listDimensionRules

Lists DimensionRule records, with optional OData query support.

Parameters:

NameTypeRequiredDescription
headersmap<string|string[]>NoOptional HTTP headers to include in the request.
queriesListDimensionRulesQueriesNoOData query options: $skip, $top, $filter, $orderby, $expand, cross-company, $count, $select.

Returns: DimensionRulesCollection|error

Sample code:

fiscal:DimensionRulesCollection result = check fo->listDimensionRules(
queries = {
filter: "RuleGroup eq 'CCToDept'",
orderby: "LineId"
}
);
createDimensionRules

Creates a new DimensionRule.

Parameters:

NameTypeRequiredDescription
payloadDimensionRuleYesThe DimensionRule record to create.
headersmap<string|string[]>NoOptional HTTP headers to include in the request.

Returns: DimensionRule|error

Sample code:

fiscal:DimensionRule payload = {
dataAreaId: "USMF",
lineId: "1",
ruleGroup: "CCToDept",
fromDimensionCode: "001",
toDimensionCode: "010",
dimensionAttributeType: "ExistingList",
toDimensionAttributeType: "ExistingList",
conversionMethod: "Value"
};
fiscal:DimensionRule result = check fo->createDimensionRules(payload);
getDimensionRules

Retrieves a single DimensionRule by its key.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
lineIdstringYesThe line id key field, e.g. "1".
headersmap<string|string[]>NoOptional HTTP headers to include in the request.
queriesGetDimensionRulesQueriesNoOData query options: $expand, $select.

Returns: DimensionRule|error

Sample code:

fiscal:DimensionRule result = check fo->getDimensionRules("USMF", "1");
deleteDimensionRules

Deletes a DimensionRule by its key.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
lineIdstringYesThe line id key field, e.g. "1".
headersDeleteDimensionRulesHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: error?

Sample code:

check fo->deleteDimensionRules("USMF", "1");
updateDimensionRules

Updates an existing DimensionRule.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
lineIdstringYesThe line id key field, e.g. "1".
payloadDimensionRuleYesThe fields to update.
headersUpdateDimensionRulesHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: DimensionRule|error

Sample code:

fiscal:DimensionRule payload = {
toDimensionCode: "020"
};
fiscal:DimensionRule result = check fo->updateDimensionRules("USMF", "1", payload);

Dimension Sets

listDimensionSets

Lists DimensionSet records, with optional OData query support.

Parameters:

NameTypeRequiredDescription
headersmap<string|string[]>NoOptional HTTP headers to include in the request.
queriesListDimensionSetsQueriesNoOData query options: $skip, $top, $filter, $orderby, $expand, cross-company, $count, $select.

Returns: DimensionSetsCollection|error

Sample code:

fiscal:DimensionSetsCollection result = check fo->listDimensionSets(
queries = {filter: "MainAccount eq '110100'"}
);
createDimensionSets

Creates a new DimensionSet.

Parameters:

NameTypeRequiredDescription
payloadDimensionSetYesThe DimensionSet record to create.
headersmap<string|string[]>NoOptional HTTP headers to include in the request.

Returns: DimensionSet|error

Sample code:

fiscal:DimensionSet payload = {
mainAccount: "110100",
displayValue: "110100-USMF"
};
fiscal:DimensionSet result = check fo->createDimensionSets(payload);
getDimensionSets

Retrieves a single DimensionSet by its key.

Parameters:

NameTypeRequiredDescription
recordIdintYesThe record id key field, e.g. 5637144576.
headersmap<string|string[]>NoOptional HTTP headers to include in the request.
queriesGetDimensionSetsQueriesNoOData query options: $expand, $select.

Returns: DimensionSet|error

Sample code:

fiscal:DimensionSet result = check fo->getDimensionSets(5637144576);
deleteDimensionSets

Deletes a DimensionSet by its key.

Parameters:

NameTypeRequiredDescription
recordIdintYesThe record id key field, e.g. 5637144576.
headersDeleteDimensionSetsHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: error?

Sample code:

check fo->deleteDimensionSets(5637144576);
updateDimensionSets

Updates an existing DimensionSet.

Parameters:

NameTypeRequiredDescription
recordIdintYesThe record id key field, e.g. 5637144576.
payloadDimensionSetYesThe fields to update.
headersUpdateDimensionSetsHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: DimensionSet|error

Sample code:

fiscal:DimensionSet payload = {
displayValue: "110100-USMF-Revised"
};
fiscal:DimensionSet result = check fo->updateDimensionSets(5637144576, payload);

Financial Dimension Sets

listFinancialDimensionSets

Lists FinancialDimensionSet records, with optional OData query support.

Parameters:

NameTypeRequiredDescription
headersmap<string|string[]>NoOptional HTTP headers to include in the request.
queriesListFinancialDimensionSetsQueriesNoOData query options: $skip, $top, $filter, $orderby, $expand, cross-company, $count, $select.

Returns: FinancialDimensionSetsCollection|error

Sample code:

fiscal:FinancialDimensionSetsCollection result = check fo->listFinancialDimensionSets(
queries = {filter: "Name eq 'CostCenter-Set'"}
);
createFinancialDimensionSets

Creates a new FinancialDimensionSet.

Parameters:

NameTypeRequiredDescription
payloadFinancialDimensionSetYesThe FinancialDimensionSet record to create.
headersmap<string|string[]>NoOptional HTTP headers to include in the request.

Returns: FinancialDimensionSet|error

Sample code:

fiscal:FinancialDimensionSet payload = {
name: "CostCenter-Set",
description: "Cost center dimension set",
segmentName01: "CostCenter"
};
fiscal:FinancialDimensionSet result = check fo->createFinancialDimensionSets(payload);
getFinancialDimensionSets

Retrieves a single FinancialDimensionSet by its key.

Parameters:

NameTypeRequiredDescription
namestringYesThe name key field, e.g. "CostCenter-Set".
headersmap<string|string[]>NoOptional HTTP headers to include in the request.
queriesGetFinancialDimensionSetsQueriesNoOData query options: $expand, $select.

Returns: FinancialDimensionSet|error

Sample code:

fiscal:FinancialDimensionSet result = check fo->getFinancialDimensionSets("CostCenter-Set");
deleteFinancialDimensionSets

Deletes a FinancialDimensionSet by its key.

Parameters:

NameTypeRequiredDescription
namestringYesThe name key field, e.g. "CostCenter-Set".
headersDeleteFinancialDimensionSetsHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: error?

Sample code:

check fo->deleteFinancialDimensionSets("CostCenter-Set");
updateFinancialDimensionSets

Updates an existing FinancialDimensionSet.

Parameters:

NameTypeRequiredDescription
namestringYesThe name key field, e.g. "CostCenter-Set".
payloadFinancialDimensionSetYesThe fields to update.
headersUpdateFinancialDimensionSetsHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: FinancialDimensionSet|error

Sample code:

fiscal:FinancialDimensionSet payload = {
description: "Cost center dimension set - revised"
};
fiscal:FinancialDimensionSet result = check fo->updateFinancialDimensionSets("CostCenter-Set", payload);

Financial Dimension Values

listFinancialDimensionValues

Lists FinancialDimensionValue records, with optional OData query support.

Parameters:

NameTypeRequiredDescription
headersmap<string|string[]>NoOptional HTTP headers to include in the request.
queriesListFinancialDimensionValuesQueriesNoOData query options: $skip, $top, $filter, $orderby, $expand, cross-company, $count, $select.

Returns: FinancialDimensionValuesCollection|error

Sample code:

fiscal:FinancialDimensionValuesCollection result = check fo->listFinancialDimensionValues(
queries = {
filter: "FinancialDimension eq 'CostCenter' and LegalEntityId eq 'USMF'",
top: 50
}
);
createFinancialDimensionValues

Creates a new FinancialDimensionValue.

Parameters:

NameTypeRequiredDescription
payloadFinancialDimensionValueYesThe FinancialDimensionValue record to create.
headersmap<string|string[]>NoOptional HTTP headers to include in the request.

Returns: FinancialDimensionValue|error

Sample code:

fiscal:FinancialDimensionValue payload = {
financialDimension: "CostCenter",
legalEntityId: "USMF",
dimensionValue: "022",
description: "Sales - East",
isBlockedForManualEntry: "No",
isSuspended: "No",
activeFrom: "2026-01-01T00:00:00Z"
};
fiscal:FinancialDimensionValue result = check fo->createFinancialDimensionValues(payload);
getFinancialDimensionValues

Retrieves a single FinancialDimensionValue by its key.

Parameters:

NameTypeRequiredDescription
financialDimensionstringYesThe financial dimension key field, e.g. "CostCenter".
legalEntityIdstringYesThe legal entity id key field, e.g. "USMF".
dimensionValuestringYesThe dimension value key field, e.g. "022".
headersmap<string|string[]>NoOptional HTTP headers to include in the request.
queriesGetFinancialDimensionValuesQueriesNoOData query options: $expand, $select.

Returns: FinancialDimensionValue|error

Sample code:

fiscal:FinancialDimensionValue result = check fo->getFinancialDimensionValues("CostCenter", "USMF", "022");
deleteFinancialDimensionValues

Deletes a FinancialDimensionValue by its key.

Parameters:

NameTypeRequiredDescription
financialDimensionstringYesThe financial dimension key field, e.g. "CostCenter".
legalEntityIdstringYesThe legal entity id key field, e.g. "USMF".
dimensionValuestringYesThe dimension value key field, e.g. "022".
headersDeleteFinancialDimensionValuesHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: error?

Sample code:

check fo->deleteFinancialDimensionValues("CostCenter", "USMF", "022");
updateFinancialDimensionValues

Updates an existing FinancialDimensionValue.

Parameters:

NameTypeRequiredDescription
financialDimensionstringYesThe financial dimension key field, e.g. "CostCenter".
legalEntityIdstringYesThe legal entity id key field, e.g. "USMF".
dimensionValuestringYesThe dimension value key field, e.g. "022".
payloadFinancialDimensionValueYesThe fields to update.
headersUpdateFinancialDimensionValuesHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: FinancialDimensionValue|error

Sample code:

fiscal:FinancialDimensionValue payload = {
isSuspended: "Yes"
};
fiscal:FinancialDimensionValue result = check fo->updateFinancialDimensionValues("CostCenter", "USMF", "022", payload);

Fiscal Calendars

listFiscalCalendars

Lists FiscalCalendar records, with optional OData query support.

Parameters:

NameTypeRequiredDescription
headersmap<string|string[]>NoOptional HTTP headers to include in the request.
queriesListFiscalCalendarsQueriesNoOData query options: $skip, $top, $filter, $orderby, $expand, cross-company, $count, $select.

Returns: FiscalCalendarsCollection|error

Sample code:

fiscal:FiscalCalendarsCollection result = check fo->listFiscalCalendars(
queries = {
filter: "CalendarId eq 'USMF'",
orderby: "GregorianDate"
}
);
createFiscalCalendars

Creates a new FiscalCalendar.

Parameters:

NameTypeRequiredDescription
payloadFiscalCalendarYesThe FiscalCalendar record to create.
headersmap<string|string[]>NoOptional HTTP headers to include in the request.

Returns: FiscalCalendar|error

Sample code:

fiscal:FiscalCalendar payload = {
ledgerGregorianDateId: "USMF-2026-01-15",
calendarId: "USMF",
gregorianDate: "2026-01-15",
periodName: "Jan2026",
month: "Month1",
quarter: "Q1",
yearName: "2026"
};
fiscal:FiscalCalendar result = check fo->createFiscalCalendars(payload);
getFiscalCalendars

Retrieves a single FiscalCalendar by its key.

Parameters:

NameTypeRequiredDescription
ledgerGregorianDateIdstringYesThe ledger gregorian date id key field, e.g. "USMF-2026-01-15".
headersmap<string|string[]>NoOptional HTTP headers to include in the request.
queriesGetFiscalCalendarsQueriesNoOData query options: $expand, $select.

Returns: FiscalCalendar|error

Sample code:

fiscal:FiscalCalendar result = check fo->getFiscalCalendars("USMF-2026-01-15");
deleteFiscalCalendars

Deletes a FiscalCalendar by its key.

Parameters:

NameTypeRequiredDescription
ledgerGregorianDateIdstringYesThe ledger gregorian date id key field, e.g. "USMF-2026-01-15".
headersDeleteFiscalCalendarsHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: error?

Sample code:

check fo->deleteFiscalCalendars("USMF-2026-01-15");
updateFiscalCalendars

Updates an existing FiscalCalendar.

Parameters:

NameTypeRequiredDescription
ledgerGregorianDateIdstringYesThe ledger gregorian date id key field, e.g. "USMF-2026-01-15".
payloadFiscalCalendarYesThe fields to update.
headersUpdateFiscalCalendarsHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: FiscalCalendar|error

Sample code:

fiscal:FiscalCalendar payload = {
periodName: "January2026"
};
fiscal:FiscalCalendar result = check fo->updateFiscalCalendars("USMF-2026-01-15", payload);

Fiscal Periods

listFiscalPeriods

Lists FiscalPeriod records, with optional OData query support.

Parameters:

NameTypeRequiredDescription
headersmap<string|string[]>NoOptional HTTP headers to include in the request.
queriesListFiscalPeriodsQueriesNoOData query options: $skip, $top, $filter, $orderby, $expand, cross-company, $count, $select.

Returns: FiscalPeriodsCollection|error

Sample code:

fiscal:FiscalPeriodsCollection result = check fo->listFiscalPeriods(
queries = {
filter: "Calendar eq 'USMF' and FiscalYear eq '2026'"
}
);
createFiscalPeriods

Creates a new FiscalPeriod.

Parameters:

NameTypeRequiredDescription
payloadFiscalPeriodYesThe FiscalPeriod record to create.
headersmap<string|string[]>NoOptional HTTP headers to include in the request.

Returns: FiscalPeriod|error

Sample code:

fiscal:FiscalPeriod payload = {
calendar: "USMF",
fiscalYear: "2026",
startDate: "2026-01-01",
endDate: "2026-01-31",
periodName: "Jan2026",
shortName: "P01",
'type: "Operating",
quarter: "Q1",
month: "Month1"
};
fiscal:FiscalPeriod result = check fo->createFiscalPeriods(payload);
getFiscalPeriods

Retrieves a single FiscalPeriod by its key.

Parameters:

NameTypeRequiredDescription
calendarstringYesThe calendar key field, e.g. "USMF".
fiscalYearstringYesThe fiscal year key field, e.g. "2026".
startDatestringYesThe start date key field, e.g. "2026-01-01".
endDatestringYesThe end date key field, e.g. "2026-01-31".
periodNamestringYesThe period name key field, e.g. "Jan2026".
headersmap<string|string[]>NoOptional HTTP headers to include in the request.
queriesGetFiscalPeriodsQueriesNoOData query options: $expand, $select.

Returns: FiscalPeriod|error

Sample code:

fiscal:FiscalPeriod result = check fo->getFiscalPeriods("USMF", "2026", "2026-01-01", "2026-01-31", "Jan2026");
deleteFiscalPeriods

Deletes a FiscalPeriod by its key.

Parameters:

NameTypeRequiredDescription
calendarstringYesThe calendar key field, e.g. "USMF".
fiscalYearstringYesThe fiscal year key field, e.g. "2026".
startDatestringYesThe start date key field, e.g. "2026-01-01".
endDatestringYesThe end date key field, e.g. "2026-01-31".
periodNamestringYesThe period name key field, e.g. "Jan2026".
headersDeleteFiscalPeriodsHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: error?

Sample code:

check fo->deleteFiscalPeriods("USMF", "2026", "2026-01-01", "2026-01-31", "Jan2026");
updateFiscalPeriods

Updates an existing FiscalPeriod.

Parameters:

NameTypeRequiredDescription
calendarstringYesThe calendar key field, e.g. "USMF".
fiscalYearstringYesThe fiscal year key field, e.g. "2026".
startDatestringYesThe start date key field, e.g. "2026-01-01".
endDatestringYesThe end date key field, e.g. "2026-01-31".
periodNamestringYesThe period name key field, e.g. "Jan2026".
payloadFiscalPeriodYesThe fields to update.
headersUpdateFiscalPeriodsHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: FiscalPeriod|error

Sample code:

fiscal:FiscalPeriod payload = {
comments: "Adjusted after period-end review"
};
fiscal:FiscalPeriod result = check fo->updateFiscalPeriods("USMF", "2026", "2026-01-01", "2026-01-31", "Jan2026", payload);

Fiscal Years

listFiscalYears

Lists FiscalYear records, with optional OData query support.

Parameters:

NameTypeRequiredDescription
headersmap<string|string[]>NoOptional HTTP headers to include in the request.
queriesListFiscalYearsQueriesNoOData query options: $skip, $top, $filter, $orderby, $expand, cross-company, $count, $select.

Returns: FiscalYearsCollection|error

Sample code:

fiscal:FiscalYearsCollection result = check fo->listFiscalYears(
queries = {
filter: "LegalEntityId eq 'USMF' and Status eq 'Open'"
}
);
createFiscalYears

Creates a new FiscalYear.

Parameters:

NameTypeRequiredDescription
payloadFiscalYearYesThe FiscalYear record to create.
headersmap<string|string[]>NoOptional HTTP headers to include in the request.

Returns: FiscalYear|error

Sample code:

fiscal:FiscalYear payload = {
legalEntityId: "USMF",
calendar: "USMF",
fiscalYear: "2026",
status: "Open",
legalEntityName: "USMF Legal Entity"
};
fiscal:FiscalYear result = check fo->createFiscalYears(payload);
getFiscalYears

Retrieves a single FiscalYear by its key.

Parameters:

NameTypeRequiredDescription
legalEntityIdstringYesThe legal entity id key field, e.g. "USMF".
calendarstringYesThe calendar key field, e.g. "USMF".
fiscalYearstringYesThe fiscal year key field, e.g. "2026".
headersmap<string|string[]>NoOptional HTTP headers to include in the request.
queriesGetFiscalYearsQueriesNoOData query options: $expand, $select.

Returns: FiscalYear|error

Sample code:

fiscal:FiscalYear result = check fo->getFiscalYears("USMF", "USMF", "2026");
deleteFiscalYears

Deletes a FiscalYear by its key.

Parameters:

NameTypeRequiredDescription
legalEntityIdstringYesThe legal entity id key field, e.g. "USMF".
calendarstringYesThe calendar key field, e.g. "USMF".
fiscalYearstringYesThe fiscal year key field, e.g. "2026".
headersDeleteFiscalYearsHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: error?

Sample code:

check fo->deleteFiscalYears("USMF", "USMF", "2026");
updateFiscalYears

Updates an existing FiscalYear.

Parameters:

NameTypeRequiredDescription
legalEntityIdstringYesThe legal entity id key field, e.g. "USMF".
calendarstringYesThe calendar key field, e.g. "USMF".
fiscalYearstringYesThe fiscal year key field, e.g. "2026".
payloadFiscalYearYesThe fields to update.
headersUpdateFiscalYearsHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: FiscalYear|error

Sample code:

fiscal:FiscalYear payload = {
status: "Close"
};
fiscal:FiscalYear result = check fo->updateFiscalYears("USMF", "USMF", "2026", payload);