📝 Overview
If a payment scheduled for a specific date (for example, the 1st of the month) appears to have been processed a day early (for example, on the 31st of the previous month), this guide explains the most common cause and how to resolve it.
In this scenario, the billing date shown against the membership in your account is correct (e.g. the 1st), but the charge appears in Stripe dated the day before (e.g. the 31st). This is different from the normal short-month adjustment, where a payment moves only because the scheduled day doesn't exist in that month.
⚠️ A payment due on the 1st being taken on the 31st of a month that has 31 days is not the standard end-of-month behaviour.
The short-month adjustment only applies when the scheduled day is missing from the month (for example, a payment due on the 29th, 30th, or 31st during February).
🔎 Why This Happens
This has been traced to a mismatch between the timezone set in your Stripe account and your actual local timezone. When these timezones don't match, a payment processed shortly after midnight in your local timezone may still fall on the previous day in Stripe's configured timezone. As a result, the charge can appear in Stripe with a date that is one day earlier than expected.
Aligning your Stripe timezone with your local timezone has resolved this for businesses who have seen the issue.
🛠️ How to Resolve It
If your payments are being taken a day early, check that the timezone in your Stripe account matches your current local timezone, and update it if it doesn't.
Log in to your Stripe Dashboard.
Open your Stripe account settings and locate the timezone setting. (see here)
Set the timezone to match your actual local timezone, then save.
💡 To compare the date a payment was actually processed against what your account shows, see the guide on checking a payment's status in Stripe here.
⚠️ If updating your Stripe timezone doesn't resolve the issue, please contact our support team with a few example customer names, dates, and amounts so the team can investigate further.
❓ Frequently Asked Questions (FAQs)
Find answers to common questions or additional details that may not be covered in the main instructions.
Click the arrow to view frequently asked questions
Click the arrow to view frequently asked questions
Isn't this just the normal end-of-month adjustment?
Click the arrow to see the answer
Click the arrow to see the answer
No. The end-of-month adjustment only moves a payment when the scheduled day doesn't exist in that month, for example, a payment due on the 31st in a 30-day month, or on the 29th to 31st during February.
A payment due on the 1st being taken on the 31st of a month that has 31 days isn't explained by that, and points to the timezone mismatch described above.
Where do I change the timezone in Stripe?
Click the arrow to see the answer
Click the arrow to see the answer
The timezone is set within your Stripe account settings, in your Stripe Dashboard. Set it to match your actual local timezone and save your changes.
Stripe also has a support guide outlining how you can do this here.
