Skip to content
All free tools

Count days above a balance

Balance streak checker

Count consecutive days when your modeled closing balance stays at or above a threshold you choose. Check the final N-day window separately from the longest streak. This is arithmetic, not a decision about any official financial requirement.

By AnyStatement

Published , 5 min read

Contents
  1. Count calendar days, not transactions
  2. An average of 1,000 can still hide a broken streak
  3. Read the official rules before using this for paperwork
  4. Missing records are not quiet days
  5. Keep the worksheet local
  6. If you only have PDF statements

Your file and the values you enter are processed in this browser tab. They are not uploaded or sent to analytics. We do not save them between visits. Downloads you choose to save remain on your device.

Load example uses fictional September 2026 transactions and an arbitrary threshold, not an official required amount.

Start with complete posted records

Use one account and currency, up to 5 MB and 10,000 source rows. This tool uses a signed amount column, not a running balance. For separate columns, use the debit/credit converter first.

UTF-8 .csv or .txt, up to 5 MB. File contents never leave this tool.

Map account and currency columns when present, and enter their exact labels above. Mixed or blank mapped labels block the calculation. Without those columns you must declare that all rows belong to your chosen account and currency.

Map Date to the posted date, not the purchase date. Every valid row is retained, including identical rows. If a duplicate is an export mistake, fix a working copy and load it again.

Confirm source conventions

These choices describe your source, not the desired output. Ambiguous evidence requires your choice; the tool does not guess.

For example, 03/04/2026 cannot establish the order by itself.

1,234 and 1.234 alone do not establish a number format.

Two-digit years

Default 69 means 00-68 are 2000-2068 and 69-99 are 1969-1999. Four-digit years avoid this interpretation.

No row issues reported by these checks.

Choose the days you can account for

The opening balance is before every transaction on the first day. Opening and threshold use your selected number format and are never sign-reversed. Both endpoints count. The final window ends at your chosen end date, not the last transaction date. Maximum period: 3,660 days.

Missing coverage is not a quiet day. The calculation stops until you supply complete records, or choose a shorter period with a known opening balance.

File read
Waiting for a readable CSV
Formats and inputs
Confirm inputs, then calculate
Daily-close calculation
Not calculated

Clear all removes active input and results. Back navigation can restore uncleared input. Clearing is not secure deletion of browser history or saved downloads.

Count calendar days, not transactions

Supply the balance immediately before your start date and every posted transaction through your end date. The tool adds each day's signed changes, then carries the closing balance through days without transactions. A day qualifies when that modeled close is greater than or equal to your threshold. Both endpoints count.

You get the longest qualifying streak, every tied longest run, and the streak ending exactly on your chosen end date. The final N-day window is a separate question: its start is the end date minus (N - 1) calendar days. If that starts before your supplied coverage, the tool says there are not enough covered days rather than inventing an earlier balance.

Set the threshold and target days yourself. There are no preset maintenance amounts, currency conversions, course costs or dependant calculations. The optional comparison date gives only the calendar-day difference from your selected endpoint; it does not approve the age of any document.

An average of 1,000 can still hide a broken streak

The fictional example covers September 1-30, 2026, with an arbitrary threshold of 1,000.00 and an opening balance of 1,000.00. A deposit of 100.00 on September 2 raises the balance to 1,100.00. A payment of 200.00 on September 3 brings it to 900.00. A deposit of 100.00 on September 4 restores it to 1,000.00, where it stays for the rest of the month.

September 1-2 qualifies, September 3 does not, and September 4-30 gives a 27-day streak. That is both the longest and the trailing streak. The final 28-day window starts on September 3 and has a minimum of 900.00, so one of its modeled daily closes falls below the chosen threshold.

The 30 daily balances sum to 30,000.00, giving an average of 1,000.00. An average therefore answers a different question from a consecutive-day test. Use the daily balance calculator if the average is what you need. These example numbers were recomputed with exact decimal arithmetic.

Read the official rules before using this for paperwork

This tool does not decide any official financial requirement. It cannot establish that money was available at every moment, that an account is acceptable or controlled by the right person, that funds came from an acceptable source, that the threshold is correct, or that evidence is authentic. It is not immigration, legal or lending advice. Keep the original bank evidence; this worksheet is not a replacement.

For UK Student-route applications using personal funds, UKVI's financial-evidence guidance says enough money must have been held for 28 days in a row, counted back from the closing-balance date on the most recent evidence. It says evidence must be from no more than 31 days before application. The page shows a last-updated date of December 31, 2025. Read it yourself for the conditions that apply to your situation, not just those two numbers.

Appendix Finance, FIN 7.1-7.3, also addresses recency, the closing-balance endpoint and evidence covering the whole holding period. The Immigration Rules manual header showed October 8, 2026 as its update date when checked; that is not a claim that these paragraphs changed that day. A last transaction date, monthly average or calculator-generated schedule does not stand in for the required evidence.

We opened both official sources on October 17, 2026. They describe counting back from the closing-balance date; neither gives the inclusive formula used in this worksheet. Our calculation counts N modeled daily closes. It does not prove that funds were held for an official qualifying period. No application, bank acceptance or official eligibility decision was tested or made.

Missing records are not quiet days

Coverage must be complete for the selected period. If records are missing, complete them or choose a shorter supported period with a known opening balance. A genuinely inactive account period works only after you explicitly select the no-transactions option. A header-only CSV is not treated as proof that nothing happened.

Use one account and one currency at a time. Mapped account and currency columns must match your labels. Confirm the posted-date column and that the source excludes pending rows. You must choose date order and number format; the tool will not resolve ambiguous dates or decimal separators for you. If your bank gives you separate debit and credit columns, the debit/credit converter can prepare a signed amount column.

Blank records, repeated headers, subtotal-like rows and malformed values block the calculation instead of being silently dropped. Valid outside-period transactions remain visible as exclusions and do not adjust your opening balance. Identical source rows are flagged and retained. Fix accidental duplicates in a working copy before calculating again.

Several transactions on one day are summed before the day's close is compared. Their order does not change that close, but it can hide an intraday dip. Future-dated input is labeled a hypothetical schedule, not observed holding. The limits are 5 MB, 10,000 source rows, 3,660 calendar days and zero through six decimal places. Excess decimal precision is rejected rather than rounded.

Keep the worksheet local

Your file and the values you enter are processed in this browser tab. They are not uploaded or sent to analytics. We do not save them between visits. Downloads you choose to save remain on your device.

Clear all removes the active inputs and result. Navigating away and Back can restore uncleared input, so leaving the page is not a clearing action. Downloads are new files and never modify your source. The daily schedule and result carry your assumptions; the source review also contains original cells and can be sensitive.

Formula-like exported text gets a protective apostrophe, with the number of changed cells shown before download. Parsed negative amounts remain numeric. Keep the protection when opening or resaving a CSV. Output dates use YYYY-MM-DD and numbers use a decimal point. CSV quoting uses the shared parser and writer, following the quoted-field conventions described in RFC 4180 (October 2005), opened October 17, 2026.

If you only have PDF statements

Ask your bank for its original evidence and a native CSV first. A dated balance schedule from the bank may be more useful than reconstructing one. If only PDFs are available, AnyStatement can convert them into reviewable transaction data in a separate upload workflow. Check the extracted rows against the originals before using them here. Extraction helps the arithmetic; it does not replace original evidence or decide whether funds meet a requirement.