About Dash Replenishment

You can add the Amazon Dash Replenishment Service to your smart home device to enable Alexa to monitor and reorder supplies or replacement parts for your device. After you set up replenishment for the products that your device consumes, your customers can track supply levels within the Alexa app and receive notifications from Alexa when supplies run low or parts need replacement. Customers can set up automatic reordering of these supplies. For example, a printer can report ink usage to Alexa. Alexa keeps track of the ink level, and automatically reorders the low cartridge, so that the customer doesn't run out of ink. Customers pay for products by using the payment options associated with their Amazon account.

You can add Dash Replenishment to your Alexa smart home skill, multi-capability skill, or Alexa Connect Kit (ACK) device.

Report consumption with inventory sensors

To report consumption of device supplies or parts, you include inventory sensor APIs in your smart home skill or ACK logic. A device can have one or more consumable product types, such as vacuum filter and bag, and multiple consumable products of the same type, such as magenta, yellow, and cyan ink cartridges.

Each inventory sensor type uses a different method to report consumption. Select the sensor that matches your device detection method and the type of consumable product:

  • Level sensor – A sensor that measures and reports the current remaining inventory. A device with a level sensor usually stores the consumable product internally. The sensor measures the level of the inventory as an absolute count, percentage, volume, or weight. For example, a printer that measures the amount of ink remaining in each cartridge might send the current inventory for each ink color as a percentage. After the customer replaces the consumable product, the device resets the current inventory. To report the amount of a consumable product remaining in your device, implement the Alexa.InventoryLevelSensor interface and report the amount with the ChangeReport event. If you don't know when the customer replaces the product, implement the Alexa.InventoryLevelUsageSensor interface instead.

  • Usage sensor – A sensor that knows when the device uses a certain quantity of inventory. The sensor measures the inventory used, expressed as count, volume, or weight. For example, a coffee maker that uses one coffee pod for one brew. A device might know variable amounts. For example, after a small load of wash completes, a washing machine knows the amount of fabric softener used. To report the amount of a consumable product that your device used already, implement the Alexa.InventoryUsageSensor interface and report the usage with the InventoryConsumed event.

  • Level usage sensor – A combination sensor that doesn't know the remaining quantity of a consumable product, but knows the amount used, expressed as duration. After a period of time passes, the device reports the usage as a duration. For example, a vacuum with a dust filter reports 1 hour 13 minutes used. When the customer replaces the consumable product, the device informs Alexa by sending an InventoryReplaced event. To report the approximate usage of a consumable product installed in your device, implement the Alexa.InventoryLevelUsageSensor interface and report the usage with the InventoryConsumed event.

To report inventory consumption to Alexa, your device sends asynchronous events to the Alexa event gateway. For details, see the documentation for the inventory sensor APIs and events that your product supports.

Sensor examples

Level sensor Usage sensor Level usage sensor

Use when

You measure the total amount of the consumable remaining.

You know the relative consumed amount.

You don't know the total or relative amount, but know the duration used and the total lifespan of the consumable product.

Example device


Coffee machine, washing machine, dishwasher

Vacuum, air purifier

Example consumable

Ink, toner

Coffee pods, detergent pods

Brushes, filters

Example inventory report

50% remaining, 100 grams remaining, 2.5 liters remaining

1 pod used, 1 oz used, 30 ml used

1 hour 13 minutes used, about 30 days lifespan used

Automatic reordering in the Alexa app

Customers that connect devices to Alexa and use the Dash Replenishment Service can enable smart reordering in the Alexa app. All smart home skills must enable account linking to connect the identity of the Alexa customer with the customer's identity in your system. After the customer enables the skill, the Alexa app takes the customer through smart reordering setup. Thereafter, the device reports inventory updates to Alexa as the customer uses the device. Then, Alexa sends a notification to the customer or automatically reorders the consumable product.

Dash Replenishment prerequisites

To implement Dash Replenishment, you must have the following items:

Steps to add Dash Replenishment

To add the Dash Replenishment to your smart home skill or ACK device, complete the following steps:

  1. Choose the right inventory sensor interface for your device.
  2. Register your device and consumable products on the Dash console. For details, see Register Devices for Dash Replenishment.
    Amazon provides replenishment IDs for each consumable product.
  3. Report your replenishment IDs in your discovery response. For details, see the discovery response for the inventory sensor APIs that your product supports. Alexa.InventoryLevelSensor, Alexa.InventoryUsageSensor, and Alexa.InventoryLevelUsageSensor.
  4. Report a new device capability with AddOrUpdateReport. For details, see the documentation for the inventory sensor APIs that your product supports.
  5. Report inventory updates to Alexa as events. You send these events to the Alexa event gateway. For details, see the documentation for the inventory sensor APIs that your product supports.
  6. Test inventory sensors event reporting.
  7. Certify your Dash Replenishment device.


Dash Replenishment is available in the following locales: de-DE, en-GB, en-US, es-ES, es-US, fr-FR, it-IT, ja-JP.

If you have a smart home skill that supports multiple locales, configure your skill for each language that you support and deploy your AWS Lambda function in the region that supports the locale. For details, see Develop Smart Home Skills for Multiple Languages.