Want to charge different flat rates, but I'm running into issues

I'm using the flat rate module for Commerce Shipping, and I want to charge one flat rate for the US, one flat rate for Canada and Mexico, and one flat rate for the rest of the world. But I'm running into a few issues.

In my shipping settings dialog I had one entry, Flat rate, and it charged a straight 5.20 shipping fee.

I cloned the rule, called the new rule Flat Rate (Canada and Mexico), changed the value to 11.95, added an order address component comparison which returned true if the country of the shipping address equaled CA or MX. I kept the event "Select available shipping methods for an order".

I then added a condition to the first rule, which returned true if the country value was US.

I tried to order, and to my surprise I got no shipping fees added to my order when I tried to order as a US customer. To my even more surprise I tried as a canadian customer and I got the US shipping fee added to my order. To my complete astonishment, when I tried to switch my address to Mexico, the previous screen (the address entering screen) gave me an error and said that I must select a Province (!) and the drop down list only contained Canadian provinces (!!!).

I tried to simplify it by disabling the canadian shipping rule and confirmed that the US rule does not fire if there is a condition attached to it.

Um, help? Am I missing something obvious? I'm probably missing something obvious, I should get a T-shirt that says "Drupal 7: You're missing something obvious."

Posted: Oct 24, 2011


kim.pepper on November 7, 2011

I'm trying to set up flat rate shipping for domestic and international, but haven't been able to get it to switch when a different country is selected.