FinBaze for Platforms

Reference

Queries#

budgets#

Requires: scope budgets:read · feature budgets.

budgets(profileId: ID!, financialYearId: ID!): [BudgetModel!]!
ArgumentType
profileIdID!
financialYearIdID!

budget#

Requires: scope budgets:read · feature budgets.

budget(id: ID!): BudgetModel!
ArgumentType
idID!

budgetActiveLedgers#

Profit-and-loss ledger codes in use: prior book-year activity and/or non-zero working budget lines.

Requires: scope budgets:read · feature budgets.

budgetActiveLedgers(id: ID!, language: String): [String!]!
ArgumentType
idID!
languageString

budgetCanSeedFromPriorYear#

Whether any other book year on the profile has profit and loss to seed a budget from.

Requires: scope budgets:read · feature budgets.

budgetCanSeedFromPriorYear(profileId: ID!, financialYearId: ID!): Boolean!
ArgumentType
profileIdID!
financialYearIdID!

budgetSeedSourceYears#

Book years on the profile (other than the target year) that have matching months and profit-and-loss actuals.

Requires: scope budgets:read · feature budgets.

budgetSeedSourceYears(profileId: ID!, financialYearId: ID!): [BudgetSeedSourceYearModel!]!
ArgumentType
profileIdID!
financialYearIdID!

suggestKnownBudgetSources#

Preview plan lines FinBaze can fill from asset depreciation schedules and loan interest for a book year.

Requires: scope budgets:read · feature budgets.

suggestKnownBudgetSources(profileId: ID!, financialYearId: ID!): BudgetKnownSourcesPreviewModel!
ArgumentType
profileIdID!
financialYearIdID!

budgetComparison#

Locked baseline, working forecast, and live P&L actuals. Actuals use the same windows as the profit-and-loss statement.

Requires: scope budgets:read · feature budgets.

budgetComparison(id: ID!, asOf: DateTime, language: String): BudgetComparisonModel!
ArgumentType
idID!
asOfDateTime
languageString

budgetVsActual#

Budget, actual, committed and available for cost ledgers over a period range (YYYY-MM, default the whole book year), per cost center or per ledger. Cost-center budget comes from budget sub-lines; actuals from cost centers on purchase invoice lines and P&L bank/settlement lines. Costs without a cost center (including payroll) are under "none". Committed is the open commitments (approved requests and purchase orders not invoiced yet); null when committed spend is off for the company.

Requires: scope budgets:read · feature budgets.

budgetVsActual(id: ID!, groupBy: BudgetVsActualGroupBy!, fromPeriod: String, toPeriod: String, language: String): BudgetVsActualModel!
ArgumentType
idID!
groupByBudgetVsActualGroupBy!
fromPeriodString
toPeriodString
languageString

budgetLiquidity#

Liquidity projection for a budget (P&L→cash with DSO/DPO, VAT, payroll, events).

Requires: scope budgets:read · feature budgets.

budgetLiquidity(id: ID!, horizon: BudgetLiquidityHorizon): BudgetLiquidityModel!
ArgumentType
idID!
horizonBudgetLiquidityHorizon

budgetCashEvents#

Dated cash events on a budget (financing schedule or liquidity layers).

Requires: scope budgets:read · feature budgets.

budgetCashEvents(id: ID!): [BudgetCashEventModel!]!
ArgumentType
idID!

budgetVarianceActions#

Requires: scope budgets:read · feature budgets.

budgetVarianceActions(id: ID!): [BudgetVarianceActionModel!]!
ArgumentType
idID!

budgetVarianceActionSummary#

Requires: scope budgets:read · feature budgets.

budgetVarianceActionSummary(id: ID!): BudgetVarianceActionSummaryModel!
ArgumentType
idID!

budgetPrognoseOverrides#

Requires: scope budgets:read · feature budgets.

budgetPrognoseOverrides(id: ID!): [BudgetPrognoseOverrideModel!]!
ArgumentType
idID!

summarizeBudgetVariance#

On-demand natural-language summary of budget vs actuals (categories off green + year-end landing).

Requires: scope budgets:read · feature budgets.

summarizeBudgetVariance(id: ID!, asOf: DateTime, language: String): BudgetVarianceNlSummaryModel!
ArgumentType
idID!
asOfDateTime
languageString

compareBudgets#

Side-by-side P&L category year totals for budgets in the same book year (scenarios).

Requires: scope budgets:read · feature budgets.

compareBudgets(ids: [ID!]!, language: String): BudgetScenarioCompareModel!
ArgumentType
ids[ID!]!
languageString

budgetAvailability#

Budget left for a ledger and/or cost center: budget − actual − open commitments over the book year that contains period (YYYY-MM), or over period..toPeriod. Budget and actuals per ledger (RGS); until budgets per cost center exist, a cost center gets its ledger figures with scope "ledger". A ledger without a budget gives budget null (no budget set; nothing is over budget). Cents of the company currency.

Requires: scope budgets:read · feature commitments.

budgetAvailability(profileId: ID!, period: String!, ledger: String, costCenterId: ID, toPeriod: String): BudgetAvailabilityResult!
ArgumentType
profileIdID!
periodString!
ledgerString
costCenterIdID
toPeriodString

Mutations#

createBudget#

Requires: scope budgets:write · feature budgets.

createBudget(profileId: ID!, financialYearId: ID!, name: String!): BudgetModel!
ArgumentType
profileIdID!
financialYearIdID!
nameString!

updateBudgetSettings#

Requires: scope budgets:write · feature budgets.

updateBudgetSettings(id: ID!, name: String, thresholdAmountCents: Int, thresholdBps: Int, horizonEndPeriod: String): BudgetModel!
ArgumentType
idID!
nameString
thresholdAmountCentsInt
thresholdBpsInt
horizonEndPeriodString

replaceBudgetThresholds#

Requires: scope budgets:write · feature budgets.

replaceBudgetThresholds(id: ID!, thresholds: [BudgetThresholdInput!]!): BudgetModel!
ArgumentType
idID!
thresholds[BudgetThresholdInput!]!

approveBudget#

Requires: scope budgets:write · feature budgets.

approveBudget(id: ID!): BudgetModel!
ArgumentType
idID!

lockBudget#

Requires: scope budgets:write · feature budgets.

lockBudget(id: ID!): BudgetModel!
ArgumentType
idID!

reviseBudget#

Requires: scope budgets:write · feature budgets.

reviseBudget(id: ID!, effectiveFrom: String!, reason: String!): BudgetModel!
ArgumentType
idID!
effectiveFromString!
reasonString!

copyBudget#

Requires: scope budgets:write · feature budgets.

copyBudget(id: ID!, name: String!): BudgetModel!
ArgumentType
idID!
nameString!

seedBudgetFromPriorYear#

Requires: scope budgets:write · feature budgets.

seedBudgetFromPriorYear(id: ID!, factorBps: Int!, language: String, sourceFinancialYearId: ID): BudgetModel!
ArgumentType
idID!
factorBpsInt!
languageString
sourceFinancialYearIdID

applyKnownBudgetSources#

Fill plan lines from asset depreciation and loan interest schedules for the budget book year.

Requires: scope budgets:write · feature budgets.

applyKnownBudgetSources(id: ID!): BudgetModel!
ArgumentType
idID!

replaceBudgetDrivers#

Requires: scope budgets:write · feature budgets.

replaceBudgetDrivers(id: ID!, drivers: [BudgetDriverInput!]!): BudgetModel!
ArgumentType
idID!
drivers[BudgetDriverInput!]!

regenerateBudgetDrivers#

Recompute driver-owned plan lines on the editable working version. Manual edits on those accounts are replaced.

Requires: scope budgets:write · feature budgets.

regenerateBudgetDrivers(id: ID!, language: String): BudgetModel!
ArgumentType
idID!
languageString

replaceBudgetVariables#

Requires: scope budgets:write · feature budgets.

replaceBudgetVariables(id: ID!, variables: [BudgetVariableInput!]!): BudgetModel!
ArgumentType
idID!
variables[BudgetVariableInput!]!

replaceBudgetFormulas#

Requires: scope budgets:write · feature budgets.

replaceBudgetFormulas(id: ID!, formulas: [BudgetFormulaInput!]!): BudgetModel!
ArgumentType
idID!
formulas[BudgetFormulaInput!]!

replaceBudgetSublines#

Requires: scope budgets:write · feature budgets.

replaceBudgetSublines(id: ID!, sublines: [BudgetSublineInput!]!): BudgetModel!
ArgumentType
idID!
sublines[BudgetSublineInput!]!

regenerateBudgetFormulas#

Recompute formula-owned plan lines on the editable working version. Manual edits on those rows are replaced.

Requires: scope budgets:write · feature budgets.

regenerateBudgetFormulas(id: ID!, language: String): BudgetModel!
ArgumentType
idID!
languageString

migrateBudgetPercentDriversToFormulas#

Create or update row formulas from percent-of-revenue drivers. Product volume drivers are unchanged.

Requires: scope budgets:write · feature budgets.

migrateBudgetPercentDriversToFormulas(id: ID!): BudgetModel!
ArgumentType
idID!

upsertBudgetSublineLines#

Requires: scope budgets:write · feature budgets.

upsertBudgetSublineLines(id: ID!, lines: [UpsertBudgetSublineLineInput!]!): BudgetModel!
ArgumentType
idID!
lines[UpsertBudgetSublineLineInput!]!

upsertBudgetLines#

Requires: scope budgets:write · feature budgets.

upsertBudgetLines(id: ID!, lines: [UpsertBudgetLineInput!]!): BudgetModel!
ArgumentType
idID!
lines[UpsertBudgetLineInput!]!

deleteBudget#

Requires: scope budgets:write · feature budgets.

deleteBudget(id: ID!): Boolean!
ArgumentType
idID!

upsertBudgetLiquiditySettings#

Requires: scope budgets:write · feature budgets.

upsertBudgetLiquiditySettings(id: ID!, settings: UpsertBudgetLiquiditySettingsInput!): BudgetLiquiditySettingsModel!
ArgumentType
idID!
settingsUpsertBudgetLiquiditySettingsInput!

upsertBudgetCashEvents#

Requires: scope budgets:write · feature budgets.

upsertBudgetCashEvents(id: ID!, events: [BudgetCashEventInput!]!): [BudgetCashEventModel!]!
ArgumentType
idID!
events[BudgetCashEventInput!]!

upsertBudgetVarianceAction#

Requires: scope budgets:write · feature budgets.

upsertBudgetVarianceAction(id: ID!, input: UpsertBudgetVarianceActionInput!): BudgetVarianceActionModel!
ArgumentType
idID!
inputUpsertBudgetVarianceActionInput!

deleteBudgetVarianceAction#

Requires: scope budgets:write · feature budgets.

deleteBudgetVarianceAction(id: ID!, actionId: ID!): Boolean!
ArgumentType
idID!
actionIdID!

upsertBudgetPrognoseOverrides#

Requires: scope budgets:write · feature budgets.

upsertBudgetPrognoseOverrides(id: ID!, overrides: [BudgetPrognoseOverrideInput!]!): [BudgetPrognoseOverrideModel!]!
ArgumentType
idID!
overrides[BudgetPrognoseOverrideInput!]!

redistributeBudgetLines#

Re-spread editable months evenly or proportionally (herverdelen).

Requires: scope budgets:write · feature budgets.

redistributeBudgetLines(id: ID!, input: RedistributeBudgetLinesInput!): BudgetModel!
ArgumentType
idID!
inputRedistributeBudgetLinesInput!

distributeBudgetTopDown#

Distribute a category/section year target down to leaf months.

Requires: scope budgets:write · feature budgets.

distributeBudgetTopDown(id: ID!, input: DistributeBudgetTopDownInput!): BudgetModel!
ArgumentType
idID!
inputDistributeBudgetTopDownInput!

generateBudgetDraft#

Seed the working plan from a prior book year (deterministic), optionally fill empty chart leaves with AI proposals.

Requires: scope budgets:write · feature budgets.

generateBudgetDraft(id: ID!, factorBps: Int!, language: String, sourceFinancialYearId: ID, fillGapsWithAi: Boolean, hint: String): BudgetAiDraftResultModel!
ArgumentType
idID!
factorBpsInt!
languageString
sourceFinancialYearIdID
fillGapsWithAiBoolean
hintString

applyBudgetNlAdjustment#

Parse a natural-language instruction into line/formula upserts. Formulas are cycle-checked before save.

Requires: scope budgets:write · feature budgets.

applyBudgetNlAdjustment(id: ID!, instruction: String!, language: String): BudgetNlAdjustmentResultModel!
ArgumentType
idID!
instructionString!
languageString