DevFeeFinder

Methodology

The Development Fee Index measures the one-time public charges attributable to building one detached house, in each of California's largest homebuilding markets — and states where in the process each one is actually collected.

Every figure is traced to an adopted fee schedule, ordinance, or annual compliance report. Where a number could not be confirmed, it is published anyway and marked unverified — because a number a builder can check beats a confident number they cannot.

Every count of the index’s own contents on this page is computed from the database when the page is built. They were last computed on 25 Sep 2026.


What the figure measures

Development fees per home, the figure this index publishes, is the total of all one-time public charges attributable to building one detached single-family house — the typical home described below — in a given jurisdiction. Not all of them are collected at the permit counter — see When these fees are actually collected, below.

It includes every charge a builder writes a check for to get one house built, regardless of who collects it or when: city and county impact fees, school district fees, water and sewer connection and capacity charges, regional transportation fees, habitat mitigation, flood and drainage, and fees levied by independent special districts.

It deliberately does not include:

ExcludedWhy
Annual CFD special taxesPaid every year for decades, and they escalate. Adding a recurring charge to a one-time total produces a number that means nothing. Reported separately on every jurisdiction page.
Percentage surchargesAdministration fees charged as a percentage of other fees. Reported as rates, since the base varies by project.
In-lieu optionsPaid instead of building something — affordable units, parkland. An alternative, not an addition.
Land dedication and easement obligationsReal costs with no cash equivalent. Chino's parkland requirement is priced in land value; Manteca's agricultural mitigation has no cash alternative at all.
Building permit and plan-check feesCost-recovery charges for processing, not capital facilities. Small, and they follow a different legal regime.
Reimbursement agreementsSet project by project. San Joaquin County's infrastructure reimbursement charges are structurally unpublishable — there is no schedule and there never will be.
Charges levied by investor-owned utilitiesThe figure above counts public charges. A connection or facilities charge set by a private company in a tariff filed with the California Public Utilities Commission is not adopted by a legislative body, is not set after a Government Code 66016 hearing, and is not a Mitigation Fee Act fee. Two water utilities are affected; both charges are recorded on the jurisdiction page with their amounts, and neither is added to the total. Publicly owned utilities — including municipal water, sewer and electric systems, and county waterworks districts — are in scope in full, and a private company operating a publicly owned system under contract does not make that system private.

The typical home

Fees vary with house size, lot size, density and location, so a fee total is only meaningful against a specific house.

The typical home: a 2,000 sq ft detached single-family house on a 0.13 acre (about 5,660 sq ft) lot, in a new suburban subdivision on land that has not been built on before.

This site calls that house the typical home. The project's own documentation and code call it the prototype; this is the one page where that word appears, so a reader who goes looking at the working files knows the two names mean the same house.

That lot matches the 2025 NAHB median for the Pacific division, the smallest lots in the country.

Three further house sizes are published for every jurisdiction:

SizeHouseLot
Entry1,600 sq ft0.10 acre
Standard2,000 sq ft0.13 acre
Move-up2,600 sq ft0.17 acre
Large3,200 sq ft0.22 acre

The house is never implied. Every published figure states the house it was computed for.

Some charges are levied on things a house size and a lot size do not measure, and where that happens the assumption is stated rather than hidden. Two such attributes are stated for all four house sizes, and between them 14 charges in the index depend on one of them. A third and narrower one is stated for a single city. Every rate that rests on one of these carries a label naming the assumption — 25 of them today, printed in the rate's own tier column, so the reader sees it beside the figure rather than having to find it in a footnote.

Bedrooms: three. 7 charges are levied on a bedroom count and nothing else. Los Angeles publishes its Sewerage Facilities Charge as a flat amount per dwelling unit set by bedroom count, from $578 at one bedroom to $1,508 at six; three bedrooms puts it at $950, and a four-bedroom reading would be $1,136. Orange County Sanitation District's capacity charge makes the three-bedroom row its own base rate, the one every other row is a percentage of. Fairfield levies both of its park charges the same way, and Sacramento's residential construction tax is flat across every house-size column of its own sheet precisely because it is levied on the bedroom count instead. Three bedrooms is the most common count in new single-family completions and the conventional reading of a 2,000 sq ft house. It applies to all four house sizes, not just the standard one: no document states a bedroom count for any of them, so the index uses one reading throughout rather than inventing three more.

Prior land cover: agricultural cropland. 7 charges are habitat mitigation fees priced per acre by what was on the ground before the house. The typical home sits on a suburban greenfield lot, and the greenfield a Central Valley subdivision is built on is farmed row crop. Without this the index published, for four San Joaquin County jurisdictions, a category that plan's own glossary defines as barren ground, quarries, landfills, orchards and vineyards.

Density class: low, in Tulare. 3 charges are levied per acre at a rate set by a general-plan density category, and the typical home is described as a lot rather than as a whole project. A general plan measures dwellings per gross acre — streets, parks and detention basins included — while one house on its own lot gives the net figure, 7.7 dwelling units to the acre. Gross is always the smaller of the two, so a subdivision of 0.13-acre lots is conventionally mapped in the city's Low Density band, 3.1 to 7.0. Reading the net figure literally instead would put it one band higher and charge more.

All three are decisions rather than measurements. None is derived from anything published about these houses, and each is recorded wherever it is spent.


How the total is resolved

Adding up a jurisdiction's published fees does not give you what a house pays. Three rules do most of the work.

1. Components add; alternatives do not

A single published program often contains several additive categories — Morgan Hill's eight DIF components, Stockton's ten Public Facility Fee categories, a water district's four separate capacity charges. Those sum.

Other rates under the same program are alternatives — by district, by density class, by dwelling size. A house pays exactly one.

Every rate in the index is explicitly classified as one or the other. Getting that classification wrong is the largest single source of error in a fee total, in both directions.

2. A house is in one place

Mutually exclusive geographies are resolved to one, never summed:

  • One school district. Menifee is served by Menifee Union or Romoland, not both. The high school district fee is genuinely additive and stays.
  • One fee geography. Ontario runs parallel General City and Ontario Ranch schedules. Chino runs General City and The Preserve. Dublin runs three mutually exclusive transportation geographies.
  • One plan area per dimension. A single lot sits in one water zone and one sewer basin and one specific plan simultaneously, so the choice is made per dimension. A fee scoped to Whitney Ranch is not paid by a house elsewhere in Rocklin.

Where a jurisdiction builds almost entirely inside one plan area — Folsom is the clear case — the published figure is for that plan area, and says so.

3. Size tiers are chosen by the house

Many fees are tiered by dwelling square footage. WRCOG's TUMF has four single-family tiers running from $12,705 to $19,851. The tier is chosen by the typical home's floor area, not by taking the lowest or the highest.


Who actually charges these fees

378 of the 1,064 fee programs in the index — 36% — are levied by a body other than the city or county running the permit counter. Special districts, school districts, joint powers authorities, public utility districts, conservation plans, the State — and a county levying inside one of its own cities, which to the builder is another agency entirely.

None of them appear on the city fee schedule a builder reads first, and they are frequently the largest single line. Dublin's own schedule omits roughly $34,500 per unit of Dublin San Ramon Services District capacity charges. Hemet's omits about $18,900 of Eastern Municipal Water District charges — more than double the city's entire impact fee.

Finding those charges is most of the work behind this index, and the reason a figure taken from a city fee schedule alone is usually wrong and always low.


When these fees are actually collected

The index prices one house and one building permit. For a large minority of these programs, the permit is not when the money changes hands.

837 programs carry a collection point quoted from an adopted document. 474 of them are collected at building permit issuance. 363 are collected somewhere else.

CollectedWhere, for example
At building permit issuanceEvery school fee with a quoted trigger — Clovis, Elk Grove, Folsom, Hesperia, Perris, Woodland, Apple Valley — plus Stockton's Public Facility Fee, Folsom's plan area fees, Placer County's countywide traffic fee, and Perris's North Perris Road and Bridge Benefit District — the index's clearest case of a code that offered two triggers and an adopting resolution that picked one. Fairfield's water connection charge is here too, and its code says so twice over: payment is “a condition precedent … payable prior to the issuance of a building permit (or prior to meter set, if building permit is not required)”, and “no connection to the FMU water system shall be made, nor any water meter installed, until connection charges are paid.”
At certificate of occupancy, final inspection or occupancySan Diego's citywide DIFs and its Otay Mesa mobility fee, Merced's Public Facilities Impact Fee, Menifee's DIF and storm drain fee, Oceanside's impact fees, the Los Angeles Park Fee, Yuba County's countywide fee and TRLIA levee fee, and West Sacramento's Bridge District one-time special taxes, where the City may hold the final inspection itself until they are paid.
At the water meter, the connection, or the application for servicePlacer County Water Agency in Auburn, Rocklin and Placer County; El Dorado Irrigation District in El Dorado County; Dublin San Ramon Services District in Dublin; Eastern Municipal Water District in Hemet and Riverside County; Elsinore Valley Municipal Water District, Irvine Ranch Water District, San Juan Water District and South Placer Municipal Utility District; Rubidoux Community Services District in Jurupa Valley; West Sacramento's own water connection fee.
At a final map, a development entitlement, or improvement plan approvalBakersfield's Planned Sewer Area fees, due at entitlement and so earlier still than the final map, and its Planned Drainage Area fees, due one stage later at the final or parcel map — the same code section sets two different triggers; Davis's Quimby fee at map recording; Lincoln's Village 1 Infrastructure Fee; Los Angeles County's bridge and thoroughfare districts. Perris's drainage fee sits here by default but is the index's clearest case of a fee whose timing the payer chooses: the code sets the final or parcel map, then lets the land divider elect to pay pro rata at grading permit, or at building permit where no grading permit issues.
Official documents disagreeDublin's Zone 7 connection fee, Galt's traffic fee, Indio's DIF, Orange County's road fees — and Manteca, whose components have no single rule between them.

The strongest case is the one that contradicts the premise outright rather than bending it. WRCOG's Transportation Uniform Mitigation Fee — the four-tier fee above, $12,705 to $19,851 — may not be collected at the permit at all. Its Administrative Plan:

Participating jurisdictions are prohibited from requiring the TUMF payment at permit issuance.

It is due at certificate of occupancy, and a builder may not pre-pay to freeze a rate. That binds every WRCOG member jurisdiction. The index holds the fee for Hemet and for unincorporated Riverside County, where the County's own Ordinance 824 adds that fees "may be paid at the issuance of a building permit ... provided the developer tenders the full amount." The two texts are recorded side by side on the fee's page and are not reconciled here.

The total is still the right comparison. It is the same house and the same set of public charges in every jurisdiction; moving a fee from the permit counter to the certificate of occupancy changes what a builder pays to carry it, not what the house is charged. So the collection point is published as a fact about each fee, not used to filter the set.

One case does change whose check it is. Lincoln's Village 1 Infrastructure Fee is collected before the City accepts the first final small lot map in a phase — from the land developer, before a homebuilder is on the lot. A builder buying a finished lot there pays it in the price of the lot. It stays in the total, because the house carries it either way, and its page says where it was actually paid.

This is known for a minority of the index. 837 of the 1,064 priced charges carry a quoted collection point; the other 227 carry none. That is an absence of research, not a finding — an unquoted program is not a permit-counter fee by default, and the index does not assume one. Where a collection point has been established, the fee's own page states it and quotes the sentence from the adopted document that establishes it. Where the sources conflict, both are shown and neither is chosen.


Sources

Every rate carries a source URL, a source type and a retrieval date.

Source typePrograms
Adopted fee schedule942
Ordinance or municipal code22
Nexus or reference study16
Rate and Method of Apportionment9
Public Facilities Financing Plan5
Official Statement (bond)5
22 other source types59
No source type recorded6
Total1,064

These are all 1,064 priced charges, not a top-six: the tail is shown rather than dropped, because six rows that sum to less than the index imply a completeness the table does not have.

Narrative facts on a fee page are stored as the source document's own words: a value with no quoted excerpt behind it is refused outright. The amount itself was the exception for the life of this project. A rate carried the URL of the document it was read from and nothing saying which words in that document stated the number. That is now recorded too, and it is being filled as each document is reread rather than backfilled from the notes beside the rates — a paraphrase written next to a figure is the thing a quotation is supposed to displace.

3,408 of 4,651 live rates — 73% — carry the quoted line that states the amount. Where one exists it is printed under that rate in the table on the fee's own page.

Where a jurisdiction publishes a Gov. Code §66006 annual compliance report or an AB 1600 nexus study, that document is used as a checklist: it must enumerate every fee the jurisdiction charges, so it surfaces programs no fee-schedule search would find. All 63 jurisdictions have been audited this way. That audit is what found the two examples above.


When these fees change

Most of these fees escalate on a published schedule with no council action required — an index adjustment that happens automatically on a set date. A static list of California development fees is materially wrong within a year of publication.

373 programs across 55 jurisdictions re-index on 1 July 2027. That is the largest single wave of the year.

DateProgramsJurisdictions
1 Oct 202677
1 Jan 20277327
1 Mar 2027239
1 Apr 202732
1 May 202722
1 Jul 202737355
1 Jul 20281918

8 further programs re-index singly on other dates.

Two jurisdictions update quarterly — Merced's water and sewer connection fees, and Yolo County's agricultural mitigation fee. Morgan Hill re-indexes twice a year.

Escalation bases in the index: ENR Construction Cost Index (302 programs), another named index (124), CPI (49), fixed annual percentage (27), by council or board resolution (209), and 70 confirmed not to escalate at all. 283 programs — 27% of the index — have no escalation basis recorded yet, the largest known gap in the freshness layer and a standing item on every research pass.


Confidence

How sure we are of each fact

Every fact behind a fee — the amount, who levies it, when it is collected, how it adjusts — is stored with the document it was read from and one of four confidence levels. They mean the same thing on every page of this site.

  • High. We read this straight from the document that sets the fee: the city's ordinance, the council resolution, or the official fee schedule. This is the strongest kind of source, because the number and the rule come from the agency that charges it, in its own words.
  • Medium. We read this from an official document, but not the one that sets the fee. It might be a staff report, a study the fee was based on, or another agency's summary of it. These are usually right, but they can lag behind a change or describe a fee differently from the document that sets it. We also use medium when the agency's own documents disagree with each other.
  • Low. We could not find this in a current official document. It may come from an older version of the schedule, a secondary source, or from how the agency appears to apply the fee in practice. Treat it as a lead and check with the agency before relying on it.
  • Derived. Not read from a document at all. Filled in from the type of fee, such as which law authorizes it. Shown separately so it is never mistaken for a quotation.

Each fee's own page lists the level behind every fact it prints, with the document it came from.

How solid each jurisdiction is

All 63 jurisdictions are published. Not all of them are equally solid, and pretending otherwise would put the weakest entry's credibility on the strongest one's back.

Each jurisdiction carries an internal grade from five weighted components: verification 35% (share of rates confirmed adopted rather than unverified), coverage 25% (whether the real cost drivers are known at all), currency 15%, provenance 10%, open flags 15%.

Hard caps override the weighted score, because an average lets one strong dimension hide a disqualifying weakness:

ConditionMaximum grade
Over half the rates unverifiedD
More than 30% unverifiedC
Almost nothing known about the jurisdictionD
The fee schedule itself could not be retrievedB
No rate carries an effective dateC

Current distribution: 48 A, 8 B, 5 C, 2 D. A jurisdiction counts as fully solid when it grades C or better and both the transportation and water cost drivers are known — currently 61 of 63.

The grades are not shown on the site today.


Known limitations

Stated plainly, because an index that hides its edges is not one.

  • Multi-family is incomplete. The published figure is single-family detached. MF rates exist for some jurisdictions but not enough for a published index.
  • Plan-area dimensions are inferred, not declared. Which independent dimension a fee district belongs to is derived from the program's category. This is right nearly always and wrong in a handful of cases, where it overstates rather than understates.
  • Four jurisdictions could not be retrieved at all. Citrus Heights, Auburn, Woodland and Marina publish their schedules on sites that block automated access. Their figures are partial.
  • Some real costs cannot be expressed as a number. Land dedication, easement obligations and reimbursement agreements are documented on the jurisdiction page and excluded from the total.
  • Fee credits and reimbursements are not netted out. A builder who constructs a facility may receive credit against a fee. The index publishes the gross amount.
  • Waivers, credits and phase-ins are noted but not applied. Manteca's Infill Opportunity Zone discount, the post-fire waivers in Los Angeles and LA County, and credits a builder earns by doing something — donating water storage, dedicating park land, building drainage to district standard — are documented on the relevant pages; the published figure is the standard rate. The typical home has done none of those things, so the reductions are not available to it.

Corrections

If a figure here is wrong, tell us and it will be fixed. Include the jurisdiction, the program, and the adopted schedule or resolution showing the correct amount.

Municipal staff correcting their own jurisdiction's entry get priority.


Citation

Development Fee Index, [jurisdiction] — development fees per home, 2,000 sq ft house. Retrieved [date] from [url].

Quote it, screenshot it, cite it, link it — no permission needed.

↑↓ navigate↵ openesc close