Importing Animals from CSV
If you have a large number of animals to add, you can bulk import them from a CSV (comma-separated values) file instead of entering each one manually.
Before You Start
Start from the import template rather than building a file from scratch. On the Import Animals page, click Download example template (with format requirements) to get an Excel workbook with two sheets:
- Requirements — the accepted values for each column.
- Animals — the header row and a few example rows. Replace the examples with your own animals.
When your data is ready, save or export the Animals sheet as a CSV file. The importer only accepts CSV — it will not read the .xlsx workbook directly.
How to Import Animals
- From the Dashboard, click Import Animals in the quick actions.
- Choose a Default Identifier. This is the column Cattle360 treats as each animal’s main identifier, and the one used to match sires and dams. The dropdown lists the built-in tags under Tags — Ear Tag, EID, Freeze Brand, Other Tag — and, if your account has any text or number custom fields, those under Your custom fields. Pick a custom field when your tags repeat; it only has to be unique among your own animals.
- Optionally tick Check Cattle360 system for matches so sires and dams named in your file are linked to animals you already have. If it is left unticked, every row is treated as a brand new animal.
- Drag your CSV onto the upload box, or click it to browse for the file.
- Click Validate Import. Any problems are listed on screen, one per issue, with the row number.
- Read the Here is what will happen summary that appears once validation passes (see below).
- Click Import Data to create the animal records.
Nothing is saved until you click Import Data. Validating is safe to run as many times as you like.
Read the Summary Before You Import
After a successful validation, Cattle360 shows exactly what the file will do before anything is written:
- How many animals will be created, from how many rows, and which identifier they were matched on.
- How many custom field values will be set, per field.
- How many notes will be added.
- How many sire/dam references were found, split into those already in your herd and those created by this file.
- Any new colors that will be added to your account.
- Any columns Cattle360 does not recognize, which are skipped.
Two warnings are worth stopping for:
- “Extra animals will be created” lists sires and dams named in the file that are neither in your herd nor rows in the file. Each one becomes a placeholder animal you did not enter. If that is not what you want, fix those values or untick Check Cattle360 system for matches.
- If the file names parents but the matching checkbox is off, a notice tells you no parents will be linked at all.
CSV Format
Your file needs a header row. Column names are matched ignoring case, spaces, underscores and dashes, so BirthDate, Birth Date and birth_date all work. Columns can appear in any order, and any column Cattle360 does not recognize is ignored.
Required Columns
| Column | Accepted Values |
|---|---|
| Type | Bull, Cow, or Calf. (Goat accounts: Buck, Doe, Kid. Sheep accounts: Ram, Ewe, Lamb.) |
| Sex | Bull, Steer, or Heifer. (Goat accounts: Buck, Wether, Doe. Sheep accounts: Ram, Ewe.) |
| Status | Active, Dead, Sold, or Reference. |
| An identifier | Every row must have a value in at least one of EarTag, EID, FreezeBrand, or OtherTag. |
Identification Columns
| Column | Accepted Values |
|---|---|
| EarTag | Any text. |
| EID | Any text. |
| FreezeBrand | Any text. |
| OtherTag | Any text. |
| Name | Any text. |
| Tattoo | Any text. |
| EarTagColor | Black, White, Red, Gray, Green, Yellow, Blue, Orange, Purple, Pink, Silver, Other. |
| Owner | The owner's first and last name exactly as it appears in Cattle360. If it is blank or does not match a user, the account owner is used. |
The template also has a Default Identifier column. You can leave it as-is — the choice you make on the import page is what Cattle360 actually uses.
Descriptive Columns
| Column | Accepted Values |
|---|---|
| Color | Any text, up to 100 characters. The built-in colors are Black, Black White Face, Red White Face, Black Brockles, Red Brockles, White, Red, Gray, Cream, Brown, Tan, Orange, Blonde, Blue Roan, Red Roan, Brindle and Other — any other name you use is added to your account as a custom color. |
| Breed | Any text. |
| RegistrationNumber | Any text. |
| Brand | TRUE or FALSE. |
| Castrated | TRUE or FALSE. |
| CastratedDate | A date. |
| DeHorned | TRUE or FALSE. |
Parentage and Breeding Columns
| Column | Accepted Values |
|---|---|
| SireIdentifier | The sire's value in whichever column you chose as the Default Identifier — including a custom field, if that is what you picked. |
| DamIdentifier | The dam's value in whichever column you chose as the Default Identifier. |
| ConceptionType | Natural or AI. |
| BreedingStatus | Open (or Empty), Exposed, or Pregnant. |
A sire or dam can be another row in the same file. If you ticked Check Cattle360 system for matches and the parent is not in your file or in your herd, Cattle360 creates a placeholder animal for it with the status Reference so the pedigree still links up.
Parent identifiers have to be unique. If a value used as a sire or dam is carried by more than one row in the file, or by more than one animal already in your herd, validation fails and names the value — Cattle360 will not guess which animal was meant. Give those animals distinct values, or re-run the import with an identifier that is unique, such as a custom field.
Birth and Weaning Columns
| Column | Accepted Values |
|---|---|
| BirthDate | A date. |
| BirthWeight | A number, in pounds. |
| WeaningDate | A date. |
| WeaningWeight | A number, in pounds. |
Purchase, Retention, Sale, and Death Columns
| Column | Accepted Values |
|---|---|
| Acquired | Raised or Purchased. |
| PurchasePrice | A number. |
| PurchasedDate | A date. |
| RetentionPayment | A number. Only for rows where Acquired is Raised — a retention value on a purchased row fails validation. |
| RetentionDate | A date. Only for rows where Acquired is Raised. |
| SaleDate | A date. |
| SalePrice | A number. |
| SaleWeight | A number, in pounds. |
| PricePerPound | A number. |
| SalePriceMethod | Weight, TotalPrice, or CWT. |
| DeathDate | A date. |
| CauseOfDeath | Any text. |
Your Custom Field Columns
Custom fields are your own, so they are not on the example template — but your CSV can carry a column for any of them. If your account has custom fields, the Import Animals page lists them in a Your custom fields card with the exact heading to use and the accepted values for each:
| Field Type | Accepted Values |
|---|---|
| Text | Any text, up to 1000 characters. |
| Number | Any number. |
| Date | A date like 10/23/2019 or 2019-10-23. |
| Yes / No | Yes or No. |
| Dropdown | One of the choices you set up for that field. |
Use the field name exactly as the card shows it. The validation summary tells you how many values will be set for each field before you commit. See Custom Fields for how to create them.
Notes Column
| Column | Accepted Values |
|---|---|
| Notes | Any text. Whatever you put here is saved as a note on the animal, exactly as if you had added it by hand on the animal record. Leave the cell blank for no note. |
Each row gets one note. To add more notes later, open the animal and use the Notes section — see Adding Notes.
Dates and Numbers
- Dates can be written as
3/9/2026,03/09/2026,2026-03-09, or3-9-2026. Month comes first. - Prices and weights can include currency symbols and thousands separators —
$1,232.50is read the same as1232.50. - Blank cells are fine for any column that is not required. Leave them empty rather than typing
N/Aor0.
Accepted Column Name Variations
If your existing spreadsheet uses different headings, these are recognized automatically and do not need renaming:
| If Your Column Says | Cattle360 Reads It As |
|---|---|
| Date of Birth, DOB | BirthDate |
| Purchase Date, Date Purchased | PurchasedDate |
| Date Sold | SaleDate |
| Date Died | DeathDate |
| Sire | SireIdentifier |
| Dam | DamIdentifier |
| Reg Number, Reg No | RegistrationNumber |
| Retention Amount, Retention Price | RetentionPayment |
| Date Retained | RetentionDate |
| Price Per Lb | PricePerPound |
| Note, Comment, Comments | Notes |
Tips
- Clean your data first. Remove blank rows and fix spelling inconsistencies before importing — a single misspelled status or color will fail validation for that row.
- Start with a small test. Import a handful of animals first to confirm everything lands where you expect, then import the full file.
- Save your CSV in UTF-8 format. This prevents issues with special characters in animal names or notes.
- Import parents first, or keep them in the same file. This gives sires and dams the best chance of matching instead of creating placeholder Reference animals.
Related CSV Tools
This page is add-only — it creates animals and never changes one you already have. Two other tools cover the rest:
- Updating Animals from CSV — fill in or correct fields on animals already in Cattle360, using your own column headings.
- Importing Weights from CSV — record a batch of weights against existing animals.
Both are reached from the Dashboard quick actions, alongside Import Animals.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article