The Free HOA Dues Tracking Spreadsheet

Last verified: September 23, 2026 · See updates

Tracking who has paid dues is the single most important recurring task in a self-managed association, and the one that most often lives in a fragile, home-made spreadsheet that dies when the treasurer moves. This workbook is the sturdy version: a per-unit ledger that calculates balances, late flags, and aging buckets automatically, built so a rotating volunteer treasurer can inherit it and keep going.

Download HOA_Dues_Tracker.xlsx (free, no email)

Free and ungated. You may copy it, change it and give it to your board, members or clients; see the reuse terms.

Also included in the Board Starter Pack (.zip) along with nine other templates, a README and a disclaimer.

What’s inside the workbook

No screenshots here, a plain description of each of the five tabs, which is what you actually need to judge it:

  • Settings: association name, tracking year, default monthly dues, a flat late fee per late account, a grace period in days, and Billing Periods Elapsed This Year. That last cell is the engine: set it to 6 once June dues have been billed and every balance in the workbook recalculates through June. Blue cells are the ones you edit; black cells are formulas.
  • Units: one row per unit. Unit number, owner name, unit type, and that unit’s own monthly dues, so a one-bedroom and a three-bedroom can be charged different amounts. There is no contact column; keep owner contact details in your records inventory, not here.
  • Payment_Ledger: the journal. Each payment is one row: date, unit number, amount, method, period applied. You never delete history, you add rows. There is room for 6,000 payment rows, so a monthly close will not run out of it.
  • Dues_Status: calculated. Year-to-date billed, year-to-date paid, balance due, a Current or Late status, months behind, and a suggested late fee.
  • Aging_Summary: calculated. Unit counts, totals, a collection rate, and four buckets by months behind: up to 1 month, 1 to 2, 2 to 3, and over 3. This is the report your collections ladder runs on.

The file arrives with fictional sample data (names like “A. Sample”) so you can see the formulas working before you trust them. The worked example below reads that sample end to end.

One limit worth knowing before you rely on it, and one that was fixed on September 23, 2026:

  • The grace period does not drive the late flag. Settings has a Grace Period (days) cell, but no formula reads it. A unit is marked Late the moment its balance due is above zero. Treat that cell as a note to the board and apply your real grace period by judgement, or by holding off on increasing Billing Periods Elapsed until the grace window has closed.
  • Fixed: the formula ranges no longer stop at 30 units and 170 payment rows. Until September 23, 2026 the file shipped with Dues_Status and Aging_Summary reading Units rows 2 to 31 and the payment lookup reading Payment_Ledger rows 2 to 171. A 30-unit association posting monthly dues filled 170 rows in under six months, after which payments were silently left out of every balance, and a 31st unit never appeared at all. The current file covers 250 units and 6,000 payment rows, which is two full years of monthly dues at 250 units, and blank unit rows stay blank instead of reporting a phantom $0 balance. If you downloaded the workbook before September 23, 2026, it still has the old ranges. Download a fresh copy and move your data into it, or widen the ranges yourself: in the Dues_Status column E formula change Payment_Ledger!$C$2:$C$171 and $B$2:$B$171 to row 6001, drag the last formula row down to row 251, and extend the Dues_Status!...2:31 ranges on Aging_Summary to row 251.

A worked example: reading the sample before you erase it

Open the downloaded file and go to Aging_Summary. It is already showing you a finished half-year for Sample Ridge Condominium Association, a fictional 30-unit community with Billing Periods Elapsed set to 6, so the workbook is reporting through June:

Aging_Summary as shipped. All figures are fictional sample data, recomputed from the file on September 22, 2026.
LineValueWhat it means
Total YTD Billed$45,60030 units times their own dues times six months
Total YTD Collected$43,175the sum of 170 rows in Payment_Ledger
Total Outstanding$2,425the number your collections policy acts on
Units Current / Late25 / 5five owners carry a balance
Collection Rate94.7%collected divided by billed

Now the part that matters. Switch to Dues_Status, sort or scan the Balance Due column, and the five late accounts are not five versions of the same problem:

The five late units in the sample file, and what a treasurer would actually do about each.
UnitBalanceMonths behindWhat the ledger showsReasonable next step
302$9004.0paid January and February, nothing sincethe real collections case: 37% of everything owed sits on one unit. Formal demand under your policy
207$7503.0paid through March, then stoppedsecond notice, and find out whether this is hardship or a lapsed autopay
104$4502.0paid through April, then stoppedfirst written notice
210$2501.0paid through May, June not receiveda reminder, not a notice. One missed month is usually a forgotten transfer
308$750.3paid every month; the June payment was $150 against $225 duesnot a collections case at all. Phone the owner: a short payment is nearly always an error

Two lessons a blank grid cannot teach you. First, one unit is the problem. Unit 302 is 37% of the money outstanding and every other account is either recent or trivial, so a board that spends its meeting on “delinquencies” in general is spending it on the wrong thing. Second, the Late flag is not a verdict. Unit 308 is flagged Late over a $75 shortfall and a flat $25 late fee is suggested next to it; charging that fee mechanically is how self-managed boards make enemies. The Suggested Late Fee column is a calculation, not a decision, and whether you may charge it at all is a governing-documents and state-law question.

The whole thing compresses into the two sentences a treasurer should say out loud at the meeting: “Through June we billed $45,600 and collected $43,175, a 94.7 percent collection rate. Five units carry $2,425 between them, and one of those units is $900 of it and four months behind.” Minutes get the numbers; the unit numbers and owner names stay off the record. See the meeting agenda and minutes templates for how to phrase it.

Your first fifteen minutes with this file

Do these in order, once. Setting up takes about a quarter of an hour, and the file then runs on ten minutes a month.

  1. Minutes 0 to 4, read the sample. Walk the worked example above with the file open. Change Settings!B9 (Billing Periods Elapsed) from 6 to 3 and watch every balance, bucket and the collection rate move. Put it back to 6. You now know what drives the workbook.
  2. Minutes 4 to 6, save your own copy in the right place. Association-owned storage, a shared drive under an association account, not a personal laptop. This file is an association record and the next treasurer has to inherit it. Name it with the year.
  3. Minutes 6 to 8, fill in Settings. Association name, tracking year, your dues, your late fee, your grace period. Set Billing Periods Elapsed to the number of dues periods you have actually billed this year so far, not the month number.
  4. Minutes 8 to 12, replace the Units tab. Type over the sample rows with your real units and each unit’s dues. Rows 32 to 251 on Units are already wired into Dues_Status and Aging_Summary, so a 60-unit association just keeps typing.
  5. Minutes 12 to 14, clear Payment_Ledger and enter this year to date. Delete the sample rows, then enter the payments you have actually received this year from the bank statements. If someone arrived owing money from last year, add an opening-balance row so the ledger starts true rather than forgiving an old debt by accident.
  6. Minute 14 to 15, check the one number that proves it. Total YTD Collected on Aging_Summary should equal your dues deposits for the year on the bank statement, to the penny. If it does not, the ledger is wrong and nothing downstream of it can be trusted. Fix it now, while the file is small.

The monthly close routine (15–30 minutes)

  1. Enter the month’s payments from the bank statement into Payment_Ledger, then raise Billing Periods Elapsed on Settings by one.
  2. Reconcile: the sum of payments entered should match dues deposits on the statement, to the penny.
  3. Review Dues_Status for new late flags and Aging_Summary for accounts crossing 30/60/90 days.
  4. Trigger your collections policy steps based on the aging report, statement, late letter, escalation, identically for everyone. Our delinquent dues collection workflow gives you the full policy, escalation ladder, and adaptable letters.
  5. Report to the board: total collected vs. expected, and anonymized delinquency counts.

Legal caveat: late fees, interest, notice requirements, and collection steps are regulated by your governing documents and state law, some states cap fees or prescribe notice sequences. Verify before charging or escalating; see state requirements and our disclaimer. All sample data in the workbook is fictional.

When this spreadsheet stops being enough

Honest answer: this workbook tracks money; it doesn’t collect it. Owners still pay by check, Zelle, or bank transfer, and you still type payments in. When owners start demanding autopay and cards, when chronic delinquency needs automated statements, or when treasurer turnover keeps breaking the file, purpose-built software earns its subscription, entry prices run $399/year to ~$59/month at small sizes (published prices, verified July 3, 2026). Start with the rubric-scored software comparison, and check the normalized pricing table against your unit count.

Pairs well with

FAQ

Is it really free?

Yes, free and ungated. No email address, no “lite version,” no watermark. It also ships inside the free Board Starter Pack.

Does it work in Google Sheets and LibreOffice?

Yes. Standard formulas only; minor formatting differences after import are normal.

How many units can it handle?

Up to 250 units and 6,000 payment rows, which is two full years of monthly dues for a 250-unit association. The formulas cover that whole range as shipped, so there is nothing to widen. Files downloaded before September 23, 2026 stopped at 30 units and 170 payment rows and dropped anything past those points with no warning; if yours is older, download a fresh copy or widen the ranges as described above.

Can it charge late fees automatically?

It flags any balance above zero as Late and puts the flat fee from Settings in the Suggested Late Fee column. No formula reads the Grace Period cell, so the flag does not wait out your grace window, and the suggestion is a calculation rather than a decision. Whether and how much you may charge is a governing-documents and state-law question, verify first.

When should we switch to software?

When collections friction, online-payment demand, or turnover starts eating volunteer time. See the independent comparison for the best-fit platforms.

Text on this page is licensed CC BY 4.0. Suggested citation: CommonKeel, "The Free HOA Dues Tracking Spreadsheet", https://commonkeel.com/templates/hoa-dues-spreadsheet/, verified September 22, 2026. Downloadable files are free to use and share within your association; ask michael@commonkeel.com about redistribution.