Articles / How public buying works
Why BC tenders bunch up: the public budget calendar
Municipal, school district, provincial and federal budget years shape when BC public service tenders are posted. Here's the calendar and how to plan around it.
In short
BC public buyers post tenders on their budget calendars. Municipalities adopt financial plans before their tax bylaw, due before May 15. School districts budget by June 30 for a July start and do much work in summer. The Province and federal government run April to March. So many service tenders come out in late winter and spring, with seasonal work posted ahead of its season.
Ask a contractor who's been bidding public work for a while when the tenders come out, and they'll usually say "spring". They're mostly right, and the reason is budgets. Every public buyer spends inside a budget year, and the dates those budgets are set ripple out into when work is posted. Once you see the calendar, you can plan your year around it instead of being surprised by it.
Four budget clocks run at once
Municipalities and regional districts
Under BC's Community Charter, a municipality must adopt a financial plan by bylaw each year, before its annual property tax bylaw. The tax rates bylaw must be adopted before May 15. Councils usually debate budgets through the fall and winter and adopt the plan in early spring. Regional districts follow a similar rhythm.
Once the plan passes, departments can tender the work in it. Much of it is for spring and summer: parks, grounds, paving, painting and building maintenance.
School districts
School districts run from July 1 to June 30, and each board must adopt its budget by June 30. Their real deadline is the classroom: big maintenance jobs happen in July and August when buildings are empty. That means summer projects are usually tendered in spring, often March to May.
The Province
Provincial ministries and many agencies run on an April 1 to March 31 fiscal year. Plans for the new year firm up after the provincial budget, usually tabled in February.
The federal government
Federal departments also run April to March. Federal buyers post year-round, but many departments try to commit their remaining budget before March 31, and new-year programs start after April 1.
What the calendar looks like for a BC trade
Put those together and a pattern appears:
- Late winter to spring (February to May): municipal budgets pass, school districts plan summer work, provincial and federal years turn over. The busiest stretch for many trades.
- Summer: school projects get built; some fall and winter services get tendered.
- Late summer to fall: snow and ice control, winter maintenance and some fall projects. Budget planning for next year starts.
- December: quieter, apart from year-end and urgent work.
Seasonal work is tendered ahead of its season, not in it. Snow contracts are usually posted before the first snowfall; grounds contracts before the growing season.
The chart above shows when BC public service bids were actually posted in CrewBid over the last 12 months. It shifts trade by trade, and each trade guide shows its own.
How to use the calendar
- Get registered and paperwork ready in the quiet months. Your WorkSafeBC clearance, insurance certificate, safety program and references should be ready before February, not chased in April. The paperwork buyers ask for is the list.
- Read council and board budget reports in winter. They're public and often name upcoming contracts.
- Introduce yourself in the fall, when buyers are planning and less swamped by tenders.
- Line up crews before spring. If you win three contracts in April, you need people in May.
- Watch for renewals. Contracts tend to come back at the same time of year they were first posted. CrewBid's renewal calendar estimates when.
The exceptions
Budgets explain the bulk, not all of it. Emergencies, grants with their own deadlines, end-of-contract renewals, capital projects that slip, and buyers who simply post year-round all add tenders outside the pattern. That's why it pays to have alerts running all year rather than only checking in spring.
Sources
Rules and forms change. Check the official page before you rely on a detail here.