Jump to content
torinwalker

New UPS XML Shipping Module available

Recommended Posts

Are you seeing the same issues on your side?
I haven't gotten that far yet. I did some searching regarding packing algorithms and found out that Camille Cue (post #78, page 4 in this thread) reported a bug in the algorithm that doesn't seem to be acknowledged, neither was corrected in the upsxml.php file since those lines are untouched at least since version 1.02.

 

The error would be that:

$productsRemaining = array_slice($productsRemaining, $p + 1);

somewhere around line 456 should be changed to:

$productsRemaining = array_slice($productsRemaining, $p);

Can you try that and see if that helps? I will do my best to add some test products to check it myself, but that may take some time.

Share this post


Link to post
Share on other sites

Just a thought: how useful would it be to enable ready_to_ship (for oversized products in their own box e.g.) separate from dimensions as it is now.

 

If you only have a few products that are oversized you obviously don't want to go through the hassle of adding all your shipping boxes and sizes of your products to the database. If it was feasible to separate those products out and add their dimensions to the UPS request while leaving dimensions out of the request for the rest of the boxes [determined the osC way (shipping_weight divided by maximum weight per box I assume)] it might give more accurate rates while limiting the amount of work for implementing it in the shop. I don't know if you can mix boxes with and without dimensions in the UPS request though.

 

As said, just a thought...

Share this post


Link to post
Share on other sites
I haven't gotten that far yet. I did some searching regarding packing algorithms and found out that Camille Cue (post #78, page 4 in this thread) reported a bug in the algorithm that doesn't seem to be acknowledged, neither was corrected in the upsxml.php file since those lines are untouched at least since version 1.02.

 

The error would be that:

$productsRemaining = array_slice($productsRemaining, $p + 1);

somewhere around line 456 should be changed to:

$productsRemaining = array_slice($productsRemaining, $p);

Can you try that and see if that helps? I will do my best to add some test products to check it myself, but that may take some time.

 

Hi Jan;

 

Good eye, and thanks for continuing to look at this issue :D

Checking my upsxml.php shows 2 lines with the original code. One on line 455 and one on 462. Do you think they should both be changed?

 

Here's a chunk of the code (i can't dechiper it enough to know what should be done);

 

 //Cylcle through boxes, increasing box size if all doesn't fit.
           if (count($emptyBoxesArray) == 0) {
               print_r("ERROR: No boxes to ship unpackaged product<br>");
               break;
           }
           for ($b = 0; $b < count($emptyBoxesArray); $b++) {
               $currentBox = $emptyBoxesArray[$b];
               //Try to fit each product in box
               for ($p = 0; $p < count($productsRemaining); $p++) {
                   if ($this->fitsInBox($productsRemaining[$p], $currentBox)) {
                       //It fits. Put it in the box.
                       $currentBox = $this->putProductInBox($productsRemaining[$p], $currentBox);
                       if ($p == count($productsRemaining) - 1) {
                           $packedBoxesArray[] = $currentBox;
                           $productsRemaining = array_slice($productsRemaining, $p + 1);
                           break 2;
                       }
                   } else {
                       if ($b == count($emptyBoxesArray) - 1) {
                           //We're at the largest box already, and it's full. Keep what we've packed so far and get another box.
                           $packedBoxesArray[] = $currentBox;
                           $productsRemaining = array_slice($productsRemaining, $p + 1);
                           break 2;
                       }
                       // Not all of them fit. Stop packing remaining products and try next box.
                       break;
                   }
               }
           }
       }

       return $packedBoxesArray;
   }

 

Thanks again - I like the idea of trying out new things to see if we can case it. If we can't I can work around it by just shipping products in their existing box or implementing a different solution. Due to the volume we are planning on shipping we may have to just eat some of it as a cost of doing business.

 

On the other hand, if we can get it closer or completed then it's going to be a much more efficient system and I like that even if it's just on general principle :thumbsup:


Best & Thanks;
Marvin
----------------------
osCommerce 2.3.3.4 

Share this post


Link to post
Share on other sites
Checking my upsxml.php shows 2 lines with the original code. One on line 455 and one on 462.
Good point, I haven't noticed that. Looking at the original file, the line 450 that was mentioned is the second line with that code (now 462). It makes sense looking at the remark too. So if you could try that one...

Share this post


Link to post
Share on other sites

I tried both separately and then re-tried the last line as you suggested. Upon trying to checkout it times out before reaching the shipping screen with this error;

 

Fatal error: Maximum execution time of 30 seconds exceeded in /home/frostysa/public_html/catalog/includes/modules/shipping/upsxml.php on line 476

With that line being;

**(This One)function fitsInBox($product, $box) {
       $productVolume = $product['length'] * $product['width'] * $product['height'];
       if ($productVolume <= $box['remaining_volume']) {
           if ($box['max_weight'] == 0 || ($box['current_weight'] + $product['weight'] <= $box['max_weight'])) {
               return true;
           }
       }
       return false;
   }

Edited by Marvin Miller

Best & Thanks;
Marvin
----------------------
osCommerce 2.3.3.4 

Share this post


Link to post
Share on other sites
Upon trying to checkout it times out before reaching the shipping screen with this error;
What a shame, would have been nice if that had been the solution. Apparently, PHP got into a loop. Oh well, back to the drawing board...

Share this post


Link to post
Share on other sites

The longer I look at, the more it doesn't seem to make any sense:

    //Try to fit each product in box
   for ($p = 0; $p < count($productsRemaining); $p++) {
  	 if ($this->fitsInBox($productsRemaining[$p], $currentBox)) {
     //It fits. Put it in the box.
     $currentBox = $this->putProductInBox($productsRemaining[$p], $currentBox);
     if ($p == count($productsRemaining) - 1) {
    	 $packedBoxesArray[] = $currentBox;
    	 $productsRemaining = array_slice($productsRemaining, $p + 1);
// This looks like it is checking if everything fits now: if everything is in, 
// the array_slice gives an empty array and since we want to break out totally
// I think it should be break 3 instead of break 2
    	 break 2;
     }
  	 } else {
     if ($b == count($emptyBoxesArray) - 1) {
    	 //We're at the largest box already, and it's full.
    	 //Keep what we've packed so far and get another box.
    	 $packedBoxesArray[] = $currentBox;
// Camille's remark seems right, it should be $p instead of $p + 1...
    	 $productsRemaining = array_slice($productsRemaining, $p + 1);
    	 break 2;
     }
     // Not all of them fit. Stop packing remaining products and try
     // next box.
// This doesn't seem right: the break ( == break 1 ) get's us back to:
// for ($p = 0; $p < count($productsRemaining); $p++) {
// which is not what we want, because we want the next box
// so it should be break 2; instead of break....
     break;

Can you give that a try: changing the first break 2; to break 3;

changing the second $p + 1 to $p and the last break in this piece of code to break 2;?

If that doesn't work I'll set up the test products and boxes and start debugging it myself ;)

Share this post


Link to post
Share on other sites

Hi Jan;

 

I tried making the changes you listed (see code to be sure) but I am still seeing the timeout error. I'm not 100% positive I followed your directions exactly on the code mods;

 

//Try to fit each product in box
               for ($p = 0; $p < count($productsRemaining); $p++) {
                   if ($this->fitsInBox($productsRemaining[$p], $currentBox)) {
                       //It fits. Put it in the box.
                       $currentBox = $this->putProductInBox($productsRemaining[$p], $currentBox);
                       if ($p == count($productsRemaining) - 1) {
                           $packedBoxesArray[] = $currentBox;
                           $productsRemaining = array_slice($productsRemaining, $p + 1);
                           break 3;
                       }
                   } else {
                       if ($b == count($emptyBoxesArray) - 1) {
                           //We're at the largest box already, and it's full. Keep what we've packed so far and get another box.
                           $packedBoxesArray[] = $currentBox;
                           $productsRemaining = array_slice($productsRemaining,$p);
                           break 2;
                       }
                       // Not all of them fit. Stop packing remaining products and try next box.
                       break;

 

Was that right?


Best & Thanks;
Marvin
----------------------
osCommerce 2.3.3.4 

Share this post


Link to post
Share on other sites

Marvin,

 

Almost right. I think the last "break" should be "break 2" , because with "break" it only breaks out of the first "for" loop:

for ($p = 0; $p < count($productsRemaining); $p++) {
                  if ($this->fitsInBox($productsRemaining[$p], $currentBox)) {

Actually, timing out on that line corroborates the "break" is wrong: we got to that break because it doesn't fit in the current box anymore, so going back to fit it in is obviously not going to work.

 

So I meant to try, on top of the other changes:

// Not all of them fit. Stop packing remaining products and try next box.
             break 2;

Share this post


Link to post
Share on other sites

Hmmmm...... it seems to be doing the same thing except it does keep trying to send data repeatedly. (That's just from looking at the icon for the Internet connection). Here's the code I'm now using and the first line is the error line (Fatal error: Maximum execution time of 30 seconds exceeded in /home/frostysa/public_html/catalog/includes/modules/shipping/upsxml.php on line 483)

 

 

for ($p = 0; $p < count($productsRemaining); $p++) {
                  if ($this->fitsInBox($productsRemaining[$p], $currentBox)) {
                      //It fits. Put it in the box.
                      $currentBox = $this->putProductInBox($productsRemaining[$p], $currentBox);
                      if ($p == count($productsRemaining) - 1) {
                          $packedBoxesArray[] = $currentBox;
                          $productsRemaining = array_slice($productsRemaining, $p + 1);
                          break 3;
                      }
                  } else {
                      if ($b == count($emptyBoxesArray) - 1) {
                          //We're at the largest box already, and it's full. Keep what we've packed so far and get another box.
                          $packedBoxesArray[] = $currentBox;
                          $productsRemaining = array_slice($productsRemaining,$p);
                          break 2;
                      }
                      // Not all of them fit. Stop packing remaining products and try next box.
                      break 2;

 

Pretty soon I'll be understanding it too, which is good :thumbsup:


Best & Thanks;
Marvin
----------------------
osCommerce 2.3.3.4 

Share this post


Link to post
Share on other sites

Marvin,

 

As a smarter person than me said: It's harder to read code than to write it. I now think the problem is that after:

$currentBox = $this->putProductInBox($productsRemaining[$p], $currentBox);

the $productsRemaining array is not updated to reflect that we just put a product in a box. This only happens when all the products fit in the box [ so: $p == count($productsRemaining) - 1) ].

 

This should be solvable....

Share this post


Link to post
Share on other sites

Marvin,

 

I experimented quite a bit and one moment I thought it was behaving quite nicely. The break statements act quit differently than I thought their behaviour would be. For example if the second break is "break;" it totally breaks out of all the loops and goes back to while. I didn't expect that.

I now think the problem is that after:

// Not all of them fit. Stop packing remaining products and try next box.
                       break;

counter $b is not reset to 0. So if the next box is not bigger than the one used before and too small for the product that is next in the productRemaining array, the program is stuck: it will loop forever because it will never fit. It sure doesn't look pretty and will probably take a while to get working...

 

This algorithm is really crude though. If you start with small products but cannot fit the whole order in, the small products always get into the biggest box you have, since with this box it should get out of the loop. <_<

Share this post


Link to post
Share on other sites

Hi Jan;

 

I think you're correct about the algorithm being crude. Let's recap for a second as it helps me to think and sometimes clarifies things.

 

If dimensions is set to 'Off' the module works properly.

If dimensions is set to 'On' the module usually calculates wildly inacurate info.

 

For instance;

With 5 products defined and 5 boxes defined for those products (each 1" larger in all dimensions) then the algorithm should use all 5 boxes for shipping and calculate the appropriate weight and number of packages - assuming 5 products fitting those 5 boxes.

We know this doesn't work. It seems to pick the 3 smallest/lightest products and use that total weight (off by around 50 lbs) and decide that they fit in two boxes - not possible.

OK, with only three items in the cart going to checkout shows that the algorithm has now decided that only 1 box is required and calculates the proper weight.

However, let's look and see if only one box is really required.......

The 3 products carry these dimensions;
Product 1 ? ? ? ? ? ? ? ? Product 2 ? ? ? ? ? ? ? ? ? ? Product 3
17" Long ? ? ? ? ? ? ? ? ?10.5" Long ? ? ? ? ? ? ? ? ? 15" Long
12" Wide ? ? ? ? ? ? ? ? ? 8.5" Wide ? ? ? ? ? ? ? ? ? 8" ?Wide
4" ?High ? ? ? ? ? ? ? ? ? 5.5" High ? ? ? ? ? ? ? ? ? 3" ?High

Now the algorithm says that these products in the cart will fit into one box. 

There are 5 pre-defined boxes to choose from. They carry these dimensions;
Box 1 ? ? ? ? ? ?Box 2 ? ? ? ? ?Box 3 ? ? ? ? Box 4 ? ? ? ? ? ? Box 5
16" Long ? ? ?11.5" Long ? ? ? 18" Long ? ? 16.25" Long ? ? 18" ? ?Long
9" ?Wide ? ? ? 9.5" Wide ? ? ? 13" Wide ? ? ? ? 7" Wide ? ? 10.5" ?Wide
4" ?High ? ? ? 6.5" High ? ? ? 5" ?High ? ? 12.5" ?High ? ? ?12" ? High

So the algorithm thinks that the three products above will fit into one of the boxes listed above.

 

OK, so it can fit the 17" Long product 1 from the cart into either Box 3 or 5 ONLY. Product 1 has a width of 12" - this means it can only fit into the remaining Box 3. Product 2 carries the largest height 5.5" Because we are reduced to choosing from Box 3 only we find that Product 2 cannot fit into it because it is too small by .5"

 

Therefore, the algorithm should Choose Box 2 for Product 2. To put products 1 & 3 into a single box you would need a box measuring 17" Long, 12" Wide & 7" High because they would be stacked up in one box. A quick scan of available boxes shows that Box 5 is long enough (18"), not wide enough - so discard. Box 3 is long enough (18"), Wide enough (13"), but not high enough - so discard.

 

At this point, there are no boxes available to put Products 1 & 3 into a single box. Therefore, the algorith should choose Box 2 for Product 2, Box 1 for Product 3 & finally Box 3 for Product 1.

 

Therefore, the algorithm should show 3 separate boxes required and then calculate the total weight and use these individual dimensions, send them to UPS and calculate the rate based on source and destination.

 

Instead, with the three Products the algorithm is showing that it can put them into one box with the proper total weight (19.98 lbs).

 

If I add another product to the cart that is heavier by 32 lbs (bringing the total weight to 51.98 lbs) I see that the algorithm now shows 2 boxes required with a total weight of 19.98 lbs!!!

 

To make matters worse there is another variable - the Cost Action value in the Packaging section of the osC Admin.

 

My non-programmer thoughts are that the logic for picking the right boxes is not too hard to understand - it should be able to be written but that the existing code is really not doing it's job at all.

 

Jan, can you follow my train of thought in this post? It causes me to question whether anyone has the dimensional support working properly?

 

BTW, the Canada Post module also seems to be inaccurate to the same degree. Is my logic wrong or it it the modules?

Edited by Marvin Miller

Best & Thanks;
Marvin
----------------------
osCommerce 2.3.3.4 

Share this post


Link to post
Share on other sites

Marvin,

 

It causes me to question whether anyone has the dimensional support working properly?

I wonder too. If the cost variable is in the same order as the volume of the empty boxes, it might work, kind of. I suspect it then puts everything in the biggest box that was needed one moment.

If a smaller box is more expensive, I could get it into a loop (with the $p instead of the $p + 1). I think the looping is avoided by using the $p +1, then products get lost and the program can break out of the loop again (with disastrous results).

Regarding correct box for the product: the "program" doesn't even look if it can physically fit in the box, it only looks at volume. So an umbrella would be fitted in a box half the length if the volume fits in. Talking about a crude algorithm.

On the other hand, as long as the box isn't oversized I don't think UPS gives the wrong rates, because I suspect they only look at weight. At best the program tries to predict the number of boxes, given the volume and weight of the products. It might be better than the osC way: take the weight of the products, add tarra, divide by the maximum weight you want to ship in a box (I suspect you should try to calculate that by looking at regular sized big boxes and find the average weight you normally ship in a full box). But how much better? Perhaps it only makes sense for shop owners who have products that vary wildly in density (volume/weight).

 

The big issue is: how important is the size of the box for UPS given the weight to get an accurate rate?

Share this post


Link to post
Share on other sites

Hi Jan;

 

I think it's too complicated for me :'( Not only that but it's easier for me to work around the issues of algorithmic determination of box size.

 

For my business 95% of the items are pre-boxed in their own package. So I could just enter in 'Ship in it's own box' and then get accurate rates that way. It would still be accurate on a multi-item purchase as UPS quotes on each box and then seems to add them up.

 

The negative issues that this creates are;

 

-Clients that purchase 5 items will get 5 separate boxes. This means that not all boxes will arrive on the same day which is undesireable. Most clients will purchase more then one item so I may get phone calls from people wondering if the order shipped complete :(

 

-I have to print 5 shipping labels as opposed to one which creates more chances for possible errors like the shipper/receiver sticking a handful of lables on the wrong box :o

 

-More packages need to be scanned before departure. It would be easier and faster to drop off 100 larger boxes with UPS rather then unloading 500 boxes. :blink:

 

Some items I have are very small and un-boxed. This means I'll have to pre-package them and create them as a product. No big deal on that side.

 

Maybe one day I can hire someone to sit down and create a solution that's well thought out and works. I suspect it will be a bit of work :-" At any rate, I know exactly what page is causing the issue and I know how it should work so I've learned a lot in that respect.

 

This is the first time that I actually felt like I was taking part in the solution to a problem and as I said, I actually feel like I learned something and had some input in it - thanks Jan - that's pretty cool. It's much easier for me to leave it alone because I know what's wrong and have some understanding on what's required to fix it. Because of that I can make an informed decision as to whether to try and chase it down or not.

 

If you're not warn out I have a proposition for you regarding the separate pricing contribution? I have 99% of it figured out - could I PM you about it?

 

Thanks for your help with this issue! It's much appreciated :thumbsup:


Best & Thanks;
Marvin
----------------------
osCommerce 2.3.3.4 

Share this post


Link to post
Share on other sites

Marvin,

 

Clients that purchase 5 items will get 5 separate boxes.
Doesn't need to be. The rate you get from UPS (and charged to the client) is the rate for 5 boxes. I suppose that is higher than 1 box with the 5 items. Your quoting to the client would be higher than it would cost you, that is the issue.

However crude this algorithm, it might be possible to change it somewhat to get a better estimate for number of boxes (compared to the standard osC way) because you take both weight, volume, as well as available box sizes in consideration (in contrast to what osC does).

I want to take a better look at it, and perhaps it might still be interesting to add another option: add in ready-to-ship products with dimensions in the rate request without requiring all products to have their dimensions entered in the database.

regarding the separate pricing contribution? I have 99% of it figured out - could I PM you about it?
Sure, e-mail is fine too.

Share this post


Link to post
Share on other sites
Marvin,

 

Doesn't need to be. The rate you get from UPS (and charged to the client) is the rate for 5 boxes. I suppose that is higher than 1 box with the 5 items. Your quoting to the client would be higher than it would cost you, that is the issue.....

 

I want to take a better look at it, and perhaps it might still be interesting to add another option: add in ready-to-ship products with dimensions in the rate request without requiring all products to have their dimensions entered in the database.

Sure, e-mail is fine too.

I for one would love to see it completed! It's just way over my head at this point. So if you need someone to test it with you I'd be happy to make the appropriate changes and report back.

 

I don't understand the ready-to-ship items that you mentioned. In my site I enter all dimensions for each product and then choose whether or not it ships in it's own box. The idea bheind it (as understand it) is that if you choose "Ships in it's own box" then the UPS module doesn't bother trying to fit it into another box with the algorithm.

 

I don't undertstand how products could be entered without dimensions. How would any of the modules know what the shipping costs are and how would dimensional support figure out what fits in what box?

 

I'll PM you about the Separate Pricing Module - it should be a piece of cake as I think some code changes were forgotten that are probably identical to code changes made in most of the pages :thumbsup:


Best & Thanks;
Marvin
----------------------
osCommerce 2.3.3.4 

Share this post


Link to post
Share on other sites

Im not sure how to do this. I have installed the USPXML shipping module and its saying on my page there are no boxes.. well my issue is, none of my products get shipped from me. My distributors pack them up and then a carrier (UPS) takes them to the customer. so what do I say for box size? Also in the configuration panel/shipping/ what do I set for origin when i have several distributors in different states and such? Im really confused as how to make this work?

 

I am new at all of this.. especially coding so please be gentle if possible :)

 

thanks in advance.

Share this post


Link to post
Share on other sites

If you get an error that says there are no boxes, you most likely set "dimensions supported" to "1" in the upsxml document. This a. not working correctly (perhaps for the time being) and b. it expects you to do a lot of work.

 

For starters you have to define all the boxes you use for shipping and then for every single product that you are going to ship you have to enter length, width, and height into the database. I don't recommend using it (unless you have mostly articles that ship in their own box and oversized, then this becomes interesting).

 

If your distributors are shipping your products, how do you expect to give accurate, real-time quoting for shipping? osC expects that you ship from the address where your shop/company is situated. Perhaps UPS is expecting that also.

 

Otherwise you would have to do custom programming: if a customer is from this state, the shipping will be from that address. I suppose it might be feasible.

Share this post


Link to post
Share on other sites

Hello,

Can anyone help in this...

I have installed the XML version as mentioned in the readmefile.

 

When I go to do a test and buy something...in the shipping section it says:

 

United Parcel Service (XML)

10002: The XML document is well formed but the document is not valid

If you prefer to use ups as your shipping method, please contact CeylonTeaCompany via Email.

 

PLEASE HELP TO RESOLVE THIS PROBLEM...

Share this post


Link to post
Share on other sites

Hello All --

I love this contribution, but I need to have 1 box per item. In other words the whole issue of using logic to combine items into boxes is a BIG PROBLEM FOR ME. I sell large rolls of material --- if someone orders 1 roll it is going in 1 box ( my box).. If they order 2 I ship 2. There is no instance when I can combine items into less boxes. Even if I wanted to do this the weight would be too much for UPS.

 

Is there a way to turn off the combining? I have read other threads which seem to refer to box dimensions ( all of which I don't think I have -- at least I can't find).. Anyway I don't want to have to mess with dimensions -- I just want every item in my cart to get its own box and calculated price.

Share this post


Link to post
Share on other sites

You don't have to use the dimensional support. The install instructions tell you how to turn it off :D

 

It doesn't work well anyway (it gets confused very easily) and it sounds like you have the ideal shipping situation anyway :)


Best & Thanks;
Marvin
----------------------
osCommerce 2.3.3.4 

Share this post


Link to post
Share on other sites
You don't have to use the dimensional support. The install instructions tell you how to turn it off  :D

 

It doesn't work well anyway (it gets confused very easily) and it sounds like you have the ideal shipping situation anyway  :)

 

 

Thanks for the reply --- Yes I did figure out after posting that "dimensional support" is turned off on my site. But that doesn't resolve my problem. I want to stop the logic from combining items into boxes. I need every item to calculate its own price -- 1 box per item. For example: currently if someone orders 5 50 lb. items from my store it should display as 5x50 lbs = x But what happens is that it comes back with something like 3x83 lbs=x...

 

My issues with this are as follows:

1. it is not what happens in reality --

2. 3x83 vs. 5x50 can actually be more expensive in certain cases

3. some of my products are heavier still and combining boxes goes over the allowable ship weight..

 

So again I ask -- is there some way to disable the box combining function?????

Share this post


Link to post
Share on other sites
is there some way to disable the box combining function?????
Yes, if you do install the dimensional support part you can give the exact dimensions of the packaging of the products and tell UPSXML to ship it in it's own box. This is perfect if all your products ship in their own packaging, if you also have other products you are in for a lot of work: enter all dimensions and enter all your shipping boxes. The results is that that you will get exact rates on products that ship in their own boxes, but that often products will get "lost" (so less weight total).

 

I think the dropping of products from the total weight is due to the fact that the "packaging" algorithm in order not to get into an endless loop loses them. Personally, I haven't looked at a solution for this (yet?).

 

I think it might be worthwhile to change UPSXML in such a way that for products like you have, exact dimensions and weights for the product are submitted to UPS, but that the remaining products are dealt with the osC way (adding tare, total weight divided by number of boxes, considering the maximum weight you will ship per box).

Share this post


Link to post
Share on other sites

I think my situation may help to illustrate the answer for RoyRitchie;

 

I will be stocking around 9-10,000 unique items - 99% of which will be pre-boxed in ready to ship packaging. This means that almost every item can have a shipping label stuck on the box and be sent out the door without doing any packaging.

 

Originally I was thinking that it would be nice to have multi-box shipments to a single purchaser combined into one lager box. That is what the dimensions support is supposed to do - find a single larger box to hold several smaller boxes. The idea is that this is supposed to make shipping less expensive and reduce the risk of loosing one of the smaller boxes in transit - or have them arrive at the destination on different days. This may or may not be important depending on your business specifics.

 

As we've found, the alogrithm for making these automatic choices does not work due to both poor coding of the algorithm section and also due to the complexity of packaging algorithms in general. It may take a rocket scientist to actually make one that works properly. They are out there but seem to be used in very large corporations that can afford the people to write them.

 

As a result, a person needs to turn off dimensional support unless he knows for certain it works in his case.

 

In my case it would not be very useful if osC & the UPS contrib just sent off a message to UPS combining the total weight of all packages and getting a quote on that - it would be wildly innacurate and cost me money.

 

So what I'm doing is entering box dimensions and weight into the osC admin whenever I bring a product into stock. I then check the box that says 'Product Ships in Own Package'. Upon checkout, the UPS contrib then goes off to UPS, sends all box dimensions and weight information and properly quotes a mulit-box shipment showing the correct number of boxes.

 

I've tested this repeatedly against the UPS quoting section of their website and my rates are virtually identical if you take into account fuel surcharges etc. The difference, if any, will not amount to much even over large volume shipping.

 

So in my case, the only functionality that I am missing with the UPS contrib would be dimensional support. This could be handy if it worked properly but it doesn't.

 

I can work around this for small products that are not boxed (for example bottle caps) in that I can re-package it myself in quantities I feel will be needed and just enter that item into osC as it's own product.

 

So, given the above example;

 

I love this contribution, but I need to have 1 box per item. In other words the whole issue of using logic to combine items into boxes is a BIG PROBLEM FOR ME. I sell large rolls of material --- if someone orders 1 roll it is going in 1 box ( my box).. If they order 2 I ship 2. There is no instance when I can combine items into less boxes. Even if I wanted to do this the weight would be too much for UPS.

 

This situation should not be a problem at all, as I mentioned it sounds like you have a easy shipping criteria from the outset.


Best & Thanks;
Marvin
----------------------
osCommerce 2.3.3.4 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×