{
  "slug": "pto-accrual",
  "title": "PTO Accrual Calculator",
  "heading": "PTO Accrual Calculator",
  "category": "other",
  "url": "https://www.revenuelab.fyi/toolbox/pto-accrual",
  "summary": "Hours accrued per pay period and your balance at any date.",
  "description": "Accrual policies convert an annual PTO allowance into hours earned each pay period. Caps and rollover limits are where employees most often lose time they earned.",
  "formula": "Accrual per period = Annual hours ÷ pay periods per year.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=pto-accrual",
  "inputs": [
    {
      "id": "annualDays",
      "label": "Annual PTO",
      "kind": "number",
      "hint": null,
      "default": 20,
      "unit": "days",
      "min": 0,
      "max": 60
    },
    {
      "id": "hoursPerDay",
      "label": "Hours per day",
      "kind": "number",
      "hint": null,
      "default": 8,
      "unit": null,
      "min": 1,
      "max": 12
    },
    {
      "id": "frequency",
      "label": "Pay frequency",
      "kind": "select",
      "hint": null,
      "default": "biweekly",
      "options": [
        {
          "value": "weekly",
          "label": "Weekly (52)"
        },
        {
          "value": "biweekly",
          "label": "Biweekly (26)"
        },
        {
          "value": "semimonthly",
          "label": "Semi-monthly (24)"
        },
        {
          "value": "monthly",
          "label": "Monthly (12)"
        }
      ]
    },
    {
      "id": "current",
      "label": "Current balance",
      "kind": "number",
      "hint": null,
      "default": 42,
      "unit": "hours",
      "min": 0,
      "max": null
    },
    {
      "id": "periods",
      "label": "Pay periods from now",
      "kind": "number",
      "hint": null,
      "default": 10,
      "unit": null,
      "min": 0,
      "max": 60
    },
    {
      "id": "used",
      "label": "Hours you plan to use",
      "kind": "number",
      "hint": null,
      "default": 24,
      "unit": null,
      "min": 0,
      "max": null
    },
    {
      "id": "cap",
      "label": "Accrual cap",
      "kind": "number",
      "hint": null,
      "default": 240,
      "unit": "hours",
      "min": 0,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "perPeriod",
      "label": "Hours accrued per pay period",
      "format": "decimal",
      "hint": null,
      "primary": true
    },
    {
      "id": "projected",
      "label": "Projected balance (hours)",
      "format": "decimal",
      "hint": null,
      "primary": false
    },
    {
      "id": "days",
      "label": "Projected balance in days",
      "format": "decimal",
      "hint": null,
      "primary": false
    },
    {
      "id": "annualHours",
      "label": "Annual PTO hours",
      "format": "decimal",
      "hint": null,
      "primary": false
    },
    {
      "id": "perHourWorked",
      "label": "PTO hours earned per hour worked",
      "format": "decimal",
      "hint": null,
      "primary": false
    },
    {
      "id": "periodsToCap",
      "label": "Pay periods until you hit the cap",
      "format": "decimal",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Annual PTO: 20 days",
      "Hours per day: 8",
      "Pay frequency: Biweekly (26)",
      "Current balance: 42 hours",
      "Pay periods from now: 10",
      "Hours you plan to use: 24",
      "Accrual cap: 240 hours"
    ],
    "outputs": [
      "Hours accrued per pay period: 6.15",
      "Projected balance (hours): 79.5",
      "Projected balance in days: 9.9",
      "Annual PTO hours: 160",
      "PTO hours earned per hour worked: 0.0769",
      "Pay periods until you hit the cap: 32.2"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter annual pto (days).",
      "Enter hours per day.",
      "Enter pay frequency.",
      "Enter current balance (hours).",
      "Enter pay periods from now.",
      "Enter hours you plan to use.",
      "Enter accrual cap (hours).",
      "Read your hours accrued per pay period on the right — it updates as you type.",
      "Hit Share to keep the scenario or send it to someone."
    ]
  },
  "scenarios": [
    {
      "name": "Conservative",
      "description": "Lower-end numbers — what if things land soft?",
      "values": {
        "annualDays": 12,
        "hoursPerDay": 4.8,
        "frequency": "biweekly",
        "current": 25,
        "periods": 6,
        "used": 16,
        "cap": 144
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "annualDays": 20,
        "hoursPerDay": 8,
        "frequency": "biweekly",
        "current": 42,
        "periods": 10,
        "used": 24,
        "cap": 240
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "annualDays": 32,
        "hoursPerDay": 12,
        "frequency": "biweekly",
        "current": 67,
        "periods": 16,
        "used": 40,
        "cap": 384
      }
    }
  ],
  "limitations": [
    "Estimates assume standard, average conditions — local rules, pricing, and materials vary.",
    "Results are rounded for readability; add a buffer before ordering, booking, or committing.",
    "Double-check anything with a real cost attached against a local quote."
  ],
  "faq": [
    {
      "q": "How does the pto accrual calculator work?",
      "a": "Accrual policies convert an annual PTO allowance into hours earned each pay period. Caps and rollover limits are where employees most often lose time they earned. The underlying maths is: Accrual per period = Annual hours ÷ pay periods per year."
    },
    {
      "q": "What do I need to enter?",
      "a": "7 values: annual pto, hours per day, pay frequency, current balance, pay periods from now, hours you plan to use, and accrual cap. Each field starts with a sensible default, so you can change one number at a time and watch the result move."
    },
    {
      "q": "What does the hours accrued per pay period result mean?",
      "a": "It is returned as a decimal number and updates live as you edit the inputs, so you can compare two or three versions of a scenario in a few seconds."
    },
    {
      "q": "Is this calculator free, and do I need an account?",
      "a": "Yes, it's free, and no account is required. Nothing you type is stored on our servers — the maths runs entirely in your browser."
    },
    {
      "q": "How accurate is the result?",
      "a": "It applies the standard formula exactly, so the arithmetic is precise. Estimates assume standard, average conditions — local rules, pricing, and materials vary."
    },
    {
      "q": "Who is this tool for?",
      "a": "It's built for anyone doing everyday planning maths — a quick estimate that would otherwise need four browser tabs and a calculator app."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/commute-cost",
    "https://www.revenuelab.fyi/toolbox/employee-turnover-cost"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — PTO Accrual Calculator (https://www.revenuelab.fyi/toolbox/pto-accrual)"
}