Jump to content
torinwalker

New UPS XML Shipping Module available

Recommended Posts

I get this only when I enable the UPS XML shipping module, and disable the standard UPS module. The standard UPS module works fine alone. If I enable both there is no error but I'm only getting the standard output.
You did upload both upsxml.php files: one to includes/modules/shipping and the other one to includes/languages/your_language/modules/shipping?

Share this post


Link to post
Share on other sites
You did upload both upsxml.php files: one to includes/modules/shipping and the other one to includes/languages/your_language/modules/shipping?

Yes, and I just did it again to be sure, same result.

Share this post


Link to post
Share on other sites
Yes, and I just did it again to be sure, same result.
Do you use SPPC and perhaps have settings which shipment methods are allowed? If so, go back to use settings from the configuration, see if that works.

Share this post


Link to post
Share on other sites
Do you use SPPC and perhaps have settings which shipment methods are allowed? If so, go back to use settings from the configuration, see if that works.

Now that's good thinking! I didn't have XML checked as a option in SPPC. We now have a new situation, but I'm sure we are close. It's now throwing this error:

1146 - Table 'feedre10.TABLE_PACKAGING' doesn't exist

 

select * from TABLE_PACKAGING order by package_cost;

 

[TEP STOP]

 

So I went and downloaded and installed Packaging data for UPS XML sql but it doen't see the table. I'm guessing I need to reboot something?

 

And thanks tons for the help! cheers, Mike

Share this post


Link to post
Share on other sites
1146 - Table 'feedre10.TABLE_PACKAGING' doesn't exist
Classic, put back the define('DIMENSIONS_SUPPORTED', 1); in line 25 to define('DIMENSIONS_SUPPORTED', 0);. Don't start on the packaging stuff....

Share this post


Link to post
Share on other sites
Classic, put back the define('DIMENSIONS_SUPPORTED', 1); in line 25 to define('DIMENSIONS_SUPPORTED', 0);. Don't start on the packaging stuff....

Piece of cake, for someone knowing what they are doing! I'm off and running....

 

MANY MANY THANKS!!!! And have a HAPPY NEW YEAR, to EVERYONE! :thumbsup:

Share this post


Link to post
Share on other sites

Hello, I can't find an answer to this on the boards or in the UPS docs, so here goes:

 

Everything with my installation of UPS XML is working fine, and I think it's a great contribution. The only problem is that the response I get from UPS has a non-null <GuaranteedDaysToDelivery> value for every <Service><Code></Code></Service> except 03 (UPS Ground). Has anybody else run into this problem? Is it just that UPS doesn't guarantee transit days for UPS Ground? I'm using 'test' rather than 'production' mode. Note that _upsGetTimeServices() does get an estimated delivery date back. Here is a snippet from my upsxml.log:

<RatedShipment>
<Service><Code>03</Code></Service>
<BillingWeight><UnitOfMeasurement><Code>LBS</Code></UnitOfMeasurement><Weight>2.0</Weight></BillingWeight>
<TransportationCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>5.44</MonetaryValue></TransportationCharges>
<ServiceOptionsCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></ServiceOptionsCharges>
<TotalCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>5.44</MonetaryValue></TotalCharges>
<GuaranteedDaysToDelivery></GuaranteedDaysToDelivery>
<ScheduledDeliveryTime></ScheduledDeliveryTime>
<RatedPackage>
<TransportationCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>5.44</MonetaryValue></TransportationCharges>
<ServiceOptionsCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></ServiceOptionsCharges>
<TotalCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>5.44</MonetaryValue></TotalCharges>
<Weight>1.5</Weight>
<BillingWeight><UnitOfMeasurement><Code>LBS</Code></UnitOfMeasurement><Weight>2.0</Weight></BillingWeight>
</RatedPackage>
</RatedShipment>
<RatedShipment>
<Service><Code>12</Code></Service>
<BillingWeight><UnitOfMeasurement><Code>LBS</Code></UnitOfMeasurement><Weight>2.0</Weight></BillingWeight>
<TransportationCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>7.37</MonetaryValue></TransportationCharges>
<ServiceOptionsCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></ServiceOptionsCharges>
<TotalCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>7.37</MonetaryValue></TotalCharges>
<GuaranteedDaysToDelivery>3</GuaranteedDaysToDelivery>
<ScheduledDeliveryTime></ScheduledDeliveryTime>
<RatedPackage>
<TransportationCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>7.37</MonetaryValue></TransportationCharges>
<ServiceOptionsCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>0.00</MonetaryValue></ServiceOptionsCharges>
<TotalCharges><CurrencyCode>USD</CurrencyCode><MonetaryValue>7.37</MonetaryValue></TotalCharges>
<Weight>1.5</Weight>
<BillingWeight><UnitOfMeasurement><Code>LBS</Code></UnitOfMeasurement><Weight>2.0</Weight></BillingWeight>
</RatedPackage>
</RatedShipment>

Share this post


Link to post
Share on other sites
The only problem is that the response I get from UPS has a non-null <GuaranteedDaysToDelivery> value for every <Service><Code></Code></Service> except 03 (UPS Ground). Has anybody else run into this problem?
I think it is not really a problem since it is not being use (anymore) in UPSXML. Ever since Greg McClellan fixed the time in transit it does a separate query of the UPS server for getting those times (see around line 724, it is commented out) :

			$gdaysToDelivery = $ratedShipments[$i]->getValueByPath("/GuaranteedDaysToDelivery");
		$scheduledTime = $ratedShipments[$i]->getValueByPath("/ScheduledDeliveryTime");
		$title = '';
		$title = $this->service_codes[$this->origin][$serviceCode];

	  /* we don't want to use this, it may conflict with time estimation
		if ($gdaysToDelivery) {
			$title .= ' (';
			$title .= $gdaysToDelivery . " Business Days";

Share this post


Link to post
Share on other sites

For some reason in the setup in admin of editting this module, I'm not getting ANY Shipping Methods options to pick from! Does anyone know why?

 

See attached image...

upsxml.jpg

 

I'm needing to figure this out pronto and I've been thru all files and can't figure out why this is eliminated here for editting?

 

Thanks in advance!

Share this post


Link to post
Share on other sites

I'm sorry, i accidentally created a new topic about this when i meant to add it to this post.

 

I went through the installation and all seemed to go well, i can access the admin section and set the configurations but when i enable UPS XML as a shipping option i can no longer get to the shipping section of the checkout. When i click the continue button on the order_info.php page it just hangs and loads nothing. The page doesnt change it just keeps trying to load. No log file is created either so i'm guessing it doesnt even get that far. Any suggestions or help will be greatly appreciated. I have Linux hosting with GoDaddy.

Share this post


Link to post
Share on other sites
For some reason in the setup in admin of editting this module, I'm not getting ANY Shipping Methods options to pick from! Does anyone know why?
Not a clue. If you go to the table configuration you do have the row that has configuration_title: Shipping Methods, configuration_key: MODULE_SHIPPING_UPSXML_TYPES, configuration_value: Next Day Air, 2nd Day Air, Ground, Worldwide Express, Standard, 3 Day Select (etc)?

Share this post


Link to post
Share on other sites
When i click the continue button on the order_info.php page it just hangs and loads nothing. The page doesnt change it just keeps trying to load. No log file is created either so i'm guessing it doesnt even get that far.
Apart from this issue I can't think of anything really. If the server has trouble getting quotes from UPS it can take a while before the new page loads but it should eventually.

Share this post


Link to post
Share on other sites
Not a clue. If you go to the table configuration you do have the row that has configuration_title: Shipping Methods, configuration_key: MODULE_SHIPPING_UPSXML_TYPES, configuration_value: Next Day Air, 2nd Day Air, Ground, Worldwide Express, Standard, 3 Day Select (etc)?

 

Yup, that's all there... that's why that confuses the *#@($ out of me!

Share this post


Link to post
Share on other sites

May I ask, does this work for USPS as well? I am looking for an on-site tracking module like this one that works for USPS.

 

Thanks.

Share this post


Link to post
Share on other sites
Yup, that's all there... that's why that confuses the *#@($ out of me!
Well, me too. What is the HTML source code, might give a clue where the trouble spot is. This is the HTML source of that particular part in a working admin:

<br><b>Shipping Methods</b><br>Select the UPS services to be offered.<br><br><input type="checkbox" name="configuration[MODULE_SHIPPING_UPSXML_TYPES][]" value="Next Day Air" CHECKED> Next Day Air<br><input type="checkbox" name="configuration[MODULE_SHIPPING_UPSXML_TYPES][]" value="2nd Day Air" CHECKED> 2nd Day Air<br><input type="checkbox" name="configuration[MODULE_SHIPPING_UPSXML_TYPES][]" value="Ground" CHECKED> Ground<br><input type="checkbox" name="configuration[MODULE_SHIPPING_UPSXML_TYPES][]" value="Worldwide Express" CHECKED> Worldwide Express<br><input type="checkbox" name="configuration[MODULE_SHIPPING_UPSXML_TYPES][]" value="Worldwide Expedited"> Worldwide Expedited<br><input type="checkbox" name="configuration[MODULE_SHIPPING_UPSXML_TYPES][]" value="Standard" CHECKED> Standard<br><input type="checkbox" name="configuration[MODULE_SHIPPING_UPSXML_TYPES][]" value="3 Day Select" CHECKED> 3 Day Select<br><input type="checkbox" name="configuration[MODULE_SHIPPING_UPSXML_TYPES][]" value="Next Day Air Saver"> Next Day Air Saver<br><input type="checkbox" name="configuration[MODULE_SHIPPING_UPSXML_TYPES][]" value="Next Day Air Early A.M."> Next Day Air Early A.M.<br><input type="checkbox" name="configuration[MODULE_SHIPPING_UPSXML_TYPES][]" value="Worldwide Express Plus"> Worldwide Express Plus<br><input type="checkbox" name="configuration[MODULE_SHIPPING_UPSXML_TYPES][]" value="2nd Day Air A.M."> 2nd Day Air A.M.<br><input type="checkbox" name="configuration[MODULE_SHIPPING_UPSXML_TYPES][]" value="Express NA1"> Express NA1<br><input type="checkbox" name="configuration[MODULE_SHIPPING_UPSXML_TYPES][]" value="Express Saver"> Express Saver<input type="hidden" name="configuration[MODULE_SHIPPING_UPSXML_TYPES][]" value="--none--"><br>

Share this post


Link to post
Share on other sites
I think it is not really a problem since it is not being use (anymore) in UPSXML. Ever since Greg McClellan fixed the time in transit it does a separate query of the UPS server for getting those times (see around line 724, it is commented out) :

			$gdaysToDelivery = $ratedShipments[$i]->getValueByPath("/GuaranteedDaysToDelivery");
		$scheduledTime = $ratedShipments[$i]->getValueByPath("/ScheduledDeliveryTime");
		$title = '';
		$title = $this->service_codes[$this->origin][$serviceCode];

	  /* we don't want to use this, it may conflict with time estimation
		if ($gdaysToDelivery) {
			$title .= ' (';
			$title .= $gdaysToDelivery . " Business Days";

 

For anybody who's searching for info on these methods, here's what I have concluded (not independently confirmed):

 

The primary rates request returns elements called

<GuaranteedDaysToDelivery> and <ScheduledDeliveryTime>

 

The additional Transit Time request by Greg McClellan returns

<EstimatedArrival>/<BusinessTransitDays> and <EstimatedArrival>/<Time>

 

With the former, the name ("guaranteed") implies a certain degree of certitude; however, we get no values for UPS Ground (but we do for all the rest).

 

With the latter, the name ("estimated") implies less certitude, but is more realistic. If it's only going to take 1 day to get a package via Ground, this method says so (if the "guaranteed" method returned a value, it would probably be higher than 1, which is less useful). We get values for UPS Ground; however, we occasionally do not get values for 3 Day Select and/or 2nd Day Air. I have concluded that the latter happens when it is not appropriate, i.e. when Ground would get the packages there just as soon. This is a useful way (that did not exist in the HTML UPS module) to screen out methods that are not in the customer's or shipper's interest.

 

Using the latter method, if you want to add the estimated delivery time, you'll need to add

	$transitTime[$serviceDesc]["time"] = $serviceSummary[$s]->getValueByPath("EstimatedArrival/Time");

to the _transitparseResult function, and then do something with it in the quote() function. I added these lines in place of the line that uses $this->servicesTimeintransit[$type]["date"]:

  if ($this->servicesTimeintransit[$type]["days"] > 0) {
  $_type .= ' (';
  $_type .= $this->servicesTimeintransit[$type]["days"] . " business day";
  if ($this->servicesTimeintransit[$type]["days"] > 1) $_type .= "s";
  if ($this->servicesTimeintransit[$type]["time"]) {
	  $_type .= ' by ' . efi_convert_ups_time($this->servicesTimeintransit[$type]["time"]);
  }
  $_type .= ')';
 }

(efi_convert_ups() is just a little function to convert the UPS times to a better format)

And if you wanted to get fancy, you could add a marker indicating whether or not the estimated transit time is guaranteed or not, using

if ($transitTime[$serviceDesc]["guaranteed"] == 'Y')

Share this post


Link to post
Share on other sites

I've had the UPS XML Rates installed for about 6 months now and it's been working great with one exception. On my smaller items it does not group them into larger boxes but instead puts each item in an box. For instance if someone orders 2 10x10x3 items it won't attempt to put those two items in a single 20x20x6 box. I have the dimentional support enabled and I installed the Packaging data for UPS XML for the 700 different package types but it still insist on putting the two items in two 10x10x3 boxes which results in higher shipping charges. If anyone could point me in the right direction or give me a clue as to what I might be doing wrong I would greatly appreciate it.

 

Thanks,

 

Aaron

Share this post


Link to post
Share on other sites
On my smaller items it does not group them into larger boxes but instead puts each item in an box.
The packing routines are a total disaster, it needs fixing. The way the original author thought it works (and should) isn't (flow of the program I mean). Not to mention the fact that it only looks at volume so could pack an umbrella in a small box and is loosing items to avoid a loop.

Share this post


Link to post
Share on other sites

Hello All ...

 

I'm looking to install this UPSXML contrib and have a few advanced setup/custom tweak questions ...

 

First, can we generate UPS tracking labels from the site as an order comes in?

 

Once we get an approval, we would need to generate a tracking#/label and have this available for printing from the website directly. We are building out a Vendor based drop shipping affiliate program and need the entire process automated.

 

When we get an order (assuming its there stock) they would get an email with a name and address to send the order to. They would also receive a link to a page containing a pre-populated label for that order. They would only have to get the package out of door.

 

There affiliate account would get credited and they would be issued a check at months end.

 

I'm thinking of combining and expanding OscAffiliate with Multi Vendor Shipping to include the above functionality.

 

Has anyone done this? Anything of the shelf I can use? Anyone experienced enough to assist in development?. Have budget, will pay. contact me for more info.

 

Thanks

 

Chris

Share this post


Link to post
Share on other sites
Hello All ...

 

I'm looking to install this UPSXML contrib and have a few advanced setup/custom tweak questions ...

 

First, can we generate UPS tracking labels from the site as an order comes in?

 

Once we get an approval, we would need to generate a tracking#/label and have this available for printing from the website directly. We are building out a Vendor based drop shipping affiliate program and need the entire process automated.

 

When we get an order (assuming its there stock) they would get an email with a name and address to send the order to. They would also receive a link to a page containing a pre-populated label for that order. They would only have to get the package out of door.

 

There affiliate account would get credited and they would be issued a check at months end.

 

I'm thinking of combining and expanding OscAffiliate with Multi Vendor Shipping to include the above functionality.

 

Has anyone done this? Anything of the shelf I can use? Anyone experienced enough to assist in development?. Have budget, will pay. contact me for more info.

 

Thanks

 

Chris

 

You can use Worldship to generate the shipping labels. If I were you I'd call your UPS account rep about all of this and get their tech support to help you out (as far as everything having to do with shipping is concerned. They're very proactive, in my experience much more so than FedEx, and should be happy to help). I don't know about linking to the label- UPS likes to do everything in-house. They might ask and/or recommend that each vendor have a UPS account and generate the labels locally.

 

Alternatively you could go with FedEx and the Fedex Automated Labels contribution. This will cover having the shipping label available directly on your site, and your customers will also be able to track the package directly from their account on your site.

 

MVS can email the vendor with the order- being able to see the label by vendor (and generating a label unique to each vendors ship from location) will probably require a special mod of the Automated Labels package (or hocus pocus from UPS and/or a dedicated programmer). I've asked after a FedEx Automated Labels for MVS mod but I have no idea if it's something Craig and Jim, the MVS developers, have ever looked into.


Do, or do not. There is no try.

 

Order Editor 5.0.6 "Ultra Violet" is now available!

For support or to post comments, suggestions, etc, please visit the Order Editor support thread.

Share this post


Link to post
Share on other sites
The packing routines are a total disaster, it needs fixing. The way the original author thought it works (and should) isn't (flow of the program I mean). Not to mention the fact that it only looks at volume so could pack an umbrella in a small box and is loosing items to avoid a loop.

 

Ok Jan so from your statement I gather that the whole dimention enabling does not work and the packaging data is not at fault? Basically everyone using the UPS XML Shipping Module is having the same problem with packaging where multiple items get put in multiple boxes? Has anyone found a way to fix it if they have?

 

Thanks Aaron

Share this post


Link to post
Share on other sites

Jan-

 

For the topic I PM'd you on, would

 

$transitTimeGround

 

be the correct variable to base the whole thing on?

 

Thank you!

Stew


Do, or do not. There is no try.

 

Order Editor 5.0.6 "Ultra Violet" is now available!

For support or to post comments, suggestions, etc, please visit the Order Editor support thread.

Share this post


Link to post
Share on other sites
For the topic I PM'd you on, would

$transitTimeGround

be the correct variable to base the whole thing on?

No, I think it should be $this->servicesTimeintransit['UPS Ground']['days']

Share this post


Link to post
Share on other sites

can anyone help

 

i get this error after installing ups xml rates v 1.1.5

 

after i add an item to the cart and procead to checkout i get this error

 

1146 - Table 'estore4you.TABLE_PACKAGING' doesn't exist

 

select * from TABLE_PACKAGING order by package_cost;

 

[TEP STOP]

 

can anyone help

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

×