Ballot Processing Election Night & Beyond

Ballot Processing Election Night & Beyond

Boulder County Elections typically sees high turnout, including many voters waiting until Election Day to vote. In high turnout elections, it typically takes between 1-3 days after Election Day to process the volume of ballots received on Election Day.

Our office gets many questions in the immediate hours and days after the polls close about how many ballots are left to be counted and what is outstanding. We hope to shed some light on what happens on election night and beyond on this page and to provide you with the resources you need to figure out how many are left to be counted.

Nov 27 Update - 6:45 p.m.

The November General Election is now certified. Please see our press release for details. As noted below, we will be holding three recounts next week.

Nov 27 Update - 1 p.m.

Town of Erie – Council Member District 1 candidate Andrew Sawusch has requested a paid recount of that contest. Under Colorado statute, any “interested party” (typically defined as candidates, political parties, governing bodies, or ballot issue campaigns) may submit a request and pay for a recount. Because Town of Erie – Council Member District 1 falls entirely within House District 19, the cost for a recount is far less than it would be if Boulder County Elections were not already conducting a recount in that area. We anticipate with the addition of this contest to recount, the schedule may shift somewhat and potentially carry us into Thursday to conclude our work. We will continue to post updates to our schedule on this page.

Nov 26 Update - 5:10 p.m.

Boulder County Elections has updated the unofficial results with votes from 271 ballots countywide. After a review of the results, while some vote totals shifted slightly, no contests changed recount status.

Boulder County Elections will be providing the bipartisan Canvass Board with updated reconciliation reports for their review, and we will be holding our Canvass Board meeting tomorrow, Wednesday, November 27 at 2 p.m. (Meeting is 2 p.m. – 3:15 p.m.) virtually via Teams. If you would like to watch the presentation, email Vote@BoulderCounty.gov for the login link by 1 p.m. Wednesday.

As noted in our Nov 14 post, Boulder County had three contests within the automated recount range: State Representative – District 19, Town of Superior Trustee, and City of Boulder’s Ballot Question 2E. However, under Colorado election law an entity (city/special district) has the right to waive their right to a recount if a ballot measure fails to pass. City representatives made the decision to decline a recount after evaluating the cost to conduct the recount. Note that in the most recent recounts vote tallies only shifted by several votes; the vote spread between the Yes and No on this ballot measure is 65 votes: Yes 21,491 vs. No 21,556. There is no option to waive an automatic recount for candidates.

As posted below, here is our anticipated recount schedule for next week:

  • Monday, Dec 2 – 12:30 – 4:30 p.m. Conduct Test of the Voting System
  • Tuesday, Dec 3 – 9 a.m. – 6 p.m. Conduct the Recount
  • Wednesday, Dec 4 – 9 a.m. – 6 p.m. Continuation of the Recount until completed
  • TBD – Canvass meeting to certify the recount results (will update this page with date/time once scheduled and how to watch/join)

Boulder County Elections anticipates posting recount results as soon as the recount is completed, most likely end of day Wednesday, December 4. We will post to this page if the recount schedule needs to shift. By statute, we must complete the recount and certify the recount results by Friday, December 6.

Nov 26 Update - 1:30 p.m.

Boulder County Elections wants to be completely transparent about how we caught the error leading to us needing to process additional cure ballots today and what caused it. Ultimately, a combination of factors, including staff error, led to this happening. Here are the details:

  • Friday’s Secretary of State’s “week-in-brief” (a weekly newsletter) included a line item about double-checking downloaded cures, as they will be removed from the Secretary of State’s secure FTP website at the end of the year.
  • While it is not protocol, a staff member decided to double-check our cure affidavit count against what was in the FTP “processed” folder (where staff are directed to move affidavits after they have been downloaded locally). The numbers did not match.
  • We immediately reported the issue to the Secretary of State’s (SOS) office and began reviewing our processes to see how and when the error occurred.
  • Typically, the steps involved in pulling these cure affidavits is as follows:
    • County staff member logs into secure FTP site.
    • Cure files/affidavits come in labeled as PDFs with their voter ID as the file name (VoterIDnumber.PDF).
    • Staff “selects all” files and downloads affidavits from “parent” Boulder County folder to our local drives to be processed.
    • Staff then re-selects all and moves affidavit files into “processed” folder.
    • When a voter has already submitted a cure affidavit (for instance the day prior), the FTP platform then recognizes that voter ID/file name and pops up an error message that the file can’t be moved. It is extremely common for voters to submit multiple cure affidavits multiple days in a row (see below for more context). And thus, a staff member typically sees multiple error messages every time this action is performed.
    • The protocol is to then re-name the remaining duplicate affidavits that did not move as “VoterIdnumber(2)” and then move them to the processed folder.

Additional context and what we learned in our review of processes:

  • The FTP site is typically accessed once daily.
  • We learned during our review of processes that when there are more than 250 files/affidavits in the parent folder, it creates a page two and the “select all” button does not provide any message/warning that you are missing files in your select all or that there is a page two to review for additional files.
  • The 2024 General Election saw a record number of rejections as both a percentage and gross number. The result of this is that overall there were more voters curing their ballot than in previous elections.
  • Because the process on the county side involves several steps from when the cure affidavit is received to when the voter then gets an “accepted” BallotTrax message, many voters actually submit cure affidavits multiple times.

How the error ultimately occurred:

  • We have determined there were several days that the platform had over 250 affidavits received.
  • The staff member followed the normal protocol of selecting all, downloading the files locally, and then moving them to the SOS FTP “processed” folder.
  • Like normal during this process, they received many error messages on the main parent page due to duplicates and proceeded to rename the remaining files “VoterIdnumber(2)” as protocol and move them to the “processed” folder.
  • What they did not know was that not all the remaining files were duplicates. That instead, once the bulk of the files (the non-duplicates) were moved to the “processed” subfolder, it made room for the affidavit files on page two to move up to page one.
  • Thus, on days when we had more than 250 files received, the remaining files after the initial move were actually a combination of both duplicate files/affidavits as well as files/affidavits that had moved up from page two. On a day with less than 250 files/affidavits, only duplicates would remain in the parent folder, hence following the normal protocol would not produce this same error.
  • These files/affidavits were then inadvertently renamed “VoterIdnumber(2)” and moved along with whatever duplicates had come in that day as well.

While this is incredibly unfortunate, we are grateful this error was caught, and we were able to process these remaining valid ballots. We have already reviewed the immediate past elections and have no days that we had this many files/affidavits received in a single day (over 250) and thus no possibility of this error occurring. For future elections, we will certainly be changing our processes to verify and account for high volume cure days to make sure this error never occurs again.

Nov 25 Update - 8:20 p.m.

Boulder County Elections will be updating the unofficial results total again tomorrow, Tuesday Nov 26 after a staff member conducting a post-election record review discovered an error. Here is an overview of the situation and next steps:

  • This afternoon (Monday, Nov 25) a team member was doing a post-election record review and discovered an error. They found approximately 250 unprocessed cures affidavits that we believe our staff inadvertently moved to the “processed” (done/completed) folder on the Secretary of State’s FTP website (that had not actually been processed).
  • Because this error was caught prior to certifying the election results, Boulder County Elections can process these cures and count these ballots.
  • Elections staff are in the process of reviewing these cures and scheduling bipartisan election judges to return tomorrow, Tues, Nov 26 to help process these ballots.
  • Our Elections Director has notified the local Democratic and Republican party chairs and canvas board members.
  • Boulder County Elections will be processing these remaining ballots and updating the unofficial results Tuesday afternoon.
  • We will be notifying our participating entities (cities/candidates) in case this changes our recount plans (see below for anticipated recount contests). Other races in or near recount maybe impacted and we will know tomorrow once updated results are posted. As House District 19 is being closely watched, we did check for any voters in that area, and we have fewer than 20 ballots in that district to process.
  • Boulder County Elections will provide the bipartisan canvas board with updated reconciliation reports shortly thereafter we finish processing ballots tomorrow and will now hold our canvass board meeting on Wednesday, November 27 (time is likely to be 2 p.m., but will confirm in another post tomorrow).
  • For the recount, our current tentative schedule is as follows:
    • Monday, Dec 2 – 12:30 p.m.- 4:30 p.m. Conduct Test of the Voting System*
    • Tuesday, Dec 3 – 9 a.m. – 6 p.m. Conduct the Recount
    • Wednesday, Dec 4 – 9 a.m. – Continuation of the Recount until completed
    • TBD – Canvass meeting to certify the recount results (will update this page with date/time once scheduled)

  • We will post another update tomorrow afternoon as needed.

*By statute, prior to conducting the recount, the county must retest the voting system. This is done with members of the Democratic and Republican parties just like the Logic & Accuracy test done prior to every election.

Nov 14 Update

Our final unofficial results posting was this evening. After evaluating the results, we expect the following contests are close enough to trigger an automatic recount:

  • City of Boulder Ballot Question 2E
  • Town of Superior – Trustee
  • State Representative – District 19

The recount process does not begin until after the audit (Nov 19) and certification meeting (Nov 26). See this press release for audit and canvass schedule.

We will begin the recount planning process next week and will post a schedule and more details on this page when available. In general, we anticipate the recount to take place after Thanksgiving (week of Dec 2). Deadline to complete is December 6.

Nov 12 Update

Due to multiple close contests in Boulder County, we had our election judge teams return today to process some of our normal post-Election Day ballots that we typically process instead on the 9th day (see below for details on ballots processed in the days after the election). We anticipate finishing early evening and will do a posting tonight. We are still holding some ballots to preserve voter anonymity for the final 9th day posting, however, we wanted to get a batch of ballots done since we had election judge availability.

Ballot Processing on Election Night & Beyond

Unofficial results will be posted on the following days/times (times are approximate):

Election Night – Tuesday, November 5:

  • 7:30 p.m.
  • 8:45 p.m.
  • 1:30 a.m.

Wednesday, Nov 6

  • 6:30 p.m.

Thursday, Nov 7

  • 6:30 p.m. (another posting Friday, if needed)

Thursday, Nov 14 (9th day posting after Cure / Military / Overseas deadline)

  • 6:30 p.m.

Why not more results postings?

Pulling results from our Voting System means almost all activity must pause while we tabulate results. Fewer postings means we can process faster, especially on election night.

To calculate how many ballots are left to count, you can compare our Ballots Returned data* to our Ballots Counted (results) data. The difference between how many ballots have been returned and how many have already been counted provides an estimate* of how many are left to be counted.

*The Ballots Returned data is reliant on Secretary of State data pushes, which vary. The page is updated daily from the prior day returns daily at 7 a.m. Beginning on Election Day at noon, page is updated every three hours from the SOS data. Thus, please keep in mind that on Election Night, ballot returns data has a several hour lag. Additionally, ballot returns include every ballot received, thus that figure will always be higher than what we ultimately count (e.g., not all voters cure their ballot, but their ballot will still be included in the returns data).

Overview

By law, there is an 8-day period after the election during which some ballots can still be received/counted. These include:

  • Ballots received by 7 p.m. on election night that have not finished the ballot processing steps. See this ballot processing infographic for details or watch our ballot processing tour video to understand all the steps a ballot takes from receipt to counted. We can only process so many ballots a day, and when we receive many on election day, particularly in the final hours, ballot processing typically takes until Thursday or later to complete.
  • Military and Overseas (UOCAVA) mail ballots – These ballots legally have until end of day on the 8th day to arrive. Historically, less than 5% of UOCAVA mail ballots are received after Election Day.
  • Voters who turned in their ballots by 7 p.m. on Election Day but need to cure (i.e. resolve) an issue with their ballot envelope (e.g., signature discrepancies, missing signatures/ID). Voters who need to cure an issue with their ballot envelope must respond with the appropriate affidavit to our office by end of business on the 8th day or via email or by using text2cure by 11:59 p.m. that day.
  • Ballots returned to another Colorado county clerk’s office or collected by Denver Elections from USPS at 7 p.m. – If a voter returned their ballot by 7 p.m. on Election Day to another county clerk in Colorado, the ballot is either given to us at our Wednesday county ballot exchange at Denver Elections* or is sent to us (typically via Fed Ex or similar). Of this category, we immediately process ballots received from the county exchange to include in the Wednesday or Thursday unofficial results postings, but ballots received after this immediate period are held for the 9th day to process.
  • Ballots held to preserve voter anonymity – We reserve 3 ballots per precinct per district style to help preserve the anonymity for the potential cured or mail UOCAVA ballots that come in within the 8-day window.
  • Manual Process ballots – Ballots that typically come in during the last 24 hours and had an issue that prevents them from immediately being processed (e.g., damaged envelope so it can’t go through the mail sorter; dirty or food-stained so it can’t go through the scanners; poorly marked so election judges need to review for voter intent). There are typically at least 500 or more of these ballots.

*At 7 p.m. on election night, Denver Election officials physically receive (on behalf of all county clerks) any Colorado mail ballots still at the main Denver USPS Mail Processing Center. These ballots are then provided to counties at the ballot exchange on Wednesday morning (or sent to counties that cannot attend, e.g. Western Slope counties). At this same exchange, attending counties that have received ballots from other counties in their drop boxes can exchange ballots.

Go Deeper!

Want to learn even more about ballot processing and what happens election night & in the days immediately after? Watch our Election Night & Beyond webinar.

Eligible ballots received during the 8-day window after the election are processed on the 9th day – Thursday, November 14. We will update unofficial election results by the evening of Nov 14. Typically, the results will not change after this date.

After every election, we validate election outcomes through the Risk-Limiting Audit (RLA), a statistically-based audit that uses a sample of randomly selected physical ballots and compares the votes on each of those ballots to the way the scanner read each ballot at the time of scanning. For more details about the audit, please see the Secretary of State’s Audit Center.

The RLA is open to members of the public and will be conducted on Tuesday, Nov 19 (round 1) at 12:30 p.m. We will have Nov 20 and 21 for contingency and/or round 2 audit dates (subject to round 1 / results of statewide RLA). RSVP by emailing Vote@BoulderCounty.gov.

Certification of election results occurs during the canvass board meeting. The Canvass Board is comprised of the County Clerk or her designee along with a bipartisan team – one Republican and one Democratic representative (appointed by the local party chairs). During the meeting, staff presents data in great detail on the election results including ballots received and ballots counted, including mail ballots vs. in person. This data is also summarized in the Reconciliation Report. Certification signals that the election results are complete, accurate, and final.

This meeting is open to the public. The canvass meeting is set for Tuesday, Nov 26 at 2 p.m. RSVP to Vote@BoulderCounty.gov.

Overview:

  • A recount of any election contest shall be held if the difference between the highest number of votes cast in that election contest and the next highest number of votes cast in that election contest is less than or equal to one-half of one percent of the highest vote cast in that election contest (CRS 1-10.5-101(b)).
  • A recount shall occur only after the Canvass Board certifies the original vote count.
  • If a automatic recount is not required, an interested party may submit a notarized written request for a recount at the expense of the interested party. This request shall be filed with the secretary of state, the county clerk and recorder, within twenty-two days after the election.

Automatic Recount Example – Two candidate race:

Total ballots returned 10,099

  • Candidate A 5,034
  • Candidate B 5,065

Calculation for a recount:

  • Difference between candidates = 31
  • Winning candidate vote total = 5065
  • Winning candidate vote difference less than < or = to .5%
  • 31/5065= .006120434 or .6%

No automatic recount required

Automatic Recount Example 2: Multiple Candidate Race (top 5 win)

Total ballots returned:

  • Candidate 4th place 10,213
  • Candidate 5th place 8,986
  • Candidate 6th place 8,861
  • Candidate 7th place 8,819

Calculation for a recount:

  • Difference between candidates (Candidate 5 and 6) = 125
  • Winning candidate vote total = 8,986 (candidate in 5th place)
  • Difference between candidates/ Winning candidate vote total less than< or = to .005 or .5%
  • 125/8986= .0139105 or 1.3%

No automatic recount required

Follow us on Social Media for deviations on results posting schedule: in case we run early, late, or add an extra posting:

Twitter (typically where we post first): BoCoClerk
Facebook: BoulderCountyClerk
Instagram: BoulderCountyElections

Contact Us

Elections Division

303-413-7740

303-413-7728 (Fax)

vote@bouldercounty.gov
Boulder County Elections website

7:30 a.m. to 5 p.m.
Monday-Thursday
Closed Fridays

Location

Boulder: 1750 33rd St. (main office)
Map and Directions Boulder Location

Longmont: 529 Coffman St.*
Map and Directions Longmont Location

Lafayette: 1755 S. Public Road*
Map and Directions Lafayette Location
* Longmont and Lafayette locations only offer paper voter registration forms

Mailing Address

1750 33rd St., Suite 200
Boulder, CO 80301

Boulder County Elections logo