Loading a hundred stops before breakfast: how CSV bulk import works in DropPilot

Three months after launch, a courier manager from Manchester sent me a message: 'Your app is brilliant, but I've got 200 stops tomorrow and I'm not typing them individually.' He was right. We built CSV bulk import the week after.

The spreadsheet problem

Most dispatchers already have their work in a spreadsheet. Names, postcodes, delivery instructions, time windows. Often they're pulling from a booking system or email thread. The last thing they need is to re-enter everything into a new app, stop by stop. That's not efficiency; that's friction.

When we started DropPilot, we knew route planning had to be fast. But we missed the bit before the route planning: getting the data in. A dispatcher managing 30 drivers across the city doesn't want to spend an hour on data entry. They want to upload their stops, hit optimise, and brief their team.

CSV bulk import was a non-negotiable feature, not an afterthought.

The format: keep it simple

We had to decide: do we ask for a rigid, complex schema, or something a dispatcher could build in Excel without consulting a manual?

Simple won. The import accepts a CSV with columns for address, postcode, contact name, phone number, delivery notes, and time window. That's it. Most dispatchers already have the address and postcode. The rest is optional. If a row is missing a postcode, the system tries to geocode the address anyway. If the time window is blank, it's treated as flexible.

The validation is forgiving but intelligent. Duplicate postcodes get flagged. Invalid phone numbers don't stop the import; they're logged for review. Addresses that can't be geocoded generate a warning, so you know which stops might need checking before the driver leaves.

Upload and preview before committing

We learned fast that people want to see what they're importing before it goes live. One of our first beta testers uploaded a file with a typo in the postcode column and nearly sent a driver 50 miles in the wrong direction.

Now, when you upload a CSV, DropPilot parses it and shows you a preview. You see how many stops are valid, which ones have warnings, and a sample of the data it's about to use. You can review the map view of your stops before you press import. Only then does it commit to your round.

It takes 30 seconds. That small pause has saved countless misdirected drivers.

Building rounds in bulk

Once the addresses are imported, they land as a new round. From there, the route optimisation engine takes over. DropPilot uses nearest-neighbour sequencing with 2-opt refinement to find an efficient route through all your stops. Real traffic data from Google Directions API feeds in continuously, so the engine knows if the motorway is jammed and reroutes accordingly.

Dispatchers on the Team tier can then assign the round to a driver, review the optimised sequence, adjust manually if needed, and send it to the driver's phone. From bulk upload to dispatch: usually five minutes.

Field service teams and last-mile couriers have told us this cuts their morning briefing time by half.

The proof of delivery part

Bulk import gets the stops in. But DropPilot is also a proof of delivery system. Once a driver is out on the round, they can capture a signature, photo, or note at each stop. That audit trail stays with the round.

Dispatchers can review completion status in real time. They see which stops are done, which are in progress, and which have been skipped or rerouted. If a customer disputes delivery later, you have the evidence. That's harder to argue with than a checkbox in a 20-year-old logistics system.

Real limits, real scale

CSV bulk import doesn't have a hard ceiling. We've tested it with 500 stops in a single round. The upload and validation take a few seconds. The optimisation takes longer (it's computationally heavier), but it finishes in under a minute even at that scale.

For most couriers and field service teams, a single round is 50 to 100 stops. A busy day might be 5 or 6 rounds across a team. At that level, bulk import feels instant.

The free tier limits you to 5 stops per round; the Plus tier goes to 50. If you're regularly working with larger batches, the Pro tier (unlimited) is where bulk import starts to shine. Teams and fleets use the Team tier, which includes dispatch features so you can assign rounds to drivers and manage the whole operation from the dispatcher's view.

CSV bulk import is one of those features that only matters if you're actually running deliveries. Do you spend your mornings copy-pasting addresses from email into a map app, or are you already using something that lets you upload in bulk?

Want to try Droppilot?

Visit Droppilot →