Importing existing records
Bring a spreadsheet or a year of paper records into PoultryDesk safely, with a mandatory review before anything commits.
Last updated 2026-07-12
Importing existing records
If you are moving from paper, a spreadsheet, or another app, you do not have to key in your history one entry at a time. The Imports tool turns each row of a file into the same kind of record the in-app screens would have created - and it never commits anything until you have reviewed it.
What you can import
Open Imports and choose New import, then pick the type. Common types include mortality, sales, expenses, customers, suppliers, an inventory snapshot, feed events, lots, and production. Each type has a CSV template you can download - a short file with the exact column names and example rows. First-timers should start from the template.
The steps
- Pick the type and, if you like, download its template.
- Upload your file. Choose a
.csvfile up to 50 MB. The file must be saved as UTF-8; if it is not, PoultryDesk asks you to re-export it. - Validation runs. PoultryDesk parses every row and shows how many are valid, how many have warnings, and how many have errors.
- Review. This step is required - there is no auto-commit, even for a clean file. The review panel lists row status, errors, warnings, and possible duplicates in filterable pages.
- Resolve issues. Download the repair CSV for an issue-only worksheet with original invalid values and suggested fixes, then correct the source file and re-upload it. The worksheet is read-only. Warnings are non-blocking; explicitly skip a warned row when it should not be imported, such as a confirmed duplicate.
- Commit. A Manager or Owner can commit after all errors are fixed. Committing writes the accepted valid rows and gives you a summary, such as "imported 412 mortality events across 3 lots". Any skipped or failed rows remain visible with their source-row reason, and interrupted commits can be retried safely.
After importing
Each imported record appears on the relevant flock, customer, or supplier timeline, marked with the import batch it came from. From then on it behaves exactly like a record entered in the app.
Uploading the exact same file again does nothing and tells you it was already imported, so you cannot double-count by accident.