A fence catalog is the difference between quoting from memory and quoting with confidence. Done well, it cuts time-per-quote, prevents missed materials, and reveals which jobs and styles are actually profitable. Done poorly, it's a stale spreadsheet that nobody trusts.
This guide walks through how to build a catalog from scratch, set defensible per-LF and per-style rates, run margin guardrails, and keep the whole thing fresh as supplier prices move.
References to FenceTracer reflect a working implementation. The patterns apply to any tool you use.
What goes in a fence catalog
A useful fence catalog has six categories of items, each with a known role in a quote:
- POST — line posts, end posts, corner posts, gate posts. Different sizes, different sell prices, mapped to slots that the quote engine fills automatically based on run length and corners.
- RAIL — top rails, mid rails, bottom rails. Usually 1:1 with linear feet of fence run.
- FABRIC — chain link mesh, wood pickets, ornamental panels, vinyl panels. The face of the fence; usually sold by the LF or panel.
- GATE — pre-built single and double gates, residential and commercial. One unit per gate; gate kits include hardware.
- FITTING — clamps, ties, post caps, brackets, latches, hinges. The connective tissue. A 100-LF chain link run uses dozens of fittings; getting these right prevents callbacks.
- LABOR — installation labour as catalog items ($/LF chain link install, $/LF wood install, $/gate install). Treating labour as catalog keeps margin analysis honest.
- MISC — demolition, sod repair, post-hole disposal, debris removal. The one-offs that show up on most quotes.
Building the catalog from scratch
Don't try to model every variant your supplier offers. Start with what you actually quote — usually 30–60 SKUs per fence type — and grow from there.
Day one: import your primary supplier's pricebook
Pick the supplier (Master Halco, Lowe's, regional yard) that drives 80% of your material spend. Get their current pricebook and import it. The tool's value scales with how complete your catalog is, so don't postpone this — it's the first thing to do after creating your account.
Real-world supplier files are messy. Master Halco workbooks have preamble rows, renamed sheets, and column layouts that drift over time. Tools that can only ingest a perfectly clean CSV will fall over on every supplier update. Look for an importer that handles the actual files you receive.
Cost vs sell price as separate fields
Cost is what you pay the supplier; sell is what you charge the customer. Storing them separately on every catalog item lets the software compute margin per line, per quote, per fence type, and per category. If you only store the sell price, you're flying blind on profitability.
Active vs inactive items
Old catalog items don't get deleted — they get marked inactive. Historical quotes that referenced a discontinued post should still display correctly when a customer asks about a job from 2023. The inactive flag keeps the searchable catalog tidy without breaking history.
One catalog per fence type
Chain link, ornamental, wood, vinyl each have different slot mappings. Wood doesn't use line posts; ornamental has different gate hardware; vinyl uses different fittings. Keep them as separate catalogs so the slot mapping per fence type stays clean.
Style-specific rates within a fence type
Wood is where pricing variance is hardest. Shadowbox vs board-on-board vs spaced picket can be 30%+ apart in materials cost for the same linear foot. Set explicit per-style per-LF rates rather than a flat "wood fence" rate that hides the variance.
Pricing strategy and margin discipline
The per-foot baseline
Customers want a number on the phone. A defensible per-LF rate per fence type — typically $25–30 chain link, $65–80 wood, $80–100 ornamental — gives you a fast initial number that you refine with the catalog later.
$25–30
Chain link per LF, residential$65–80
Wood privacy per LF, residential$80–100
Ornamental per LF, residentialThese are baselines, not absolutes. Slope, rocky soil, limited access, or commercial spec all push rates up. The right pattern is to add a site-condition adjustment field to your workflow so estimators can mark "uphill backyard" or "rocky" and the rate adjusts accordingly.
Margin floors that actually fire
Most fence shops target 30–40% gross margin on materials and 50–65% on labour. These are useful as software-enforced floors: configure the floor once, and let the system flag any quote that drops below it before the quote is sent. That one feature is worth the cost of the software on its own.
Margin guardrails should also catch:
- Unmapped catalog slots — a quote where the slot mapping didn't fill all expected items (missing gate hardware on a run with a gate, for example).
- Outlier totals — a quote total that's far outside the range of similar past jobs, which usually means either a measurement error or a missing line.
- Below-cost quote lines — sell price below cost. Should never happen, sometimes does, software should not let it.
Discounts as explicit lines, before tax
Cash discount, repeat-customer discount, multi-job discount — make them deliberate. A FIXED or PERCENT discount field applied before the tax line keeps the math correct and the audit trail clean. Customers and the CRA both expect discount before tax, not the other way.
Don't auto-discount repeat customers
Customers who already paid you fairly don't need a discount the second time. They need fast turnaround. Reward retention with priority scheduling and human attention, not 10% off — discounts compress your margin and signal that the original quote was over-priced.
Keeping the pricebook current
Suppliers update prices 1–4 times a year. A quarterly catalog refresh — even if prices haven't moved — is the cadence that prevents stale-quote margin loss. Make it a standing calendar event, not a fire drill that happens when an estimator notices the math feels off.
One-step pricebook import
Loading an updated supplier workbook should preserve your sell-price markups, slot mappings, and inactive items while updating costs. Tools that force you to redo mappings on every refresh make refreshes get postponed — and postponed refreshes are how margin compresses silently.
Diff before publish
Before you publish a new pricebook, the software should show a diff: which costs went up, which went down, which SKUs are new, which are gone. A 5-minute review prevents a lot of bad quotes. After publish, run a representative quote (say, 100 LF chain link + 1 gate) and compare totals to the previous version — the difference tells you immediately if margin moved expectedly or not.
Audit log on catalog changes
Who changed what, when, and from what to what. When a quote total looks off six months later, the audit log is how you debug it. Software with built-in audit logging makes this a query rather than a forensic exercise.
Multiple suppliers, one catalog
If you use Master Halco for chain link and a regional yard for wood, your catalog needs to keep both source pricebooks separate but searchable in one place. Mapping each catalog item to its supplier helps when you renegotiate — you can see exactly what spend you're putting through each supplier.
Annual sell-price walk
Once a year, walk every category and ask: is this still the right markup for current conditions? Inflation, competitive pressure, and material category shifts all show up here. Pick a fixed date — early January is a natural time — and make it a standing review.
When to track win rate by price band
Once you have ~50 quotes through the system, you can do useful pricing analysis. Look at:
- Win rate by price band. Quotes between $5K–$10K may close at 60%; quotes over $15K at 25%. If the gap is sharp, that's a sales-process issue more than a pricing issue, and the data points at it.
- Win rate by lead source. Some sources (referrals) close at 70%; some (cold web form) at 15%. Knowing which is data, not opinion.
- Margin trend per estimator. Some estimators consistently quote below your floor. Coaching opportunity, not a tooling problem.
These reports turn pricing from an art into a process you can actually improve. They require disciplined source tagging on every quote — make that a one-second habit at quote creation.
FenceTracer
Catalog import that handles the real files
FenceTracer parses real Master Halco workbooks (preamble rows, renamed sheets, drifting columns) and maps SKUs to slots automatically. Margin floors, slot guardrails, and per-style rates ship as defaults. 30-day free trial.FAQ
Frequently asked questions
What's a typical fence contractor markup percentage?
Most fence shops target 30–40% gross margin on materials and 50–65% on labour. The exact number depends on your local market, fence type, and job size. Commercial work often runs 10–20% above residential due to documentation and payment-term overhead. Use these as software-enforced floors rather than aspirational targets — let the tool warn you when a quote drops below.
How do I price a fence installation per linear foot?
Useful per-LF baselines for Canada in 2026: chain link $25–30, wood privacy $65–80, ornamental $80–100, vinyl $75–90. These are starting points for residential, flat-ground installs. Slope, rocky soil, limited access, or commercial spec all push rates up — add a site-condition adjustment field so the rate isn't flat across all conditions.
How often should I update my fence pricing database?
Quarterly. Most suppliers update prices 1–4 times a year, so a quarterly refresh ensures your quotes reflect current costs. Make it a standing calendar event rather than a fire drill. Even if prices haven't moved, walking the catalog quarterly is when you catch orphan SKUs and discontinued items.
Can I import my supplier's pricebook automatically?
If your software handles the real format your supplier uses, yes. FenceTracer's importer parses Master Halco workbooks (with preamble rows, renamed sheets, and column drift) and standard CSV directly. After import, SKUs map to slots — POST, RAIL, FABRIC, GATE, FITTING, LABOR, MISC — and the quote engine knows how many of each go on a given run.
How do I structure pricing for different wood fence styles?
Set explicit per-style per-LF rates within the wood category. Shadowbox, board-on-board, and spaced-picket can be 30%+ apart in materials cost for the same LF. A flat 'wood fence' rate hides this variance and quietly compresses margin on the more material-intensive styles. Software with style-specific rate overrides makes this configuration once.
Should I treat installation labour as a catalog item?
Yes. Treating labour as catalog ($ per LF chain link install, $ per LF wood install, $ per gate setup) keeps quotes itemized and makes margin analysis honest. It also means a wage increase doesn't get buried in a supplier-driven pricebook update — you review labour rates on their own cycle, separate from materials.
What's a fence material takeoff and why does software need to do it?
A takeoff is the list of materials needed for a job — exact post counts, fabric LF, gate kits, fittings — derived from the layout. Drawing-driven takeoff means the canvas you draw IS the takeoff: snap a layout, get the quote populated automatically. Manual takeoff (counting posts on a printed plan) is where errors enter and time disappears, especially at quote-revision time when the customer asks 'what if we add a second gate.'