Skip to main content

Actions

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

ClientPurpose
ClientProvides access to Microsoft Dynamics 365 Finance Budget entities (budget codes, cycles, models, plans, cost centers, cost groups, funds, and cheque/promissory note entities) via OData.

Client

Provides access to Microsoft Dynamics 365 Finance Budget entities (budget codes, cycles, models, plans, cost centers, cost groups, funds, and cheque/promissory note entities) 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.budget;

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

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

Operations

Budget Codes

listBudgetCodes

Lists BudgetCode records, with optional OData query support.

Parameters:

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

Returns: BudgetCodesCollection|error

Sample code:

budget:BudgetCodesCollection result = check fo->listBudgetCodes();
createBudgetCodes

Creates a new BudgetCode.

Parameters:

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

Returns: BudgetCode|error

Sample code:

budget:BudgetCode payload = {
dataAreaId: "USMF",
budgetCode: "OPBUD",
description: "Original budget",
budgetType: "OriginalBudget",
isDefaultCode: "Yes"
};
budget:BudgetCode result = check fo->createBudgetCodes(payload);
getBudgetCodes

Retrieves a single BudgetCode by its key.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
budgetCodestringYesThe budget code key field, e.g. "OPBUD".
headersmap<string|string[]>NoOptional HTTP headers to include in the request.
queriesGetBudgetCodesQueriesNoOData query options: $expand, $select.

Returns: BudgetCode|error

Sample code:

budget:BudgetCode result = check fo->getBudgetCodes("USMF", "OPBUD");
deleteBudgetCodes

Deletes a BudgetCode by its key.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
budgetCodestringYesThe budget code key field, e.g. "OPBUD".
headersDeleteBudgetCodesHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: error?

Sample code:

check fo->deleteBudgetCodes("USMF", "OPBUD");
updateBudgetCodes

Updates an existing BudgetCode.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
budgetCodestringYesThe budget code key field, e.g. "OPBUD".
payloadBudgetCodeYesThe fields to update.
headersUpdateBudgetCodesHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: BudgetCode|error

Sample code:

budget:BudgetCode payload = {
description: "Original budget - revised"
};
budget:BudgetCode result = check fo->updateBudgetCodes("USMF", "OPBUD", payload);

Budget Cycles

listBudgetCycles

Lists BudgetCycle records, with optional OData query support.

Parameters:

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

Returns: BudgetCyclesCollection|error

Sample code:

budget:BudgetCyclesCollection result = check fo->listBudgetCycles();
createBudgetCycles

Creates a new BudgetCycle.

Parameters:

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

Returns: BudgetCycle|error

Sample code:

budget:BudgetCycle payload = {
budgetCycleTimeSpanName: "FY",
fiscalCalendar: "Fiscal",
budgetCycleName: "FY2026",
startDate: "2026-01-01",
endDate: "2026-12-31",
numberOfFiscalPeriods: 12,
lengthOfBudgetCycle: "MapToFiscalYear"
};
budget:BudgetCycle result = check fo->createBudgetCycles(payload);
getBudgetCycles

Retrieves a single BudgetCycle by its key.

Parameters:

NameTypeRequiredDescription
budgetCycleTimeSpanNamestringYesThe budget cycle time span name key field, e.g. "FY".
fiscalCalendarstringYesThe fiscal calendar key field, e.g. "Fiscal".
budgetCycleNamestringYesThe budget cycle name key field, e.g. "FY2026".
headersmap<string|string[]>NoOptional HTTP headers to include in the request.
queriesGetBudgetCyclesQueriesNoOData query options: $expand, $select.

Returns: BudgetCycle|error

Sample code:

budget:BudgetCycle result = check fo->getBudgetCycles("FY", "Fiscal", "FY2026");
deleteBudgetCycles

Deletes a BudgetCycle by its key.

Parameters:

NameTypeRequiredDescription
budgetCycleTimeSpanNamestringYesThe budget cycle time span name key field, e.g. "FY".
fiscalCalendarstringYesThe fiscal calendar key field, e.g. "Fiscal".
budgetCycleNamestringYesThe budget cycle name key field, e.g. "FY2026".
headersDeleteBudgetCyclesHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: error?

Sample code:

check fo->deleteBudgetCycles("FY", "Fiscal", "FY2026");
updateBudgetCycles

Updates an existing BudgetCycle.

Parameters:

NameTypeRequiredDescription
budgetCycleTimeSpanNamestringYesThe budget cycle time span name key field, e.g. "FY".
fiscalCalendarstringYesThe fiscal calendar key field, e.g. "Fiscal".
budgetCycleNamestringYesThe budget cycle name key field, e.g. "FY2026".
payloadBudgetCycleYesThe fields to update.
headersUpdateBudgetCyclesHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: BudgetCycle|error

Sample code:

budget:BudgetCycle payload = {
endDate: "2026-12-31"
};
budget:BudgetCycle result = check fo->updateBudgetCycles("FY", "Fiscal", "FY2026", payload);

Budget Models

listBudgetModels

Lists BudgetModel records, with optional OData query support.

Parameters:

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

Returns: BudgetModelsCollection|error

Sample code:

budget:BudgetModelsCollection result = check fo->listBudgetModels();
createBudgetModels

Creates a new BudgetModel.

Parameters:

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

Returns: BudgetModel|error

Sample code:

budget:BudgetModel payload = {
dataAreaId: "USMF",
budgetModel: "BM-BASE",
name: "Base budget model",
stopped: "No",
cashFlowForecasts: "No"
};
budget:BudgetModel result = check fo->createBudgetModels(payload);
getBudgetModels

Retrieves a single BudgetModel by its key.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
budgetModelstringYesThe budget model key field, e.g. "BM-BASE".
headersmap<string|string[]>NoOptional HTTP headers to include in the request.
queriesGetBudgetModelsQueriesNoOData query options: $expand, $select.

Returns: BudgetModel|error

Sample code:

budget:BudgetModel result = check fo->getBudgetModels("USMF", "BM-BASE");
deleteBudgetModels

Deletes a BudgetModel by its key.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
budgetModelstringYesThe budget model key field, e.g. "BM-BASE".
headersDeleteBudgetModelsHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: error?

Sample code:

check fo->deleteBudgetModels("USMF", "BM-BASE");
updateBudgetModels

Updates an existing BudgetModel.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
budgetModelstringYesThe budget model key field, e.g. "BM-BASE".
payloadBudgetModelYesThe fields to update.
headersUpdateBudgetModelsHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: BudgetModel|error

Sample code:

budget:BudgetModel payload = {
name: "Base budget model - updated"
};
budget:BudgetModel result = check fo->updateBudgetModels("USMF", "BM-BASE", payload);

Budget Plan Processes

listBudgetPlanProcesses

Lists BudgetPlanProcess records, with optional OData query support.

Parameters:

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

Returns: BudgetPlanProcessesCollection|error

Sample code:

budget:BudgetPlanProcessesCollection result = check fo->listBudgetPlanProcesses();
createBudgetPlanProcesses

Creates a new BudgetPlanProcess.

Parameters:

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

Returns: BudgetPlanProcess|error

Sample code:

budget:BudgetPlanProcess payload = {
name: "BPP-2026-OPEX",
description: "FY2026 operating expense budget planning",
budgetCycle: "FY2026",
budgetCycleTimeSpan: "FY",
ledger: "USMF-Ledger",
fiscalCalendarId: "Fiscal",
approvalProcessState: "Draft"
};
budget:BudgetPlanProcess result = check fo->createBudgetPlanProcesses(payload);
getBudgetPlanProcesses

Retrieves a single BudgetPlanProcess by its key.

Parameters:

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

Returns: BudgetPlanProcess|error

Sample code:

budget:BudgetPlanProcess result = check fo->getBudgetPlanProcesses("BPP-2026-OPEX");
deleteBudgetPlanProcesses

Deletes a BudgetPlanProcess by its key.

Parameters:

NameTypeRequiredDescription
namestringYesThe name key field, e.g. "BPP-2026-OPEX".
headersDeleteBudgetPlanProcessesHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: error?

Sample code:

check fo->deleteBudgetPlanProcesses("BPP-2026-OPEX");
updateBudgetPlanProcesses

Updates an existing BudgetPlanProcess.

Parameters:

NameTypeRequiredDescription
namestringYesThe name key field, e.g. "BPP-2026-OPEX".
payloadBudgetPlanProcessYesThe fields to update.
headersUpdateBudgetPlanProcessesHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: BudgetPlanProcess|error

Sample code:

budget:BudgetPlanProcess payload = {
approvalProcessState: "InProcess"
};
budget:BudgetPlanProcess result = check fo->updateBudgetPlanProcesses("BPP-2026-OPEX", payload);

Budget Plans

listBudgetPlans

Lists BudgetPlan records, with optional OData query support.

Parameters:

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

Returns: BudgetPlansCollection|error

Sample code:

budget:BudgetPlansCollection result = check fo->listBudgetPlans();
createBudgetPlans

Creates a new BudgetPlan.

Parameters:

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

Returns: BudgetPlan|error

Sample code:

budget:BudgetPlan payload = {
documentNumber: "BP-000123",
scenario: "Base",
lineReferenceId: "1",
budgetClass: "Expense",
currency: "USD",
estimateType: "Monetary",
transactionCurrencyAmount: 25000.00,
documentStatus: "Draft",
workflowStatus: "NotSubmitted"
};
budget:BudgetPlan result = check fo->createBudgetPlans(payload);
getBudgetPlans

Retrieves a single BudgetPlan by its key.

Parameters:

NameTypeRequiredDescription
documentNumberstringYesThe document number key field, e.g. "BP-000123".
scenariostringYesThe scenario key field, e.g. "Base".
lineReferenceIdstringYesThe line reference id key field, e.g. "1".
headersmap<string|string[]>NoOptional HTTP headers to include in the request.
queriesGetBudgetPlansQueriesNoOData query options: $expand, $select.

Returns: BudgetPlan|error

Sample code:

budget:BudgetPlan result = check fo->getBudgetPlans("BP-000123", "Base", "1");
deleteBudgetPlans

Deletes a BudgetPlan by its key.

Parameters:

NameTypeRequiredDescription
documentNumberstringYesThe document number key field, e.g. "BP-000123".
scenariostringYesThe scenario key field, e.g. "Base".
lineReferenceIdstringYesThe line reference id key field, e.g. "1".
headersDeleteBudgetPlansHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: error?

Sample code:

check fo->deleteBudgetPlans("BP-000123", "Base", "1");
updateBudgetPlans

Updates an existing BudgetPlan.

Parameters:

NameTypeRequiredDescription
documentNumberstringYesThe document number key field, e.g. "BP-000123".
scenariostringYesThe scenario key field, e.g. "Base".
lineReferenceIdstringYesThe line reference id key field, e.g. "1".
payloadBudgetPlanYesThe fields to update.
headersUpdateBudgetPlansHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: BudgetPlan|error

Sample code:

budget:BudgetPlan payload = {
documentStatus: "Finalized"
};
budget:BudgetPlan result = check fo->updateBudgetPlans("BP-000123", "Base", "1", payload);

CP Journals

listCPJournals

Lists CPJournal (cheque and promissory note journal) records, with optional OData query support.

Parameters:

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

Returns: CPJournalsCollection|error

Sample code:

budget:CPJournalsCollection result = check fo->listCPJournals();
createCPJournals

Creates a new CPJournal.

Parameters:

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

Returns: CPJournal|error

Sample code:

budget:CPJournal payload = {
dataAreaId: "USMF",
chequeJournalNum: "CHJ-000045",
description: "Vendor cheque batch - August",
accountType: "Vendor",
portfolioCode: "PORT-01",
transDate: "2026-08-05",
posted: "No"
};
budget:CPJournal result = check fo->createCPJournals(payload);
getCPJournals

Retrieves a single CPJournal by its key.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
chequeJournalNumstringYesThe cheque journal num key field, e.g. "CHJ-000045".
headersmap<string|string[]>NoOptional HTTP headers to include in the request.
queriesGetCPJournalsQueriesNoOData query options: $expand, $select.

Returns: CPJournal|error

Sample code:

budget:CPJournal result = check fo->getCPJournals("USMF", "CHJ-000045");
deleteCPJournals

Deletes a CPJournal by its key.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
chequeJournalNumstringYesThe cheque journal num key field, e.g. "CHJ-000045".
headersDeleteCPJournalsHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: error?

Sample code:

check fo->deleteCPJournals("USMF", "CHJ-000045");
updateCPJournals

Updates an existing CPJournal.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
chequeJournalNumstringYesThe cheque journal num key field, e.g. "CHJ-000045".
payloadCPJournalYesThe fields to update.
headersUpdateCPJournalsHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: CPJournal|error

Sample code:

budget:CPJournal payload = {
posted: "Yes"
};
budget:CPJournal result = check fo->updateCPJournals("USMF", "CHJ-000045", payload);

CP Parameters

listCPParameters

Lists CPParameter (cheque and promissory note module parameter) records, with optional OData query support.

Parameters:

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

Returns: CPParametersCollection|error

Sample code:

budget:CPParametersCollection result = check fo->listCPParameters();
createCPParameters

Creates a new CPParameter.

Parameters:

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

Returns: CPParameter|error

Sample code:

budget:CPParameter payload = {
dataAreaId: "USMF",
settledRule: "Warning",
rediscountDetailLevel: "Summary",
ledgerActType: "Ledger"
};
budget:CPParameter result = check fo->createCPParameters(payload);
getCPParameters

Retrieves a single CPParameter by its key.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
'keyintYesThe entity key value, e.g. 1.
headersmap<string|string[]>NoOptional HTTP headers to include in the request.
queriesGetCPParametersQueriesNoOData query options: $expand, $select.

Returns: CPParameter|error

Sample code:

budget:CPParameter result = check fo->getCPParameters("USMF", 1);
deleteCPParameters

Deletes a CPParameter by its key.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
'keyintYesThe entity key value, e.g. 1.
headersDeleteCPParametersHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: error?

Sample code:

check fo->deleteCPParameters("USMF", 1);
updateCPParameters

Updates an existing CPParameter.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
'keyintYesThe entity key value, e.g. 1.
payloadCPParameterYesThe fields to update.
headersUpdateCPParametersHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: CPParameter|error

Sample code:

budget:CPParameter payload = {
rediscountAutoPost: "Yes"
};
budget:CPParameter result = check fo->updateCPParameters("USMF", 1, payload);

CP Portfolios

listCPPortfolios

Lists CPPortfolio (cheque and promissory note portfolio) records, with optional OData query support.

Parameters:

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

Returns: CPPortfoliosCollection|error

Sample code:

budget:CPPortfoliosCollection result = check fo->listCPPortfolios();
createCPPortfolios

Creates a new CPPortfolio.

Parameters:

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

Returns: CPPortfolio|error

Sample code:

budget:CPPortfolio payload = {
dataAreaId: "USMF",
portfolioCode: "PORT-01",
name: "Accounts payable cheques",
portfolioType: "OutgoingCheque",
ledgerACTType: "Bank",
currencyCode: "USD"
};
budget:CPPortfolio result = check fo->createCPPortfolios(payload);
getCPPortfolios

Retrieves a single CPPortfolio by its key.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
portfolioCodestringYesThe portfolio code key field, e.g. "PORT-01".
headersmap<string|string[]>NoOptional HTTP headers to include in the request.
queriesGetCPPortfoliosQueriesNoOData query options: $expand, $select.

Returns: CPPortfolio|error

Sample code:

budget:CPPortfolio result = check fo->getCPPortfolios("USMF", "PORT-01");
deleteCPPortfolios

Deletes a CPPortfolio by its key.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
portfolioCodestringYesThe portfolio code key field, e.g. "PORT-01".
headersDeleteCPPortfoliosHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: error?

Sample code:

check fo->deleteCPPortfolios("USMF", "PORT-01");
updateCPPortfolios

Updates an existing CPPortfolio.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
portfolioCodestringYesThe portfolio code key field, e.g. "PORT-01".
payloadCPPortfolioYesThe fields to update.
headersUpdateCPPortfoliosHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: CPPortfolio|error

Sample code:

budget:CPPortfolio payload = {
name: "Accounts payable cheques - revised"
};
budget:CPPortfolio result = check fo->updateCPPortfolios("USMF", "PORT-01", payload);

CP Tables

listCPTables

Lists CPTable (cheque) records, with optional OData query support.

Parameters:

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

Returns: CPTablesCollection|error

Sample code:

budget:CPTablesCollection result = check fo->listCPTables();
createCPTables

Creates a new CPTable.

Parameters:

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

Returns: CPTable|error

Sample code:

budget:CPTable payload = {
dataAreaId: "USMF",
systemChequeNum: "SYSCHQ-00981",
chequeJournalNum: "CHJ-000045",
portfolioCode: "PORT-01",
accountType: "Vendor",
debitCredit: "Credit",
amount: 15250.00,
dueDate: "2026-09-01"
};
budget:CPTable result = check fo->createCPTables(payload);
getCPTables

Retrieves a single CPTable by its key.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
systemChequeNumstringYesThe system cheque num key field, e.g. "SYSCHQ-00981".
headersmap<string|string[]>NoOptional HTTP headers to include in the request.
queriesGetCPTablesQueriesNoOData query options: $expand, $select.

Returns: CPTable|error

Sample code:

budget:CPTable result = check fo->getCPTables("USMF", "SYSCHQ-00981");
deleteCPTables

Deletes a CPTable by its key.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
systemChequeNumstringYesThe system cheque num key field, e.g. "SYSCHQ-00981".
headersDeleteCPTablesHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: error?

Sample code:

check fo->deleteCPTables("USMF", "SYSCHQ-00981");
updateCPTables

Updates an existing CPTable.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
systemChequeNumstringYesThe system cheque num key field, e.g. "SYSCHQ-00981".
payloadCPTableYesThe fields to update.
headersUpdateCPTablesHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: CPTable|error

Sample code:

budget:CPTable payload = {
cancelled: "Yes"
};
budget:CPTable result = check fo->updateCPTables("USMF", "SYSCHQ-00981", payload);

CP Trans

listCPTrans

Lists CPTran (cheque/promissory note transaction) records, with optional OData query support.

Parameters:

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

Returns: CPTransCollection|error

Sample code:

budget:CPTransCollection result = check fo->listCPTrans();
createCPTrans

Creates a new CPTran.

Parameters:

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

Returns: CPTran|error

Sample code:

budget:CPTran payload = {
dataAreaId: "USMF",
chequeJournalTransNum: "CHJT-000210",
debitCredit: "Debit",
accountNum: "VEND-4021",
journalNum: "CHJ-000045",
portfolioCode: "PORT-01",
transDate: "2026-08-05"
};
budget:CPTran result = check fo->createCPTrans(payload);
getCPTrans

Retrieves a single CPTran by its key.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
chequeJournalTransNumstringYesThe cheque journal trans num key field, e.g. "CHJT-000210".
debitCreditstringYesThe debit credit key field, e.g. "Debit".
headersmap<string|string[]>NoOptional HTTP headers to include in the request.
queriesGetCPTransQueriesNoOData query options: $expand, $select.

Returns: CPTran|error

Sample code:

budget:CPTran result = check fo->getCPTrans("USMF", "CHJT-000210", "Debit");
deleteCPTrans

Deletes a CPTran by its key.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
chequeJournalTransNumstringYesThe cheque journal trans num key field, e.g. "CHJT-000210".
debitCreditstringYesThe debit credit key field, e.g. "Debit".
headersDeleteCPTransHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: error?

Sample code:

check fo->deleteCPTrans("USMF", "CHJT-000210", "Debit");
updateCPTrans

Updates an existing CPTran.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
chequeJournalTransNumstringYesThe cheque journal trans num key field, e.g. "CHJT-000210".
debitCreditstringYesThe debit credit key field, e.g. "Debit".
payloadCPTranYesThe fields to update.
headersUpdateCPTransHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: CPTran|error

Sample code:

budget:CPTran payload = {
posted: "Yes"
};
budget:CPTran result = check fo->updateCPTrans("USMF", "CHJT-000210", "Debit", payload);

Cost Centers

listCostCenters

Lists CostCenter records, with optional OData query support.

Parameters:

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

Returns: CostCentersCollection|error

Sample code:

budget:CostCentersCollection result = check fo->listCostCenters();
createCostCenters

Creates a new CostCenter.

Parameters:

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

Returns: CostCenter|error

Sample code:

budget:CostCenter payload = {
operatingUnitNumber: "CC-101",
name: "Marketing",
operatingUnitType: "OMCostCenter"
};
budget:CostCenter result = check fo->createCostCenters(payload);
getCostCenters

Retrieves a single CostCenter by its key.

Parameters:

NameTypeRequiredDescription
operatingUnitNumberstringYesThe operating unit number key field, e.g. "CC-101".
headersmap<string|string[]>NoOptional HTTP headers to include in the request.
queriesGetCostCentersQueriesNoOData query options: $expand, $select.

Returns: CostCenter|error

Sample code:

budget:CostCenter result = check fo->getCostCenters("CC-101");
deleteCostCenters

Deletes a CostCenter by its key.

Parameters:

NameTypeRequiredDescription
operatingUnitNumberstringYesThe operating unit number key field, e.g. "CC-101".
headersDeleteCostCentersHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: error?

Sample code:

check fo->deleteCostCenters("CC-101");
updateCostCenters

Updates an existing CostCenter.

Parameters:

NameTypeRequiredDescription
operatingUnitNumberstringYesThe operating unit number key field, e.g. "CC-101".
payloadCostCenterYesThe fields to update.
headersUpdateCostCentersHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: CostCenter|error

Sample code:

budget:CostCenter payload = {
name: "Marketing - EMEA"
};
budget:CostCenter result = check fo->updateCostCenters("CC-101", payload);

Cost Groups

listCostGroups

Lists CostGroup records, with optional OData query support.

Parameters:

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

Returns: CostGroupsCollection|error

Sample code:

budget:CostGroupsCollection result = check fo->listCostGroups();
createCostGroups

Creates a new CostGroup.

Parameters:

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

Returns: CostGroup|error

Sample code:

budget:CostGroup payload = {
dataAreaId: "USMF",
groupId: "MATL",
groupName: "Direct materials",
costGroupType: "DirectMaterials",
costBehaviour: "Variable",
isDefaultCostGroup: "No"
};
budget:CostGroup result = check fo->createCostGroups(payload);
getCostGroups

Retrieves a single CostGroup by its key.

Parameters:

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

Returns: CostGroup|error

Sample code:

budget:CostGroup result = check fo->getCostGroups("USMF", "MATL");
deleteCostGroups

Deletes a CostGroup by its key.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
groupIdstringYesThe group id key field, e.g. "MATL".
headersDeleteCostGroupsHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: error?

Sample code:

check fo->deleteCostGroups("USMF", "MATL");
updateCostGroups

Updates an existing CostGroup.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
groupIdstringYesThe group id key field, e.g. "MATL".
payloadCostGroupYesThe fields to update.
headersUpdateCostGroupsHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: CostGroup|error

Sample code:

budget:CostGroup payload = {
groupName: "Direct materials - revised"
};
budget:CostGroup result = check fo->updateCostGroups("USMF", "MATL", payload);

Fund Types

listFundTypes

Lists FundType records, with optional OData query support.

Parameters:

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

Returns: FundTypesCollection|error

Sample code:

budget:FundTypesCollection result = check fo->listFundTypes();
createFundTypes

Creates a new FundType.

Parameters:

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

Returns: FundType|error

Sample code:

budget:FundType payload = {
dataAreaId: "USMF",
fundType: "GRANT",
description: "Grant funding"
};
budget:FundType result = check fo->createFundTypes(payload);
getFundTypes

Retrieves a single FundType by its key.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
fundTypestringYesThe fund type key field, e.g. "GRANT".
headersmap<string|string[]>NoOptional HTTP headers to include in the request.
queriesGetFundTypesQueriesNoOData query options: $expand, $select.

Returns: FundType|error

Sample code:

budget:FundType result = check fo->getFundTypes("USMF", "GRANT");
deleteFundTypes

Deletes a FundType by its key.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
fundTypestringYesThe fund type key field, e.g. "GRANT".
headersDeleteFundTypesHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: error?

Sample code:

check fo->deleteFundTypes("USMF", "GRANT");
updateFundTypes

Updates an existing FundType.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
fundTypestringYesThe fund type key field, e.g. "GRANT".
payloadFundTypeYesThe fields to update.
headersUpdateFundTypesHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: FundType|error

Sample code:

budget:FundType payload = {
description: "Federal and state grant funding"
};
budget:FundType result = check fo->updateFundTypes("USMF", "GRANT", payload);

Funds

listFunds

Lists Fund records, with optional OData query support.

Parameters:

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

Returns: FundsCollection|error

Sample code:

budget:FundsCollection result = check fo->listFunds();
createFunds

Creates a new Fund.

Parameters:

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

Returns: Fund|error

Sample code:

budget:Fund payload = {
dataAreaId: "USMF",
fundNumber: "FND-100",
fundName: "General operating fund",
fundType: "GRANT",
fundClass: "Governmental",
isMajor: "Yes",
yearEndOption: "ProcessAndCarryForwardBudget"
};
budget:Fund result = check fo->createFunds(payload);
getFunds

Retrieves a single Fund by its key.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
fundNumberstringYesThe fund number key field, e.g. "FND-100".
headersmap<string|string[]>NoOptional HTTP headers to include in the request.
queriesGetFundsQueriesNoOData query options: $expand, $select.

Returns: Fund|error

Sample code:

budget:Fund result = check fo->getFunds("USMF", "FND-100");
deleteFunds

Deletes a Fund by its key.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
fundNumberstringYesThe fund number key field, e.g. "FND-100".
headersDeleteFundsHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: error?

Sample code:

check fo->deleteFunds("USMF", "FND-100");
updateFunds

Updates an existing Fund.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
fundNumberstringYesThe fund number key field, e.g. "FND-100".
payloadFundYesThe fields to update.
headersUpdateFundsHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: Fund|error

Sample code:

budget:Fund payload = {
isMajor: "No"
};
budget:Fund result = check fo->updateFunds("USMF", "FND-100", payload);

Period Lines

listPeriodLines

Lists PeriodLine records, with optional OData query support.

Parameters:

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

Returns: PeriodLinesCollection|error

Sample code:

budget:PeriodLinesCollection result = check fo->listPeriodLines();
createPeriodLines

Creates a new PeriodLine.

Parameters:

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

Returns: PeriodLine|error

Sample code:

budget:PeriodLine payload = {
dataAreaId: "USMF",
periodId: "P01",
periodName: "January 2026",
periodFrom: "2026-01-01",
periodTo: "2026-01-31",
modelId: "BM-BASE"
};
budget:PeriodLine result = check fo->createPeriodLines(payload);
getPeriodLines

Retrieves a single PeriodLine by its key.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
periodIdstringYesThe period id key field, e.g. "P01".
periodFromstringYesThe period from key field, e.g. "2026-01-01".
periodTostringYesThe period to key field, e.g. "2026-01-31".
headersmap<string|string[]>NoOptional HTTP headers to include in the request.
queriesGetPeriodLinesQueriesNoOData query options: $expand, $select.

Returns: PeriodLine|error

Sample code:

budget:PeriodLine result = check fo->getPeriodLines("USMF", "P01", "2026-01-01", "2026-01-31");
deletePeriodLines

Deletes a PeriodLine by its key.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
periodIdstringYesThe period id key field, e.g. "P01".
periodFromstringYesThe period from key field, e.g. "2026-01-01".
periodTostringYesThe period to key field, e.g. "2026-01-31".
headersDeletePeriodLinesHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: error?

Sample code:

check fo->deletePeriodLines("USMF", "P01", "2026-01-01", "2026-01-31");
updatePeriodLines

Updates an existing PeriodLine.

Parameters:

NameTypeRequiredDescription
dataAreaIdstringYesThe company data area identifier, e.g. "USMF".
periodIdstringYesThe period id key field, e.g. "P01".
periodFromstringYesThe period from key field, e.g. "2026-01-01".
periodTostringYesThe period to key field, e.g. "2026-01-31".
payloadPeriodLineYesThe fields to update.
headersUpdatePeriodLinesHeadersNoOptional headers, including ifMatch (ETag for optimistic concurrency).

Returns: PeriodLine|error

Sample code:

budget:PeriodLine payload = {
periodName: "January 2026 - restated"
};
budget:PeriodLine result = check fo->updatePeriodLines("USMF", "P01", "2026-01-01", "2026-01-31", payload);