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
| Field | Value |
|---|---|
| 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 ID | 1uCsqADzxgfaVJvwuicNeEv1rDNGQcgTZkDoRg8Eie6E |
| Target Sheet tab | Full 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.
Related pages
- RS ticket sync stale — the runbook when the order list looks out of date
- Cron Schedule — when this job runs
- Hosts —
nvrbackupaccess and path details - Customer ID Mapping — the IDs the output is bucketed against
- Pricing App File Import — the import workflow that feeds the catalog