What runs automatically
Hourly and daily jobs: job sheets, review reminders, expiring quotes and day sheets.
A few jobs run by themselves in the background, on Frappe’s scheduler. They send the crew their job sheets, chase reviews that are running late, expire old quotes and prepare each truck’s start-of-day sheet. Others run straight after something happens, such as a payment or FINISH JOB.
Every hour#
Send job sheets that are due#
The app looks for jobs that are Confirmed or Crew Booked, whose move date is between today and Send job sheet N days before from now (2 days by default), and whose job sheet hasn’t been sent yet. For each one it:
- Emails the job sheet to the crew on the job and the office, with the PDF and a calendar file attached, and sends the client their “See you in 2 days” reminder.
- Creates or updates the appointment in Outlook, if Outlook is connected.
- Records when the sheet was sent, moves the job to Job Sheet Sent and adds “Job sheet sent” to the job’s activity.
If a job’s move date is changed later, the sent time is cleared so the job sheet goes out again for the new date. The office can also send it straight away with Send job sheet on the job record.
Review reminders#
For every job still Pending Review or Waitlist, if its review deadline is less than 12 hours away (or already passed), the office gets a “Review needed” email. Each job is reminded at most once every 12 hours.
Every day#
Expire old quotes#
Quotes that are still Draft, Quoted or Awaiting Call after their valid-until date are marked Expired. A quote’s valid-until date is set when it’s created, Quote valid (days) ahead (30 by default).
Create start-of-day sheets#
For today and tomorrow, the app makes one start-of-day sheet for each truck that has jobs that day. Jobs that are cancelled, waitlisted or still waiting for review don’t count.
- Jobs without a truck use the first active truck.
- The sheet’s driver is the Driver on that truck’s first job, when there is one.
- The sheet gets the Start of Day steps from the SOP checklist and starts as Open.
- A truck that already has a sheet for that date is skipped, so nothing is doubled up.
Straight after something happens#
| When | What the app does |
|---|---|
| A payment is saved or changes | Updates the paid amounts and payment status on its quote and job. When a quote’s first deposit succeeds, turns the quote into a job and sends the “Booking received” and “New job to review” emails. Sends successful payments to Xero, if connected. |
| FINISH JOB is pressed | Works out the final bill straight away, marks the job Completed, updates the client’s totals and issues their thank-you code. Then, in the background: charges the balance to the saved card (or creates a pay link), creates the Xero invoice, sends the “Job complete” email to the client and the “FINISHED” email to the office, and updates Outlook. |
| A room or item is saved or deleted | Clears the saved copy of the catalogue so the next quote uses the change. |
| A service, promo code, job opening or Settings is saved | Clears the saved copy of what the website receives, so the website picks up the change the next time it asks. |
When something fails#
If a timed job hits a problem with one job (for example a bad email address), it records the problem in Frappe’s Error Log and carries on with the others. A failed balance charge, Xero invoice or Outlook update after FINISH JOB doesn’t stop the job being completed.