Adding Rules to Canada Post and UPS (Ship-by-weight) I've a site with Drupal Commerce. I'm utilizing both the Commerce UPS and Commerce Canada Post modules. However, these modules are pulling the shipping cost directly from Canada Post and UPS using their API's.

I want to implement a rule that does the following:

Per Ounce
Base Charge: $13.35
Minimum Amount: $0.00 
+  $0.00  per ounce on weight less than  21 oz (pivot-weight)
+  $0.30  per ounce on weight greater than 21.00 oz


How do I do this within the Commerce Canada Post and Commerce UPS modules?
I doubt you'll be able to "create a rule" using either Commerce Canada Post or Commerce UPS (as in your question). Because creating rules is mostly commonly done with the module ... euh ... Rules.

Even though I'm a fan of Rules, I'd rather first try a NOT commonly known/used solution to answer this question, i.e. the Math Field module. It is a fairly new D7 module, released only this year. Some more details about this module (from its project page):


  The Math Field module defines a new field type to dynamically calculate values on entity forms. This is an alternative to Computed Field
  that does not require the use of PHP Filter.
  
  Math expression fields are dynamically updated via ajax on the entity form as soon as all necessary fields are populated. If JavaScript is disabled, the field will be evaluated when the form is submitted. The result is stored in the database when the form is submitted.


For more details (step-by-step instructions), refer to either of these links:


the (amazing!) Community documentation about the Math Field module.
the interesting article about Introducing the Math Field module, which also includes some screenprints to see it at work (such as the the add/edit form example).


The reason why I think the Math Field module might be a solution (or at least worth giving it a try), is because of the various fields that appear to be used (as a prereq) for using either Commerce Canada Post or Commerce UPS.