The skeleton
Line up every category of work before you swing a hammer.
The first draft of a rehab budget starts as a category list — drywall, paint, flooring, plumbing, electrical, HVAC, kitchen, baths, roofing, landscaping. Every category gets a line, every category gets a number, and no category is ever folded into "miscellaneous." A category without a number is the one that costs you money you didn't plan to spend. Walk the property with the category list in hand and write per category before you ever call a contractor.
The padding
Pad each line item to your worst case — not your best.
When a contractor tells you a kitchen is "$8,000 to do", that's the floor, not the middle. Add 25% for the unseen work — the repair behind the wall, the subfloor under the vinyl, the panel swap you avoided mentioning. The line item you underbid is the line item that erodes your margin. Pad each item to your worst-case number, total the categories, and live with the total — it's the one that keeps the margin intact.
The split
Separate "must-do" from "nice-to-have" — and price them both.
Granite counters are a nice-to-have. A new panel box is a must-do. Tag every line item with one of the two labels, then sum them — must-do is the contract floor, nice-to-have is what you fold in if the budget holds. Most first-time flips go over because the nice-to-have list gets priced at zero. Price both; then decide which ones earn the swing.
The overlay
Layer ZIP-local discounts on top of every category.
The big-box quote is the worst-case number. Within a 50-mile radius of your ZIP, builder-supply yards, salvage yards, paint shops, and contractor outlets each hold category-specific discounts that won't show up unless you look them up. Pull the per-category top-end discount and reflect it in a "discounted total" column — that's the number you should actually budget against, not the worst-case total.
The cadence
Re-baseline weekly — not at the end of the project.
A budget you only check at the end of a project is a budget you can't correct. Set a weekly 30-minute re-baseline: actual-to-date vs. plan, scope adds vs. scope cuts, discount applied vs. discount still available. If the swing is wider than 10%, stop, re-write one line of the contract, and re-confirm the margin before next week's draw. The re-baseline is the one habit that keeps a rehab budget working.