probtc:
some products are 5 kg. some products 120 kg.
if the product is over 20 kg, the shipping module can not calculate properly and it shows 'Error cost value' on Checkout page.
The 20kg limit is due to the maximum parcel weight that Australia Post will carry.
probtc:
How can I calculate the proper shipping price for which product is over 20 kg?
More importantly, if the module DID calculate a shipping price on these overweight items, how are you going to convince Australia Post to actually accept and deliver the parcel for you?
Perhaps you are thinking the module should somehow divide the parcel into multiple packages so no single package exceeds the 20kg limit? How will that work if a single item weighs 120kg? Do you physically chop this item into six pieces for delivery?
The ability to provide a quote is one thing. The ability to ensure that any given item or items can be delivered via a particular carrier/method, regardless of the quote is a whole new ballgame.
No one will be impressed if you provide a quote for a 120kg parcel, only to have to contact the customer that you either can't deliver at the price quoted, or worse, can't deliver at all.
The 'solution' you are after doesn't exist. The best you can do is work towards some kind of compromise solution based on your own particular products and needs in conjunction with the various shipping methods available to you. You'll probably end up using more than one shipping module, and having to enable/disable them 'on the fly' depending on category, product, or some other variable entirely.
I appreciate that I haven't exactly provided a solution to your problem. It isn't by choice, it is more a matter of trying to help you understand that shipping modules aren't as simple as they 1st appear.
Cheers
Rod