Milking and dry herd flow
What this page helps you do
Section titled “What this page helps you do”Open Operations → Reports → Browse all reports → Milking and dry herd flow to see how animals entered, left and moved between the milking and dry groups. The two ledgers roll their opening counts forward through calvings, dry-offs, registrations and exits. This is a report of recorded lifecycle events; it does not move an animal or correct a missing record. For the whole herd, including calves and other stages, use Herd reconciliation instead.
Set the window and scope
Section titled “Set the window and scope”| Control | Accepted choice and effect |
|---|---|
| From and To | Inclusive farm-local calendar dates. The initial window starts approximately six months before today and ends today. From must be on or before To; the page will not request an invalid range. The server rejects a window longer than five years. The first and last periods may cover only part of a week, month or quarter. |
| Group periods by | Week, Month or Quarter. Month is selected initially. A week starts on Monday; months and calendar quarters use their usual boundaries. Changing this changes row grouping, not which events fall within From–To. |
| Scope | Whole farm, a current animal Group, or a current Pen. Whole farm is selected initially. The group selector loads up to 1,000 candidates and warns if more exist. The pen selector retrieves the farm’s complete current pen list in API pages of 200. If the needed group is not listed, do not assume it has no animals. |
A selected Group or Pen restricts every opening count, closing count and event to animals currently in that group or pen. It does not reconstruct historical group or pen membership. Thus a past-period scoped report can change after an animal changes group or pen. Use Whole farm for a historical farm-wide roll-forward. The reported dates use the farm’s timezone; the page shows a loading skeleton during a request and Couldn’t load the report for this window on failure.
Understand the summary
Section titled “Understand the summary”Opening (milking · dry) counts animals with a recorded Lactating or Dry stage at the start of From. Closing (milking · dry) is the last row’s calculated closing pair: opening plus the counted inflows minus outflows. Live now (milking · dry) is the source count of those stages at the end of the selected window, even though the card says “now”; for an older To date, it is not necessarily today’s count. Reconciliation says All reconcile when neither a negative balance nor a final closing/source mismatch was found, or shows how many periods have a variance. This status checks this report’s calculated chain; it does not certify that every underlying event is correct.
If a variance appears, read the amber periods did not reconcile box. It lists the affected period start and the problem: a negative computed milking/dry balance, or the final computed closing count differing from the source stage count at the window end. The report displays the numbers as computed; it does not silently force a match. Check the dated animal events and stage history for a missing, duplicate or misdated record before using those figures in another decision.
An event recorded exactly at the farm-local midnight that starts From, or a stage starting exactly at the midnight immediately after To, can currently disagree with the report’s opening or closing anchor. Treat a resulting first- or final-period variance as a boundary issue to investigate rather than editing a valid record merely to make the report reconcile.
Read the milking and dry ledgers
Section titled “Read the milking and dry ledgers”Each row starts at its Period date. Opening is carried from the previous row’s Closing; for the first row it is the count at the From boundary. Green upward entries add animals, red downward entries remove them. Closing equals Opening plus the inflows minus the outflows on that row. OK? shows the row’s reconciliation icon. Some columns are internal moves between the two ledgers and appear as a matched outflow on one side and inflow on the other.
| Milking herd column | What it counts |
|---|---|
| Calvings | A cow calving out of Dry into milking; matched by Calved in the Dry ledger. |
| Heifers | First calving into milking without a corresponding Dry outflow. The source currently decides this from whether a Dry stage exists at the calving instant. |
| In | An animal registered into the farm with a Lactating stage. It is not every animal added to the farm. |
| Dried off | A DryOff event taking an animal from milking into Dry; matched by Dried off in the Dry ledger. |
| Sold / Culled / Died / Transfer | Exits recorded while the animal was in Lactating stage, grouped by the saved exit reason. |
| Dry herd column | What it counts |
|---|---|
| Dried off | The matching inflow from milking. |
| In | An animal registered into the farm with a Dry stage. |
| Calved | A Dry cow calving and moving into milking; matched by Calvings in the Milking ledger. |
| Sold / Culled / Died / Transfer | Exits recorded while the animal was in Dry stage, grouped by the saved exit reason. |
For these ledgers, Culled includes Culled and Slaughtered, Died includes Deceased and Lost, and Transfer includes TransferredOut, Gifted and LeaseEnded. Sold is the Sold reason. The current handler places an unrecognised or missing exit reason in Sold, so investigate an unexpected Sold count through its animals rather than assuming the reason was deliberately recorded as Sold. Exits without a Lactating or Dry stage at the exit instant are outside both ledgers. Registrations into Calf or Heifer are outside both ledgers until a later qualifying event.
Select a non-zero underlined green or red count to open the animals behind that cell. The panel gives tags and available names, national IDs, breed and lactation number, with links to each animal page. A Now stage badge is the animal’s current stage, not necessarily its stage in that report period. Close the panel to return to the same report. Opening, Closing, zero counts and OK? icons do not have that drill-down. This page has no export button.
To investigate a movement, begin with the first period whose reconciliation changed. Open the relevant count, then compare the animal’s lifecycle records with the dry-off workflow or departure workflow as appropriate. A correction belongs in the original recording workflow, after which you can reopen the report.

