> ## Documentation Index
> Fetch the complete documentation index at: https://help.classcents.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Payment Schedules

> Customize when automated job payments occur in your classroom

<Note>
  Customize payment timing for your classroom instead of using the default 5 AM UTC schedule.
</Note>

## Overview

Configure exactly when your automated job payments should process. Set the time of day, day of week, or day of month that works best for your classroom schedule and timezone.

<img src="https://mintcdn.com/joshuamakes/G5j-M0tSaQs4mL9T/images/advanced/payment-schedule-settings.png?fit=max&auto=format&n=G5j-M0tSaQs4mL9T&q=85&s=3760e87deb54b0f9f77ca2922bca154e" alt="Classroom settings payment schedule section with timezone and cadence controls" width="1600" height="1000" data-path="images/advanced/payment-schedule-settings.png" />

## Accessing Payment Schedule Settings

<Steps>
  <Step title="Navigate to Settings">
    Go to **Settings** → **Classroom Settings** → **Payment Schedule**
  </Step>

  <Step title="Review Current Schedule">
    See your current payment configuration and next scheduled payment times
  </Step>

  <Step title="Make Changes">
    Adjust any of the timing settings to match your preferences
  </Step>

  <Step title="Save">
    Changes take effect immediately - next payment will use new schedule
  </Step>
</Steps>

## Configuration Options

### Timezone Selection

<ParamField path="Payment Timezone" type="string" default="UTC">
  Choose your local timezone so times make sense for your schedule

  **Available options**: All US and Canada timezones (Eastern, Central, Mountain, Pacific, Alaska, Hawaii, Atlantic, Newfoundland)

  **Example**: Set to "America/New\_York" for Eastern Time
</ParamField>

<Tip>
  Choose YOUR timezone even if students are in different timezones - payments should align with YOUR schedule for managing the classroom!
</Tip>

### Daily Payment Schedule

<ParamField path="Daily Payment Hour" type="number" default="5" min="0" max="23">
  What hour of day (0-23) should daily payments process?

  **Recommendations**:

  * **5 AM**: Before school (default) - students see payments when they arrive
  * **7 PM**: Evening - payments ready for next day
  * **Midnight**: Start of new day
</ParamField>

### Weekly Payment Schedule

<ParamField path="Weekly Payment Day" type="number" default="5" min="0" max="6">
  Which day of week (0=Sunday through 6=Saturday)?

  **Common choices**:

  * **Friday (5)**: End of week reward (default)
  * **Monday (1)**: Start week with payments
  * **Sunday (0)**: Weekend processing
</ParamField>

<ParamField path="Weekly Payment Hour" type="number" default="5" min="0" max="23">
  What time on that day?

  Same as daily - typically early morning
</ParamField>

### Bi-weekly Payment Schedule

<Warning>
  **Bi-weekly requires configuration!** Before you can use bi-weekly job frequency, you must set up the reference date.
</Warning>

<ParamField path="Reference Date" type="date" required>
  A starting point for bi-weekly cycle calculation

  **Example**: Set to a recent payment date (e.g., "2026-02-21")

  The system calculates payments every 14 days from this date
</ParamField>

<ParamField path="Bi-weekly Payment Day" type="number" default="5">
  Which day of the week should bi-weekly payments occur? (0-6)
</ParamField>

<ParamField path="Bi-weekly Payment Hour" type="number" default="5">
  What time of day? (0-23)
</ParamField>

<Accordion title="Understanding Bi-weekly Reference Dates" icon="calendar">
  The reference date establishes your bi-weekly cycle:

  * **Set to**: Any past Friday (if you want Friday payments)
  * **System calculates**: Every 14 days from that date
  * **Example**: Reference date Feb 7 → payments Feb 7, 21, Mar 7, 21, etc.

  <Tip>Pick a recent date that falls on your preferred day of week!</Tip>
</Accordion>

### Monthly Payment Schedule

<ParamField path="Monthly Payment Day" type="number" default="1" min="1" max="31">
  Which day of the month?

  **Popular choices**:

  * **1st**: Beginning of month (default)
  * **15th**: Mid-month
  * **Last school day**: End-of-month celebration
</ParamField>

<ParamField path="Monthly Payment Hour" type="number" default="5">
  What time on that day? (0-23)
</ParamField>

<Warning>
  If you choose day 29, 30, or 31, payments will process on the last day of shorter months (e.g., Feb 28th if you selected 31st).
</Warning>

## How Payments Are Processed

<Steps>
  <Step title="Hourly Check">
    The system checks every hour to see if any classrooms have payments due
  </Step>

  <Step title="Schedule Matching">
    For your classroom, systems checks:

    * Current time in YOUR timezone
    * Does it match your configured schedule for any frequency?
    * Are any students assigned to jobs with that frequency?
  </Step>

  <Step title="Payment Processing">
    If payments are due:

    * Finds all students with active job assignments
    * Creates transaction records
    * Awards currency to student balances
    * Logs payment with reason
  </Step>

  <Step title="Duplicate Prevention">
    System tracks which periods have been paid to prevent double-payments
  </Step>
</Steps>

<Info>
  The system runs hourly, but only processes payments when YOUR classroom's schedule indicates payments are due. No payments happen outside your configured times!
</Info>

## Default Settings (Backwards Compatible)

If you don't configure payment schedules, these defaults are used:

* **Timezone**: UTC
* **Daily**: 5:00 AM
* **Weekly**: Fridays at 5:00 AM
* **Monthly**: 1st of month at 5:00 AM
* **Bi-weekly**: Not available until configured

<Tip>
  These defaults match the previous system behavior, so existing classrooms continue working normally!
</Tip>

## Live Payment Preview

The Payment Schedule settings page shows **Next Payment Times** for all frequencies:

* **Next Daily**: Tomorrow at your configured hour
* **Next Weekly**: Next occurrence of your chosen weekday
* **Next Bi-weekly**: Next 14-day cycle date (if configured)
* **Next Monthly**: Next occurrence of chosen day of month

Use this preview to verify your settings are correct!

## Use Cases

<Tabs>
  <Tab title="Early Morning (5-7 AM)">
    **Who**: Teachers who want payments ready when students arrive

    **Benefit**: Students see earnings first thing, starts day positively

    **Set**: Daily at 5 AM, Weekly Friday 5 AM, Monthly 1st at 5 AM
  </Tab>

  <Tab title="After School (3-5 PM)">
    **Who**: Teachers who process payments before going home

    **Benefit**: Payments process during work hours, issues can be addressed same day

    **Set**: Daily at 4 PM, Weekly Friday 4 PM
  </Tab>

  <Tab title="Evening (7-9 PM)">
    **Who**: Teachers who want hands-off overnight processing

    **Benefit**: Process while you're relaxing, ready next morning

    **Set**: Daily at 8 PM, Weekly Thursday 8 PM (ready for Friday)
  </Tab>

  <Tab title="Monday Morning">
    **Who**: Teachers who want to review and approve Monday mornings

    **Benefit**: Start the week with payments, Friday is too rushed

    **Set**: Weekly Monday 7 AM
  </Tab>
</Tabs>

## Important Notes

<Warning>
  **Timezone Note**: This payment timezone is separate from your profile timezone (which is used for viewing analytics). This only affects WHEN automated payments occur.
</Warning>

<Check>**Changes take effect immediately** - next payment uses new schedule</Check>

<Check>**Doesn't affect manual transactions** - you can still award points anytime</Check>

<Check>**Per-classroom setting** - each classroom can have different schedules</Check>

<Check>**Cron runs hourly** - checks your schedule every hour but only pays when due</Check>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Payments Not Processing" icon="triangle-alert">
    **Check**:

    1. Verify timezone is correct
    2. Check that current time matches configured schedule
    3. Ensure students are assigned to jobs
    4. For bi-weekly, verify reference date is set
    5. Check Vercel logs if still not working
  </Accordion>

  <Accordion title="Payments at Wrong Time" icon="clock">
    **Solution**:

    1. Verify timezone setting matches your location
    2. Remember times are in 24-hour format (14 = 2 PM)
    3. Check that you set the right frequency's time
    4. Save changes after updating
  </Accordion>

  <Accordion title="Can't Select Bi-weekly" icon="ban">
    **This is expected!** Bi-weekly frequency is disabled in job forms until you:

    1. Go to Payment Schedule settings
    2. Set a reference date for bi-weekly payments
    3. Save the settings
    4. Return to job form - bi-weekly now available
  </Accordion>
</AccordionGroup>

## Related Topics

<CardGroup cols={2}>
  <Card title="Classroom Jobs" icon="briefcase" href="/advanced/jobs">
    Create and assign paid classroom jobs
  </Card>

  <Card title="Transaction History" icon="receipt" href="/features/transactions">
    View automatic payment transactions
  </Card>
</CardGroup>
