OCDS' planning.budget
object can be used to describe the budget from which funds are drawn. It includes a single budget.amount
field to capture the total value of the budget for a future contracting process.
This extension provides a way to describe the budget in greater detail, including multi-year budgets or budgets sourced from multiple organizations. In the case of PPPs, budgets may be sourced from the private sector or from multi-lateral development banks.
Disclosing structured data on multi-source budgets allows users to understand how much of the funds for a project come from government or from a specific department, whilst structured data on multi-year budgets allows users to understand the expected spend profile of a contract.
In the core planning.budget
block, budget.amount
should be used to capture the total value of the budget for a future contracting process.
Where budget.budgetBreakdown
is used to express a multi-source budget but the organization details are not known for one or more parts of the budget, for example in a PPP where part of the budget will be provided by the successful private sector bidder, the sourceParty.name
field should be used to provide a free text explanation of the source of the budget, e.g. "Private sector investment from successful bidder".
A single-year, multi-source budget:
{
"planning": {
"budget": {
"amount": {
"amount": 300000,
"currency": "GBP"
},
"budgetBreakdown": [
{
"id": "1",
"description": "Budget contribution from the local government",
"sourceParty": {
"id": "GB-LAC-E09000003-557",
"name": "London Borough of Barnet - Transport Services"
},
"amount": {
"amount": 150000,
"currency": "GBP"
}
},
{
"id": "2",
"description": "Budget contribution from the national government",
"sourceParty": {
"id": "GB-GOV-23",
"name": "Department for Transport"
},
"amount": {
"amount": 150000,
"currency": "GBP"
}
}
]
}
},
"parties": [
{
"id": "GB-GOV-23",
"name": "Department for Transport",
"roles": [
"funder"
]
},
{
"id": "GB-LAC-E09000003-557",
"name": "London Borough of Barnet - Transport Services",
"roles": [
"funder"
]
}
]
}
A multi-year, single-source budget:
{
"planning": {
"budget": {
"amount": {
"amount": 70000,
"currency": "GBP"
},
"budgetBreakdown": [
{
"id": "1",
"description": "2021/2022",
"period": {
"startDate": "2021-04-01T00:00:00Z",
"endDate": "2022-03-31T23:59:59Z"
},
"amount": {
"amount": 20000,
"currency": "GBP"
}
},
{
"id": "2",
"description": "2022/2023",
"period": {
"startDate": "2022-04-01T00:00:00Z",
"endDate": "2023-03-31T23:59:59Z"
},
"amount": {
"amount": 50000,
"currency": "GBP"
}
}
]
}
}
}
Report issues for this extension in the ocds-extensions repository, putting the extension's name in the issue's title.
- Add 'sourceParty' code to the
+partyRole.csv
codelist, because the 'funder' code is deprecated in OCDS 1.2.
- Add
minProperties
,minItems
and/orminLength
properties.
- Set
"uniqueItems": true
on array fields, and add"minLength": 1
on required string fields.
- Remove obsolete
mergeStrategy
properties
- Make
BudgetBreakdown.id
required and non-nullable to support revision tracking and list merging