Industry guide · Field Service Management

Sign Making Software: Why Quotes and Permits Leak Your Margin

The short answer

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.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. 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) →
  2. 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) →
  3. 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) →
  4. 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 Malhotra · Enterprise Software Consultant

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.

FAQ

Frequently asked questions

How much does custom sign company software cost for a shop doing $5M a year?
Expect $60k to $130k for a focused first release covering estimating, permit tracking, site surveys, and install scheduling, shipping in 12 to 16 weeks. A full platform adding production scheduling, shop-floor time capture, and job costing runs $150k to $400k phased over 6 to 12 months. At $5M in revenue, the first release usually pays back inside a year on prevented rework, cancelled crane days, and estimate accuracy alone. Price climbs mainly with the number of distinct sign types you fabricate and the number of jurisdictions you permit in.
Is custom software better than Cyrious Control for a sign shop?
Cyrious is a solid order entry and invoicing system, and if that is your bottleneck it is the cheaper answer. Custom wins when your problem is estimating rules that live in a spreadsheet, permits gating production, or multi-location shops quoting the same job differently, because Cyrious models a permit as a note on an order rather than as an entity that can hold fabrication. Most shops that build have already been on Cyrious for years and outgrew the parts it does not model, not the parts it does.
Can we migrate our data out of Cyrious into a custom system?
Yes, but be realistic about what survives. Customers, contacts, part items, pricing lists, and open orders map over cleanly with database-level access. Deep historical job detail, especially assemblies and custom pricing overrides, often lands as read-only archive rather than fully structured records, because the schema was not designed for export. Any developer promising a lossless migration has not actually opened it.
How long does it take to build sign estimating and permit tracking software?
A focused first release ships in 12 to 16 weeks. The estimating engine takes the longest because it requires sitting with your estimator and encoding rules that have never been written down, which typically takes three to four weeks of discovery before code. Permit jurisdiction profiles are fast to build but slow to populate, so plan on your permit coordinator spending time entering the first ten cities. Full platforms phase over 6 to 12 months with usable releases every six to eight weeks.
Do we own the code if we build custom sign software?
You should own it outright: source code, database, and infrastructure accounts in your name. Insist on this in writing before the first invoice, along with a repository you control from day one rather than a handoff at the end. If a developer wants to license it back to you or hold the repo, walk away. The whole point of building is that your estimating rules are your intellectual property and they should not sit in someone else's account.
Can AI actually help a sign company or is it just marketing?
Three places it earns its cost. Document extraction on permit approvals and correction letters pulls permit numbers, expirations, and conditions into fields instead of retyping. Permit approval forecasting trained on your own jurisdiction history beats the generic thirty day estimate you give customers, which lets you reserve cranes and buy material with confidence. And estimate variance analysis across your closed jobs will find the stage where you are consistently underquoting, which is usually install labor on channel letters.
What compliance requirements should sign software handle?
UL listing and label tracking if you fabricate electric signs, with a serial and label chain per unit. Electrical inspection scheduling tied to the permit record. Certified payroll and prevailing wage reporting if you take municipal, school district, or state work, which most high volume shops eventually do. Add OSHA-relevant records for aerial lift and crane operations if you self-perform installs. Generic sign tools handle none of these and it is where builds get expensive if it comes up late.
Will a custom build replace QuickBooks?
No, and it should not try. Keep QuickBooks or your accounting system as the financial record and integrate to it, pushing invoices and pulling payment status. What custom adds is the per-job P&L that QuickBooks cannot produce, showing quoted versus actual by stage with real time capture from the shop floor and the install crew. That is the number that tells you which sign types make money and QuickBooks structurally cannot answer it.
When should a sign company stay with off-the-shelf instead of building?
Stay off-the-shelf if you are under roughly $2M, single location, and your work is mostly repeat banners, decals, vinyl, and small interior sets. In that shape Shopvox or Cyrious already exceeds what you need and the money is better spent on production equipment. The signal to build is when you have patched the primary tool with a spreadsheet permit tracker, a text thread for surveys, and a whiteboard schedule, because that patchwork is already costing you more in margin than a build would in invoices.
How much does it cost to build custom field service management software for a small business?
For a company running 5 to 25 technicians, a focused first version with scheduling, dispatch, a technician mobile app, and invoicing typically runs $40,000 to $80,000 in Digital Heroes delivery experience. A full platform with offline mode, a customer portal, GPS tracking, and accounting sync lands between $90,000 and $180,000. The two biggest cost drivers are offline sync depth and integration count, so pin both down in scoping and the quote holds.
How many SaaS seats do we need before building custom becomes cheaper?
The crossover usually shows up between 20 and 50 seats on premium tiers. Salesforce Enterprise lists at $165 per user per month, so 40 users cost about $79,000 a year in subscriptions, which is real money against a custom system you would own outright. Run the comparison over three years: if subscription spend beats the build cost plus 15-20% annual maintenance, custom wins on price before you even count workflow fit.
What does it cost per year to maintain custom field service software?
Budget 15 to 20 percent of the original build cost per year, so $15,000 to $20,000 on a $100,000 platform. That covers hosting, security patches, integration API changes, a monthly block of small improvements, and the iOS and Android updates Apple and Google ship on their own schedule. Skipping it is not a savings; the technician app needs attention every OS cycle or it eventually stops opening on new phones.
How do I calculate whether custom software will pay for itself?
Divide the build cost by the monthly benefit, where benefit is hours saved times loaded hourly cost, plus subscription fees replaced, plus any revenue the software unlocks. Three staff saving 10 hours a week each at a $40 loaded rate is about $62,000 a year, which pays back a $60,000 build in roughly 12 months. Across Digital Heroes internal-tool projects, 12 to 24 months is the normal payback range, and anything projecting under 6 months usually means the spreadsheet is hiding costs.
What are the biggest mistakes companies make when building custom field service software?
Four mistakes cause most failures: scoping only the happy path so offline work and job reassignment surface later as change orders, leaving QuickBooks sync until the end instead of designing for it, skipping technician input until launch, and having no post-launch support plan. Across 2,000+ Digital Heroes projects, failed field service builds almost always failed on process, not programming. Every one of these is prevented in the scoping phase, which is why discovery matters more than the framework.
Who owns the code when an agency builds our field service software?
You should own it outright, and the contract must say so: source code, designs, documentation, and every account (hosting, app stores, domains) registered to your company rather than the agency's. Work-for-hire terms with ownership transferring on payment are standard at reputable agencies, and it is how Digital Heroes contracts every build. Walk away from any proposal where you license the platform instead of owning it, because that recreates the vendor lock-in you were leaving ServiceTitan to escape.
What should I have ready before I contact a development agency about field service software?
Bring your current workflow, not a feature list: how a job moves from first call to paid invoice today, where it breaks, what tool you use now with its monthly bill, and the workaround spreadsheets your team maintains. Add your integration list (accounting system, payment processor, phone system) and an honest budget range. A good agency can scope accurately from that in one or two calls, while a vague request for an app like ServiceTitan costs you weeks of discovery.
How much should a small business budget for its first custom app or website?
For a focused first build, most small businesses land between $8,000 and $60,000: roughly $8,000 to $45,000 for a custom website and $25,000 to $60,000 for an internal tool or simple web app, based on Digital Heroes delivery across 2,000+ projects. Customer-facing products with payments, logins, or a mobile app start around $40,000. Quotes far below these bands usually mean a template with your logo on it, not software shaped around your workflow.
Can custom software connect to the tools we already use, like QuickBooks, Stripe, and Google Workspace?
Yes, and connecting your existing tools is one of the main reasons to build custom: mainstream platforms like QuickBooks, Stripe, Shopify, and Google Workspace all publish documented APIs. Budget 1 to 3 weeks of work per integration depending on API quality and how much data flows in both directions. Ask any vendor whether they have integrated with your specific tools before, because quirks like QuickBooks' OAuth token handling and API rate limits get learned on someone's project, and it should not be yours.
What features should the first version of a custom field service app include?
Version one needs the daily loop and nothing else: job creation, a drag-and-drop dispatch board, a technician mobile app that works offline, photo and signature capture, and invoicing that reaches your accounting system. Customer portals, route optimization, inventory, and reporting dashboards belong in phase two. The test for every feature is whether a dispatcher or technician touches it every day; if not, cut it.
Who owns the code when an agency builds my software?
You should, completely, through a written intellectual property assignment that transfers everything on final payment; without that clause, copyright stays with whoever wrote the code by default. Insist that the repository lives in your own GitHub organization from day one and that hosting, domains, and third-party accounts are registered to you. Also check for licenses to the agency's proprietary frameworks buried in the contract, because those can make switching vendors practically impossible even when you own your own code.
Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?