Skip to main content

Moving Company Bookkeeping: Per-Move Job Costing, Fleet Depreciation, and Seasonal Cash Flow

16 min readMike ThriftMike Thrift
Moving Company Bookkeeping: Per-Move Job Costing, Fleet Depreciation, and Seasonal Cash Flow

You booked 22 moves last week in July. Your crews ran dawn to dusk, the phones never stopped, and your bank balance finally looks comfortable. Then January hits. Bookings drop to three a week, payroll still comes due, truck payments don't pause, and that healthy summer balance starts evaporating by the first week of February.

If that cycle feels familiar, you are running one of the most seasonal small businesses in America — and your books need to be built for it. Moving companies routinely earn 55 to 60 percent of annual revenue between May and August, then slide into a four-month trough where fixed costs keep running while revenue falls 50 to 70 percent. The companies that make it to their tenth summer are not the ones with the most trucks. They are the ones who cost every move accurately, depreciate their fleet correctly, and budget cash like the season actually changes.

This guide breaks down how to do it.

Why Moving Company Books Are Different

Most service businesses sell time. Moving companies sell a bundled, logistics-heavy job where every move has a different distance, crew size, hours on site, materials, fuel, valuation liability, and sometimes storage. Two "two-bedroom apartment" moves booked on the same day can have wildly different margins if one is a third-floor walk-up across town and the other is a 45-mile interstate relocation with a shuttle.

Add in federal operating authority, vehicle-heavy assets, high workers' compensation costs, and a revenue calendar that looks like a ski resort's, and you get a business where generic bookkeeping fails fast.

There are five financial levers you need to see clearly every month: per-move profitability, fleet cost, labor cost, cash position through the trough, and claims exposure. Get those right and the rest becomes manageable.

Per-Move Job Costing: The Number That Decides Your Price

If you only know revenue per move, you are guessing at profitability. True job costing tracks the full cost of delivering that specific move so you can price confidently, spot losing job types, and coach crews.

What to Capture for Every Move

Create a job-cost sheet (your CRM or even a spreadsheet template attached to each job number) that records:

  • Labor — crew hours by role. Separate driver/foreman, mover, and packer rates. Include travel time from the yard to first pickup and back — it is labor even when no customer is being charged hourly. Track overtime separately; a move that pays time-and-a-half on the last two hours can swing from profitable to breakeven.
  • Truck and equipment time. Not just fuel — allocate a per-mile or per-hour charge for each truck and trailer. That allocation should reflect depreciation, insurance, maintenance, and financing. If you run three 26-foot straight trucks and one tractor-trailer, their hourly asset cost is not the same.
  • Fuel and tolls. Track actuals per move, not a monthly average. Fuel surcharges you pass to customers need their own income line so you can see whether they actually cover swings.
  • Materials. Boxes, tape, mattress bags, wardrobe cartons, shrink wrap, and packing paper. When you provide full-service packing, material cost can be 8 to 12 percent of the job price. If you expense all materials to a single monthly account, you will never know which move types subsidize which.
  • Valuation and liability coverage. Released value (60 cents per pound) versus full-value protection creates different reserve needs. Even if you use a third-party insurer for full-value, the premium or deductible allocation belongs to the job.
  • Third-party costs. Shuttle, crane, long-carry labor, piano board, or storage-in-transit (SIT) fees paid to a warehouse partner.
  • Disposal and permit fees. Parking permits, elevator reservation fees, and debris haul-off add up on urban moves.

How to Use It

At month end, group moves by type — local hourly, local flat-rate, intrastate, interstate, and commercial — and calculate for each:

  • Average revenue per move
  • Average direct cost per move
  • Gross margin per move and per crew-hour
  • Claim cost as a percentage of revenue

You will quickly find patterns. Many owners discover their flat-rate "small apartment" moves priced to win bids lose money after travel and materials, while intrastate two-day jobs carry the margin. Without job costing, the busy week hides which jobs actually paid for the trucks.

A practical target for a local moving operation is a direct-cost gross margin of 50 to 60 percent before overhead. If you are consistently below that on a segment, raise price, tighten estimating, or stop selling that product.

Estimating Tie-In

Your estimate form should mirror your job-cost sheet line for line. When estimators walk a home or do a video survey, they are forecasting the exact categories you will later book as costs. If estimates track "4 movers, 7 hours, 2 rolls of shrink, 1 wardrobe box" and the job actually took 5 movers and 9 hours, variance review with the crew lead is how you improve the next bid.

Fleet and Equipment: Owning the Most Expensive Tools You Have

Trucks do not behave like office furniture. A new 26-foot box truck can run $75,000 to $110,000; a used one still ties up $40,000 to $65,000. That asset then loses value every mile and requires tires, brakes, lift-gate service, and DOT inspections whether it moved this week or not.

How to Book Trucks Correctly

  • Capitalize, don't expense. A truck, trailer, or container is a fixed asset, not office supplies. Record it on the balance sheet at cost including upfit (lift gate, ramp, logistics equipment, lettering) and then depreciate it.
  • Use the right life. Under MACRS, most straight trucks and tractors used in a moving operation are 5-year property. Containers and warehouse racking are typically 7-year. Establishing the correct class life matters for both book and tax depreciation.
  • Section 179 and bonus depreciation. For 2026, Section 179 lets you expense up to $1.25 million of qualifying equipment (subject to taxable income limits and phase-out thresholds) and bonus depreciation remains available at 40 percent for most new and used equipment placed in service in 2026. Many movers use Section 179 to write off a full truck purchase in the year they buy it — which is powerful, but creates a trap: you show great tax savings in the purchase year, then have no depreciation shelter in years two through five when the loan payments continue and seasonal cash is tight. Run both the tax and book depreciation schedules and forecast cash tax for the next three years before you decide to expense everything at once.
  • Track by unit. Create a subledger or class for each truck (Truck 101, Truck 102) and post fuel, repairs, tires, insurance, and loan interest to that unit. At quarter end you can rank trucks by cost per mile and identify a unit that quietly needs replacement before it becomes a roadside failure during peak season.

The Mileage-vs-Actual Decision for Owners' Vehicles

If you or a manager run a pickup or van for estimates and site visits, decide once per vehicle whether you will reimburse at the IRS standard mileage rate or track actual expenses. You cannot switch methods for the same vehicle year to year at will. Standard mileage is simpler for a sales vehicle that rarely hauls freight. Actual expense (fuel, insurance, depreciation) usually wins for a dedicated operations vehicle.

Maintenance Reserves, Not Surprises

A common off-season killer is deferred maintenance. Build a reserve of $0.15 to $0.25 per revenue mile for tires, brakes, and major service. Booking that as a monthly accrual smooths the P&L and ensures cash is actually set aside rather than hoping July profits still sit in the account in November.

Revenue Recognition: When a Deposit Becomes Income

Moving companies collect money in lumps that can mislead accrual-basis books.

  • Deposits and booking fees are not revenue when taken. They are a liability (Customer Deposits / Deferred Revenue) until the move is performed. If you take a $300 deposit in March for a May move, March revenue should not rise. Keep deposits in a separate liability account and recognize them on move day.
  • Storage revenue needs its own line and its own rule. Monthly vault or container storage is recognized Ratably as the month elapses. Do not book three months of prepaid storage as current-month revenue — that overstates your summer and leaves winter looking worse than it is.
  • Long-distance and multi-day jobs should be recognized when service is substantially complete, not when cash arrives. If you collect a 50 percent advance on a $7,000 interstate move and deliver two days later, the full $7,000 belongs to delivery week.
  • Valuation charges for full-value protection are earned on move day, but actual claim payouts are separate expense events. Do not net them on the same line.

For cash-basis taxpayers, many of these distinctions do not affect taxable income timing, but they still matter for management reporting if you want a chart that tells you whether August was truly more profitable than June.

Sales Tax, Accessorials, and Interstate Complexity

There is no single national rule for moving services. Whether you charge sales tax depends on state law and often on whether you sold goods (boxes, packing) versus a service.

  • Many states exempt transportation of household goods but tax the sale of packing materials and boxes when separately stated.
  • Some states tax the labor for packing when bundled with materials, while others exempt labor entirely.
  • A handful of localities impose city or county moving permits that are not sales tax but still need a billing line and a remittance workflow.

Keep at least three separate income and tax accounts: Moving Services (often non-taxable), Packing Services, and Materials / Merchandise Sales (frequently taxable). That split also makes an audit far less painful than a bookkeeper's single "Moving Income" line where an auditor must guess.

For interstate moves under FMCSA authority, federal rules add another layer, not of tax but of tariff and estimate compliance. Your bookkeeping should tie each interstate job number to its written estimate type (binding, non-binding, or binding not-to-exceed) and final charges so any later review can match paperwork to dollars.

Payroll and Labor: Your Biggest Controllable Cost

Labor typically consumes 35 to 45 percent of revenue for a local mover. Small leaks override every fleet saving.

Classification and Compliance

Most movers who field crews are employers, not users of 1099 contractors who "own their own truck." Calling a crew member a contractor because you pay by the job rarely survives a Department of Labor or state unemployment audit — especially when you assign dispatch, set hours, and provide the truck. Misclassification is an expensive correction with back payroll taxes, overtime, and penalties.

What Your Payroll System Must Track

  • Hours by job number (including drive time, warehouse time, and waiting time)
  • Overtime by state rule — daily overtime in some states, weekly in most
  • Per diem and lodging for overnight interstate trips, tracked as non-taxable accountable-plan reimbursements when you have substantiation
  • Workers' compensation codes — moving labor usually carries one of the highest comp rates of any classification, often $8 to $15 per $100 of payroll. Packing, driving, and warehouse labor may map to different codes with lower rates; that split saves real money at audit only if you tracked payroll by role all year.
  • Gratuities. Tips customers hand to a crew are not company revenue and are taxable wages of the crew members who receive them. Record them as tips, run them through payroll, and withhold accordingly. Company-collected "service fees" or "operations charges" added to the invoice are revenue, not tips.

Hiring for Seasonal Flex, Not Fixed Burden

Many owners staff for peak and over-spend all winter, or staff for trough and turn down summer revenue. The workable middle is a core crew of cross-trained, year-round employees supplemented by vetted seasonal hires and a clear return-to-work plan. That plan needs a bookkeeping counterpart: forecast fully-loaded weekly payroll plus taxes and insurance for each staffing scenario so you know the July overtime cost of a leaner winter crew versus the carrying cost of a larger one.

Cash Flow Through the Seasonal Trough

The summer surplus must fund the winter. Companies that treat a flushed July account as distributable profit learn this once, painfully.

Build a 13-Week Cash Forecast

Take your expected weekly revenue (using last year's weekly pattern adjusted for booked jobs) and subtract payroll, fuel, rent, truck notes, insurance, and owner draw. Run that for 13 weeks forward every Friday. The model will show you in May that late November will dip below zero unless you reserve cash or line up a facility.

Practical moves that follow:

  • Hold a peak-season reserve. Transfer 12 to 18 percent of each week's summer collections to a separate savings account you can only pull from on a written schedule. Think of it as paying winter rents in July.
  • Negotiate seasonality into fixed costs. Some owners negotiate rent abatement in the form of higher summer payments and lower winter payments, or a line of credit that advances in January and is swept nightly in June.
  • Push storage and commercial. Residential peak moves pay for the brand; storage and commercial relocation fill the calendar on Tuesdays in February. Tracking those revenue lines separately tells you whether the strategy is actually smoothing the curve.
  • Incentivize off-peak. A transparent off-season discount in quotes — booked as its own line — is easier to evaluate than a blanket lower price where no one knows what was given away.

Owner Pay and Distributions

Pay yourself a steady salary-like draw rather than draining whatever is left after bills. Distribute peak profit after the 13-week forecast shows you stay above your floor — for many shops, that floor is eight to twelve weeks of fixed costs in reserve.

Valuation, Claims, and Insurance: The Quiet Margin Killer

Customers often confuse valuation with insurance. For bookkeeping, they are very different.

  • Released value ($0.60 per pound) is federal default liability. It costs no premium, but a damaged 50-pound TV exposes you to a $30 liability rather than a $1,200 replacement.
  • Full-value protection requires you to repair, replace, or cash-settle at current market value up to the declared value. Many movers price this as a stated charge per $1,000 of valuation.

Your books need:

  • A valuation-revenue account separate from moving revenue
  • A claims-payable reserve — even a simple percentage-of-valuation-revenue accrual of 2 to 4 percent — so a single claim in October does not crater that month
  • A deductible and paid-claims expense account distinct from general liability premiums

The actual KPI to watch is claim cost per $100,000 of revenue by crew and by estimate type. One crew with a higher damage rate is a training issue long before it becomes an insurance renewal problem.

The KPI Dashboard That Tells You If You Are Winning

Weekly, your operations manager and whoever keeps the books should look at one page:

  • Revenue per truck per day. Total moving revenue divided by available truck-days. For many local markets, $1,200 to $1,800 per truck-day is a healthy range; below $900 your trucks are underutilized or under-priced.
  • Revenue per crew-hour. Total moving revenue divided by total crew hours paid that week. This flags inefficient dispatches even when trucks looked full.
  • Gross margin per move and per segment. See earlier.
  • Utilization rate. Billable hours divided by paid hours for crews. A crew paid for 40 hours but billing 26 is a scheduling or routing issue.
  • Damage claim rate and cost. Number of claims per 100 moves and total claim cost per move.
  • Storage occupancy and revenue per vault. Storage only works if it is priced to cover warehouse rent and handled costs once the move revenue is gone.
  • Days cash on hand. Cash divided by average daily fixed costs. Going into December under 30 days is when winter surprises become crises.

None of these require an enterprise system. A weekly spreadsheet fed by your CRM dispatch board and payroll export gets you 90 percent of the insight.

Common Bookkeeping Mistakes That Create Tax and Cash Surprises

  • Running the business from the bank feed. Coding everything to "truck expense" or "job supplies" buries the per-move signal. Spend the extra month setting up a few classes or jobs by move number; you get it back at bid time.
  • Commingling storage cash with moving cash. One account for both hides whether either business model works.
  • Forgetting mileage logs. The IRS standard rate only survives audit with a contemporaneous log — date, destination, purpose, miles. Dashcam GPS exports count if they are retained.
  • Not reconciling the dispatch system to the ledger. If your moving software says you delivered 84 moves last month and QuickBooks shows revenue for 79, five jobs are unbilled or coded to the wrong period. Do a monthly tie-out by job number.
  • Expense-ing a truck or trailer upgrade. Lift-gate replacement or body rebuilds that extend life should often be capitalized, not expensed in the month of purchase.
  • Ignoring annual payroll reconciliation. Form 941s, state unemployment, and workers' comp audit reports must tie to the GL. A year of off-by $400 per month becomes a five-figure audit bill.

A Simple Year-Round Cadence

  • Daily: Crew timecards approved by job, cash and card deposits tied to closed jobs, next-day estimate schedule confirmed.
  • Weekly: Payroll posted by job, fleet fuel and card recaps reconciled, 13-week cash forecast updated, KPI dashboard reviewed.
  • Monthly: P&L by segment (local, interstate, storage, packing), balance sheet review including deposits liability, truck-cost-per-mile by unit, owner review meeting with the bookkeeper — not just at tax time.
  • Quarterly: Valuation claim reserve review, insurance certificate check for active crews, Section 179 / depreciation forecast for any planned purchase, sales-tax filing tie-out if you sell materials.
  • Annually: FMCSA authority and DOT medical/status checks, workers' comp code and payroll audit prep, chart-of-accounts cleanup, and a sit-down to set next year's seasonal staffing and reserve targets.

Simplify Your Financial Management

As you juggle estimates, dispatch, crews, and seasonal swings, maintaining clear financial records is what turns a busy summer into a business that pays you year-round. Accurate job costing tells you which moves deserve your trucks, proper fleet accounting protects you at tax time, and a disciplined cash forecast keeps winter from undoing summer.

Beancount.io provides plain-text accounting that gives you complete transparency and control over your financial data — version-controlled, no black boxes, and ready for the kind of job-level and asset-level tracking outlined here. Your ledger stays yours, auditable down to the single move. Get started for free and see why operators who live by their numbers are switching to plain-text accounting.

Share this article