RS Ticket Sync

The hourly RepairShopr ticket invoice sheet sync — what it does, where it runs, and how to read or trigger it.

The recurring job that keeps the master order list current. It pulls RepairShopr ticket/invoice data, writes a CSV on nvrbackup, and pushes the result into a Google Sheet. Everything downstream — ESA order bucketing in particular — reads from what this job produces.

What it does

1. Pull RS ticket/invoice data
2. Write a CSV to the exports dir on nvrbackup
3. Sync that CSV into the target Google Sheet

The output is the canonical master order list. If a report or a downstream bucket looks stale, this job is the first thing to check.

Where it runs

Runs on the pricing app server (nvrbackup, 10.10.0.14), reached via remote_execute_command. Not the Leif host — shell access here goes through remote_execute_command, never local_execute_command. See Hosts for the full routing table.

Cadence

Every hour at :20 past the hour. It’s a cron entry on nvrbackup, not a Leif scheduler job. See Cron Schedule for the authoritative listing.

Key paths

FieldValue
Log file/home/superht/pricing/logs/rs_ticket_invoice_sheet_sync/cron.log
Output CSV/home/superht/pricing/exports/repairshopr_ticket_invoice_report_sheet_sync_latest.csv
Target Sheet ID1uCsqADzxgfaVJvwuicNeEv1rDNGQcgTZkDoRg8Eie6E
Target Sheet tabFull Order List

Reading the result

Read the synced sheet with sheets_read. The Google Drive fetch tooling does not work on Sheets — sheets_read is the only reliable path.

sheets_read(
    spreadsheet_id="1uCsqADzxgfaVJvwuicNeEv1rDNGQcgTZkDoRg8Eie6E",
    range="Full Order List",
)

If you only need the raw export rather than the synced sheet, read the CSV directly off nvrbackup:

remote_execute_command(
    command="cat /home/superht/pricing/exports/repairshopr_ticket_invoice_report_sheet_sync_latest.csv"
)

Manually triggering and inspecting

To see what the last run did, tail the log:

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

To confirm the export is fresh, check its modification time — it should update at :20 past the hour:

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

If you need a run sooner than the next :20, invoke the sync script on nvrbackup rather than waiting on cron:

remote_execute_command(
    command="cd /home/superht/pricing && ./scripts/rs_ticket_invoice_sheet_sync.sh"
)

Then re-check the log and the export timestamp to confirm it completed. (The cron fires at :20; the export normally lands a few minutes later, ~:25.)

Who consumes the output

The master order list joins on RepairShopr customer IDs to bucket orders by program. The ESA/EFS program IDs used for that join are pinned on Customer ID Mapping. When a row looks misrouted, verify the customer ID mapping before suspecting the sync.