Zoho CRM Developer / Consultant

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Gig

SALARY

N/A

HOURS PER WEEK

TBD

DATE UPDATED

Aug 3, 2026

JOB OVERVIEW

Location: Remote (U.S. time zones preferred; we're in Southern California) Type: Contract, project-based with ongoing enhancement work Budget: Timeline: Initial build target [4–6 weeks]

About us:

We sell and install commercial playground equipment, safety surfacing, and shade structures across Southern California, and we're an exclusive manufacturer's representative for our region. Our customers are school districts, cities, counties, churches, HOAs, general contractors, and property managers. We're a team of 6–10 in sales, project management, and executive roles.

The problem we're solving:

Our current CRM is a reporting tool — people do the work in email and on the phone, then (usually don't) come back and log it. Leads stall because it isn't clear who owns the next action. We've lost real business to a lead sitting untouched for four weeks after an incomplete handoff between a sales rep and a project manager.

We've already designed the fix. We're not looking for someone to tell us what CRM to buy — we're looking for someone to build what we've specified, and then make it better.

What you'd be building:

We have a written implementation blueprint and a partially built Zoho CRM Professional instance. The work includes:

1. Custom modules and data model — Accounts (customer types, regions, job history), Leads, a custom Projects module with per-trade conditional sections, and a Vendor RFQ module
2. Blueprint (process automation) — a multi-stage pipeline with hard gates: required fields enforced at stage transitions, profile-restricted transitions (only executives can assign PMs or approve quotes), SLAs with automatic escalation
3. Layout rules and validation rules — conditional field visibility driven by scope-of-work selections; enforcement that no lead exists without an owner and a dated next action
4. Workflow rules and functions (Deluge) — auto-stamping customer job history on won deals, wage-type assignment logic, overdue-action escalations, roll-up calculations for deal value and job margin
5. Quotes and inventory — product catalog, prevailing-wage vs. private-wage price books, multi-jurisdiction sales tax configuration, branded quote templates
6. Integrations — QuickBooks (one-way push on won deals), email (IMAP capture), and later a VoIP telephony integration for automatic call logging
7. Cadences — reply-aware follow-up sequences after a quote goes out
8. Reporting and dashboards — accountability views: who owns what, what's overdue, where deals stall, vendor quote aging

Phase 2 / ongoing enhancements we'd want your help with: an AI-powered communication summarizer (a Deluge function calling an LLM API to condense email threads into a running log), automated vendor RFQ dispatch with trade-specific templates, and a post-sale installation pipeline.

What we're looking for

Required:

1. Demonstrable Zoho CRM administration and development experience — specifically Blueprint, custom modules, layout rules, validation rules, workflow rules, and Deluge scripting
2. Experience configuring Zoho's inventory modules (Products, Price Books, Quotes) including multi-rate tax setups
3. Experience with data migration and cleanup (we have a decade of legacy quote history in QuickBooks to import)
4. Clear communication and the ability to explain tradeoffs to non-technical stakeholders — you'll work directly with the owner
5. Documentation habits: we need to be able to maintain this after you hand it off

Nice to have:

1. Experience with contracting, construction, or field-service businesses
2. QuickBooks integration experience
3. Zoho telephony / VoIP integration experience
4. 5. Familiarity with prevailing wage requirements on public works projects
Zoho certification

Not a fit if: you primarily want to sell us a different platform, you subcontract the work to someone we won't meet, or your experience is limited to using Zoho rather than building in it.

How to apply:
Send us a short note on two or three Zoho CRM builds you've done, including at least one where you used Blueprint to. Reply needs to start with 'Built for SoCal'

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0011
Controller Execution Time ( Jobseekers / Job )  0.0173
Total Execution Time  0.0193
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,508,768 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Zoho-CRM-Developer-Consultant-1700505
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 15 (0.0097 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1700505
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 931742
 LIMIT 1 
0.0008   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1700505
AND `misc`.`idIS NULL 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1700505
AND `misc`.`idIS NULL 
0.0004   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-08',ej.date_added) duration_daysDATEDIFF('2026-08-08',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-08-08',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1700505' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1700505 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1700505
AND `misc`.`idIS NULL 
0.0006   UPDATE employer_jobs SET hit_counts '***Jul-31-2026=1***Aug-03-2026=249***Aug-04-2026=11***Aug-08-2026=3' WHERE job_id'1700505'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Jul-2026=1***Aug-2026=263' WHERE job_id'1700505'  
0.0035   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1700505' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1700505 
0.0013   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '931742'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)