All projects

Business systems

Keeping scheduling and billing data in sync across Zoho

We built a controlled sync process that keeps scheduling, customer, billing, and reporting data dependable without replacing the Zoho systems that own it.

Business
White Fox Cleaning Services
My role
Founder and business-systems owner
Evidence
Verified and sanitized

01 / The problem

What was getting in the way

White Fox runs field work in Zoho FSM and billing in Zoho Books. We also need that information in a company-owned store for reporting, capacity planning, and other operating workflows.

The systems had to exchange data without creating two versions of the truth. Rate limits, expired authentication, partial failures, and different data formats made that hard. The first sync approach also made too many database calls and treated matching timestamps as changes.

Why it mattered

Bad sync data could distort schedules, capacity, billing support, and management reports. We needed dependable updates without erasing history or weakening Zoho's authority over the original records.

02 / Our approach

The decisions we made first

My roleI defined which system owned each type of data and which reliability problems mattered most to the business. I set the safeguards and reviewed the results against real operating workflows. We designed, tested, and improved the sync process around those decisions.

01

Keep Zoho in charge of its records

We kept Zoho FSM and Zoho Books as the sources of truth. Our own data store supports reporting and workflows without quietly replacing the original records.

02

Set rules for each record type

We gave employees, appointments, customers, invoices, payments, and time-off records their own update and preservation rules instead of forcing one rule on everything.

03

Show incomplete syncs clearly

We record retries, partial results, and failures. Other tools do not treat a silent or incomplete run as dependable business data.

03 / What we built

How the solution came together

01

Separate Zoho access from database changes

We use one layer for Zoho authentication and API behavior, another to standardize records, and a controlled writer to enforce the business rules.

02

Recover from temporary failures

We refresh authentication, respect provider rate limits, retry temporary server and network failures, and record the result of every sync for review.

03

Stop doing the same work twice

We replaced record-by-record database queries with batch lookups. We also normalized timestamps so the same moment in two time zones no longer looked like a change.

04 / How it works

The process from start to finish

  1. 01

    Read

    We retrieve qualified records from Zoho FSM or Zoho Books.

  2. 02

    Standardize

    We translate provider records into consistent operating fields.

  3. 03

    Compare

    We apply the record policy and identify meaningful changes.

  4. 04

    Write

    We preserve history and block destructive changes.

  5. 05

    Report

    We record the result, failures, and details needed for recovery.

Where AI stops

We can use selected synced data with AI for guidance and analysis. AI does not perform the sync, replace Zoho's authority, or decide whether an important record should change.

05 / The result

What improved

  • Appointment synchronization improved from a 60+ second timeout to 4.7 seconds after batch lookup changes.
  • Timestamp normalization reduced 495 false-positive appointment updates and 489 false-positive timesheet updates to zero.

Business value

  • We created a dependable data foundation for scheduling, billing, capacity, and reporting.
  • We reduced the number of operating tools that had to connect directly to external APIs.
  • We removed false updates caused by equivalent timestamps written in different time zones.
  • We made sync behavior easier to inspect, explain, and recover.

Safeguards we kept

  • We set an explicit policy for every synced record type.
  • We block hard deletes and preserve historical records.
  • We write only meaningful changes to business fields.
  • We use bounded retries for rate limits and temporary failures.
  • We test the policies that protect against destructive changes.

What this demonstrates

Commercial judgment backed by operating depth.

Capabilities

  • Revenue operations
  • Systems implementation
  • Source-of-truth design
  • Failure handling
  • Operational data governance
  • Process improvement

Systems used

  • Zoho FSM
  • Zoho Books
  • Supabase
  • PostgreSQL
  • Edge Functions
  • OAuth

Relevant problem on your team?

Let's talk about the work.

Discuss an opportunity