The shipping charges will be applied by state, instead of zones. The issue with this is it is not exact as compared to the USPS way of charging by zip code. As you can see in the chart above, some states may have different zones. So, what to do? It is possible to quickly assign a zone to a state, but you may be undercharging some people who may be in a higher-priced zone, so you may want to decide to pick the highest zone in a state and charge that to the entire state.
Of course, you may wish to explain this shipping policy in some way like, "Rates are based on the USPS zone chart but highest zone rate in a state is applied to the entire state." Or not. It is your choice how much to charge your customers for shipping, but stating a policy should make your customers feel more confident to shop with you.
(These steps need to be done in the following order, except step #6, which can be done at any point before, or after.)
1. Create the zones (Zone 1 ~ 8). [Shipping >> Zones] Click "Add New" at the top of the page. Make sure the Enabled button is selected before saving. It usually is. Save.
2. Set each state's zone number. [Shipping >> States >> Click on the name of a state to open the edit page for that state] Manually choose the zone for each using the Zone drop-down. Save.
3. Create Carrier service. [Shipping >> Carriers] Click "Add New" at top of page. Name your Carrier service something like USPS Priority Mail. Fill in or check all fields as needed and check off all the zones that you created in step 1. Note that when you have other "carriers" such as free pick-up, etc., they will also need to have all of the zones checked off, as well. Otherwise, these additional options will not show up in the checkout. Save.
4. Create weight ranges. [Shipping >> Weight Ranges] Click "Add New" at top of page. Priority mail is based on one-pound increments; however, here in Presta Shop, use ounces: 1-16, 17-32, 33-48, etc. Save.
5. Create range fees. Go back to the main Shipping page by clicking on the Shipping tab. Check the button in the Handling Box that says, “Billing: According to total weight.” Choose the correct carrier in the drop-down (like USPS Priority Mail). After page reloads, scroll down to find the newly populated pricing fields and enter the fees. Save. *See image, below.
Note: If you forget to check off the button "Billing: According to total Weight", the weight ranges you create for carriers will not show up at the bottom of the page in the Fees box after you select the carrier.
See the pricing chart here: http://www.usps.com/...mail-prices.htm. **See note below about pricing.
6. Enter weight into product information pages and combination (attribute) pages under, " impact on weight fields," if any. These can be entered at any time.
Note: be sure to save all steps if a save button is presented, naturally.
Remember, when you try testing it by creating additional shipping address(es) under your account, note that the shipping is based on the state name, not zip code.
**Once you see the USPS Priority Mail fees chart, you can see how the pricing stacks up.
For states with more than one zone read this example for California:
California has zones 1-4 (starting point is also California). The zones will climb the more east you go...of course.
The actual USPS rate is $4.95 for up to 1-lb for all 8 zones. That's easy, but, the 2-lb rate for zones 1-4, I have set the rate of $5.75 since these zones cover all of California and the price for zone 4 is $5.75. So, the maximum for California at 2-lb. became the base price for the entire state (all 4 zones) since it is not possible to identify a customer by zip. This method will need to be used for all rates in this state. You may choose to go with a median price if you think it is unfair to charge the local people the same rate as shipping hundreds of miles away. Remember, some customers may actually know or check the real rates. How you charge is up to you, but until a real USPS module is created, this is the best I can come up with using the system as it is.
I hope this works for you...