#1292 new

Feature request: enhance shipping options to include shipment processing

Reported by dleffler | May 12th, 2015 @ 04:56 PM

While we include several payment options which handle the entire 'payment' process inside Exponent (yes, there are some which require manual processing), we only provide 'estimated' costs for shipping to be added to the order. We do NOT provide any interface to help with the actual order fulfillment step (yes, we do provide for entry of a shipped status, date, and tracking number obtained outside of Exponent)...Therefore, some sort of integrated order fulfillment (shipment) assistance could be a welcome feature. This could be as simple as exporting/printing the shipping (address) label to as complex as sending the completed order to an 'order fulfillment warehouse' (you allow a 3rd party to manage all your inventory and shipping). Here are some possible additions, somewhat in order of complexity:

  • export/print the destination shipping label (we already allow printing of the packing list)
    • this could be accessed by another link/button on the invoice/order management view
    • or maybe we need to move the packing list button/link to the 'shipping' tab along with this new button
  • integrate 3rd party shipping broker like www.easypost.com to provide simplified access to multiple carriers
    • might best be implemented as a new shipping calculator with additional features found on the 'shipping' tab of the invoice

Comments and changes to this ticket

  • dleffler

    dleffler May 13th, 2015 @ 01:19 PM

    • Milestone set to 2.3.5

    As of a recent push we now:

    • export shipping label info (it was in there as export order to odbc and now the label has been updated to be more intuitive 'export shipping data to csv)
    • print packing list moved to 'shipping' tab of invoice. This is also where we'll put other 'shipping' actions

    Integrating easypost (shipping calculator) has begun locally:

    • initially will get shipping rate estimates like the other shipping calculators: this will display all rates from all easpost configured carrier accounts
    • next step would be to allow purchase of 'shipping labels' from carriers from the invoice 'shipping' tab
      • initially only allow for a single package/tracking
      • this action would auto-assign tracking number
      • later allow multiple packages/tracking (may require some backend changes)
      • later possibly allow 2-step approach to create multiple packages, then actually purchase the labels
    • next step might be to auto-update status of package shipping...at least when viewing the invoice, but maybe sending an email as status changes?

    Basic assumption of how to process an order through the fulfillment phase:

    • new order submitted/received (status auto-set to 'new order received')
    • order review begins (status set to 'processing')
    • payment processed/authorized (status set to 'payment authorized')
      • for some billing systems this has already occurred automatically
    • order sent to 'warehouse' for packaging, order items retrieved & boxed, box weighed (status set to 'sent to warehouse')
    • package data used to create/purchase shipping label & get tracking id
      • label applied to package, picked up by carrier
      • shipping date & tracking id entered into invoice (status set to 'order has been shipped')
      • order has been 'fulfilled' at this point
    • customer (invoice?) gets updated tracking/delivered status
  • dleffler

    dleffler May 15th, 2015 @ 12:18 PM

    I forgot to add the possibility of:

    • scheduling package pickups...this service may NOT be offered at no charge from the carrier and would likely require changing the 'handling' charge to cover its cost.
    • offering optional shipping insurance
    • allowing for return (rma) labels

    As with many of the more advanced features above, they would require some backend changes.

  • dleffler

    dleffler May 17th, 2015 @ 11:31 AM

    Note: locally have the new easypost shipping calculator working to provide shipping cost estimates for multiple packages as the other (UPS & FedEx) calculators do.

  • dleffler

    dleffler May 20th, 2015 @ 12:44 AM

    The estimate shipping cost functional easypost calculator is now in the pre-release code.

  • dleffler

    dleffler May 29th, 2015 @ 07:46 PM

    Note: we may want to have easypost 'fulfillment' available regardless of the shipping calculator used to obtain a shipping cost. E.g., use per-item, per-weight, free, flat-rate, etc... on the front end, but use easypost to actually purchase a shipping label...therefore the company makes up any shipping cost differential across the entire income.

  • dleffler

    dleffler June 12th, 2015 @ 01:45 PM

    Note: the estimate is likely INCORRECT since we were sending the weight as 1/16 of what easypost was expecting (lbs vs oz).

    Locally already have shipping label purchase working, only a short time to also have 'pickup' integrated. UI may be a bit klunky at first. With that, the next code push will still only allow a single package/shipment (shippingmethod) per order since we don't handle multiple/split shipping in the main code yet.

  • dleffler

    dleffler June 23rd, 2015 @ 06:41 PM

    initial support for order fulfillment is now in the pre-release code. It works, but may not be as robust as desired...allows for purchase of shipping labels, scheduling a pickup, and cancelling of both.

  • dleffler

    dleffler September 5th, 2015 @ 02:11 AM

    Easypost integration is a little more robust, but still lacks (and the background to support):

    • multiple packages
    • ability to 'break' a package once its created, the package intact and can't be changed
    • access to view details about package/label/pickup once created/purchased...though the info is stored within that shippingmethod->shipping_options
    • totals for actual cost of shipping (as opposed to the estimated shipping from checkout)
    • transfer of package tracking number (in the shippingmethod->shipping_options) to the order/invoice display (order->shipping_tracking_number)
  • expNinja

    expNinja September 5th, 2015 @ 02:58 AM

    (from [4decadbb50451290a48f5c095771f056203353ec]) Update/fix easypost to display tracking number on invoice/order;allows access to 'package details once created,etc...; better format for shipping fulfillment views [#1292] https://github.com/exponentcms/exponent-cms/commit/4decadbb50451290...

  • dleffler

    dleffler September 16th, 2015 @ 03:34 PM

    • Milestone changed from 2.3.5 to 2.3.6
  • dleffler

    dleffler December 26th, 2015 @ 05:59 AM

    • Milestone changed from 2.3.6 to 2.3.7
  • dleffler

    dleffler January 1st, 2016 @ 04:18 AM

    • Milestone changed from 2.3.7 to 2.3.8
  • dleffler

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

Bug Tracker for Exponent CMS

Shared Ticket Bins

People watching this ticket