Here in Australia we have AusPost who will not ship anything above 20kg. On this particular site, there are often shipments much larger comprising of a lot of smaller products, say 1kg each.
I would like to know if it is possible to extend Magento so that based on a maximum weight threshold, the shipments are automatically split into lots of 20kg packages (versus the client having to work out the QTY for each item to make the shipment match as close to the threshold weight (20kg in this example) as possible.
Ideally the solution should work with bulk order management extensions such as Better Order Management by Amasty or Simplify Bulk Order Processing by Xtento – preferably the former.
Best Answer
OK, your request is not difficult to implement, see my solution. It works only when you create shipment using Magento admin panel. I supposed that shipments are created manually.
1. Create local module (ex. ShipmentSplit) and rewrite Shipment controller, config.xml:
2. Create Configuration settings to enable/disable splitting functionality and store weight threshold parametr, system.xml.
3. Rewrite Shipment controller:
Enter to admin order management page, open order, click [ship] button, click [submit shipment] button (you can except some items giving 0 qty to ship) and our logic automatically create shipments based on weight threshold (minimum one shipment). See my results: