RS ticket sync stale

Runbook for when the master order list or ESA program buckets look out of date — diagnosing and re-running the hourly RepairShopr ticket invoice sheet sync on nvrbackup.

Symptom: The master order list looks out of date — a recent ticket/invoice isn’t there, or an ESA/EFS program bucket is missing orders you expect.

Likely cause

The RS ticket sync runs hourly at :20 on nvrbackup and writes the master order list. If downstream looks stale, it’s usually one of:

  1. The hourly cron didn’t run (or hasn’t yet — it’s before :20).
  2. The job ran but errored partway.
  3. The data is fresh but a row is misrouted — a customer-ID mapping problem, not a sync problem.

Diagnose

1. Is the export actually fresh? The cron fires at :20; the export normally lands a few minutes later (~:25):

remote_execute_command(command="ls -la /home/superht/pricing/exports/repairshopr_ticket_invoice_report_sheet_sync_latest.csv")

If the modification time is hours old, the job isn’t running.

2. What did the last run do? Tail the log (ignoring the benign models line):

remote_execute_command(command="tail -n 50 /home/superht/pricing/logs/rs_ticket_invoice_sheet_sync/cron.log")

3. Is the data fresh but a row misrouted? If the export is current but an order is in the wrong (or no) program bucket, this isn’t a sync failure — verify the customer-ID mapping. Orders bucket on RepairShopr customer ID; a new program that isn’t in the mapping won’t bucket.

Fix

  • Job not running / errored: invoke the sync script on nvrbackup rather than waiting for the next :20, then re-check the log and export timestamp:

    remote_execute_command(command="cd /home/superht/pricing && ./scripts/rs_ticket_invoice_sheet_sync.sh")
  • Misrouted row: add the program to the RS customer record, the mapping the processor consumes, and the Customer ID Mapping page. Miss any one and its orders won’t bucket. This is a data fix, not a restart.

Verify

Confirm the export timestamp advanced and the synced sheet reflects it:

remote_execute_command(command="ls -la /home/superht/pricing/exports/repairshopr_ticket_invoice_report_sheet_sync_latest.csv")
sheets_read(spreadsheet_id="1uCsqADzxgfaVJvwuicNeEv1rDNGQcgTZkDoRg8Eie6E", range="Full Order List")

Read the sheet with sheets_read — the Drive fetch tooling doesn’t work on Sheets.