Sign Making Software: Why Quotes and Permits Leak Your Margin
Build if you are past roughly $4M in annual sign revenue, running two or more production locations, or quoting more than 60 custom jobs a month with a full-time estimator whose spreadsheet nobody else can operate. A focused first release covering estimating, job travelers, permit tracking, and install scheduling typically runs $60k to $130k and ships in 12 to 16 weeks. A full platform with production scheduling, survey capture, and service contracts runs $150k to $400k phased over 6 to 12 months. If you are a single-shop operation doing mostly repeat vinyl and banners, stay on Cyrious or Shopvox and spend the money on a router instead.
Why estimating and job tracking software makes or breaks a sign company
A sign shop is four businesses wearing one hat: a manufacturer, a design studio, a permitting agency liaison, and a crane crew. Almost no software understands that. Your estimator opens a workbook that has been passed down through two owners, with tabs for aluminum composite pricing, LED module counts per square foot, a fudge factor for polycarbonate faces, and a column somebody labeled "PITA" that quietly adds 12 percent when the job is downtown. That workbook is the actual company. When the person who built it takes vacation, quotes go out at guessed numbers.
Meanwhile the tools you paid for are doing half the job. Cyrious Control handles the order and the invoice but has no idea a monument sign needs a landlord approval letter before the city will even accept the permit application. Shopvox tracks a job but not the three site survey photos your installer took on his phone that are now buried in a text thread. QuickBooks knows the invoice total and nothing about why the job lost money. Corebridge and Signtracker get closer on production but fall apart the moment a job has a permit dependency that stalls it for nine weeks while the shop floor plan assumes it ships in twelve days.
Here is the scene that costs you real money. A national retail rollout, 14 locations, channel letters plus a pylon cabinet at three sites. Your estimator quotes it in four days off the workbook. Six weeks in, the city of one location kicks the permit back because the variance requires a sealed engineering drawing for wind load. Nobody flags it because permit status lives in a Google Sheet the permit coordinator updates on Fridays. The letters are already fabricated, sitting in racks, tying up $18k of aluminum and LED. The install crew shows up on the scheduled date, cannot install, and you eat a $2,400 crane cancellation plus two techs at eight hours. Multiply that by the four rollouts a year that go sideways and you are looking at $60k to $90k of margin that never had a chance.
Problem: the estimate lives in one person's head and one person's spreadsheet
Sign estimating is not a price list. It is a build. A 4-foot channel letter set in 5-inch depth with white returns, 3/16 acrylic faces, trim cap, remote power supplies, and a raceway is a bill of materials plus labor stages plus a mounting method plus an electrical connection. Your estimator knows the LED module spacing changes when the letter is under 8 inches tall. He knows a job over 20 feet up prices differently because it needs a bucket truck instead of a lift. None of that is in Cyrious. Cyrious lets you build assemblies and part items, but the moment your rules are conditional (if height over 20 feet AND street frontage, then crane plus flagger plus permit for lane closure), you are hand-adjusting every quote.
Off-the-shelf cannot fix this because the pricing logic is your intellectual property and every shop's is different. Shopvox and Corebridge give you a product builder with fields. They do not give you a rules engine that encodes twenty years of "we learned this the hard way."
What a custom build does: an estimating engine where each sign type is a configurable product with a real BOM, material yield calculations off actual sheet sizes, labor stages priced per stage (design, CNC, fabrication, paint, wiring, assembly, install), and conditional rules that fire on job attributes. Input the letter set, and the system returns material cost with waste factored from nesting yield, labor hours per stage, an install method derived from mounting height and access, and a flag if permit or engineering is triggered. The estimator reviews and overrides. Every override is logged, so after six months you know exactly which rules are wrong and by how much. This is where AI is useful rather than decorative: feed it the last 400 closed jobs with quoted hours versus actual clocked hours by stage, and it will tell you that your fabrication estimate on cabinet signs runs 22 percent light on anything with a routed face. That is a margin fix nobody found in the spreadsheet.
Problem: permits are the critical path and nothing in your stack knows it
Permits are the single largest driver of schedule risk in this business, and every off-the-shelf sign tool treats them as a checkbox with a date field. Real permitting is a dependency graph. The city needs the landlord authorization. The landlord needs the rendering. The rendering needs the survey. The variance needs the engineering seal. The engineering seal needs the wind load zone and the mounting substrate. Some jurisdictions want it electronically through Accela, some want a paper set walked in, and some will not tell you they rejected it unless you call.
Cyrious and Shopvox cannot fix this because a permit is modeled as a note on the order, not as an entity with its own state machine, its own jurisdiction rules, and its own ability to hold production. So the shop floor keeps building because the work order says "approved."
What a custom build does: permits become first-class records with jurisdiction profiles you build once per city and reuse forever. Each jurisdiction stores its required document set, typical review days, fee schedule, submission method, and contact. A permit record has a real status flow (survey needed, docs assembling, submitted, in review, corrections requested, approved, expired) and it can gate the production stage. If the permit is not approved, the job cannot move past a configured stage, so fabrication does not get released and $18k of aluminum stays on the shelf. Document extraction with AI earns its keep here: the permit coordinator uploads the correction letter or the approved permit PDF, and the system pulls the permit number, expiration date, conditions, and required inspections into fields instead of somebody retyping them. Across 14 locations that is hours a week, and more importantly it is an expiration date that actually gets tracked.
Problem: the site survey and the shop are two different companies
An installer drives out, measures the fascia, photographs the substrate, notes there is EIFS not block, checks the power location, and then puts all of that in a text message. Or a folder on Dropbox named by date. The fabricator never sees it. Two weeks later the letters are built for block mounting and the crew is on-site improvising a backer panel at 7am.
Field tools like Jobber and ServiceTitan handle a service call fine. They do not handle a survey that feeds a fabrication spec, because they have no concept of the manufacturing job downstream. Sign-specific tools have survey forms but they are unstructured notes, not typed data the shop can build against.
What a custom build does: a mobile survey form built for signs, offline-capable because half your sites have no signal inside a shell building. Required fields per sign type: mounting substrate, fascia height, access obstructions, power availability and distance, existing sign disposition, and photos tagged to specific measurement points. The survey writes back to the job and, this is the important part, it re-prices. If the surveyor selects EIFS instead of the assumed block, the estimate recalculates with the backer panel and the additional labor, and it generates a change order for the customer before fabrication. Your shop drawing package pulls from the survey directly instead of from a phone call. On multi-site rollouts, one survey template drives 14 consistent data sets you can actually compare.
Problem: production scheduling that ignores permits, art approval, and crane availability
Your shop schedule is a whiteboard or a Cyrious queue that assumes work flows in order. It does not. A job sits for two months waiting on a permit, then three permits approve in the same week and suddenly the CNC is the bottleneck, the paint booth has a four-day backlog, and your two installers are double-booked against a crane rental you can only get on Tuesdays.
No off-the-shelf tool schedules against constraints that live outside the shop. That is the whole issue. The permit is external. The customer's art approval is external. The crane and the traffic control permit are external. Generic MRP does not know about them and sign software does not model them.
What a custom build does: a scheduler that treats the job as a chain of gated stages with real resource capacity behind each one. CNC hours, paint booth slots, fabricator hours, installer crew days, and equipment (lift, bucket, crane) all have capacity. A job only enters the schedulable pool when its gates clear: art approved, permit approved, materials received. When three permits land at once, the scheduler shows you the collision on Tuesday and lets you resequence before the crane invoice happens. Forecasting is where AI pays here: with two years of your own permit history by jurisdiction, the model predicts approval dates far better than the "30 days typical" you tell customers, which means you can pre-buy material and reserve crane dates with confidence instead of hope.
Problem: you find out a job lost money at the end of the quarter
QuickBooks tells you revenue and cost of goods at the company level. Your estimator's spreadsheet told you what the job was supposed to cost. Nothing reconciles the two per job, per stage. So you know the shop did $3.2M and made less than last year, and you have three theories.
Cyrious will give you a job costing report if your data entry is perfect, which it is not, because nobody clocks into the right job code when they are jumping between four jobs a day and the install crew logs a full day for a two-hour service call.
What a custom build does: time capture where the work happens, on a shop-floor tablet with a job scan, and on the installer's phone with geofenced arrival and departure. Material issue tracked at pull, not at PO. Then a per-job P&L that shows quoted versus actual by stage, so you can see that install labor on channel letters runs 40 percent over quote while cabinet signs are dead accurate. That feeds the estimating rules directly and closes the loop. Shops we have built this for typically find the leak within one quarter, and it is almost never where the owner guessed.
What this costs and how long it takes
These are Digital Heroes delivery bands from 2,000-plus projects, not market averages. A focused first release runs $60k to $130k and ships in 12 to 16 weeks. For a sign company that scope is usually: the estimating engine with your rules encoded, the job record with stage gating, permit tracking with jurisdiction profiles, the mobile survey, and installer scheduling. That is enough to stop the expensive failures. A full platform runs $150k to $400k phased across 6 to 12 months, adding production scheduling with resource capacity, per-job costing with shop-floor time capture, customer proofing portal, service and maintenance contracts with recurring LED checks, and the AI layer for permit forecasting and document extraction.
What drives price up in this category specifically: the number of distinct sign types you need to configure (a shop doing channel letters, monuments, wayfinding, ADA, vehicle wraps, and digital displays is six product engines, not one); jurisdiction count, because each city profile is real work and a national rollout shop may need 40 of them; integration with your production hardware and design flow, since pulling nesting yields out of EnRoute or Aspire or reading Illustrator artwork specs is genuinely fiddly; migrating history out of Cyrious, whose data model was not built for export; and electrical inspection and UL listing tracking if you fabricate listed cabinets, which adds a compliance record per sign with its own serial and label chain.
Build or buy: take the honest read
Buy if you are under roughly $2M, single location, and your job mix is mostly repeat: banners, decals, vinyl, small interior sets. Shopvox at its published per-user pricing or Cyrious will do more than you need, and the discipline of using them properly will improve you more than a custom build will. Spend the $80k on a better printer.
Build when these show up together. Your estimator is a single point of failure and you cannot hire a second one because the knowledge is not writable down in any tool you own. You are doing multi-site rollouts where a permit slip cascades into fabricated inventory and cancelled crane days. You are running two or more production locations and they quote the same job differently. You have more than 60 custom quotes a month and win rate is dropping because turnaround is slow. And the clearest signal: you have already bought a second and third tool to patch the first one, so your permit tracker is a spreadsheet, your survey tool is a text thread, your schedule is a whiteboard, and your job costing is a quarterly guess. That stack is not cheaper than a build. It is just billed to you in margin instead of invoices.
The position: at multi-location or high-volume, off-the-shelf sign software is a decent order-entry system pretending to be an operating system. The part that decides whether you make money, the estimate rules and the permit-to-production dependency, is exactly the part it does not model. That is what you build.
How to choose a developer for sign company software
Ask them to model your estimate before they quote you. Give them one real channel letter job with the raceway, the remote power supply, and the 22-foot mounting height, and ask them to sketch the data model. If they come back with a flat line-item table and no BOM, no labor stages, and no conditional rules, they are going to build you an invoicing app. The right answer includes assemblies, material yield, stage-level labor, and rules that fire on job attributes.
Ask how they will model a permit. The wrong answer is a status field. The right answer is a permit entity with a jurisdiction profile, a document checklist, a state machine, and the ability to gate a production stage. If they have never had to explain to an owner why the shop kept building against an unapproved permit, they have not been here.
Ask what they will do with Cyrious data. Not whether they will migrate it, but how. The credible answer involves getting at the underlying database, mapping customers, orders, and part items, and being blunt that some historical job detail will land as read-only archive rather than clean structured records. Anyone promising a lossless migration has not opened the schema.
Ask about the compliance edges. UL listing and label tracking if you fabricate electric signs, electrical inspection scheduling, and prevailing wage or certified payroll if you take municipal and school district work. These are not exotic, they are Tuesday in this industry, and a developer who has not heard of them will discover them in week 10 of your build at your expense.
The evidence behind this guide
Independent findings on why this investment pays off. Every link goes to the primary source.
- Comparesoft reports the field-service industry-average first-time fix rate is about 80%, best-in-class providers reach roughly 90%, scores below 70% put the business at risk, and providers exceeding 70% FTFR saw customer retention around 86%. Source: Comparesoft (2024) →
- ServiceTitan's KPI guide cites an average first-time fix rate near 80% (90% ideal) and describes strong technician-utilization rates as falling in the 60-80% band, with average travel time typically 30-60 minutes depending on service-area size. Source: ServiceTitan (2026) →
- Technology 'Leaders' grow revenue at more than twice the rate of 'Laggards'; laggards surrendered 15% in foregone annual revenue in 2018 and stood to miss out on as much as 46% in revenue gains by 2023 if they did not change their enterprise technology approach. Based on a survey of more than 8,300 organizations across 20 industries and 20 countries. Source: Accenture (2019) →
- The EY survey of 508 payroll professionals at U.S. companies with 250-10,000 employees quantifies the direct and indirect cost of payroll inaccuracy, reinforcing the ROI case for payroll automation; the study is the original source of the frequently cited $291-per-error figure. Source: BusinessWire / EY (Ernst & Young) (2022) →
Rohan advises mid-market and enterprise teams on ERP, CRM and custom software, and has led delivery on dozens of business-software builds.
Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.