Từ năm 1858, Jean Dupuis, một lái buôn người Pháp đã liên tục tiến hành các hoạt động thăm dò thủy lộ, vẽ bản đồ và mở con đường giao thông thủy để đi từ của Ba Lạt ở Bắc Kỳ của Việt Nam đến Mạn Hảo, Vân Nam, Trung Quốc (phía Nam Côn Minh). Nếu chỉ là việc thám hiểm, mở luồng tuyến thủy lộ thì không có vấn dè gì. Nhưng Jean Dupuis đã lợi dụng việc giao thương để buôn lậu vũ khí từ phương Tây sang Bắc Kỳ. và sang Vân Nam cho quân đội nhà Thanh. Việc này rõ ràng vi phạm pháp luật của Việt Nam khi đó (và ngay cả bây giờ). Tướng Nguyễn Tri Phương, được triều đình Huế giao chức vụ làm chức Tam tuyên quân thứ Khâm mạng Đại thần, được phép tùy nghi lo việc đánh dẹp ở Bắc Kỳ cùng với thống đốc Hoàng Kế Viêm đã bắt giữ các thuyền buôn của Jean Dupuis và bắt giữ cả ông này.
Triều đình Huế đã ban lệnh trục xuất Jean Dupuis và tịch thu toàn bộ số hàng hoác ủa ông ta và yêu cầu phía Pháp đến nhận người. Thay vì chỉ cử những nhân viên ngoại giao để làm việc đó, thực dân Pháp đã phát một hạm đội gồm 2 tàu chiến, 4 khẩu đại bác và 171 lính Pháp dưới quyền chỉ huy của viên thuyền trưởng Francis Garnier. Đội quân này phối hợp với đội quân 200 người của Jean Dupuis (gồm 150 lính đánh thuê Vân Nam, 10 lính Pháp, hơn 40 lính dư đảng quân Cờ váng), tạo thành một đội quân chống lại quân triều đình nhà Nguyễn.
Vừa đến cửa Cấm ngày 38-10-1873, Francis Garnier đã gửi thu cho Jean Dupuis nói rõ mục đích đánh chiếm Bắc Kỳ của quân Pháp, Jean Dupuis đã đồng ý đặt “bảo kê” của mình dưới quyền chỉ huy của Francis Garnier. Đích thân Jean Dupuis đã đi chiếc thuyền buôn lớn Mạn Hảo (thuê của người Trung Quốc) ra cửa Cấm (Hải Phòng) để đón Francis Garnier cùng các chiến hạm Scorpion và Espignole.