Import Drivers form a CSV file

Import company drivers and owner operators from a spreadsheet into your company account in Trucking365 TMS. Add or update driver contact details, license dates and payment settings with one driver per row.

Import drivers from a CSV spreadsheet into Trucking365 TMS

What the Import Does

A valid row with a matching first name and last name updates a non-deleted driver in your company. Otherwise a new driver is created. Matching uses the combined first and last name, not email, license number or an ID. If multiple existing drivers have the same combined name, the first matching record is updated; review duplicate names before importing.

Imports affect only your current company account. Each row is checked using the same validation as the ordinary Drivers form. Invalid rows are skipped without modifying their records; valid rows are created or updated. An import does not create Loads, Trips or payments.

To import, your role needs permission to view and save drivers. To review history, it needs view permission. If the import button is missing, ask your company administrator to check these permissions.

Prepare and Import Your CSV File

Get the sample from the Drivers page

  1. Sign in to Trucking365 TMS and click Drivers in the left sidebar to open the Drivers pageDrivers page.
  2. Next to add new at the table heading, click import from csv. The Drivers Import popup opens.
  3. In the popup, click Download the sample CSV file. You can also download the drivers sample here.
  4. Open the sample in your spreadsheet editor. Keep the first row of column headings and replace the demonstration rows with your own drivers. Use one record per row. Delete sample rows you do not intend to import.

Save a valid CSV

  • Save as CSV UTF-8 with comma-separated columns, with the .csv extension. An Excel workbook (.xlsx), PDF or renamed workbook is not a CSV. Use up to 5 MB and 1,000 nonblank data rows per file; split larger files into smaller batches. Your server may impose a lower upload limit.
  • Use the exact column headings shown below. Required headings are first_name, last_name, city, region_id and country_id. Optional columns may be omitted; column order may change. Duplicate or unsupported headings cause the file to be rejected before import.
  • Keep each row's cell count equal to the header count. Preserve empty cells. A row with the wrong number of cells is counted as Failed.
  • Keep ZIP codes, unit numbers, phone numbers and identification numbers as text so spreadsheet software does not remove leading zeros. Put values containing commas or line breaks inside double quotes; the CSV export option usually handles this for you.
  • On update, omitted optional columns keep their current values. Blank optional cells clear nullable fields. Follow the special password, status and pass-number rules below when applicable. Remove a column from the file if you want to preserve its existing values. Required fields must still be supplied for updates.

Driver-specific rules

  • Required fields: first_name, last_name, city, region_id and country_id must be present and valid on every row, including updates.
  • Type: 1 = Company Driver, 2 = Owner Operator. New drivers default to Company Driver if type is omitted. If type is included, enter a valid code on every row.
  • Address and CDL location: country_id and license_country_id accept a country name or ID. region_id and license_region_id accept a state/province code or ID belonging to the corresponding country. A new driver uses United States for the CDL country if its column is omitted.
  • Payment Type: 1 = Flat Monthly, 2 = Per Mile (or your company distance unit), 3 = Percent, 4 = Flat Weekly. New drivers default to Flat Monthly if omitted. Enter payment as the amount or percentage for that type. Use plain numbers for payment_empty_mile and payment_extra_stop. Include zero when the agreed rate is zero.
  • Status: 1 = Active, 2 = Terminated. New drivers default to Active if omitted. If status is Terminated and no termination date exists, the current date is used.
  • Email and password: email must be valid and cannot already belong to another driver. A new driver with an email requires a password of at least eight characters containing letters, numbers and at least one of !$#%. A blank or omitted password keeps an existing password. A nonblank password on an update replaces it.
  • Dates: use YYYY-MM-DD, such as 2026-10-11; MM/DD/YYYY is also supported. Optional date fields include birth, hire, termination, license expiration, medical card expiration and random testing dates.
  • Assignments: truck_id, trailer_id and dispatcher_id cannot be imported. Do not add these headings, even with blank cells. New drivers have no truck, trailer or dispatcher assignment; existing assignments are preserved. To assign them later, click Drivers in the sidebar, click the driver's name, select the assignment fields in the driver popup and click Save.

CSV Column Reference

Use these headings as written. Numeric codes identify choices; display words such as Active cannot replace the required code. The import popup shows company-specific reference IDs where needed.

ColumnValue
type1 = Company Driver, 2 = Owner Operator. Default for a new driver: 1.
first_nameRequired first name. First name plus last name identifies an existing driver in your company.
last_nameRequired last name.
dobDate of birth.
ssnSocial Security number, as text. Leave blank if unknown.
emailValid email address. It must not already belong to another driver. Leave blank if not needed.
passwordRequired for a new driver with an email. At least 8 characters with letters, numbers and one of !$#%. Blank keeps an existing password.
phonesPhone numbers, as text.
faxFax number, as text.
addressStreet address.
cityRequired city name, for example Austin.
region_idRequired state / province code, for example TX, or its ID. It must belong to the address country.
country_idRequired country name, for example United States or Canada, or its ID.
zipZIP / postal code, as text. Preserve leading zeros; up to 10 characters.
license_numberCDL number, as text.
license_expCDL expiration date.
license_country_idCDL country name or ID. A new driver defaults to United States if this column is omitted.
license_region_idCDL state / province code or ID. It must belong to the CDL country.
payment_type1 = Flat Monthly, 2 = Per Mile, 3 = Percent, 4 = Flat Weekly. Default for a new driver: 1.
paymentPayment amount or percentage, depending on payment_type. Use a number without a currency symbol.
payment_empty_milePayment per empty mile, as a number.
payment_extra_stopPayment per extra stop, as a number.
hire_dateHire date.
termination_dateTermination date. If status is 2 and no termination date exists, today is used.
status1 = Active, 2 = Terminated. Default for a new driver: 1.
medical_card_expMedical card expiration date.
random_test_dateLast random testing date.
descriptionNotes about the driver.

Upload and start the import

  1. Return to Drivers in the sidebar and click import from csv if the popup is closed.
  2. In Drivers Import, click Choose CSV file and select your prepared .csv file. Check the displayed file name.
  3. Click Import at the bottom of the popup. A spinner appears and controls remain disabled while the request runs. Wait for the result rather than submitting the file again.
  4. On success, the popup closes, a green Record has been saved message appears and the Drivers Imports page opens. Review the counters even when the import succeeds.

If a file-size, extension, heading or upload error appears in the popup, correct the file and select it again. An empty file or a file with no data rows is rejected. A rejected file does not add a successful history entry. If the request reports a connection problem, check import history before retrying because the server may already have processed it.

Check Import Results

  1. If you are not already on history, click Drivers in the left sidebar, then click Imports in the top bar. This opens Drivers Imports.
  2. Find the newest entry at the top and check its File name and Date against the file you just uploaded.
  3. Review Created, Updated and Failed. Then return to Drivers in the top bar to inspect the imported records. Click a record's name or unit to open its usual edit popup and verify the details.
  • #: the import history entry number.
  • File: the uploaded file name; the original upload is not retained as a downloadable file.
  • Lines: the number of processed nonblank rows, equal to Created + Updated + Failed.
  • Created: new records added to your company.
  • Updated: existing records matched and updated.
  • Failed: rows skipped because validation or a business rule failed; those rows did not change their records.
  • Status: Active, In Process, Failed or Completed. Completed means processing finished, not that every row succeeded. Check Failed even when status is Completed.
  • Date: the import date without a time. All your company's import history is shown without pagination, newest first.

For example, Lines 10, Created 6, Updated 2 and Failed 2 means eight rows were applied and two were skipped. The history shows totals rather than a downloadable row-by-row error report.

Correct failed rows safely

Review your source file against the required fields, column reference and rules above. Check country/state pairs, numeric codes, dates and identifiers. Make a smaller CSV containing the corrected rows and import it from Drivers → import from csv → Choose CSV file → Import. Then return to Drivers → Imports to check the new result.

Keep the existing first and last name when updating a driver. Changing the name to an unmatched name creates another driver. Importing the whole file again may update already successful records or create duplicates where no matching key is supplied. Keep your own copy of the source CSV.

Run your whole carrier operation in one place

Trucking365 gives carriers loads, dispatch, driver pay, invoicing, and IFTA in a single TMS. Try it free.