When client bank statements don't follow calendar months
More than once during our own close at Scale CPA, someone drafted a chase email for a statement that did not exist. The account was flagged red for June. The client swore they had sent everything. And they had: their credit card closes its cycle on the 14th, so the newest PDF covered May 15 through June 14, and the back half of June was sitting in an open cycle that would not close for two more weeks. The checklist assumed calendar months. The bank had never agreed to that.
If your close tracks one statement per account per calendar month, some version of this is happening on your book right now. Checking accounts often cooperate. Credit cards mostly do not. The result is a monthly ritual of phantom missing documents and, worse, reconciliations quietly anchored to the wrong window.
Where mid month cycle dates come from
A bank closes a statement period on the account’s cycle date. For checking and savings, many banks do line the cycle up with the calendar month, which is why the problem hides for a while. Others anchor the cycle to the day the account was opened, or deliberately stagger cycle dates across their customer base so that statement generation and support calls spread evenly through the month instead of spiking on the 1st.
Credit cards are the reliable offenders. Regulation Z, the rule that implements the Truth in Lending Act, defines a billing cycle as the interval between periodic statements and requires those intervals to be roughly equal, with about four days of allowed variance (12 CFR 1026.2(a)(4)). The regulation cares about equal intervals and says nothing about months. A card that cycles on the 14th keeps cycling on the 14th, drifting a day or two around weekends and holidays, indefinitely.
Then there is posting lag. The cycle closing and the PDF appearing are separate events. Most banks publish the statement a few days after cycle close, and retrieval channels such as Plaid’s statements API can only hand over the document once the bank has actually generated it. An account that closes on the 14th might reliably show its PDF on the 17th. That three day gap matters when you are deciding whether something is late.
What a calendar month assumption breaks
Two distinct failures, and firms usually discover them in this order.
Phantom missing statements. The tracker says June is missing on July 3. Someone chases the client. The client logs in, finds nothing new, and replies confused. Repeat this monthly and the client stops reading your document requests entirely, which poisons the requests that are real. We wrote separately about how firms end up chasing clients far more than necessary; asking for documents that cannot exist yet is the most self-inflicted version.
Reconciling the wrong window. Subtler and more expensive. If the May 15 to June 14 PDF gets filed as “June,” the balance you tie out to is the June 14 closing balance, and the last half of June has no statement support in the June folder at all. Cut-off checks, loan covenant packages, and anything a lender or auditor samples by month now point at documents covering a different period than the label claims. At year end it compounds: a December 15 to January 14 statement straddles two tax years, so December is only fully supported once a mid January document shows up.
Covering a month with two statements
Once you accept the cycle, coverage gets simple to define. A calendar month is covered when the statement periods you hold, laid end to end, span it without a gap. For a mid month cycle that always takes two documents: the one that ends mid month and the one that begins mid month. The second one posts during the following month, which means “June support complete” is an event that happens in July. Your close calendar should expect that instead of treating it as lateness.
Detecting the cycle takes two statements. Pull the period dates printed on the last two PDFs: if both end on the 14th, you have your cycle date. A third statement confirms the drift behavior, since some banks hold the date exactly while others slide to the nearest business day around weekends. A typical client mix looks like this:
| Account | Typical period | PDF usually appears |
|---|---|---|
| Operating checking | 1st through end of month | First week of the next month |
| Credit card | 15th through 14th | Around the 17th |
| Second card, same bank | 22nd through 21st | Around the 24th |
The third row is the trap inside the trap. Two cards at the same institution frequently carry different cycle dates, so “the Chase statements post mid month” is never precise enough. Cycles attach to accounts, one by one.
How to track cycles by hand
The manual fix is three columns in the account inventory you already keep. If you do not keep one, the complete guide to collecting client bank statements covers building it.
- Cycle end day per account, taken from the last two PDFs, never from memory or from the client.
- Posting lag, the observed days between period end and the PDF appearing online.
- Chase date, cycle end plus lag plus about three days of buffer. Before that date, the correct amount of chasing is zero.
Then run your gap review against periods. Mark a period missing only when its chase date has passed, and treat a genuinely overdue statement as a signal worth escalating fast, because past the posting window the usual culprit is a broken connection or a bank security hold rather than a slow bank. Revisit the cycle columns once a year or whenever a card is reissued, since banks occasionally move an account to a new cycle after a product change.
The honest downside: this is fiddly, per account maintenance that decays the moment nobody owns the spreadsheet. That decay is a large part of why we built StatementFlow inside Scale CPA. It learns each account’s actual posting cycle from the statements it fetches, retries inside the right window, and shows a coverage board that flags a real gap instead of a cycle date misread as one.
Either way, the underlying shift is the same. Stop asking “do we have June” and start asking “do the periods we hold chain across June with no gap.” The first question generates false alarms every month. The second one only fires when something is actually wrong.
If your close keeps stalling on statements that turn out to run on their own calendar, request early access and we will walk the coverage board through your own account mix.
FAQ
Why does my bank statement period not match the calendar month?
How do I reconcile an account whose statement ends mid month?
When should I mark a statement as missing?
Do checking accounts also use mid month statement cycles?
What happens to statement cycles at year end?
Keep reading
Chris Wattinger · Technology Lead, Scale CPA. Chris leads technology at Scale CPA and built StatementFlow inside the firm to end the monthly statement chase across its own client book.