Skip to content

Scheduled reports

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.

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.

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.

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.

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.

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.

  1. Open History after adding a schedule, sending a copy or retrying.
  2. Wait for the new row to leave Queued or Running.
  3. For Succeeded, verify the intended recipient and report kind, then confirm receipt outside Farmlync when the report is important.
  4. For NoData, open the interactive report and check its farm, period and source records before changing the schedule.
  5. 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.
  6. Do not repeatedly click Send or Retry while an earlier run is still queued or running.
  • 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.