This is normal. Amazon has sellers ship their products to wherever logistically makes the most sense to Amazon and their consumers.
There are 3 things you can do to avoid this issue.
Option 1. Case Pack
Using case packed shipping based on how your supplier packs your boxes and help make shipping a smooth process regardless of how many locations your product is shipped to.
Here is the process;
1. Ask your supplier to not mix SKUs in boxes and not put more than 100 units in a single shipping box
2. When creating a shipment, tell Amazon your units are case packed based on how your supplier packed the product (for example; if you purchased 100 red pens and 100 blue pens, maks sure your supplier doesn't mix the pens in shipping boxes. Then, say your supplier made 2 boxes of 50 red and 2 boxes of 50 blue, you tell Amazon the product is in a case pack of 50 when creating your shipping plan).
3. Amazon will not make you split a case pack. Now just enter the dimensions for each shipping box (case) and send you supplier the labels. (Like in the example above, the worst thing that could happen is Amazon tells you to send each 50 box to a different warehouse. But since your supplier already split them into 50 packs, each of which needs a shipping label, you just need to make sure to tell them which label goes to which box)
Option 2. Tell You Supplier Exactly How Amazon Wants It Packed
Start your shipping plan for the products up to the part where it asks you to select a carrier. At that point, you will know if Amazon wants you to send the entire shipment to one place or split it up. If Amazon wants you to split the shipment to multiple warehouses, you will now have the exact split to communicate to your supplier.
Option 3. Use The Inventory Placement Program
You can use the Inventory Placement Program to have them all go to the same location, but this is done at an extra fee.