Local taxes in QuickBooks Desktop Payroll need a manual setup
QuickBooks Desktop Payroll does not add local taxes on its own; here is the manual setup that gets city and district withholding working.
QuickBooks Desktop Payroll users in more than a dozen states keep hitting the same quiet gap: local payroll taxes. The program can calculate and withhold them, but only after someone builds each tax item by hand and assigns it to every affected employee. Payment and filing then stay manual, outside the software entirely.
We dug into the setup that resolves it. It is not a bug and not a setting someone missed. QuickBooks Desktop simply treats most local taxes as a build-it-yourself job. The steps below are the ones that get withholding running.
The gap shows up at payday
Local taxes sit on top of the required state withholding. They can come from a city, a county, a municipality, or a school district, and the burden can fall on employees, the employer, or both. QuickBooks Desktop Payroll does not add them automatically for most jurisdictions.
The symptom is easy to miss. Paychecks carry no local tax line, no liability builds up, and nothing is waiting to be filed with the locality at quarter end. The first sign may be the agency asking why nothing arrived.
Which states collect local payroll taxes?
Thirteen states have local payroll withholding: Alabama, Colorado, Delaware, Indiana, Kentucky, Maryland, Michigan, Missouri, New York, Ohio, Oregon, Pennsylvania, and West Virginia. Not every city or district inside those states collects one. Before touching the software, confirm which taxes apply. The physical addresses of each employee’s home and work location drive the answer, and where that is unclear, the local tax agency can say which jurisdictions apply.
Create the tax item first
Each local tax needs its own payroll item. From the Employees menu, open Manage Payroll Items and choose New Payroll Item. Select Custom Setup, then Other Tax. QuickBooks then offers a list of known local taxes; a few, like the two Oregon transit district taxes, ship in that list. If yours appears, select it. If it does not, choose User-Defined and decide who pays: the employee, through withholding, or the company, as an employer cost.
Name the item after the tax itself. Enter the agency that collects it, plus an account number if one has been issued. Pick the liability account where the owed balance will sit. The next screen asks for a tax tracking type; if you are unsure which fits, a tax advisor can confirm the choice. Enter the rate on the following screen, keep selecting Next, and finish. Repeat the sequence for every local tax your company owes.
Attach the item to each employee
An item with no employees attached computes nothing. Open the Employee Center from the Employees menu and double-click the first affected employee. Switch to the Payroll Info tab, select Taxes, then the Other tab. In the Item Name column, press Tab until you land on an empty line, then choose the local tax. Select OK and save. Each employee subject to the tax needs the same treatment, one at a time, so a larger workforce means some repetition before the next affected paycheck runs.
The New York limit in Assisted Payroll
Assisted Payroll, the service where Intuit handles the filing, covers only three local taxes: the New York City resident tax, the Yonkers resident tax, and the Yonkers non-resident tax. Every other local tax, in New York and everywhere else, is set up and handled by you. That includes liability adjustments when an amount was withheld incorrectly or missed entirely. Users on Assisted Payroll sometimes assume locals are handled in every state; in most of them they are not.
Withholding is not the same as filing
The setup gets the numbers right, not the paperwork done. Once the item exists and employees are attached, paychecks show the local line and the liability account grows with each run. Payment and filing still happen outside QuickBooks, on whatever schedule the local agency sets.
That split is what catches people out. The software looks finished, the balance looks tracked, and the agency has received nothing until you send it. Treat the in-program balance as a reminder rather than a submission, and the local tax gap closes the way it should.