Recently, I had a client who needed a shipping module that figures shipping based on a percentage of the subtotal. Now, I know that some have modified the table rates, but as it turns out, even that hack doesn’t work for placing orders by the admin. As it turns out, the admin requires getting the subtotal differently. Therefore, we decided to write a custom module. Here’s the way it works.

It takes the order subtotal times the percentage (entered in the back-end), and then adds any handling charge.