Bulk entry — disposals (historical)

0queued

Paste disposals (from Excel) or import CSV

Columns: cow tag, date, reason (free text is fine), notes. Any order if there is a header row; without one the order above is assumed. The mapping is shown before anything loads.

Reason mapping — free text → code (edit it; nothing is guessed silently)

Longest phrase wins ("sold empty" beats "sold"). Text that matches nothing becomes UNKNOWN and the row is flagged — longevity then infers from her calving history. "Sold" on its own is a sale (censored); if your "sold" meant "sold because empty", add a phrase for it.

PhraseCode