Post
by Thistle3408 » Tue Nov 16, 2010 2:50 pm
Okay, the design of an AC - FedEx integration would require some in depth thought.
Here's how I would suggest it be attacked.
1. Yes, the new XML interface is the way to go. It's not trivial by any means, but it's the best method nonetheless.
2. Obtaining rates as currently done, which does use XML, seems fine but they make some assumptions...those assumptions are probably close enough to charge customers for shipping but are not always going to be the real cost of shipping (you always want to charge the customer, assuming you aren't giving them free or discounted shipping, some amount that is equal to or greater than your actual shipping costs. There are many ways to do that, even with the assumptions made to obtain the rates (e.g., slight additions to weights, uplifts on the shipping method screen).
The assumptions made by Ablecommerce include the "packaging problem" (is there really one carton or two?, is there really 5lbs in box one and 5 lbs in box two or is one bigger than the other?) AC assumes that one box is used unless you reach the max. weight or something like "ships separately".
3. So, when it comes time to actually ship, FedEx and the other carriers require that you know the number of actual packages, actual weights and actual dimensions (and don't forget "your packaging" vs "FedEx Box", etc.). Therefore any full integration would require some screen which would allow an admin/shipping person to "update" (enter) the specifics of the actual package(s), weights (an interface to a scale would be great, too) and dimensions for the specific shipment he/she is dealing with.
I see the results this way:
---at time order is placed we know the total weight(s), etc. based on the current assumptions used. (Note that I am not saying this aspect shouldn't be improved, just that such an improvement is not a 100% prerequisite for integrating the shipping, label creation and update to the tracking number field that already exists on each shipment).
---at that time the customer's shipping cost is "estimated" to be $xx.xx and that estimate is (as said before, equal to or greater than the actual). The customer is charged for and pays that amount.
---so at this point the order is entered and paid for. Now, it gets picked, packed and prepared for shipping.
---the package(s) for the order are now dealt with by the "shipping clerk"
--- what we know at that time is OrderId, ShipmentId and the package details (weight, dimensions, number of cartons, etc.) because they are sitting there ready to ship. We also know the ship to address, etc. for the recipient from the Order/Shipment record in AC. We know the carrier and service level (2-day, Ground, etc.). We also know, from AC set up of the integrated carrier, the shipper's account number, etc.
---So, the shipping clerk would pull up the shipment, click on a button that says "Ship" (or words to that effect). They would then be presented with a screen that had all the "ship to" information prefilled in (similar look to the FedEx Ship Manager "ship" page.) It would have the "bill shipper" and shipper's account number prefilled. All of these fields should be editable so that corrections can be made, for example, if the using the customer's account, the "bill recipient" could be changed (pull down?) and their account number entered in place of the shipper's account number (it would be cool but not essential if the customer could have entered that into a formatted field and then have AC place it in the field automagically). There would also need to be places, just like the FedEx Ship Mgr screens, to add the number of boxes, types/dimensions, weights, etc. Now the shipping clerk can enter all the other fields that may be pertinent to the shipment (see Ship Mgr and the FedEx interface documentation) to complete the documentation required to be sent over the XML interface to FedEx. Be aware that international shipments will require some other screens (but let's not burden this discussion with that level of details as this is more of an outline than a requirements document).
--After all the "actual" package and shipping information is entered, the ship clerk clicks on "send to FedEx" and the XML exchange is begun. Could be some error reports and things that need correction, so that needs to be considered. But assuming all is correct and complete, the FedEx interface would send back the information for the label to be created. Note that the tracking number (numbers in a MPS) would be included in what FedEx sent back.
A label could be printed (hopefully using a thermal printer with peel-off labels) and the tracking number(s) added, along with the ship date/time, into the AC shipment record. (might also consider a trigger to be set at that time so the configuration setting regarding status and emails (e.g., shipping notification) can be sent based on the web site's parameters.)
---all that remains for the shipping clerk is to put the label(s) on the box(es) and go to the next order/shipment sitting in their queue.
Effectively, the shipment/order is record updated, the order status changed (shipped status), FedEx system knows about the package(s) and the customer is notified. So all that needs to happen is for FedEx to pick it up.
I know this is long and not reaching the level of a requirements document, but this is an outline of how I see it being done. And, it can be done without solving the pack question before taking on this project.
I think it would be of great value to AbleCommerce and AbleCommerce users. Did you know that copy/paste from AC to the Ship Mgr is the only way to accomplish this (short of installing Shipper of one of those that semi-automate the copy/paste operation) and that the current version of the PC-based FedEx Ship Mgr software won't allow you to paste into their screens?
BTW, my recent employer has decided they don't have sufficient monies to pay me any longer so I am looking for opportunities. If some knows of openings PM me for more information. Thanks.