Uploading Documents via CSV: Step-by-Step Import Guide
A step-by-step guide to bulk CSV uploads in Coreloops, using a timesheet import.
Written By Gabriel Makinwa
Last updated 1 day ago
Uploading Documents via CSV: Step-by-Step Import Guide
Bulk CSV upload lets you bring timesheets, documents, or directory records into Coreloops in one go, instead of entering them one at a time. This guide walks through every step of the import process.
Before You Start
Have your CSV file ready, with a single header row. If you do not have one, you can download a template from the CSV import page.
Make sure contact records already exist in your Directory β rows can't map to a contact without one
Know which column in your file holds each piece of data (date, hours, contact reference, description, etc.)
Step-by-Step Guide
1. Log in and navigate to the module
Log in at portal.coreloops.ai and go to Dashboard, then the module you're importing into (e.g. Timesheets, Documents, or Directory).

2. Choose Bulk Upload
Instead of drag-and-drop, select the Bulk Upload option. This opens the CSV import wizard.

3. Select your file
Choose the CSV file from your computer and upload it.

4. Select the header row
Confirm which row in your file contains the column headers, so Coreloops reads the data correctly from the row below.

5. Auto-map all columns
Under Bulk Actions, click Auto Map All Columns to automatically match your file's columns to Coreloops fields. If you are using the template found on the csv importer, all of your columns will be mapped correctly.

6. Review and correct the mapping
Check each mapped column. If a column shouldn't be imported (for example, a description or labels column you don't need), change it to Select a Column so it's left out of the import.

7. Review validation flags
Rows with missing or unmatched data are flagged as invalid before you submit β for example, a row may fail to match a contact if their phone number isn't on file. Review flagged rows and decide whether to fix your source file or continue without them.

8. Submit the import
Once you're happy with the mapping and flagged rows, submit the upload. Valid rows are imported immediately.

Tips and Troubleshooting
Rows flagged invalid? This usually means a required field (like a contact match) is missing from your file or your Directory. Add the missing detail and re-upload just those rows.
Column mapped to the wrong field? You can remap any column before submitting β it doesn't need to match automatically.
Large files timing out? Split very large CSVs into smaller weekly or monthly batches.
Duplicate rows after import? Check whether the file was uploaded more than once; duplicate detection varies by module.
FAQ
Which modules support CSV bulk upload?
Timesheets, Documents, and Directory (contacts, suppliers, and clients) all support CSV bulk upload. Bill of Quantities (BOQ) import currently uses Excel (.xlsx) files instead of CSV.
Can I use the same CSV file to update existing records instead of creating new ones?
Yes, where your file includes an existing reference (e.g. Contact ID), matching rows update the existing record rather than creating a duplicate.
What happens to rows that fail validation?
Invalid rows are excluded from the import; valid rows are still imported. You can fix and re-upload the excluded rows separately.
Need Help?
If your import doesn't go as expected, reach out to your Coreloops contact or use the chat bubble in the bottom-right corner.
Related: See also the Documents and Getting Started/Directory collections for module-specific bulk upload notes.