This project is not covered by Drupal’s security advisory policy.

This project adds Amazon Fulfillment shipping capability to Drupal commerce.

Project State

This project is currently very much under development currently.

The 7.x-1.x branch will be focused entirely around providing a simple method of interacting with Amazon for fulfillment. All Drupal Commerce SKU's and Amazon Fulfillment SKU's will need to be identical. Upon successful checkout completion all items marked for amazon fulfillment and are sent to amazon for fulfillment. Order fulfillment's are not tracked inside of Drupal and will need to be managed entirely inside of Amazon. Essentially only uses "CreateFulfillmentOrder" action.

The 7.x-2.x branch is not under active development, but could be if you are willing to sponsor it! Initial conceptualization will have all amazon fulfillment orders stored as entities, which can be viewed, sorted, and may possibly allow for updating. All orders will have their status associated with them, and through a scheduled task via cron orders pending fulfillment will continue to update until marked as completed by amazon. if you want this functionality, please consider sponsoring myself, Commerce Guys, or another talented Drupal Commerce developer to put this all together for you!


To implement this module, first make sure you have commerce, and commerce shipping enabled. Next, enable this module. At that point, proceed to admin/commerce/config/shipping/amazon-fulfillment. There you will need to enter all of your appropriate credentials with Amazon, along with adjust some settings as desired.

Next, simply proceed to any created product form or the edit for for any previously added products, and you will see on the product add/edit form a check box for "Fulfilled by amazon", and a field for Amazon fulfillment SKU. Check the box and enter a SKU for any items that you desire to have fulfilled by Amazon. During the checkout completion phase, all items marked for fulfillment by amazon will be transmitted to Amazon MWS for fulfillment based on your chosen parameters.

Basic error handling has been added to this module, and be forewarned the errors themselves are not always useful or to be relied upon. During testing, amazon documentation demonstrated to be inaccurate, and their error messages sometimes undocumented. Errors are logged to the system log, and there is also a rules event that you can act upon.

If you wish to customize what speed of shipping is used based on a shipping method chosen by the purchaser, you can uncomment the switch at line 52. This pulls the machine name from the shipping ID, and you can set a value based on the results. The variable is only set to default later on if no shipping speed is set.

Currently, in the 7.x-1.x branch all items to be fulfilled merely are sent to amazon MWS as part of a request. No information pertaining to the individual order and amazon fulfillment is stored locally.


  • Commerce
  • Commerce Shipping
Supporting organizations: 

Project information