Bringing your calves across from EasyDairy
If you're already tracking calves somewhere — EasyDairy, a spreadsheet, the back of a feed bag — you don't want to retype the lot. Here's the clean CSV path that gets you running in minutes.
Most farms we meet aren't starting from zero. They've got a list of calves in EasyDairy, a paddock book, a spreadsheet on a laptop in the office, or some combination of all three. The Calfmate Import tool was built for this — a clean CSV path that gets your existing records into the app in a few minutes, so you can keep going from where you left off.
Honest note up front: Calfmate doesn't have a live EasyDairy connector (yet). What it has is a flexible CSV importer that takes the columns most farm software — including EasyDairy — exports natively.
The five-minute path
- Export your existing calves to CSV.
From EasyDairy: open your calf list → Export → CSV. Most versions also offer Excel; open the .xls in Excel and Save As → CSV (Comma delimited).
From a spreadsheet: File → Download → CSV. - Calfmate → Calves → Import. Click Download CSV template. Look at the columns it expects.
- Paste your data into the template under the matching headers. Save as CSV.
- Upload via the CSV file field. Tap Import calves.
- Review the result — added, skipped, warnings. Done.
The columns Calfmate expects
CSV template — what to fill
- calf_id (required) — also accepts headers like "tag", "ear tag", "NLIS".
- birth_date — YYYY-MM-DD or DD/MM/YYYY.
- sex — male/female/heifer/bull/m/f/h/b.
- dam_id
- sire_id
- breed
- pen — must match an existing pen name in Calfmate.
Header names are flexible (the parser is forgiving) but if you're unsure, just copy the template headers exactly.
The limits worth knowing
- 4 MB file size cap.
- 2,000 rows per import. Split into multiple files if you've got more.
- Existing Calf IDs are never updated. Import is add-only. Edit existing calves from their passport.
- Imported calves come in as healthy and active, with no birth weight, no colostrum, no treatments. The import is for the calf register itself — historical clinical data isn't ported.
EasyDairy-specific note
EasyDairy's default calf export usually has tag, DOB, sex, dam, sire. Map "tag" to "calf_id" in your template; the rest copies across as-is. You may need to rename the column headers — copy-paste from Calfmate's template to keep it foolproof.
The test-and-confirm pattern
Don't import 800 calves on your first attempt. Do this instead:
- Take five rows. Import.
- Look at the result. Are pens matched? Did dates parse? Anything in "warnings"?
- If everything looks right, import the rest in one go.
- If something's off (e.g. pen names don't match), fix the source CSV and reimport. Duplicates of the test five will be skipped automatically.
Five-minute insurance against a tedious clean-up.
Three things that catch people out
- Pen names must match exactly. "Group1" and "Group 1" are different. Set up your pens first (Pens → Add) before importing.
- Future birth dates (like 2027 typos) get blanked with a warning, not rejected. Check the warnings column on the result screen.
- Duplicate Calf IDs are silently skipped — both within the file and against existing records. This is a feature (you can safely re-run), but means typos that change the ID won't be flagged.
What to do after the import
- Walk the shed and assign pens to any calves who came in unassigned (the pen name didn't match).
- Calves currently on milk will start showing in Feeding mode the next morning.
- Use import day as the day you also start recording every NEW birth and every NEW colostrum feed in Calfmate, not in two places.
One thing to take away
Import gets your calves into Calfmate. It doesn't get your habits in. Treat import day as the day you also commit to keeping records in one place — otherwise you'll spend the next six months reconciling two sets of data that never quite agree.
Import your existing mob in minutes
4 MB cap, 2,000 rows per file, EasyDairy-friendly columns. 30 days free, no card.