Short answer: Import in dependency order, so every record lands on something that already exists. Dogs first — sires and dams before anything else — then litters, then health and test results, then buyer and waitlist contacts, and listings last. Listings are built from the dogs and litters already in the system, so they go at the end.

Why order matters

A litter points to a dam and a sire. A health result points to a dog. A listing points to a puppy that belongs to a litter. If you import the thing that points before the thing it points to, the reference has nothing to land on, and you end up with broken links and orphaned records you have to clean up by hand. Doing it in order means each layer has its targets already in place.

The sequence

  1. Dogs — sires and dams first. Bring in your breeding dogs before the rest so pedigree links resolve. Then the remaining adults and any retained dogs.
  2. Litters. Each litter attaches to a dam and a sire that now exist. Puppies come in with their litter.
  3. Health and test results. OFA, CAER, Embark, vaccines, weights — each attaches to a dog that's already in the system.
  4. Buyer and waitlist contacts. Bring people in before the listings that reference their reservations or applications.
  5. Listings, last. A listing is assembled from a puppy, its litter, and the records already attached. With everything underneath it in place, listings come together clean.

Verify each layer before the next

Don't import all five and then go looking for problems. After dogs, spot-check that pedigrees connect. After litters, confirm puppies sit under the right dam and sire. Catching a bad reference one layer at a time is a minute's work; catching it after everything's loaded is an afternoon.

Clean your IDs first

Before any of this, make sure your chip and registration numbers didn't get corrupted on the way out of the spreadsheet. That's the one error that quietly poisons everything downstream. See Why chip and registration numbers break in spreadsheets.