Guide  ·  HUD reporting

How to run a CoC APR

What the report asks for, how to work out when yours is actually due, and the five things that send one back.

Updated August 2026FY2026 requirementsAbout 9 minutes

If your organization holds a Continuum of Care grant, you owe HUD an Annual Performance Report on it. One report per grant, per operating year, submitted through Sage. It is the document that says what the grant did, for whom, and with what result.

HUD publishes a thorough guidebook covering every field. This is the other half: the sequencing, the dates that are not where you expect them, and the failures that show up in practice. It assumes you have done this once and it did not go smoothly, or that it has just landed on your desk and nobody handed you a process with it.

When yours is due

Ninety days from the end of your grant operating year.

The catch is in the second half of that sentence. Your operating year is not the calendar year and it is not the federal fiscal year. It is set in eLOCCS based on when you began incurring eligible costs under that specific grant. For a new grant with no capital costs, it starts on the first day of the month in which you or your subrecipient began incurring them. For a grant with capital costs, it starts when you first draw non-capital costs and begin serving people.

Two consequences people miss

If you hold more than one CoC grant, they can have different operating years and therefore different due dates. Assuming they line up is one of the more common ways an organization ends up late on one report while on time for another.

A multi-year award generates a separate APR for every year of the term. The grant being three years long does not mean you report once.

Sage shows the operating period for each report on your dashboard. Use those dates. Do not calculate your own, and do not carry last year's range forward.

What you are actually submitting

Two different things, and keeping them separate in your head makes the whole exercise easier to plan.

Forms you fill in by hand inside Sage. Contact information, performance accomplishments, financial information, program eligibility, bed and unit utilization if your project type has beds, and optional additional comments. None of this comes from your HMIS. Somebody has to sit down and write it.

One file generated by your HMIS. This is the APR CSV, and it carries the numbers.

Worth knowing

The APR CSV contains aggregate numbers only. It is the answers to each question on the report, not the records behind them. No client-level data moves from your HMIS into Sage. This comes up in almost every conversation with a nervous board member, and the answer is genuinely reassuring.

The APR CSV

A zip file containing 67 CSV files, one per question on the report. You generate it in your HMIS for the operating period, upload it in Sage, and Sage tests it and tells you what it found.

Three rules account for a large share of failed uploads:

  • It must be the FY2026 format. Uploads in an older APR CSV format are rejected outright. Sage will not accept them and will not partially process them.
  • Generate it for the operating period Sage displays. Not the period you assumed, and not a tidy calendar year.
  • Zip it once. Double-zipped files, password-protected files, and files that were never zipped all fail.

What the report asks

Sixty-seven questions sounds worse than it is. They group into seven areas, and once you can see the groups you can see which part of your data each one is testing.

QuestionsWhat it covers
Q4a, Q5aProject identifiers and the report validations table. Sage checks these first.
Q6a to Q6fData quality. Identifying information, universal data elements, income and housing, chronic homelessness, timeliness of entry, and inactive records for street outreach and emergency shelter.
Q7 to Q12, Q24eWho you served. Persons, households, a point-in-time count on the last Wednesday, contacts and engagements for outreach, age, race and ethnicity, and sex.
Q13 to Q15, Q21Conditions and circumstances. Health conditions at start, exit and for stayers, domestic violence history, living situation prior to entry, and health insurance.
Q16 to Q20Income. Ranges, sources, earned versus other, change between start and exit, and non-cash benefits.
Q22a to Q22gLength of participation, including time between project start and housing move-in, and the same broken out by race and ethnicity.
Q23 to Q27Exits and subpopulations. Exit destination and subsidy type, then the same ground covered again for veterans, chronically homeless people, and youth.

Two definitions run through most of it. A stayer is someone with no exit date, or an exit date after the reporting period ends. A leaver is someone whose exit falls inside it. A surprising number of confusing APR numbers trace back to an exit date that was never entered, which quietly moves someone from one column to the other.

The data quality section is a preview of your monitoring visit

Q6a through Q6f are usually treated as a hurdle to clear. They are more useful than that. Those six tables are HUD telling you, in advance and in writing, which parts of your data it considers worth checking.

Q6e is the one small organizations tend to score worst on, and it is the one that has nothing to do with the report. It measures timeliness: how long after an intake or an exit the record was actually entered. A record entered forty days late is complete and correct and still counts against you. The fix is not a reporting fix. It is a question about what happens on a Tuesday afternoon when the shelter is full.

Read those six tables in month two of your operating year rather than in month twelve. Everything they flag is fixable while the year is still running and nearly impossible to fix afterward, because correcting a record honestly means going back to whoever was in the room.

Five things that send an APR back

Sage sorts upload failures into categories. These are the ones worth knowing before you are looking at red text at four in the afternoon on day eighty-nine.

1. The wrong file formatAn older APR CSV version, or an ESG CAPER file uploaded to a CoC APR by mistake. The FY2026 format has been required for data from October 1, 2025 onward. If your HMIS has not been updated, this is where you find out.
2. A project type mismatchThe project type recorded in your HMIS has to match the component type on the grant, and Sage checks this at Q4a. This usually means the HMIS project was set up years ago and nobody revisited it when the grant changed.
3. Structural problems in the fileMissing or extra files in the zip, wrong row and column configuration, percentages formatted the wrong way. This one is not yours to fix. It goes to your HMIS Lead or your vendor, and Sage lets you email them the error detail directly.
4. Report validation errorsThe numbers do not agree with each other. Two rules are worth checking yourself before you upload: the Q7a total has to equal Q5a-1, and Q8a has to equal Q5a-14 plus Q5a-15. When those do not balance, the cause is almost always in the data rather than in the report.
5. ZippingDouble-zipped, password-protected, or not zipped at all. Unglamorous, and it happens every year to somebody.

One more that is not an upload error. If your bed and unit utilization comes in under 90 percent, you have to explain why and say what the project will do about it. That is a narrative you should write deliberately rather than at the last minute, because it is read.

What changed for FY2026

The FY2026 HMIS Data Standards took effect for data from October 1, 2025. Three changes touch the APR directly.

  • Gender, element 3.06, was retired from required collection. Historical data remains.
  • Sexual Orientation, element R3, was also retired from required collection.
  • A new element, 4.21 Sex, was added, required for certain funding sources including CoC YHDP, the Unsheltered and Rural Special NOFOs, CoC Builds, ESG RUSH, HUD-VASH and SSVF.

On the report itself, the gender questions Q10a, Q10d, Q24c, Q25c, Q26c and Q27c came out, and Q24e went in to capture sex across household types. If you are comparing this year's numbers to last year's, those questions are the reason a few rows do not line up.

Four situations with their own rules

  • Joint TH and RRH components submit two separate APR CSV zip files inside the one APR. One for the transitional housing side, one for the rapid rehousing side.
  • Victim service providers cannot export from HMIS, so where a subrecipient is a VSP, multiple uploads are allowed. One file comes from the HMIS and the other from the comparable database.
  • Multiple subrecipients should normally be aggregated into a single APR CSV covering every project under the grant. Your HMIS Lead can help if your system will not do it directly.
  • The Coordinated Entry APR is a system-wide report for the whole CoC, not a project-level one, regardless of how your CE system is organized.

One rule about who presses the button: the recipient has to be the entity that submits, and the login of the person submitting is what proves it. A subrecipient cannot submit on your behalf unless you have granted that authority through a configuration request in Sage. Sort this out before the week it is due, because it is an access problem and access problems take days.

If it comes back rejected

HUD either accepts your APR, accepts it with comments, or rejects it. A rejection is not a finding and it is not a crisis. The report returns to your dashboard marked rejected and unlocked, you address what the CPD representative raised, and you resubmit.

How you fix it depends on what was wrong. A data error means correcting the record in your HMIS, regenerating the CSV, and uploading the replacement. An eligibility question is answered in the Program Eligibility form or in Additional Comments. A utilization question is answered by editing that narrative.

A sequence that works

Ninety days is generous until you discover on day eighty that your HMIS project type is wrong. This is our suggested order rather than a HUD requirement, built backward from the deadline.

Day 1 to 5Open the APR in Sage and write down the operating period it shows. Confirm you can log in, and that whoever will sign has an account and the authority to submit.
Day 5 to 15Generate a first CSV and upload it as a test. Not to submit, to find out what is broken while there is time to fix it. Read the validation output rather than the report.
Day 15 to 45Fix data in the HMIS. Missing exits first, then missing income and disability answers, then the identifying-information gaps in Q6a. Regenerate as you go.
Day 30 to 60Write the narrative pieces in parallel. Performance accomplishments, the utilization explanation if you are under 90 percent, and financial information reconciled against what you actually drew from LOCCS.
Day 60 to 75Final CSV, final upload, and read the printed report end to end. Numbers that surprise you now are numbers a CPD representative will ask about later.
Day 75 to 85Sign and submit, leaving a few days of margin. Not day ninety. Something will need one more pass and it is better to find that out with time left.

The one thing to change for next year

Almost every painful APR is a data quality problem discovered eleven months late. The report itself is mechanical. What makes it hard is that ninety days is not enough time to reconstruct a year of records nobody kept current, and the parts you can reconstruct honestly are limited to what someone actually remembers.

Run the data quality questions quarterly instead. Q6a through Q6f take minutes to generate and they tell you exactly where the gaps are while the people who were there can still fill them. An organization that does this spends its ninety days writing narrative and checking numbers, which is what the ninety days were meant for.

About COMPASS

We make case management software for organizations doing this work. It exports the HUD HMIS CSV set against the FY2026 specification, and names the required fields missing from each client record before anything is generated.

To be clear about the thing this page is about: COMPASS does not produce the APR CSV you upload to Sage. That is a different file. If a vendor tells you their case management tool files your APR, ask them which of the two they mean.

That is the only pitch in this guide. The rest of it is true whatever system you run.

Something here not matching what you are seeing in Sage?
Write to us. A person answers, and if this page is wrong we will fix it.
hello@illumipath.io
Sources

Requirements change. This page reflects what HUD published as of August 2026, and we update it in place rather than reposting it. If something here no longer matches what you are seeing in Sage, tell us at hello@illumipath.io and we will fix it.