ERP signal research
A public artifact in. A labeled hypothesis out: need (the work no
longer fits the system), want (someone has a mandate to change),
window (something just made inaction expensive), or counter-signal
(they are staffing the current system, already implementing, or not
ours). Do not set a signal_state, mint an SG_xxxxx, or say on a call
that they are "in market for ERP."
This page is a source map for agents. Canonical meaning still lives in signals.yaml and signal-detection.yaml. Enrichment is not proof of a problem. See Sales stack.
Focus band: 50–500 employees (50_100 and 100_500 in
variables.yaml). <50 and 500–5000 are
here only as contrast. Our catalog's next band is 500_1000; treat
anything above that as the same large-company motion unless proven
otherwise.
Tools
Same default stack as Research. Add the public registries this job actually uses.
| Tool | Agent surface | Use for |
|---|---|---|
| Cloudflare Browser Run | /markdown, /json, /links | Careers, about, ISO, "see us at," economic-development pages. |
| Firecrawl | /v2/search, /v2/scrape, /v2/map | Job posts, expo exhibitor lists (MYS/a2z), MEP stories, PE portfolios, news. |
| Exa | /search, /contents | "Opened plant," "acquired," "ISO 13485," successor language. |
| ZoomInfo | Sales enrichment | Titles, tenure, phones. Identity only. Not a problem. |
| crt.name | CT harvest | Incumbent SaaS tenants. Domain scanning. |
| State SOS / UCC | Public search pages | New equipment liens, entity age, name changes. |
| SAM.gov / SBA / MEP | Public HTML or API | Federal supplier burden, loans, NIST MEP client stories. |
| PitchBook / Grata | Vendor export (if we subscribe) | PE-backed manufacturers without scraping 2,000 portfolio pages. |
POST https://api.cloudflare.com/client/v4/accounts/<accountId>/browser-rendering/{markdown|json|links}
POST https://api.firecrawl.dev/v2/{search|scrape|map}
Default loop: Search the artifact class. Render the page. Extract the
schema. Map to an existing SG_ or leave as research-only. Ask, do not
assert.
Context
People in plants do not "want an ERP." They want Friday to stop lying. The five-second moment is almost always: the schedule, the inventory, or the job cost said X, the floor did Y, therefore someone decided on a lie. Selling with love means we look for that scene, recommend only if fit, and never manufacture a deadline from a vendor sunset or a job post.
Selling with love (how to read a signal)
| Dimension | On this page |
|---|---|
| Love impact | A signal is useful only if it points to a measurable better state the buyer would recognize. |
| Love client | Recommend a conversation only if the artifact could be their mismatch. If they are staffing the incumbent, say so. |
| Love product | Do not promise displacement from a hiring keyword. |
| Love process | Each source pass should leave a table a person can use. Preserve the right to say no. |
| Love self | Prepare the scene. Desperation reads a UCC filing as a buying event. It is not. |
Hype = enthusiasm minus evidence. Productive energy = curiosity + competence + their problem.
Bias in this band is status quo, then loss aversion. A new plant, a new CFO, or a customer audit is a crack in continuity, not permission to push. Resistance is a request for safety, clarity, control, or a story of change. See communication instructions.
Need, want, window
Keep them separate. Most bad outbound collapses them.
| Kind | Human truth | What it is not |
|---|---|---|
| Need | The operating record no longer matches the work. Spreadsheets, reentry, tribal memory. | A budget. A project. A vendor shortlist. |
| Want | A person with authority has a reason to look (new CEO/CFO, sponsor, successor, lost customer). | The plant agreeing. IT agreeing. |
| Window | An external clock appeared: audit, bank covenant, new site, M&A, customer EDI, product sunset they have confirmed. | Our calendar. A blog post about QuickBooks Desktop. |
| Counter | They just bought more clerks, named the incumbent in hiring, or posted an implementation role for another vendor. | "They're unhappy, so they'll switch." |
Call when need is visible and at least one of want or window is visible. If only need: they have lived with it for years (especially family-owned, SG_001 — the bar is roughly 5×). If only window: they may already have a vendor.
1. Three companies, three operating systems
Headcount is a proxy. SG_005 (CFO and controller) is a stronger size tell than ZoomInfo's employee count.
Under 50
The owner is the system. The outside CPA keeps the books. Capital is a local bank line and the owner's house. They go to the distributor open house and one regional show. A "new ERP" conversation often starts after a scare (a blown quote, a quality escape, a weekend in Excel) and dies when the scare passes. Treat as QuickBooks / spreadsheet / greenfield unless SG_025 (age > 3 years) and a named system appear. Do not run the 50–500 playbook.
50–500 (this page)
The owner can no longer see every job. Work now crosses people who do not share a house. That is when ERPs get bought — and when they get stuck, because the same people who hold the knowledge are the ones change threatens (SG_019).
How they operate. One plant, sometimes a warehouse. Weekly production meeting. The scheduler lives in Excel or a dusty JobBOSS / Global Shop / Visual / E2 screen. Inventory is "what the last person counted." Month-end takes two to three weeks. Quality is a binder until a customer demands otherwise.
Where capital comes from. Retained earnings. Asset-based revolver against AR and inventory (the banker is a quarterly audience). Machine loans and OEM captives (the new press arrives before the process does). SBA 504 for a building. State/county incentives for jobs. At the top of the band: an independent sponsor or family office (SG_021). Almost never a public market (SG_024).
Reporting structure. Owner/CEO still signs. First professional seat is usually plant manager or office manager, then controller, then CFO. The outside CPA often still compiles statements and does tax — they are a trusted advisor who can kill a system they do not understand. There is no real board. The "board" is the banker, the CPA, the attorney, and sometimes a spouse. Internal IT is one person or a local MSP (SG_009). A CTO at this size is unusual (SG_010) and means they might want to build.
Who they have to satisfy besides themselves. The customer's SQE (scorecards, PPAP, ASN, EDI). The ISO registrar. The banker (borrowing base, inventory test counts). The CPA (numbers that reconcile). OSHA / state environmental when they add capacity. Material and machine suppliers who see the chaos on a service call. Temp agencies when they cannot hire clerks.
Expos they actually attend. Not Gartner. The plant manager and the buyer walk NPE, PTXPO, IMTS, FABTECH, EASTEC/WESTEC/SOUTH-TEC. The owner may still work a booth. Association rooms: PLASTICS, SPE, NTMA, PMA, AMBA, state MEP "Manufacturing Day." A "see us at booth X" post is a window into growth and into who they think their customers are.
500–5000
CIO, procurement, RFP, program manager, Gartner Peer Insights. Multi-year replacement. Our wedge is usually wrong. Their job posts say "ERP Program Manager," "Cutover," "SAP/Oracle/Dynamics lead." Use Comparison research if you need the category map. Do not treat their noise as a 50–500 signal.
2. What the 50–500 crack looks like
Outside-the-box means: go where the work already forces a number, a certificate, or a new body. Do not wait for "we are evaluating ERP" on the website. They almost never publish that.
| Scene (dinner test) | Why it appears at 50–500 | Kind |
|---|---|---|
| Owner asks "did we make money on that job?" and three spreadsheets open | Job cost was never a system; it was a person | need |
| Customer portal now requires ASN/EDI/releases | They won a bigger account than the office can process | window |
| Second press or second building | SG_023 — process that "worked" at n sites fails at n+1 | window |
| New CEO or CFO in months | SG_006 / SG_007 — mandate to find what the last regime hid | want |
| Sponsor tombstone or "recap" | SG_021 / SG_018 — hold period is the clock | want + window |
| Posting for AP / inventory / order-entry clerks | SG_017 — they priced the workaround in salaries | need (and a counter if they only want people) |
| Posting names Epicor / Global Shop / JobBOSS as a requirement | SG_016 — they are staffing the incumbent | counter |
| Posting for "ERP implementation," "NetSuite admin," "cutover" | They already picked someone, or are mid-project | counter (usually too late) |
| ISO / IATF / AS9100 / 13485 appears | An auditor will ask for a record the binder cannot print | window |
| Key scheduler quits | Knowledge was in a person (SG_019) | window |
| Biz-for-sale or succession language | A buyer or child will demand a clean operating record | want |
| Hiring "advanced Excel / VLOOKUP" for production control | They are recruiting a human ERP | need |
Family-owned (SG_001): incremental efficiency does not clear the bar. Look for step-change permission — succession, a lost program, a failed audit, a sponsor, a new site — not "save two hours on data entry."
3. Source catalog (agentic)
Run sources in this order. Stop when you have one need plus one want or window, or a hard counter. Do not vacuum the internet.
Each row: public artifact → tool → extract → map. research-only
means do not write a new SG_ from it.
A. Hiring (fastest, highest noise)
Where. Company /careers, Greenhouse, Lever, Ashby, Indeed via
Firecrawl search. ZoomInfo for title, not for the problem.
POST /v2/search
{
"query": "\"{company}\" (ERP OR QuickBooks OR JobBOSS OR \"order entry\" OR scheduler OR controller)",
"limit": 10
}
Scrape the posting. Schema:
{
"url": "",
"role": "",
"named_systems": [],
"excel_heavy": false,
"clerical_throughput": false,
"implementation_language": false,
"reports_to": null,
"kind_guess": "need | want | window | counter | none"
}
| Observable | Map | Love reading |
|---|---|---|
| Named incumbent as required skill | SG_016 | They are hiring into the current system. Displacement is a harder, later ask. |
| AP / inventory / order entry open req | SG_017 | They chose people this quarter. Ask where the volume comes from. Do not pitch "fire your clerks." |
| "ERP implementation" / vendor admin for a new brand | research-only | Often already in flight. Confirm before we show up as bidder six. |
| "Advanced Excel" for planner/buyer | research-only need | Human ERP. Scene: the planner's workbook. |
| New controller / first CFO | SG_004 / SG_007 | Want to see numbers that reconcile. Not a software RFP. |
| IT generalist / MSP language | SG_009 | Hands-off implementation may be required. |
Refresh: 7 days (signal-detection.yaml).
B. Capital and credit (the bank is the board)
50–500 companies buy software when cash and covenants allow, not when a landing page is convincing. Sponsor vs lender vs equipment debt are different hypotheses. Only a financial sponsor is SG_021. The rest are windows.
The full GP-universe, portfolio scrape, and paid-vs-free catalog is Capital signal research. Use that page when the job is “list PE firms” or “list their plants.” This table is the account-level pass.
| Source | Tool | Observable | Map |
|---|---|---|---|
Sponsor /portfolio (after GP universe) | Firecrawl /map + /json | Company named as current investment | SG_021 hypothesis |
| PitchBook / Grata export | Vendor CSV | PE-backed + employees + industry | SG_021 hypothesis; skip DIY scrape |
| BDC 10-K schedule of investments | EDGAR | Named credit; industry | lender window, not automatic SG_021 |
"{GP} acquires {Co}" wire | Firecrawl / Exa | Deal + add-on language | SG_018 + SG_021 |
| State UCC-1 | Browser Run on SOS | New equipment or all-assets lien | research-only window; pair SG_023 |
| SBA 7(a)/504, bank tombstones | Firecrawl | Named borrower + purpose | research-only window |
| County/state incentive release | Firecrawl / Exa | Grant, TIF, new facility | SG_023, SG_014 |
| SBIC directory → fund site | SBA HTML then /portfolio | LMM funds that actually buy plants | Job 1 seed for capital page |
| BizBuySell, Axial, successor language | Firecrawl | Owner exit | research-only want |
A new machine without a new process is how plants outgrow JobBOSS. The UCC is the machine. The job post for a second scheduler is the process breaking.
If we need thousands of PE-backed manufacturers, buy Grata or PitchBook rather than crawling every ADV adviser. DIY is for GPs too small to be in those files, or for this week’s deal.
Do not read stretched payables or a credit-rating dip as ERP budget. Distress is not a window we should exploit (love of client).
C. The people they already answer to
| Counterparty | Public tell | Why it matters |
|---|---|---|
| Customer SQE | Website logo wall adding automotive / medical / aerospace; job posts with PPAP, FAI, ASN, EDI, "customer portal," "release accounting" | The customer's system is now the master. Ours has to speak it or the office drowns. Window. |
| CPA / outside accountant | About page, LinkedIn (via ZoomInfo), "prepared by" on a compiled statement if ever published | Trusted advisor. If we cannot explain the change in their language, they will keep QuickBooks. |
| Banker | Tombstone, "relationship" page on regional bank, borrowing-base language in a release | Quarterly inventory test counts make fake inventory expensive. |
| ISO registrar | Certificate PDFs, IASCB / registrar directories, "ISO 9001:2015" in footer | Audit asks for a retrievable record. Binder fails. |
| NIST MEP center | site:*.edu or site:nist.gov MEP success story naming the company | They already paid for a lean/ERP-selection conversation. Research-only; do not claim we were in the room. |
| Machine OEM | Engel / Haas / Mazak / Nissei case study or LinkedIn install photo | Capacity arrived. Process may not have. |
| Temp / staffing firm | Repeated clerical ads through a staffing brand | They cannot fill the workaround. Need, not want. |
Firecrawl:
"{company}" (PPAP OR EDI OR "IATF 16949" OR AS9100 OR "ISO 13485" OR "ISO 9001")
"{company}" (MEP OR "manufacturing extension")
"{company}" (exhibitor OR "booth" OR NPE OR IMTS OR FABTECH OR EASTEC)
D. Expos and rooms (where 50–500 actually go)
G2 is for software vendors. These people walk machine shows. Full directory platforms, "see us at booth" recipes, and list-buying rules: Expo signal research.
| Room | Who goes from a 50–500 plant | Public artifact |
|---|---|---|
| NPE, PTXPO, K / Fakuma | Plastics: owner, process engineer, buyer | Exhibitor directory (MapYourShow / first-party); company "see us at" |
| IMTS, FABTECH, MT Series (EASTEC/WESTEC/SOUTH-TEC) | Machining / fab: plant manager, programmer | Same |
| Pack Expo, Automate, MD&M | If they package, automate, or mold medical | Same; MD&M often a2z/Informa |
| PLASTICS, SPE ANTEC, NTMA, PMA, AMBA | Peer owners | Speaker list, agenda PDF |
| State MEP / Manufacturing Day | Plants already asking for help | Agenda; named companies |
| OEM distributor open house | Maintenance + buyer | Skip unless they posted it |
Exhibitor list (scrape). Resolve the show's directory — usually
Map Your Show or
a2z — then Browser Run /json. Keep
kind_guess: plant. Drop machine OEMs unless the job is vendor
research. Paying for a booth is a growth tell, not ERP intent.
"See us at booth" (search). After a name, or to catch DBAs:
"{company}" ("see us at" OR "visit us at" OR "booth") (NPE OR IMTS OR FABTECH OR EASTEC OR PTXPO)
Hit /news, trade previews (Plastics News, Modern Machine Shop, The
Fabricator), and show dailies. Schema and platform table live on the
expo page.
growth_tell: true only when role_shown is exhibitor. Pair with
SG_012 / SG_015 as
weak willingness-to-change.
Buying expo attendance lists
The attendee file is not the exhibitor directory. Organizers (AMT, SME, PMMI, PLASTICS, Informa, Messe) sell pre/post registration lists almost only to contracted exhibitors or sponsors. Lead retrieval at our own booth is the only list we fully own.
There is no clean SaaS that sells the IMTS aisle to non-exhibitors. Broker "IMTS 2024 emails" dumps are off-limits. EU shows will not sell personal attendees (GDPR). If we will not exhibit, stay on public exhibitors + see-us-at + show dailies. If we will, buy from the organizer, honor the use limit, and treat names as account research — then ZoomInfo a verified title. Details: Expo signal research §4.
E. Incumbent system (need a displacement target)
Without a system name, we cannot talk replacement honestly. Until then
systems_of_record: [unknown].
| Source | Map |
|---|---|
| Job posts naming a system | SG_016 — incumbent, not shopping |
| CT tenant harvest | Domain scanning |
| Careers / integration page on their site | research-only until a person confirms |
| G2/Capterra review that names the company as a customer | Comparison research — marketing, not cert |
| QuickBooks Desktop sunset pages | Vendor event. Account-level only after they confirm they still run it. |
Replacement language to search (rare, high value):
"{company}" ("migrating from" OR "replacing" OR "evaluating ERP" OR "ERP selection")
If that hits, they may already have a consultant. Ask. Do not pile on.
F. Leadership and ownership (want)
ZoomInfo + site + PR wire. Detection rules already exist; this page only says where to look.
| Observable | Map |
|---|---|
| CEO < 6 months | SG_006 |
| CFO < 6 months | SG_007 |
| Ops leader present | SG_020 — without them, cross-department change has no owner |
| Family surnames / eponymous name | SG_002 / SG_003 → SG_001 |
| M&A < 18 months | SG_018 |
| PR wire | SG_014 — read it for 018/021/023 |
| Long median tenure | SG_019 — change threatens the people who know the work. Lead with continuity, not innovation. |
4. Agent runbook
One company at a time. 50–500 only unless a person widens the band.
-
Confirm size band (ZoomInfo headcount and whether controller/CFO exist). If
<50or clearly500+with a PMO, stop this playbook. -
Careers pass (A). Classify each posting
need | want | window | counter. -
If no named system, light incumbent pass (E): jobs, CT, site.
-
Window pass: news + ED + UCC + ISO + expo (B, C, D). Cap at 10 URLs. PE/sponsor universes: Capital signal research. Shows: Expo signal research.
-
Want pass: tenure and ownership (F).
-
Write one row:
{"company": "","domain": "","size_band_guess": "50_100 | 100_500 | other","need": [],"want": [],"window": [],"counter": [],"sg_hypotheses": [],"systems_hypothesis": ["unknown"],"ask_on_call": "","do_not_say": "","sources": [{ "url": "", "retrieved_at": "" }]}
ask_on_call is one scene-shaped question, e.g. "When a customer
releases against a forecast, where does that live today — the portal,
Excel, or the system?" Never "I see you're implementing an ERP."
do_not_say lists every inference that would shame them (messy Excel,
sunset fear, "your people are the problem").
If counter is an in-flight implementation of someone else, love of
client: log it and do not outbound as a replacement project.
What this is not
- Authority to add rows to signals.yaml.
- Proof of P_00010 or any problem. Problems are confirmed on the call, against an artifact.
- A reason to threaten QuickBooks Desktop, Epicor Kinetic, or a "deprecated" SKU without their confirmation.
- License to scrape LinkedIn, employee Facebook, or anything behind a login. People data goes through ZoomInfo, then a person verifies.
- A 500–5000 RFP hunter.
Related knowledge
- signals.yaml — meaning of each
SG_ - signal-detection.yaml — how a state is set
- Research — vendor and customer URLs
- Domain scanning — installed-base hostnames
- Comparison research — G2-class directories
- Capital signal research — PE portfolios and other capital windows
- Expo signal research — exhibitor lists, see-us-at, attendance files
- CEO scene videos — one artifact, one named P1, no-oriented video
- Project bidding — public ERP notices vs issuing portals; municipal ERP is usually the wrong room
- Micro vertical — list and language stay inside one process slice
- Communication instructions — selling with love, bias, discovery
- Sales stack
Change log
- 2026-08-31 — Expo pass points to Expo signal research (MapYourShow, a2z, see-us-at, buying attendance lists).
- 2026-08-31 — Capital pass points to Capital signal research for PE universes, Grata/PitchBook, and BDC filings.
- 2026-08-31 — First source map for ERP need/want/window at 50–500:
hiring, capital, counterparties, expos, incumbent vs replacement,
leadership. Existing
SG_only; research-only tags are not catalog IDs.