Most of what VoiceERP knows about your station comes from files you hand it — the weekly scorecard, timecards, the roster, your driver list. This article is the map: where each upload lives, what format it expects, and what to do when one gets rejected.
The weekly files row
Performance → Scorecards is where the week-by-week files go. Every week is a card, and the right side of that card is a row of upload buttons — press the upload icon, or drag the file straight onto it.
Scorecard PDF takes a PDF only, and it's the file everything else waits on. The Scorecards article covers that upload in detail. Once the week's scorecard shows a green check, the rest of the row unlocks; until then those buttons are disabled and their tooltips say so ("Scorecard Required for CDF DPMO upload," and the equivalent for the others).
CDF DPMO CSV takes a CSV. DVIC Report takes an XLSX — the spreadsheet, not a CSV. Depending on your payroll provider you'll also see either ADP Timecard or Paycom Timecard, both CSV. Each of these opens a confirmation first, warning you to be sure it's the file for that specific week and year, with a button reading "I'll be careful, continue to upload."
You can replace any of these later: click the green check on a finished file and confirm. VoiceERP warns you first, because replacing a CDF DPMO or DVIC file may change payouts on your incentives, and replacing a timecard reprocesses them outright.
Roster files
Operations → Rostering has an Upload button next to a Template download. It accepts three different things: a CSV matching that template, your weekly Cortex schedule, or the Cortex DA operations file (both Excel files). Anything else gets "Unsupported file format. Please upload a CSV or XLSX file."
A CSV must have a driver column; without it you'll see "The CSV file is missing the driver column." Columns VoiceERP doesn't recognize are ignored, and it tells you which ones. If you're on an older template you'll get a nudge to download the current one.
The Cortex files are checked against the day you're rostering, so a file with no column for that date is rejected with a message naming the date it wanted. When a Cortex roster imports cleanly, a Wave Time Adjustment dialog asks how to set start times relative to wave times — one fixed time for everyone, a set number of minutes before each wave, or a different time per wave. Drivers in the file who aren't in VoiceERP yet are created for you, and you're told how many.
Driver list uploads
Settings → Drivers has Upload Drivers from CSV File. It asks which kind of CSV you're handing it:
VoiceERP CSV Template — the driver list itself: first and last name, transporter ID, phone number, status, language, and hourly rate and payroll ID if payroll is switched on. Download all drivers on the same page gives you exactly this shape, so exporting, editing, and re-uploading is the easiest way to bulk-edit your roster.
Payroll — pairs payroll IDs, hourly rates, and personal phone numbers to drivers you already have.
Netradyne — a list of Netradyne driver names, so safety events land on the right person.
All three are CSV.
Negative feedback reports
The Quality page (and the AI Actions page) has Upload Negative Feedback Report, a CSV of customer complaints keyed by tracking ID. After upload you get a review screen listing each complaint and the driver it belongs to, where you choose who gets a coaching message.
Attachments and documents
Uploads attached to a record — incident documents, driver HR documents, vehicle reminder paperwork — are far less fussy. They accept everyday documents (PDF, Word, Excel, PowerPoint, text, CSV), images (JPG, PNG, GIF, WEBP, HEIC, SVG), audio and video, and archives such as ZIP.
When an upload is rejected
Almost every rejection is one of three things. Wrong week: the file is for a different week than the row you dropped it on, or its dates fall outside that week entirely ("At least one shift must be between the week bounds"). Missing columns: the file names the columns it expected, so compare it against the template or re-export from the source. Bad rows: a message like "One or more rows is missing a value for column X," or a note about an invalid date, duration, phone number, or hourly rate. In every case the fix is in the file, not in VoiceERP — correct it and upload again.
Files that name drivers by something VoiceERP doesn't recognize send you to a matching screen first; the companion article on driver matching covers that step.
After the upload
You'll always get a confirmation message. Scorecards process in the background — the icon spins, then turns into a green check, and you're free to leave the page; a red error icon means processing failed and the file needs uploading again. The other weekly files are read in the browser and saved as soon as you've confirmed any driver matches, with a message naming the week that succeeded.
From there the data flows on its own: scorecard numbers into driver performance and incentives, CDF DPMO and DVIC into incentive scoring, timecards into incentives and payroll file preparation on Payouts, roster entries into the day's roster grid.