Skip to main content
RapidDev - Software Development Agency
stripe-guide

How to change payout schedule in Stripe

Change your Stripe payout schedule in Dashboard → Settings → Payouts → Manage. Choose between daily (default), weekly (pick a day), or monthly (pick a date). You can also set a minimum payout amount or switch to manual payouts. Via the API, update the account's payout schedule using stripe.accounts.update with the settings.payouts.schedule object.

What you'll learn

  • How to change payout frequency in the Stripe Dashboard
  • How to set weekly or monthly payout schedules
  • How to update payout schedule via the API
  • How to switch between automatic and manual payouts
Book a free consultation
4.9Clutch rating
600+Happy partners
17+Countries served
190+Team members
Beginner5 min read10 minutesAll Stripe accounts, API v2024-12+March 2026RapidDev Engineering Team
TL;DR

Change your Stripe payout schedule in Dashboard → Settings → Payouts → Manage. Choose between daily (default), weekly (pick a day), or monthly (pick a date). You can also set a minimum payout amount or switch to manual payouts. Via the API, update the account's payout schedule using stripe.accounts.update with the settings.payouts.schedule object.

Configuring Your Stripe Payout Schedule

Stripe pays out your available balance automatically on a schedule you control. The default is daily (every business day), but you can switch to weekly or monthly depending on your cash flow needs. Weekly payouts arrive on a day you choose; monthly payouts arrive on a date you pick. You can also set a minimum payout amount to avoid small transfers, or switch to manual payouts if you prefer full control.

Prerequisites

  • A verified Stripe account with payouts enabled
  • Dashboard access or Node.js 18+ for API changes

Step-by-step guide

1

Change the schedule in the Dashboard

Go to Stripe Dashboard → Settings → Payouts. Under 'Payout schedule', click 'Manage' or 'Edit'. Select your preferred frequency: daily, weekly, or monthly. For weekly, choose the day of the week. For monthly, choose the day of the month (1-28, or 'last day'). Click Save.

Expected result: Payout schedule is updated. Future payouts follow the new schedule. Existing pending payouts are not affected.

2

Set a minimum payout amount (optional)

In the same Payout settings, you can set a minimum payout amount. Stripe will accumulate your balance until it reaches this threshold before initiating a payout. This avoids small, frequent transfers.

Expected result: Payouts only trigger when your available balance exceeds the minimum amount you set.

3

Switch to manual payouts

If you want full control over when payouts happen, switch to manual payouts. In Dashboard → Settings → Payouts, change the schedule to 'Manual'. You'll need to trigger each payout yourself from the Dashboard or API.

typescript
1const stripe = require('stripe')(process.env.STRIPE_SECRET_KEY);
2
3// Switch to manual payouts via API
4await stripe.accounts.update('acct_your_account', {
5 settings: {
6 payouts: {
7 schedule: {
8 interval: 'manual',
9 },
10 },
11 },
12});
13
14// Then create payouts manually when ready
15const payout = await stripe.payouts.create({
16 amount: 50000, // $500.00
17 currency: 'usd',
18});

Expected result: Automatic payouts are disabled. You trigger each payout manually.

4

Update the schedule via API

For platform accounts using Stripe Connect, or for programmatic control, update the payout schedule via the API. Set interval to 'daily', 'weekly', or 'monthly' along with the appropriate anchor.

typescript
1// Set weekly payouts on Fridays
2await stripe.accounts.update('acct_your_account', {
3 settings: {
4 payouts: {
5 schedule: {
6 interval: 'weekly',
7 weekly_anchor: 'friday',
8 },
9 },
10 },
11});
12
13// Set monthly payouts on the 15th
14await stripe.accounts.update('acct_your_account', {
15 settings: {
16 payouts: {
17 schedule: {
18 interval: 'monthly',
19 monthly_anchor: 15,
20 },
21 },
22 },
23});

Expected result: The payout schedule is updated via the API. Future payouts follow the new schedule.

5

Verify the current schedule

Retrieve the account to confirm the payout schedule is set correctly.

typescript
1const account = await stripe.accounts.retrieve();
2const schedule = account.settings.payouts.schedule;
3
4console.log('Interval:', schedule.interval);
5console.log('Weekly anchor:', schedule.weekly_anchor);
6console.log('Monthly anchor:', schedule.monthly_anchor);
7console.log('Delay days:', schedule.delay_days);

Expected result: The current payout schedule settings are displayed, confirming your configuration.

Complete working example

payout-schedule.js
1require('dotenv').config();
2const stripe = require('stripe')(process.env.STRIPE_SECRET_KEY);
3
4async function getPayoutSchedule() {
5 const account = await stripe.accounts.retrieve();
6 const schedule = account.settings.payouts.schedule;
7 console.log('Current payout schedule:', JSON.stringify(schedule, null, 2));
8 return schedule;
9}
10
11async function setPayoutSchedule(interval, options = {}) {
12 const scheduleConfig = { interval };
13
14 if (interval === 'weekly' && options.dayOfWeek) {
15 scheduleConfig.weekly_anchor = options.dayOfWeek;
16 }
17
18 if (interval === 'monthly' && options.dayOfMonth) {
19 scheduleConfig.monthly_anchor = options.dayOfMonth;
20 }
21
22 const account = await stripe.accounts.update(
23 (await stripe.accounts.retrieve()).id,
24 {
25 settings: {
26 payouts: {
27 schedule: scheduleConfig,
28 },
29 },
30 }
31 );
32
33 const updated = account.settings.payouts.schedule;
34 console.log('Updated schedule:', JSON.stringify(updated, null, 2));
35 return updated;
36}
37
38// Examples:
39// Daily payouts
40// setPayoutSchedule('daily');
41
42// Weekly on Fridays
43// setPayoutSchedule('weekly', { dayOfWeek: 'friday' });
44
45// Monthly on the 1st
46// setPayoutSchedule('monthly', { dayOfMonth: 1 });
47
48// Manual payouts
49// setPayoutSchedule('manual');
50
51module.exports = { getPayoutSchedule, setPayoutSchedule };

Common mistakes when changing payout schedule in Stripe

Why it's a problem: Setting monthly_anchor to 29, 30, or 31

How to avoid: Use 1-28 for the monthly anchor to avoid issues with shorter months. Use a special value or 28 for end-of-month payouts.

Why it's a problem: Expecting the schedule change to affect already-pending payouts

How to avoid: Schedule changes only affect future payouts. Already-scheduled payouts will still arrive on their original date.

Why it's a problem: Switching to manual payouts and forgetting to trigger them

How to avoid: Set a reminder or build automation to trigger manual payouts. Your balance accumulates indefinitely on manual mode.

Why it's a problem: Not accounting for payout delay days

How to avoid: Even with daily payouts, there's a delay (typically 2 business days for US). The schedule determines when Stripe initiates the payout, but bank processing adds additional time.

Best practices

  • Start with daily payouts for consistent cash flow, then adjust as needed
  • Use weekly payouts on Fridays to align with business week accounting
  • Set a minimum payout amount to reduce the number of small bank transfers
  • Use the API to manage payout schedules for Stripe Connect platform accounts
  • Monitor payout.paid and payout.failed webhooks to track delivery
  • Account for bank processing time (2 business days for US) when planning cash flow
  • Keep manual payout mode only if you have a specific reason — automatic is more reliable

Still stuck?

Copy one of these prompts to get a personalized, step-by-step explanation.

ChatGPT Prompt

Write a Node.js module that manages Stripe payout schedules. Include functions to get the current schedule, set daily/weekly/monthly/manual intervals, and validate the anchor parameters. Use stripe.accounts.update to change the schedule.

Stripe Prompt

Build a Stripe payout schedule manager in Node.js that retrieves the current schedule, supports setting daily, weekly (with day anchor), monthly (with date anchor), and manual intervals via the API.

Frequently asked questions

What is the default Stripe payout schedule?

The default is daily automatic payouts. Stripe initiates a payout of your available balance every business day. For US accounts, payouts arrive in 2 business days.

Can I get paid out on weekends?

Stripe only initiates payouts on business days. If your scheduled payout day falls on a weekend or holiday, it moves to the next business day.

How do I set weekly payouts?

In Dashboard → Settings → Payouts → Manage, select 'Weekly' and choose your preferred day. Via the API, set interval: 'weekly' and weekly_anchor: 'friday' (or any day).

What happens if I change my payout schedule mid-cycle?

Already-scheduled payouts are not affected. The new schedule applies to future payouts only. Your accumulated balance will follow the new schedule.

Can I have different payout schedules for different currencies?

No. The payout schedule applies to all currencies. However, payouts for each currency go to their respective bank accounts, and each payout contains only one currency.

What is the minimum payout amount?

By default there is no minimum. You can set a custom minimum in Dashboard → Settings → Payouts. When set, Stripe accumulates your balance until it exceeds the minimum before initiating a payout.

RapidDev

Talk to an Expert

Our team has built 600+ apps. Get personalized help with your project.

Book a free consultation

Need help with your project?

Our experts have built 600+ apps and can accelerate your development. Book a free consultation — no strings attached.

Book a free consultation

We put the rapid in RapidDev

Need a dedicated strategic tech and growth partner? Discover what RapidDev can do for your business! Book a call with our team to schedule a free, no-obligation consultation. We'll discuss your project and provide a custom quote at no cost.