Drupal Commerce entities all make use of the "data" attribute. The data attribute is a blob that contain just about anything you would like - for example, Commerce Shipping utilizes this for shipping line items. Recently there was a StackExchange question on the documentation of this attribute.
One of the reasons that I love Drupal 8 is the fact it is object orientated and uses the Dependency Injection pattern with a centralized service container. If you’re new to the concept, here’s some links for some fun reading.
When we talk about Drupal Commerce 2, the biggest we questions we get are not about features, but when you can start building with it. Well, the answer is and has been now! Drupal Commerce 2 has been in alpha and nearing beta. What does this mean? In alpha we might have some schema changes, requiring a reinstall of your site. Luckily Drupal 8 has that fancy new configuration management system to export your site, right?
Plans were made back in December 2015 to put effort into the ability to support Migrate with Drupal Commerce to speed up adoption of Drupal Commerce 2.0. Commerce Migrate for Drupal 8 will provide migrations from Drupal Commerce 1.x, Ubercart for D6, and Ubercart for D7. Ideally, this module will also support other vendors, such as Magento and WooCommerce.
If you are using Drupal Commerce and are allowing customer's two or more shipping services you'll notice that the order may not make sense. By default the shipping services are displayed by how they're output in grouping of shipping provider then some other sorting that isn't cost based. There is a hook within Commerce Shipping that allows reordering of all shipping services.
I spent a few hours this evening and knocked out a few updates for Commerce Reports to kick off the 4.x version of the module. It separates the module from the non-maintained Visualization API for the maintained Charts module. This version also removes the granularity filter we've all come to know and love with using Views Date Format SQL module. This cuts back on module code to maintain for this module and better usage of the SQL query. Not to mention more reliable (I always seemed to get an extra month or day rolled in.)
Drupal Commerce is an amazing open source ecommerce solution; with its foundation in Drupal it can easily contend with the big cookie-cutter ecommerce solution companies. Except for one area - reporting. Drupal Commerce and reporting seem to have missed each other while its growth skyrocketed. I mean, there are ways to build reports and show your store's revenue...just nothing "perfect," in my mind. Let's start with this: Drupal commerce orders have a creation date and updated date.
Free shipping offers are a huge request in Drupal Commerce. Here is how you can use one shipping calculation rule to provide free shipping without making new shipping services or modifying existing ones. Typically tutorials have you create a new "Free shipping" flat rate service that checks if the order is greater than XX and have your other services check if the order is less than XX. That's neat, but sucks if you or your client is just trying to offer a sweet deal for a month.