Shipping Issues (2.x)

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
12 years ago
I've made mention of some of these before.  Now I'm posting them all here under Bugs and hope they get addressed

--------------
1) ShippingByWeight - The CalculatePerWeightUnit setting is not visible in the config page, yet it is a Setting in the db.
By default it's False which means when the weight is in the range, the shipping charge itself is applied (the else case):

                if (_shippingByWeightSettings.CalculatePerWeightUnit)
                    shippingTotal = shippingByWeightRecord.ShippingChargeAmount * weight;
                else
                    shippingTotal = shippingByWeightRecord.ShippingChargeAmount;


Workaround to not having in config page is that you can change the setting in Configuration > Settings > All Settings:

shippingbyweightsettings.calculateperweightunit  False
shippingbyweightsettings.limitmethodstocreated  True
            

2) Typo - comment says "weight"

\src\Libraries\Nop.Services\Shipping\GetShippingOptionRequest.cs

        /// <summary>
        /// Gets total weight
        /// </summary>
        /// <returns>Total weight</returns>
        public decimal GetTotalWidth()


3) Shipping.USPS  - excludes FreeShipping items when calculating declared value  International rates
        
4) Shipping.USPS  - 'overwrites' ZipPostalCodeFrom without checking if already set.

src\Plugins\Nop.Plugin.Shipping.USPS\USPSComputationMethod.cs        
        public GetShippingOptionResponse GetShippingOptions(GetShippingOptionRequest getShippingOptionRequest)
        {
...
            getShippingOptionRequest.ZipPostalCodeFrom = _uspsSettings.ZipPostalCodeFrom;        
            
It is done correctly in Shipping.UPS            
            if (String.IsNullOrEmpty(getShippingOptionRequest.ZipPostalCodeFrom))
                getShippingOptionRequest.ZipPostalCodeFrom = _upsSettings.DefaultShippedFromZipPostalCode;            

Yes, I know that ZipPostalCodeFrom is not yet actually set by any other area in system (although the ShippingService does have a TODO waiting on 'multi warehouse', etc.), but others could be coming out with Plugins that can set it.  (I'll be supporting it in my plugin.)


5) ShippingSettings FreeShippingOverX (FreeShippingOverXEnabled, FreeShippingOverXValue) is not used by Shipping Service or any Shipping Plugins.   Estimated shipping and checkout's Shipping page shows shipping options.

Typically when offering FreeShippingOverX it is for Ground shipping (or at least it's at the discretion of store owner what to use).   Yet this allows customer to choose expedited shipping (e.g. when FedEx is the shipping calc used)
This can show customer multiple priced shipping options
   a) On Estimated Shipping page, customer does not see any indication of free shipping
   b) On on Checkout Shipping page customer see options with cost, and yet the subtotal/total section shows $0
Customer can choose Expedited shipping at checkout if that's one of the options

ShippingService looks for other mechanisms of free shipping, but not FreeShippingOverX
src\Libraries\Nop.Services\Shipping\ShippingService.cs

        public virtual GetShippingOptionResponse GetShippingOptions(IList<ShoppingCartItem> cart, ...
...        
            bool isFreeShipping = IsFreeShipping(cart);

OrderTotalCalculationService uses it only for the cost calc in sub total.  (Note, it also checks the IsFreeShipping(cart) ).
src\Libraries\Nop.Services\Orders\OrderTotalCalculationService.cs

        public virtual decimal? GetShoppingCartShippingTotal(IList<ShoppingCartItem> cart, ...
...
            bool isFreeShipping = _shippingService.IsFreeShipping(cart);
            if (isFreeShipping)
                return decimal.Zero;

            //free shipping over $X
            if (_shippingSettings.FreeShippingOverXEnabled)
...
                GetShoppingCartSubTotal(cart, ... out subTotalWithDiscountBase ...
                if (subTotalWithDiscountBase > _shippingSettings.FreeShippingOverXValue)
                    return decimal.Zero;
12 years ago
Thanks a lot for reporting. I've just create a work item http://nopcommerce.codeplex.com/workitem/10398
12 years ago
Fixed. Please see changeset 6180fadd071a
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.