Seven Years on the Apex Council. Seven Tax Increases. Three FY27 Budget Options Explained.
The council rejected a no-tax-increase plan that funded more police — then passed a tax hike and called it "literally" for police.
Disclaimer: This article is based on the Town's own budget messages, audited financial reports, internal memos and public comments from Town officials. If anything in this article is factually inaccurate, I want to know. Please contact me and I will issue corrections promptly.
In this article, we will cover:
- The 1.75¢ Budget vs. the 0¢ Budget
- The "Funding Police" Defense
- The "No Increase Last Year" Claim
- The "Best Two Years Running" Claim
- Seven Years, Seven Tax Increases
- Was Growth Already Paid For?
- The Revenue-Neutral Rate, Explained
- What This Costs You
A note before you read:
Apex Town Council are non-partisan. And so is this article. You won't find the words 'Democrat' or 'Republican' below - just like you won't find those labels on the Town Council ballot, because they're irrelevant. This is about holding the people who represent us accountable for what they said and what they did - measured against the Town's own records.
On Tuesday, June 9, 2026 the Town of Apex Council voted unanimously to approve the FY26-27 annual budget.
There were 3 options on the table:
- A budget that increases your property taxes
- A budget that does not increase your property taxes
- Wait, discuss, ask residents for feedback, and then vote at the June 23rd council meeting
Budgets are due July 1. Council had no obligation to vote or adopt the budget on June 9. Garner, for example, was set to approve their budget this week but kicked it to next week as they continue to sort it out.
But Apex didn't do that. Last year, council member, Terry Mahaffey, celebrated being the first Town in Apex to approve their budget.

Highest property tax increase of all twelve Wake County municipalities by the way.
But hey, we approved the highest tax increase super fast so like... #voteforme
My point is - we had multiple options on the table - including taking some time to consider the $0 increase presented by the Mayor, listening to residents and soliciting their feedback, and then coming back and voting - still well within the deadline.
Instead, the Council voted unanimously (5-0) to adopt the version to increase your property taxes.
And no, they didn't consider the Mayor's zero-increase. And no, they didn't seek community feedback. Instead, the majority read speeches from their laptops.
Let's talk about the different versions, council's stated reasoning for raising your taxes, and then fact-check it all.
Why the Tax Increase?
Following the public hearing where council adopted the 1.75-cent per $100 valuation tax increase, Council Member Terry Mahaffey defended the increase several times on his Facebook post.
Here's the defense:
-Terry Mahaffey
-Terry Mahaffey
So there you have it. Multiple times, Mahaffey made it very clear - they had to increase the tax rate in order to fund a new police unit. And that's it.
The Problem With That Defense
The zero-cent alternative did not lack funding for a new police unit.
In fact, Mayor Gilbert's Zero-Cent tax increase proposal fully funded the exact same public safety items as the adopted 1.75-cent budget AND added an additional patrol unit and additional corporal.

Illustrated on the left, the 6 police officers and 1 police lieutenant funded by the 1.75-cent tax increase. On the right, the 0-cent no tax increase which funded those same 6 police offers, the same 1 police lieutenant, and an additional 6 more police officers and an additional police corporal.
During the June 9 budget hearing, Mahaffey said:
-Terry Mahaffey
And then said:
-Terry Mahaffey
Moments later, he voted for the option that offered less public safety expansion and increased the tax rate.
Then somehow, the next day, he defended the tax rate increase by saying it was literally for new police positions.
-Terry Mahaffey
What the Increase Actually Funds
Primarily, the tax increase goes towards capital projects. In fact, the majority of it goes to those projects.
Actually, let me give you a few more quotes from Mahaffey from a previous post leading up to the budget approval explaining the increase:
And, what it was really for:

1.0¢ of the 1.75¢ went to the CIF.
The Town's FY26 budget adopted a full year earlier - already laid out a multi-year schedule of rate increases to rebuild capital spending toward a 12 percent target, including a roughly 1.5-cent increase penciled in for this year.
As described by the Town of Apex in their own documents last year, Apex was facing a structural capital funding gap (their word: gaps "each year beyond FY25-26 until FY29-30," up to $17.1M in FY27-28). To manage it, they've been deferring projects and they identified raising the tax rate as one of the tools.
So the rate increase isn't a response to a sudden police need - it's one lever in managing a large, growing, multi-year capital program that the Town has been juggling through deferrals and rate adjustments. That's fully documented: the increase is fundamentally about capital.
Look - the capital needs are real; aging fire stations and public-safety facilities aren't frivolous. But that's the point. The tax increase was about funding a large, multi-year capital program - which the Town has every right to do.
So why not just say that?
And that's really the whole purpose of this article you're reading. This isn't about the tax rate increase or about capital projects or about hiring for new positions. It's about the dishonesty and the manipulation.
And why would a council member go on record, go on recorded video, and lie about something so easily verifiable?
Choosing to explain the budget increase as "literally" for police when 57% of the budget was for capital projects is a complete... cop out. But then when you look at the other 43%, the police positions weren't even half of that part.

Less than half of less than half of the tax increase. "Literally" not just a "minor bump to fund a new APD patrol group."
Keep in mind - Mahaffey wasn't a bystander to this budget. He wasn't just one of five council members who voted on it. He was the Chair of the Ad-Hoc Finance Committee that oversaw it. And he became the Chair - by his own motion - back in February. That context is worth holding next to his public description of it.
The Last Minute Public Safety Cut
See that red bar in the chart above representing the new public safety hires?
That number was actually 8 right up until the budget was adopted and 1 of those positions was removed.
-Terry Mahaffey
The guy who said this quote not only rejected an alternative option which would have doubled the amount of new police, he actually pulled a fire safety position from the budget to fund projects instead.
Let me give you some quick context:
During the Town Council's Budget Work Session, they discussed a zero-cent change option. This was an option to keep your property taxes fixed, presented by staff (not the Mayor's zero-cent plan).
As a part of this plan, staff indicated they would have to remove the Fire Inspector position to meet a zero-change option.
They warned, though, that there are serious consequences to removing the inspector position:
- "Uninspected buildings create public safety risks"
- "High-inspection-inspector ratio worsens inspection backlog"
- "Liability exposure impacts Town's ISO grade"

Following the work session, Mahaffey explained why they could not accept this option:
-Terry Mahaffey
So during the budget work session, the fire inspector position was crucial and needed to be maintained for public safety. But on budget adoption day, he got rid of it.
You know - the same position they said they could not drop and needed to adopt the 1.75-cents instead because dropping it would:
- Create public safety risks
- Worsen inspection backlog
- Increase liability exposure
- Impacts the Town's ISO grade
Let me back up for just one second. One of the ways the Town got down to 1.75-cents from the original 3.5-cent proposal was by creating a .18-cent reduction to the CIF.
Mahaffey was never a fan of that part and explained on his blog:
-Terry Mahaffey
So immediately after rejecting Mayor Gilbert's zero-cent tax increase proposal which provided double the new police officer positions, Mahaffey pulls up a slide showing how to get that .18 cents back into the CIF.

Goodbye Smart Cities Parking, goodbye travel and training because who needs training, and goodbye Fire Inspector.
The Town said dropping that position would "create public safety risks."
Mahaffey said "the most important thing to me is public safety."
Then, he dropped the Fire Inspector Position to make himself feel more "comfortable".
Let me update that previous graphic:

Where Things Are Now in Apex
So far we have established that this tax increase was not literally about adding police officers, we learned that the police department was not the only operational expansion in the budget and we learned that the budget has, in fact, created a public safety risk.
So now let's look at the next defense:
-Terry Mahaffey
If the Town of Apex has had the lowest of all the tax increases over the past two years, then maybe we were just due for one.
I have more bad news.
That defense wasn't true either.

Two years ago, for FY25, Apex (tied with Raleigh) did implement the lowest increase on the adopted rate (FY25 was a revaluation year though so it's a bit more complicated; more on that below).
-Terry Mahaffey
Wrong. Last year Apex had the highest property tax increase of all twelve Wake County municipalities.
The correct reading is that Apex had the lowest increase two years ago, but the highest last year... not the "lowest tax increase the past two years running."
The Zero Last Year Claim, Explained
The chart above illustrates a 1.6-cent property tax increase, the largest increase in the county.
But according to Mahaffey, the increase was zero last year:
-Terry Mahaffey
That's another lie. And you don't have to believe me.
You can ask 2025 Mahaffey who posted this graphic on his blog with an up arrow next to the 1.6-cents that the tax rate was increased:

Or you can hear it from the Town of Apex themselves:
-Town of Apex Adopted FY25-26 Budget
Are you seeing a pattern?
Let me explain what he's trying to do. And in this statement, he gets a little closer to the truth, but still not quite honest:
-Terry Mahaffey
Last year's increase was tied to a Transportation Bond, and not technically under the General Fund heading, so he's presenting it to you as if that increase doesn't count - as if there was no increase at all.
In other words, the bond was already approved in years past so don't count it.
But go look at your property tax bill from last year and compare it to the year before. How much general fund tax did you pay?
The answer is none. Because there is no such thing. And you can't have "the lowest" of something that doesn't exist.
Instead you'll see on those bills - property tax. And it went up last year, didn't it?
The pieces of paper the budget is printed on might separate the debt-service funds and the general fund, but as I said above, Apex does not have a general fund tax. Apex levies a single property tax rate and the Town then allocates the proceeds across its general fund, affordable housing, and debt-service funds. There is no separate 'general fund tax rate' a resident pays or the council votes on. The qualifier describes an internal accounting split, not a number on your tax bill.
Mahaffey's framing treats last year's bond increase as a one-time event that explains itself away. But the rate doesn't work like that. Once raised, it stays - this year's 1.75-cent increase didn't replace it; it built on it. You'll be paying the 1.75-cent increase AND the 1.6-cent increase from last year. The result is a rate 3.35 cents higher than two years ago, permanently.
The truth is this: the FY25-26 rate went from 34¢ to 35.6¢ - a 1.6¢ increase the Town attributes to the 2021 transportation bond. But since debt service is paid from the same tax levy; Council chose to fund the bond with a rate increase rather than cuts elsewhere. Calling it "0" because of how it's labeled is accounting framing - the homeowner's check went up either way
Not only did it go up; Apex's property tax increase was the largest municipal increase in Wake County that year - ten of twelve towns raised nothing at all. The bond explains why Apex raised more than its neighbors. But it was not 'no increase' and it does not make Apex 'best in the county'.
But Two Years Ago, We Were the Best... Right?
Now that we have established that the no tax increase last year and the best in the past 2-years statements aren't factual, lets look a bit more at FY25 and how we became "the best" that one single year.
-Terry Mahaffey
The part about the revaluation year, that's true. We tied with Raleigh for lowest rate increase in FY25.
Two things are worth keeping in view, though. One, it was still an increase of 3.8 cents above revenue-neutral and raised an extra $7.38 million that year, by the Town's own accounting ('lowest' is not 'none.')
Two, here's what happened in the years leading up to "the best" FY25, in between the revaluation years:

In other words, we raised rates aggressively for 3 years and then celebrate a less aggressive increase in the one year that followed (right before bouncing back to the highest increase the following year.)
So yes, Apex was the best that one year.
An Updated Look at 2-Years in a Row
So that was the "last 2 years" referred to in the budget hearing. But we have a new budget now with FY27 now adopted. So let's take a fresh 2-year look between the ending fiscal year and the upcoming fiscal year starting July 1.

Of the 12 Wake County municipalities, Apex now has had the second highest rate increase over the past 2 years.
And when you break the two years apart, not only do we continue to increase the tax rate, Apex and Cary are the only two municipalities who haven't held at zero for both years.

Rates Have Increased Every Year Under Mahaffey's Tenure
What are you looking at here is every property tax change in Apex, NC since Mahaffey joined the Town Council:

Seven years. Seven increases. The annual bill is now $739 higher than at his first budget vote.
That's a 53% increase on your property tax bill. Nearly double inflation.

For perspective, if you take a $600,000 home under 2024 values (the middle point) and extrapolate its relative valuation over the other years, the average annual property tax bill in Apex is $337/year above the inflation path.
But Apex is Growing Fast - Doesn't That Explain it?
In further defense of the tax rate increase, Mahaffey attributes the need to fund police (which we know the budget is barely doing) to keep up with population growth.
-Terry Mahaffey
He's half right, but the half he leaves out is important.
Growth does create needs. But growth creates revenue first. Every new subdivision joins the tax base, and every new home pays the full town tax rate from the day it's occupied - automatically, with no vote and no headline. In a town growing as fast as Apex, this is real money: at a completely flat rate, new construction alone hands the town millions in additional revenue every single year.
And the revenue-neutral rate - the benchmark in the Town's own budget messages - already builds growth in: it's calculated as flat revenue plus the town's average growth rate. When Apex set rates 3.07 and then 3.8 cents above revenue-neutral, those weren't increases to keep up with growth. Growth was already paid for. They were increases on top of it.
So the honest version of "as we grow, we need more police" is a question, not a justification: if growth funds itself, why does Apex keep needing more funding than growth provides?
The Town's own books offer two answers:
First, look at what the growth money actually bought. If Mahaffey's principle, that growth naturally requires more police, had governed the past seven budgets, police staffing would have at least kept pace with population. It didn't.

The population grew 24.5 percent; officers grew 20.2 percent; officers per 1,000 residents fell. Meanwhile total town staffing grew 43 percent and Parks and Recreation doubled. The town collected growth's revenue every year and spent it, budget after budget, on nearly everything except the thing growth "naturally" requires. The principle he cites to justify this year's increase is the principle the previous six budgets violated.
Second, divide the tax haul by the people paying it. Apex's total property tax levy has more than doubled during his tenure - but population growth explains less than a third of that. If growth were driving the budget, that number would be roughly flat plus inflation. It is not close.
Look at some comparisons sitting next door. Holly Springs, Wake Forest, Fuquay-Varina, Morrisville - among the fastest-growing towns in one of the fastest-growing counties in America - face the same geographic expansion, the same response-time math, the same "naturally need more" pressures. Holly Springs and Wake Forest have now held their rates flat for consecutive years; ten of twelve Wake municipalities held flat in FY26. Growth is the condition every town in this county shares. The rate increases are the part only some councils choose.
Growth raises the budget. Only the council raises the rate. Apex did both - every year.
And you can see it clear as day right on the Town's own books. Apex's total property tax levy - the full amount billed to all property owners - was $32.7 million in the last budget adopted before Mahaffey joined the council.
By FY2025 it was $67.5 million, per the Town's audited financial report. Under the budget adopted June 9 it reaches $77.4 million - more than double. The town grew, yes. But here is the test that cancels growth out: divide the levy by the number of residents. Per resident, the tax levy rose from roughly $505 to $903 - a 78 percent increase in what each person pays - while the population grew 34 percent over the same years. If growth alone were driving the budget, the per-resident figure would be roughly flat. It rose by more than double the rate of population growth.
Revenue-Neutral Rate Explained
To clarify those revaluation years, every four years, Wake County revalues all property. Values jump - sometimes 50 percent or more - so towns lower their tax rates, and officials may announce a "rate cut." But state law (N.C.G.S. 159-11(e)) requires every town to publish the revenue-neutral rate: the rate that would bring in the same money as before, adjusted for normal growth. That number is the honest baseline. Adopt a rate above it, and you have raised taxes - no matter how big the "cut" looks.
Apex has been through two revaluations during Mahaffey's tenure. Both times, the council adopted a rate well above the Town's own published revenue-neutral figure:
- FY2020-21 (his first budget): adopted 38 cents against a revenue-neutral rate of 34.93 cents - 3.07 cents above neutral. The Town's own budget message records the result: ad valorem revenue up $6.34 million, a 19.53 percent jump in a single year.
- FY2024-25: adopted 34 cents against a revenue-neutral rate of 30.2 cents - 3.8 cents above neutral, which the budget message itself values at an additional $7.38 million, a 21 percent revenue jump.
Between those two revaluations, with no reval to complicate the picture, is where you see that the council raised the nominal rate three years in a row - one cent, then two cents, then three cents, an accelerating 15.8 percent rate increase from 38 to 44 cents.

Put it together and the record reads: above revenue-neutral, +1¢, +2¢, +3¢, above revenue-neutral, +1.6¢, +1.75¢. Seven budgets. Seven increases (those dips are not dips; they are tax rate increases following Wake County's reval and the increase is illustrated by being above that revenue-neutral rate).
There is no methodology - nominal rate, revenue-neutral comparison, or Mahaffey's own bond-exclusion approach - under which any year of his tenure produced a tax cut for the median homeowner. Even crediting the FY21 increase for its bond increment, that budget still landed roughly 1.5 cents above revenue-neutral.
In Conclusion: Here's What This Costs You - and What Can be Done
The property tax is also only part of the bill, because Apex is one of the few Wake municipalities that runs its own electric utility.
The same council that sets the tax rate sets electric, water, sewer, stormwater, and waste rates.
This year's adopted budget raises the electric base charge $1.75 a month and the energy charge 6.25 percent, water and sewer rates 4 percent each, and yard waste collection $3.05 a month. The Town's own budget director put the total at $305.52 more per year for the average household across all services - nearly triple the $105 property-tax increase that has dominated the public defense.
Can any of it be undone?
No, not this year's rate. Under state law (N.C.G.S. 159-15), once a budget ordinance is adopted, the council cannot amend the property tax levy except by court order or in narrow revenue-shortfall circumstances. The 37.35-cent rate is locked through June 2027.
What the council can change, any month it chooses, is spending.
And what residents can change is the council.
You can't undo it. But you can remember it.
Methodology & Sources:
Every figure in this story comes from Town of Apex official documents or on-the-record proceedings:
Tax Levy Calculations: Town of Apex FY2026-27 Budget Ordinance (pages 207-246), adopted June 9, 2026 (Section 15, Levy of Taxes): The total levy of approximately $77.4 million is confirmed both by summing the ad valorem appropriations across the General Fund, Affordable Housing Fund, and General Debt Service Fund, and by applying the adopted rate to the ordinance's stated assessed valuation.
Per-Penny Valuation: Town of Apex FY2026-27 Budget Ordinance, adopted June 9, 2026 (Section 15, Levy of Taxes): base ÷ 100 × collection = $20,909,800,690 ÷ 100 × 0.989 = $2.068M per penny.
Population Calculations: Town of Apex's Population Dashboard
Last Minute .18-cent CIF Increase: Council proceedings (June 10, 2026)
Tax rates, FY2016–FY2025: Town of Apex Annual Comprehensive Financial Report (FY ending June 30, 2025), Statistical Section, Table 6 (Assessed Value and Tax Rates). FY26 and FY27 rates from adopted budget ordinances and Town announcements.
Revenue-neutral rates: FY20-21 Budget Message (May 27, 2020; 34.93¢, +$6.34M/+19.53% ad valorem) and FY24-25 Budget Message (30.2¢, +$7.38M/+21.0% ad valorem), both presented under N.C.G.S. 159-11.
Median home values: Town budget messages - $366,837 (2020 revaluation values via FY20-21 Budget Message), $570,997 (2024 revaluation values via FY24-25 Budget Message). Median-bill figures hold assessed value constant within each revaluation period; bills on individual homes vary.
Levy history: Town of Apex Annual Comprehensive Financial Report Table 8 (Property Tax Levies and Collections). Population: ACFR Table 14 (Town Planning Department projections).
Staffing: Town of Apex Annual Comprehensive Financial Report Table 16 (Employee Position Authorization by Department).
FY26-27 budget composition, police package, and cuts: "Proposed FY26-27 Budget: Changes Since the Manager's Draft" memo from Budget & Performance Management Director Jessica Hoffman to Town Manager Randy Vosburg, May 22, 2026; original FY26-27 draft budget police highlights.
Mayor Gilbert's 0-Cent Proposal: Council proceedings (June 10, 2026) and meeting records and Facebook post.
2017 Parks Bond Rate Schedule: FY20-21 Budget Message.
Inflation comparison: U.S. Bureau of Labor Statistics, Consumer Price Index for All Urban Consumers (CPI-U), U.S. city average, not seasonally adjusted. June 2020 = 257.8; May 2026 = 335.1 (latest available; June 2026 data released July 14). Cumulative change: +30.0 percent. Series: FRED CPIAUCNS, fred.stlouisfed.org/series/CPIAUCNS
Mahaffey statements: public comments on his official Facebook page, June 2026 (screenshots archived); Substack posts; adoption-night remarks.
Peer rates: Apex, NC FY26 Budget and Apex, NC FY27 Budget Ordinance as compared to:
Cary, NC FY27 Recommended Budget
Cary, NC FY26 Adopted Budget
Garner, NC FY27 Recommended Budget
Garner, NC FY26 Adopted Budget
Fuquay-Varina, NC FY27 Adopted Budget
Fuquay-Varina, NC FY26 Adopted Budget
Raleigh, NC FY27 Adopted Budget
Raleigh, NC FY26 Adopted Budget
Holly Springs, NC FY27 Adopted Budget
Holly Springs, NC FY26 Adopted Budget
Wake Forest, NC FY27 Proposed Budget
Wake Forest, NC FY26 Adopted Budget
Morrisville, NC FY27 Adopted Budget
Morrisville, NC FY26 Adopted Budget
Knightdale, NC FY27 Proposed Budget
Knightdale, NC FY26 Adopted Budget
Wendell, NC FY27 Adopted Budget
Wendell, NC FY26 Adopted Budget
Rolesville, NC FY27 Adopted Budget
Rolesville, NC FY26 Adopted Budget
Zebulon, NC FY27 Proposed Budget
Zebulon, NC FY26 Adopted Budget