Let's talk about....Shipping!



  • This post reminded me of a big frustration I have had with the PS shipping system. By extension this also means the 30bz shipping system as it is so far unchanged.

    The problem is that if you have two or more items in the cart that do not share any common carriers the checkout page presents odd combinations of shipping options and gives no indication of what they are. It just gives one or more prices.

    In some cases the cart will just say “no carrier available” and the customer can’t check out at all!

    A lesser problem (probably not a problem at all in many cases) is that if only one carrier is shared between all items in the cart then that will be the only shipping option presented to the customer.

    Not being able to effectively combine carriers is a problem when a shop wants to offer free shipping on some items but billed shipping on other items, or if they have some items that require special shipping (oversize etc).

    As an example a shop may have “Express Mail Free” and “Express Mail Billed” carriers, along with “Registered Airmail Billed”, “Economy Airmail”, and “DHL Oversize”.

    If we are doing automatic combinations my suggestion would be something like this:

    1. Assign a “Speed Grade” (SG) to each carrier. The ability to do this already exists in PS / 30bz. Using my examples from above:
      DHL Oversize: SG 9
      Express Mail Free: SG 7
      Express Mail Billed: SG 7
      Registered Airmail Billed: SG 5
      Economy Airmail Billed: SG 3

    2. Have a new page in 30bz where names (and maybe descriptions) can be assigned to different Speed Grades. Each Speed Grade gets one name, and one description.

    3. During the checkout process, carriers get grouped by Speed Grade and the names/descriptions assigned in #2 are shown to give information to the customer about what the shipping options are.

    Example 1
    Item 1: Carrier “Express Mail Free” (SG7)
    Item 2: Carrier “Express Mail Billed” (SG7)

    These two different carriers share the same Speed Grade and would therefore be automatically combined and presented as a single shipping option using the name assigned to that Speed Grade. The total cost of the two carriers would be added together to get the shipping cost.

    Example 2
    Item 1: Carrier “DHL Oversize” (SG9)
    Item 2: Carrier “Express Mail Billed” (SG7) / Carrier “Registered Airmail Billed” (SG5)
    Item 3: Carrier “Express Mail Free” (SG7)

    Once we get into more complicated combinations it becomes more difficult to effectively combine shipping options.

    My suggestion would be to build a list of all the available speed grades for items in the cart. Above would be SG5, SG7, SG9. Then build shipping options based on each Speed Grade.

    If an item does not have a carrier for a given Speed Grade then take the next HIGHER available speed grade. If there is no HIGHER speed grade then take the next LOWER speed grade.

    So for the above sample cart we would have shipping options:

    DHL + Express Mail (SG9 + SG7)
    DHL + Express Mail + Registered Mail (SG9 + SG7 + SG5)

    Prices would be calculated on a per-carrier basis and then added together for each option shown to the customer.

    Example 3
    Item 1: DHL Oversize (SG9)
    Item 2: Express Mail Free (SG7)
    Item 3: Express Mail Billed (SG7)
    Item 4: Express Mail Billed (SG7) / Registered Airmail Billed (SG5) / Economy Airmail Billed (SG3)
    Item 5: Express Mail Billed (SG7) / Registered Airmail Billed (SG5) / Economy Airmail Billed (SG3)

    Combinations would be:
    DHL + Express Mail (SG9 + SG7)
    DHL + Express Mail + Registered Airmail (SG9 + SG7 + SG5)
    DHL + Express Mail + Economy Airmail (SG9 + SG7 + SG3)

    Sometimes a given combination won’t make sense. For example in Example 3 it’s very possible that the cheapest option will be the fastest option, DHL + Express Mail due to the way the carriers are assigned. However this system would still be, IMO, a big improvement over the existing system that can’t handle combining carriers at all.

    Thoughts? Ideas?

    (Edit: 1,2,4… I need to learn to count apparently!)



  • Another thought:

    Currently for carriers we can set maximum dimensions and a maximum weight. However it would be fantastic to also be able to set a maximum PRICE.

    In the USA, for example, First-Class Mail International “Small Packet” items can only be valued up to US$400. Items more expensive than $400 must be sent using a different service. Japan has a similar limit, and I suspect many (perhaps all) other countries do, too.



  • It’s hard to understand your example, maybe I had to read it twice ;) Isn’t it possible to assign priority to every carrier, and if customer buys two products one with higher priority and one with lower, automatically the system to assign the carrier with higher priority.
    Or maybe you don’t want to combine shipping?



  • Coming back to this topic tonight as I am going to start working on some shipping options for my dev shop again.

    It really would be ideal to be able to set a “maximum order value” for a carrier, for a bunch of reasons.

    As mentioned above, in some countries there is a maximum price limit for First Class International (“small packet”) items. The USPS limit is $400. Japan doesn’t limit small packet item value but only offers up to 6000yen (~$60) insurance for these items. Other countries have various limits, too.

    Another good example is that if a purchase exceeds US$750 (total cart value) then PayPal requires signature delivery confirmation (search for 750 to find the relevant section.) Many inexpensive shipping options don’t offer signature-on-delivery so they should be limited to orders of $750 or less. Currently there is no way to do this in PS or 30bz.

    So there are plenty of examples of why this would be a good option to offer, assuming it isn’t an insane amount of work to implement.

    @mdekker, is a “maximum order value” for each carrier something that could be done without causing problems or creating a huge amount of work?



  • If you create a carrier and use billing according to total order value then you can disable the carrier if the order is out of range. Is that what you are after?



  • @Havouza said in Let's talk about....Shipping!:

    If you create a carrier and use billing according to total order value then you can disable the carrier if the order is out of range. Is that what you are after?

    Pretty much, yes.

    When you create a carrier you set the maximum package size and the available weight range. I suggest adding an available order price range as well, or at least a maximum allowed order price. If a customer’s cart exceeds the allowed maximum price then the carrier is not offered at checkout.

    This already happens if the maximum allowed carrier weight is exceed or if the maximum allowed package size is exceeded. As such adding a maximum order price doesn’t seem (on the surface…) like it should be all that difficult to do.



  • That you decide yourself. Either calculate on wieght or price



  • @Havouza said in Let's talk about....Shipping!:

    That you decide yourself. Either calculate on wieght or price

    That isn’t the same thing.

    Offering shipping by price is a very valid thing to do if you want to offer different flat shipping prices and/or free shipping based on the value of the order the customer is placing. For Japanese domestic sales this is exactly what I would do as weight is rarely a consideration for domestic packages in Japan. If the weight is less than 20kg then generally only distance is considered, not weight.

    However for many shops the cost of shipping, especially international shipping, must be calculated by zone & order weight. Even though the cost of shipping is being calculated by weight there are still order price limitations to consider. I hate to use the same examples over and over but the ones I have already cited are important:

    • In the USA it is illegal to declare a low value on a package being exported. Furthermore USPS policy is that small packet packages can only be valued up to $400. If you write a value exceeding $400 on a “small packet” the USPS will refuse to accept the package.
      As such if a 30bz customer buys more than $400 worth of items and chooses small packet shipping the store owner is faced with a few unsatisfactory options:
      1. They can break the law by writing a low value on the package (which also means no insurance exceeding the declared value)
      2. They can cancel the order and ask the customer to reorder with a more expensive shipping option.
      3. They can eat the cost of more expensive shipping themselves (generally 2x to 3x the cost of Small Packet).
      However this problem could be entirely avoided by adding a maximum order value of $400 to any small packet shipping options as the customer would then be unable to choose an inappropriate shipping option for their order value.

    • With PayPal payments any customer dispute about delivery will be automatically lost by the seller if the seller can’t provide appropriate proof of shipment and/or proof of delivery, depending on the value of the order. For orders over $750 the seller must be able to provide a signature delivery confirmation. Therefore any customer order that exceeds $750 must be shipped using a shipping method that requires a signature. As with the Small Packet example, setting an order value limit of $749 on shipping methods that do not have signature delivery confirmation avoids customers choosing a delivery method that is not compatible with PayPal’s requirements.

    There are other examples as well but the above two really should be enough. If it isn’t a difficult thing to implement (and I don’t know how difficult it would be) then adding a maximum order value option to each carrier would be very helpful to many shops.



  • So if you create a carrier where the cart value of 401$ will disable that carrier its not enough? You need to be able to use both methods for one shipping, both weight, and value.
    The problem with too low value on shipments is a very beg issue in Sweden for the moment. Especially from China. More and more shipments are now stopped in customs because of this. It’s obvious tax fraud to do it and disable fair competition



  • @Havouza said in Let's talk about....Shipping!:

    So if you create a carrier where the cart value of 401$ will disable that carrier its not enough? You need to be able to use both methods for one shipping, both weight, and value.

    Correct.

    If I ship a “small packet” item that weighs ~200g it costs ~$4 to ship to the US or Europe if I don’t need any tracking. If I do need tracking then it is going to cost $8. If the package weighs 1200g though then it is going to cost $20 without tracking and $24 with tracking. As such shipping costs must be calculated by weight and charged to the customer appropriately.

    However even with a weight-based calculation the maximum order value must be considered as explained in my previous reply. I envision the maximum order value being set on the same page where the maximum package sizes are set during carrier creation. Just a single field stored in the database to be checked by the system during checkout.

    The problem with too low value on shipments is a very beg issue in Sweden for the moment. Especially from China. More and more shipments are now stopped in customs because of this. It’s obvious tax fraud to do it and disable fair competition

    Yes, this is a big problem in many countries right now and all over the world packages are being stopped more often. Pretty much everything shipped from China is declared with a $1 value or something similar. I import some stuff from China and even if I tell them to declare full value it still comes with a low value declared.



  • The coin now fell into the slot. To hot for thinking today


Log in to reply
 

Looks like your connection to thirty bees forum was lost, please wait while we try to reconnect.