Roofing is one of the trades most exposed to dishonest practice. Miami has both — excellent licensed contractors and storm-chasers who arrive after a named storm and leave the area within a season. Here is how to tell the difference.

1. Florida license number on every document

A legitimate roofing contractor publishes their CCC (Certified Roofing Contractor) license number on their website, business cards, and proposal. Look it up at myfloridalicense.com. The lookup is free and immediate.

Storm chasers either operate under a borrowed license or no license. They cannot file Miami-Dade or Broward permits in their own name.

2. Local address and phone number — with area code

A 305, 786, 954, 561, or 772 phone number indicates a South Florida operation. An out-of-state phone number usually means a storm chaser. Search the business address on Google Street View — a real contractor has a real shop.

3. Written proposal with line items

A legitimate proposal lists materials by manufacturer and part number, fasteners by type, underlayment by spec, and warranty terms. Vague proposals ("complete roof replacement, $X,XXX") give the contractor latitude to substitute lower-grade materials.

4. References within the past 12 months

Ask for three local references on completed jobs within the past year. Call them. Drive by the houses.

5. No deposit request before contract signing

Florida law caps roof contract deposits at 10% or $1,000, whichever is less, until materials arrive on site. Any request for more than that — or for "cash to lock in pricing" — is a red flag.

What to expect from Perkins

Site visit by a senior estimator (not a salesman). Written proposal within 48 hours. Line-item materials and warranty terms. No deposit until materials are scheduled. Two Florida state licenses (CCC1331944 roofing, CGC1535402 general contracting) on every document.

If a competitor cannot match these five points, you are not comparing apples to apples.