Planting beds look like simple installs. They are not. Soil amendment, edging LF, mulch depth, and plant spacing all drive the number. Here is how to price every layer.
The bid for a planting bed renovation looks like it should be simple: remove the old plants, add some new ones, throw down mulch. Then you get to the site and realize the soil is compacted caliche, the existing edging is rusted and buried, and the client wants 3 inches of hardwood mulch over 400 SF of beds. What looked like a half-day job is a full day and a half.
Planting beds have six distinct cost layers. Price them separately and you know your number. Blend them into a "per bed" or "per SF" rate and you are relying on the last job looking like this one.
The Full Cost Breakdown Per Square Foot
A new planting bed installation — excavation, amended soil, edging, plants, and 3 inches of mulch — runs $8–$18/SF installed, not including plant material. Plant cost is priced separately because it swings wildly based on species, size, and quantity. Here is the infrastructure layer:
- Excavation and debris removal: $1.00–$2.50/SF. Removing grass, old roots, and existing mulch. Compacted or rocky soil adds to this. Always price haul-off separately — do not assume you can dump debris on-site.
- Soil amendment (compost or expanded shale): $0.60–$1.20/SF for 3–4 inches of amendment tilled in. One cubic yard of compost covers 108 SF at 3 inches. In heavy clay soils, expanded shale (Permatill, GroCo) at 1–2 inches tilled in improves drainage long-term and is worth pricing as an upsell.
- Weed barrier fabric (optional): $0.15–$0.30/SF. Controversial in the industry — professional-grade non-woven fabric works; the cheap woven black plastic does not. If you include it, specify the brand. If you exclude it, say why. Do not leave it off the estimate without flagging it to the client.
- Bed edging: Price by linear foot, not square foot. Steel edging (Ryerson 3/16 inch or 14-gauge) runs $3.50–$6.00/LF installed. Concrete mow curb runs $8–$14/LF. Plastic Bender Board runs $1.50–$2.50/LF. Measure perimeter. A 400 SF bed with irregular curves might have 80–120 LF of edging perimeter — price it.
- Mulch: $0.80–$1.60/SF for 3 inches of hardwood or cedar mulch. One cubic yard covers 108 SF at 3 inches. Cedar mulch costs more than dyed hardwood but lasts longer and repels insects. Add 10% overage for irregular bed shapes and settling. Never install less than 3 inches — anything less does not suppress weeds.
- Pre-emergent herbicide: $0.08–$0.15/SF applied before mulch. Preen or a professional-grade pre-emergent over the bed before mulch goes down is the difference between a bed that stays clean and one that needs maintenance calls in 60 days. Price it in — clients accept it.
How to Price Plant Material
Plant material is priced per unit. Here is the structure that works:
- Plant cost: Your nursery invoice price. Mark up 40–60% above your cost. Do not apologize for plant markup — you are sourcing, transporting, and warranting the plant.
- Installation labor per plant: 1-gallon shrubs: 10–15 minutes each. 3-gallon shrubs: 15–25 minutes. 5-gallon: 20–35 minutes. 15-gallon trees: 45–90 minutes. These are approximate — tight spacing, rocky soil, and root-bound stock all slow you down.
- Plant warranty: Offer a 90-day or 1-year warranty on plant material at an explicit price if the client wants it. A no-warranty option lets budget-sensitive clients take the risk. A warranty option earns you a service call fee instead of a free replacement.

Mulch Quantity: The Math Contractors Get Wrong
Mulch quantity is the most commonly underestimated material cost on bed jobs. The formula:
- SF of bed × depth (inches) ÷ 324 = cubic yards needed
- Example: 400 SF × 3 inches ÷ 324 = 3.7 cubic yards. Order 4 cubic yards.
- Add 10% for irregular shapes and settling: 4 × 1.10 = 4.4 CY. Round up to 5 CY.
At 3 inches depth, you need 1 cubic yard per 108 SF of bed area. Running short means a second delivery — which costs you time and money. Running a half-yard over costs you almost nothing. Order a little more than you need.
"Two inches of mulch is a maintenance install. Three inches is weed suppression. Price the difference."
Stop pricing beds as a flat rate
Price soil, edging, mulch, and plants as separate line items.
Ledge calculates mulch cubic yards, edging LF, and plant count from your bed dimensions. Each material layer is a separate line item with your real supplier pricing.
Book a Demo →Frequently Asked Questions
How much does a planting bed installation cost per square foot?
Infrastructure only (excavation, soil amendment, edging, mulch) runs $8–$18/SF installed. Plant material is priced separately per unit. The per-SF range is wide because edging LF, mulch depth, and soil amendment needs all vary by site — always build from your measured quantities, not a per-SF average.
How do I calculate how much mulch I need?
Multiply bed square footage by depth in inches, divide by 324. That gives you cubic yards. Add 10% for irregular shapes and settling. At 3 inches depth, plan for 1 cubic yard per 108 SF. Always round up to the nearest half yard when ordering.
Should I include weed barrier fabric in my estimate?
Professional-grade non-woven geotextile fabric works and is worth including. The cheap woven black plastic breaks down quickly and creates callbacks. If you include fabric, specify the product. If you exclude it, note it clearly in the proposal — some clients will specifically request it and you want that conversation before install day, not after.
What markup should I use on plant material?
40–60% markup above your nursery cost is standard. That puts you at 30–37% gross margin on the plant material itself. You are not just delivering plants — you are selecting appropriate species for the site, transporting them, and typically warranting them. The markup reflects that value.
Edgar Galindo
Co-founder, Ledge
Edgar built Ledge while running a landscape design-build company in Central Texas. Planting beds taught him that edging perimeter and mulch cubic yards are the numbers that actually matter — not the per-SF rate he used to carry in his head.
