Skip to content

Importing from Sum-It and Herdwatch

Time: ~5 minutes per file | Works offline: No (commit needs a network connection)

Already keeping records in Sum-It (PocketPro / Cattle Manager) or Herdwatch? You can move your history into Kilnside without re-entering it. Export from your existing system, drop the CSV into Kilnside, preview what we'll create, and commit.

Step 1 — Export your CSV

Sum-It (PocketPro / Cattle Manager)

  1. Open Sum-It on your desktop.
  2. Choose Reports → Export.
  3. Pick one export at a time (Sum-It keeps each list as a separate file):
    • Animals — your full flock or herd roster
    • Movements — on/off-farm movements
    • Treatments — medicine records
    • Lambings — lambing events with offspring tags
  4. Save as .csv.

Herdwatch

  1. Open the Herdwatch web app at app.herdwatch.com.
  2. Choose Reports → Animals (for the roster) or Reports → Events (for everything else — movements, treatments, lambings together).
  3. Set the date range and tap Export to CSV.
  4. Download the file to your computer or phone.

Pick one file at a time

For Sum-It, upload each export separately and pick the matching kind (animals, movements, treatments, lambings). For Herdwatch's events export, run it three times — once for movements, once for treatments, once for lambings. The importer filters events by type per upload.

Step 2 — Preview (dry-run)

Drop the CSV into the Import screen. Kilnside parses it and shows you a preview, broken down into three buckets:

  • Creates new — animals or events that don't exist in Kilnside yet
  • Extends existing — events that attach to an animal Kilnside already knows about (matched by ear tag)
  • Conflicts with existing — an import row's ear tag is already in Kilnside, but the row tries to register a new animal

The preview also lists any diagnostics — rows the importer couldn't fully parse (missing date, ambiguous product name, etc.). Those don't block the import; they just won't commit.

Dry-run is the default

Nothing is written to Kilnside until you explicitly tap Commit. The preview is safe to run as many times as you like.

Step 3 — Pick a conflict strategy

When an ear tag in your import already exists in Kilnside:

StrategyWhat it does
Skip (default)Drops the conflicting row. Existing animal is unchanged. Use when you're re-importing a file you've already imported.
MergeKeeps the imported event but attaches it to the existing animal. Any "new animal" rows for the same tag get downgraded to legacy attachments so we don't end up with two animals sharing a tag. Use when your import has more history than Kilnside currently knows.
ReplaceAnnotates the conflicting row with a "supersedes" marker for review. Doesn't auto-rewrite the ledger — the most invasive choice and the slowest to apply. Use only when you're sure the import is more authoritative than Kilnside's current record.

Step 4 — Commit

Tap Commit. The importer posts the resolved batch through the same airlock that handles every event Kilnside writes, so the bouncer (axiom engine) still gets the last word — bad data won't slip through just because it came from a CSV.

Every imported event carries:

  • payload.import_sourcesumit or herdwatch
  • payload.confidencecsv_import (lower than a hands-on OBSERVATION, higher than a guess)

You can filter your ledger by these later to audit what came from where.

What gets imported

Source rowKernel event
Sum-It / Herdwatch animal with born date and "homebred" originLIFECYCLE:BORN
Animal with purchase date or "purchased" originLIFECYCLE:PURCHASED
Movement with from/to CPH or locationMOVEMENT (resolution by ear tag)
Treatment row with product + doseINTERVENTION:TREAT
Lambing row with offspring tagsOne LIFECYCLE:BORN per lamb, plus stillborn count → OBSERVATION
Death event in Herdwatch's event feedLIFECYCLE with sub_type: DEATH
Sale (Herdwatch)MOVEMENT off-farm (sale recognition will land in a follow-up)

If a row references an ear tag the importer doesn't yet know about (no matching animal row in the file, no matching animal already in Kilnside), it appears in the preview's conflicts bucket so you can fix the import before committing.

Troubleshooting

  • "No data rows" — Your CSV has a header but no rows. Re-export with a wider date range.
  • "Missing ear tag" diagnostics — Your export's tag column is named something Kilnside didn't recognise. The importer matches case-insensitively against EarTag, Ear Tag, TagNumber, ID and a handful of other variants — if yours doesn't match, rename the header in the CSV before uploading.
  • Date warnings — A row's date couldn't be parsed. The event still imports, but with the current timestamp instead of the original date. Most often caused by free-text dates like "last summer".

Privacy Policy