ProjectBudget
A ceiling on what a project may consume — money or hours — and how often it resets.
- amountType: stringrequired
The budget ceiling as a decimal string — an amount in the project currency when
calculation_modeisfee, a number of hours when it istime. - calculationType: stringenum
_base requiredWhat counts against the budget: logged time (
billable_time,non_billable_time,billable_and_non_billable_time), billable time plus expenses (billable_time_and_expenses), or expenses alone (expenses).values- billable
_time - non
_billable _time - billable
_and _non _billable _time - billable
_time _and _expenses - expenses
- billable
- calculationType: "fee" or "time"enum
_mode requiredWhat the budget is measured in:
feefor money,timefor hours. - currentType: nullable
_cycle requiredProperties: 4The cycle running today. A project that has not started yet reports a zeroed cycle over its first window, and one that has ended keeps reporting its last.
nullonly when the project has no start date. - expensesType: "billable" or "non_billable" or "all"enum
_calculation _base requiredWhich expenses count, when
calculation_baseincludes them:billable,non_billableorall. - idType: integerrequired
Unique identifier for the budget.
- overType: "enabled" or "disabled"enum
_budget _notification requiredWhether Bonsai alerts the project team when spending passes
over_budget_notification_threshold. - overType: string
_budget _notification _threshold requiredPercentage of the budget that triggers the alert, as a decimal string.
- resetType: stringenum
_frequency requiredHow often the budget starts over.
neverruns one cycle for the life of the project; the rest open a fresh cycle everyweekly,monthlyorquarterlyperiod from the project start date.valuesneverweeklymonthlyquarterly