Ubercart's current support for shipping, especially the backend fulfilment, is weak. Hardly anyone uses the fulfilment functionality, because it doesn't provide enough functionality for the amount of work required to use it. See Proposal: Overhaul back-end shipping system for further discussion and ideas.

This is the master issue for tracking all the separate tasks required to overhaul the shipping to the point where businesses will find it useful. Each individual task should have its own separate issue.

Add comments to this issue to suggest other tasks. Also, for each task, consider whether it should be added to current Ubercart core, added in an external module, or postponed for Drupal 8.

Add Views support for shipments and packages.
Mostly done. This allows the creation of a better UI.
Add Rules support for shipping.
Not started. This allows automation of package and shipment creation, updating order status, etc. The idea is to have simple stuff happen automatically.
Add package-level packing list.
Not started. The current packing list is for shipments, and the invoice is for entire orders. There needs to be one for each package.
Add automated packaging module.
Some preliminary work done. Add heuristic algorithms for automated packing of shipments into containers. This can be used by both the quote and fulfilment sides of shipping. Make it pluggable so custom algorithms can easily be added.
Add Views Bulk Operations support.
Not started. Views Bulk Operations (VBO) allow the user to perform an automated task on many items in a Views table. It can be used here to do things like bulk-print packing slips.
Overhaul fulfilment UI.
Not started. Add a user interface for handling manual generation and editing of packages and shipments. This should be usable but customizable for all shipping methods. See Proposal: Overhaul back-end shipping system for more details.
Add support for containers.
Not started. Businesses often use multiple different containers for shipping. Different containers have different dimensions, capacities, and tare weight. Some containers are only usable for specific shipping methods. Add a table to store different container characteristics and a user interface for administering them. The Stamps.com module has this support.
Add package gross weight.
Not started. Once container tare weight is available, it will be possible to calculate package gross weight, which will give more accurate quotes and fulfilment.
Add fulfilment configuration user interface
Not started. Add a configurable UI for configuring such things as container dimensions, shipping method priorities, etc. Provide basic support for all shipping methods, but allow additions of things like shipper account numbers, etc.
Update the shipping API
Not started. Update the API, probably mostly hook_uc_shipping_method() to support the new functionality. This will probably be done as each new feature is added, but the individual changes should be considered together for a clean interface and to avoid conflicts.
Update shipping usage and development documentation.
Some documentation already exists. Provide documentation on how to configure and use quote and fulfilment functionality. Also, document how to create quote and fulfilment modules.
Update existing shipping modules
(Not started.) Update existing quote and fulfilment modules to take advantage of the new functionality. Quote modules will mainly just need support for pre-generated multiple packages. Fulfilment modules will need a bigger overhaul, as Ubercart core will support much of what they used to need to do. Regardless, the API changes must be backward-compatible, so that old shipping modules don't break.
  • USPS (quote)
  • Stamps.com (fulfilment)
  • UPS (quote and fulfilment)
  • Fedex (quote and fulfilment)
  • Others?
Add intelligent automation
Not started. Allow Ubercart to perform rote tasks without humans being required to intervene much. Reduce the number of clicks and page loads. This is mainly done with enumerated priorities and Rules events, conditions, and actions, so that it can be configured. Ideally, Ubercart will automatically figure out the best packaging and shipping for each order, so that all a store employee has to do is click one button once per day, which will print out all the packing lists and shipping labels in one batch and update all the corresponding orders to completed status. Allow graceful fallback to a manual procedure if an operation can't be automated.
Miscellaneous tasks
Numerous other tasks will undoubtedly be required to get this all going. Note them here.

Comments

DanZ’s picture

Issue summary: View changes

Note separate issue for each individual task.

DanZ’s picture

Issue summary: View changes

Typo.

DanZ’s picture

DanZ’s picture

Added #1952702: Add auto-packaging to shipping and quotes.

This is key to a few other issues, and should probably be done early. Here are other tasks that are at least partially dependent on it:

  • Add Rules support for shipping.
  • Add Views Bulk Operations support.
  • Update the shipping API.
  • Update existing shipping modules.
  • Add intelligent automation.
DanZ’s picture

TR’s picture

Version: 7.x-3.x-dev » 8.x-4.x-dev
Component: Shipping » Shipping quotes