Scheduled reports
What this page helps you do
Section titled “What this page helps you do”Scheduled reports send a supported farm report to one email address on a weekly or monthly cycle. Use this page to create the recurring instruction, check whether each run was queued and processed, send an extra copy, pause future runs or retry a failed run.
Open Reports → Browse all reports, then select Schedule reports. The button and page are available only when the selected farm’s subscription includes Scheduled Exports. Users with report-view permission can inspect schedules and run history. An Owner, Manager, Tenant Admin or Platform Admin can create and manage them; a read-only support session cannot.
Add a schedule
Section titled “Add a schedule”The Add a schedule card has three controls.
| Control | What to choose |
|---|---|
| Report | Breeding Report, Health Report, or, on a dairy farm, Milk Production Summary. These create PDF attachments. |
| Frequency | Weekly (Mondays) or Monthly (1st of month). Runs are anchored at 06:00 in the farm’s configured timezone. |
| Email recipient | One valid mailbox, up to 320 characters. Review it carefully: Farmlync sends farm information to this address and the current validation is minimal. |
Select Add schedule after checking all three values. Creating a schedule does not send an immediate email. The first automatic run is set for the next frequency boundary strictly after creation: the next Monday for Weekly or the first day of the next month for Monthly.
The page can also list a Saved Farm Query schedule, which produces a CSV attachment. The current Scheduled Reports page cannot create that schedule type; it appears only when one already exists through the supported query-scheduling backend path.
Understand the reporting period
Section titled “Understand the reporting period”The cadence decides when Farmlync runs the report. Report contents still follow the selected report’s own definition.
- A weekly Milk Production Summary normally covers the seven completed farm-local days ending yesterday.
- A monthly Milk Production Summary normally covers the previous complete calendar month in the farm’s timezone.
- Breeding and Health PDFs use their report builders’ current farm snapshot at execution time.
- A Saved Farm Query reparses and runs its stored FQL command at execution time. An empty result becomes NoData rather than an empty attachment.
The current Milk Production worker derives “yesterday” and “previous month” from the day it actually processes the run, rather than the run’s saved intended slot. A delayed run or a retry performed in a later period can therefore cover a newer period than the original schedule date. Check the attachment dates before relying on a delayed or retried file.
Read a schedule row
Section titled “Read a schedule row”Each row shows:
- report name;
- Weekly or Monthly frequency;
- recipient email;
- Next scheduled run, formatted in the selected farm’s timezone;
- the latest completed run outcome and time, when one exists;
- the latest failure message, when a run failed; and
- Paused when automatic runs are disabled.
The normal run states are:
| Status | Meaning |
|---|---|
| Queued | The run is durably waiting for a background worker. No email has been sent yet. |
| Running | A worker has claimed the run and is producing or sending the attachment. |
| Succeeded | The configured email provider accepted the tracked send. This is delivery-provider acceptance, not proof that a person opened the message. |
| NoData | The run completed but there was no report content to attach for its scope. |
| Failed | Rendering or delivery failed. Open History to read the message and retry when appropriate. |
| Cancelled | The schedule was removed, paused before a scheduled delivery, or disabled because a scheduled query’s author no longer had permission. |
Inspect History
Section titled “Inspect History”Select History on a schedule. The panel automatically refreshes while it is open and shows the most recent 20 admitted runs, newest first.
Each run identifies whether it was Scheduled, a Manual copy or a Retry, plus its status, queued time, attempt number, error text and provider reference when available. Attempt counts worker claims; it can be greater than one when an expired processing lease was safely reclaimed.
If history cannot load, do not infer delivery from an old schedule badge. Refresh the page and check again. A provider reference helps support trace the send, but it is not evidence that the recipient read the email.
Schedule actions
Section titled “Schedule actions”| Action | Effect |
|---|---|
| Send a copy | Adds an immediate manual run for the active schedule. Watch History for its final status; the success toast means queued, not sent. |
| Pause | Stops future automatic scheduled runs. A scheduled run that has not begun delivery is cancelled when the worker finds the paused schedule. |
| Resume | Reactivates the schedule and computes a new next Monday or next first-of-month boundary. It does not send missed periods immediately. |
| Retry this run | Available only for a Failed run. It creates a new Retry row using the failed run’s report, recipient, format and intended run time; the failed row remains in history. For Milk Production, the attachment’s date window is nevertheless recalculated when the retry is processed. |
| Remove | After confirmation, soft-deletes the schedule and prevents future delivery. The row disappears from this page. |
Send a copy is unavailable while a schedule is paused. Resume first only when another email is genuinely required.
Verify a delivery
Section titled “Verify a delivery”- Open History after adding a schedule, sending a copy or retrying.
- Wait for the new row to leave Queued or Running.
- For Succeeded, verify the intended recipient and report kind, then confirm receipt outside Farmlync when the report is important.
- For NoData, open the interactive report and check its farm, period and source records before changing the schedule.
- For Failed, read the error and correct a source/configuration problem where possible, then select Retry this run once. A retry deliberately keeps the failed run’s recipient; if the address itself is wrong, remove and recreate the schedule instead of retrying it.
- Do not repeatedly click Send or Retry while an earlier run is still queued or running.
Current limitations to understand
Section titled “Current limitations to understand”- The page cannot edit a schedule’s recipient or frequency even though the backend supports those changes. Remove and recreate the schedule only after checking whether its visible history is still needed.
- Removing a schedule retains its run rows in storage, but the current page no longer provides access to that removed schedule’s history.
- Saved Farm Query schedules cannot currently be created from this page.
- A delayed or retried Milk Production run calculates its reporting window from its actual processing day, so verify the dates printed in the attachment.
Related guides
Section titled “Related guides”- Browse all reports explains catalogue search, favourites and report availability.
- Herd Queries explains running and saving FQL questions.
- Review and share farm results explains how to verify a result before distributing it.

