How it works
1. Source
Four public-record feeds run weekly.
- New sales-tax permits. From the state revenue department.
- New entity registrations. From the Secretary of State.
- First admin or operations job postings. From Indeed and LinkedIn.
- New commercial lease records. From listing sites and local business journals.
A fifth list, established businesses in served verticals, fills the gap in any month when the four public-record feeds come in light.
2. Qualify
Filters remove:
- Shells. Registered-agent shells with no web presence.
- Out of area. Businesses outside the territory.
- Wrong vertical. Verticals you do not serve.
- Bought another way. Franchises with corporate accounting.
- Already known. Anyone already in your CRM.
Every shell and out-of-area filing gets dropped at this step, so Hunter credits go only to businesses that could sign a monthly engagement.
3. Enrich
For each qualified business the system starts from the name already on the filing.
- Take the name. The organizer, officer, or owner named on the filing.
- Find the domain. The business domain behind that name.
- Find the email. Hunter locates it.
- Verify it. The BetterContact waterfall confirms the address.
- Where the filing has no person. It searches for the title Owner, Founder, or Operations Manager.
4. Outreach
Four touches across 14 days, three emails and one LinkedIn connection request.
- The opener. Names the permit, the registration date, the job post, or the lease.
- The ask. A 20-minute discovery call where a fixed monthly price gets quoted.
5. Book & track
The Claude API tags each reply as positive, question, has-bookkeeper, too-small, not-now, or unsubscribe.
- Positive reply. Gets the discovery call calendar plus a 3-question intake form: entity type, transaction volume, software.
- Slack to the call owner. Carries the permit date or filing, the intake answers, and the first filing deadline.
- CRM record. Keeps the permit, filing, job post, or lease that started the thread next to the intake answers, so the call opens on that deadline.
Lead sources for bookkeeping firms
Ranked by signal quality:
1. New sales-tax permits (state revenue department permit lists)
A business that received a sales-tax permit in the last 30 days is about to invoice customers and owes its first sales-tax return within 30 to 90 days, depending on the state’s filing frequency.
It needs a bookkeeping system before that return is due.
| Source | What it gives | Pulled |
|---|---|---|
| Texas Comptroller open data portal | The Active Sales Tax Permit Holders file as a free download, carrying permit date, business name, owner name, and address | Weekly |
| Washington DOR, California CDTFA, Florida DOR | Permit lookups an Apify scraper reads by issue date | Weekly |
The record gives legal name, DBA, permit date, NAICS code in some states, and the mailing address.
Highest intent, because the filing deadline creates a hard date.
2. New business registrations (Secretary of State registries)
A new LLC or corporation formed in the last 45 days needs a chart of accounts, a separate bank feed, and a decision about bookkeeping before the first quarter closes.
- Searchable registries. Florida Sunbiz, California bizfile, Texas SOSDirect, and New York DOS.
- Everywhere else. The OpenCorporates API covers the rest in one call.
- How it is pulled. An Apify actor pulls filings by formation date weekly.
- What the record gives. Entity name, entity type, formation date, registered agent, and the organizer or managing member name.
- Volume is high. The section 5 filter removes single-member holding entities and registered-agent-only addresses.
About 1 in 4 filings survives the filter, which is an estimate from registry samples.
3. First-hire job postings (Indeed, LinkedIn, ZipRecruiter)
A business posting its first office manager, administrative assistant, or operations coordinator role is at the point where the owner has stopped doing the admin.
Payroll starts, expense volume rises, and the books fall behind within a quarter.
- How it is pulled. An Apify job-board actor pulls postings weekly, filtered by title and by company size under 50.
- The second check. It confirms the company has no other active postings for finance or admin titles.
- What the record gives. Company name, job title, posting date, location, and the hiring manager name when shown.
Medium-high intent.
4. New commercial leases (LoopNet and CREXi leased listings, local business journal lease roundups, city business license records)
A business signing its first commercial lease now carries rent, CAM charges, tenant improvement spend, and often a first employee, all within 90 days.
- Listing scrapers. Apify pulls “leased” status changes from LoopNet and CREXi weekly.
- The journal roundup. The same run parses the weekly lease roundup from the local business journal.
- What the record gives. Tenant name, address, square footage, and lease date when published.
Medium intent, useful because the tenant name is usually a real operating business.
5. Business inventory (Google Maps)
Established businesses in served verticals with 3 to 50 employees and no accounting firm named on their site.
Volume filler by label, pulled only in a month when permits, registrations, job posts, and leases together total fewer than 400 prospects that month.
Lowest intent of the five.
ICP definition
Filter logic the workflow applies:
| Filter | Rule |
|---|---|
| Sales-tax permit source | Issued within the last 30 days, business type is not an individual |
| Registration source | LLC, corporation, LP, or PLLC formed within the last 45 days |
| Job post source | Office manager, administrative assistant, operations coordinator, operations manager, or executive assistant roles posted within the last 14 days, with no active finance postings at the company |
| Lease source | Marked leased within the last 30 days, 800 to 15,000 sq ft |
| Activity check | 3 to 50 employees, or a website, or 5+ Google reviews (removes shells and inactive filings) |
| Geography | Licensed or served state and served counties, or within 80 km of base for local firms, or anywhere in the US for remote firms |
| Industry | Excludes NAICS 522 finance, 5412 accounting, 5313 real estate holding, and 525 funds and trusts |
| Vertical | Served verticals only when the firm specializes (construction, restaurants, ecommerce, medical, professional services) |
| Excluded | Franchise locations with corporate accounting, nonprofits filing 990s, publicly traded companies, registered-agent-only addresses, current and former clients (CRM match), domains on the suppression list |
Outreach sequence
The four steps
| Step | Day | Channel | Goal |
|---|---|---|---|
| 1 | 0 | Name the permit, filing, job post, or lease and the first deadline it creates; ask for a 20-minute discovery call | |
| 2 | 3 | Three-line follow-up with the call calendar and the flat monthly price range for a business that size | |
| 3 | 7 | Connection request naming the permit, filing, or hire and the flat monthly fee | |
| 4 | 14 | Breakup naming the first deadline (first sales-tax return, first payroll, quarter close) |
Example step 1 (sales-tax permit trigger)
Subject: [Company]‘s first sales-tax return
Hi [First name], I saw [Company] received its [state] sales-tax permit on [permit date]. The first return is due within [filing window] days, and most new businesses file it from a spreadsheet and a shoebox.
We run the books, sales-tax filings, and payroll for [N] businesses in [city] at a flat monthly fee, starting the week you sign.
Open to a 20-minute call this week to see what needs to be in place before that first return?
Expected reply rates
| Row type | Expected reply rate |
|---|---|
| Permit, registration, job post, and lease feeds | 2 to 5% |
| Business inventory | 1 to 2% |
Both are estimates.
A sales-tax permit holder with a return due in 30 to 90 days or an employer about to run first payroll answers near the top of the range; a registration with no revenue yet answers near the bottom.
Replies climb in the 6 weeks before quarterly filing dates and drop in the second half of December.
Stack and running costs
| Tool | Purpose | Monthly |
|---|---|---|
| n8n Cloud | Orchestration | $24 |
| Apify | Secretary of State, permit lookup, job board, and lease scrapers | $30 |
| State sales-tax permit files | Permit feed (Texas open data, state DOR lookups) | $0 |
| Hunter | Decision-maker email finding | $34 |
| BetterContact | Waterfall enrichment + verification | $15 |
| Instantly | Sending + warmup | $37 |
| Claude API | First-line generation + reply classification | $6 |
| Sending domain | Deliverability | $1 |
| Supabase (free tier) | Prospect database | $0 |
| Total | ~$150 |
OpenCorporates API (from $20/month) is an optional addition for firms in states without a scraper-friendly registry.
LoopNet and CREXi scraping stays within the Apify allowance at the volumes in section 9.




