How to Budget When You’re Paid on the 15th and Last Day of the Month
Getting paid on the 15th and the last day of the month has one big advantage over every-two-weeks pay: your paydays never move. You always know exactly when money lands. But almost everyone paid this way runs into the same frustration — the first half of the month is brutal and the second half feels comfortable. Rent, the car payment, insurance all hit near the 1st, and the paycheck that has to cover them is stretched thin, while the 15th check cruises.
The good news is that because your pay dates are fixed, you can solve this once and it works every single month. This guide shows you how to split your bills across the two checks so neither half of the month is the painful one.
Semi-monthly is not biweekly — and that matters
First, a quick clarification, because it changes your whole plan. Getting paid on the 15th and last day is semi-monthly: 24 paychecks a year, on dates that never change. Getting paid every two weeks is biweekly: 26 paychecks a year, on dates that drift, with two “bonus” three-paycheck months.
Two consequences for you:
- Planning is easier. Your due-date-to-paycheck assignments never need to change, because the 15th and the last day are always the 15th and the last day.
- There are no bonus checks. Biweekly folks get two extra paychecks a year to throw at annual bills or debt. You don’t. That means annual and irregular bills — insurance, registration, holidays — have to be saved for on purpose, a little each paycheck. More on that below.
Step 1 — Sort your bills into two piles by due date
The core method is the same as any two-paycheck budget: each bill is covered by the paycheck that lands before it’s due. With semi-monthly pay the dividing lines are clean:
- The last-day paycheck (say, the 30th) covers everything due from about the 1st through the 14th of next month.
- The 15th paycheck covers everything due from the 15th through the end of the month.
Here’s a typical bill list sorted this way:
| Bill | Amount | Due date | Covered by |
|---|---|---|---|
| Rent | $1,300 | 1st | Last-day check (30th) |
| Car payment | $360 | 5th | Last-day check (30th) |
| Car insurance | $120 | 10th | Last-day check (30th) |
| Electric | $95 | 12th | Last-day check (30th) |
| Phone | $75 | 17th | 15th check |
| Internet | $60 | 20th | 15th check |
| Credit card | $140 | 23rd | 15th check |
| Streaming | $40 | 26th | 15th check |
Step 2 — See the imbalance (and expect it)
Total up each pile:
- Last-day check covers: $1,300 + $360 + $120 + $95 = $1,875
- 15th check covers: $75 + $60 + $140 + $40 = $315
There it is — the reason the first half of the month is always tight. The last-day paycheck is carrying almost six times the bills of the 15th check, because rent and the big loan payments all cluster at the start of the month. If both checks are about the same size, the early-month check is drowning while the mid-month check has money to spare.
Step 3 — Rebalance so both halves carry a fair load
You have the same three levers as any paycheck budget, and with fixed pay dates you only have to pull them once:
1. Split rent across both checks. This is the biggest single fix. Instead of $1,300 landing entirely on the last-day check, pay $650 from each paycheck (if your landlord accepts two payments, or park half and pay in full). That alone moves $650 off the heavy check.
2. Move flexible-date bills to the 15th check. Ask your car insurance and electric providers to shift their due dates past the 15th. Most billers change a due date for free on request. Move insurance to the 18th and electric to the 19th and they now sit on the lighter check.
3. Lean variable spending on the lighter half. Groceries, gas, and dining have no fixed date — put more of that budget on whichever check has room.
Rebalanced:
- Last-day check: Rent $650 + Car payment $360 = $1,010
- 15th check: Rent $650 + Car insurance $120 + Electric $95 + Phone $75 + Internet $60 + Credit card $140 + Streaming $40 = $1,090
$1,010 versus $1,090 — nearly even. Now neither half of the month is the scary one, and you set it up exactly once because the dates never move.
Step 4 — Fund annual bills with a per-paycheck sinking fund
This is the semi-monthly gotcha. Because you get no bonus paychecks, big once-a-year bills will ambush a single check unless you save ahead. The fix is a sinking fund: divide each annual bill by 24 (your number of paychecks) and set that aside every payday.
| Annual bill | Yearly cost | Per paycheck (÷24) |
|---|---|---|
| Car insurance (if paid in full) | $1,200 | $50 |
| Holidays / gifts | $960 | $40 |
| Car registration | $240 | $10 |
| Amazon Prime / annual subs | $180 | $7.50 |
| Total to set aside each paycheck | $107.50 |
Set aside that ~$108 every payday and each of those bills is fully funded the day it arrives — no single check ever takes the hit. This is the semi-monthly equivalent of the biweekly bonus check: you manufacture the “extra” money by saving it steadily.
Put the whole split on autopilot
Once your bills are sorted and balanced and your sinking funds are set, the ongoing work is just totaling each check and tracking what’s left. That’s exactly what the Budget by Paycheck Spreadsheet handles: choose semi-monthly as your pay frequency in the Setup tab, assign each bill to Paycheck 1 (15th) or Paycheck 2 (last day), and it totals each check, rolls the leftover forward as a carry-over balance, and flags in red if either check is over-committed. The subscription and annual-overview tabs make the sinking-fund math visible too.
Featured on ReadySheetGo
Budget by Paycheck Spreadsheet — $11.99
8 tabs, 294 automatic formulas. Works with any pay frequency including semi-monthly (15th and last day). Assign bills to each paycheck, auto carry-over leftover money, track sinking funds for annual bills, and get color-coded over/under-budget alerts. Works in Excel and Google Sheets.
The bottom line
Being paid on the 15th and last day is the easiest pay schedule to budget because the dates never move — you just have to counteract the front-loaded bills. Split rent across both checks, push flexible-date bills onto the lighter mid-month check, and fund annual bills with a per-paycheck sinking fund since you get no bonus paychecks. Set it up once and every month runs the same. For the full framework this sits inside, see how to split bills between two paychecks.
Frequently Asked Questions
How do I budget when I get paid on the 15th and the last day of the month?
Split your bills into two piles by due date: bills due from about the 1st through the 14th are covered by the previous month's last-day paycheck, and bills due from the 15th through month-end are covered by the 15th paycheck. Then balance the two piles so one check isn't carrying all the heavy bills. Because semi-monthly pay dates never move, you can set this split once and it works every month.
Is getting paid twice a month the same as getting paid every two weeks?
No. Semi-monthly pay (the 15th and last day) is 24 paychecks a year on fixed dates that never move. Biweekly pay is 26 paychecks a year every 14 days, so the dates drift and you get two three-paycheck months. Semi-monthly is easier to plan because the dates are predictable, but you never get those two bonus checks, so annual bills need to be saved for deliberately.
Why is the first half of the month always tight when I'm paid semi-monthly?
Because rent, mortgage, and many loan payments are due at the start of the month, the paycheck covering the 1st through the 14th often carries far more in bills than the 15th check. The fix is to deliberately move flexible-date bills — credit cards, subscriptions, some utilities — onto the lighter second check, or split rent across both paychecks, so the two halves carry a similar load.
How do I save for annual bills when I'm paid semi-monthly?
Since semi-monthly pay gives you no bonus paychecks, divide each annual or irregular bill by 24 and set that amount aside every paycheck into a sinking fund. For example, a $1,200 insurance premium is $50 per paycheck. When the bill arrives, the money is already saved, so it never blows up a single check.