What is expired goods handling?
Some products stored at Hive have an expiration date, for example food, supplements and cosmetics. Once a product has expired, you are legally responsible for making sure it is not sold.
Expired goods handling lets you:
- See which products are close to expiring, early enough to act, for example to run a discount.
- Decide what should happen to a batch once it expires, so Hive can carry that out automatically.
- Get notified when a batch is about to expire, has been blocked, or has been handled.
This only works on products that use batch tracking, because the expiry date is stored on the batch. If you have not set that up yet, start with Set up batch tracking.
How it works, in short
- You set your batch expiry settings: how many weeks before expiry Hive should block a batch, and what should happen once a batch reaches its expiry date.
- Hive checks every batch that has an expiry date against your settings.
- When a batch reaches the number of weeks you chose, Hive blocks it automatically, so it can no longer be picked for orders.
- Five calendar days after the expiry date, Hive carries out the action you chose: keep it blocked, create a disposal request, or create a sendback request.
If you never change the settings, Hive blocks batches 1 week before expiry and they stay blocked until you decide what to do with them.
Setting it up
You manage this in batch management settings in the Hive App. The settings apply to all your SKUs, and you can add exceptions for individual products.
Block before expiry
How many weeks before the expiration date Hive should block a batch.
- Default: 1 week
- Lowest possible value: 0, which blocks the batch on the expiration date itself
Expired batch action
What Hive does once a batch has expired.
| Option | What Hive does | Good for |
|---|---|---|
| Block only (default) | The batch stays blocked in the fulfillment center. You can then request disposal or move it to sendbacks by opening a support ticket, or unblock the batch on the product page in the Hive App. | Deciding case by case, or sending items to a lab to be retested. |
| Dispose | Five calendar days after the expiration date, Hive creates a disposal request for the fulfillment center. The stock stays blocked until the request is finished. | Low-value products you never want back, or products whose expiry date cannot be extended. |
| Sendbacks | Five calendar days after the expiration date, Hive creates a sendback request for the fulfillment center. The stock stays blocked until the request is finished. | Stock you want to reuse or retest yourself. |
Settings for individual products
You can give a specific product its own settings, different from your general ones. This is useful when one product needs more or less time than the rest. For example, a slow-selling product may need a longer window so you have time to discount it before it expires.
Product-specific settings can be viewed and edited on the batch settings page, or in the Batch management tab of the product itself.
Finding stock that is close to expiring
On the Inventory page, you can filter by:
- With expired batches
- With batches expiring within 8 weeks
Use these to spot stock you may still want to sell, discount or move before Hive blocks it. The 8-week window is fixed and cannot be changed at this time.
Notifications
You can choose to be notified when:
| Notification | When you get it |
|---|---|
| Product batch expires soon | A batch is approaching its expiration date. You choose how many weeks in advance, and you can set exceptions per SKU. |
| Product batch blocked | Hive has blocked a batch because of its expiration date. |
| Expired batch action completed | The expiration date has passed and the follow-up action is finished, for example the batch has been disposed of. This is sent once the fulfillment center has completed the request and the stock has left your inventory, not when the request is created. Until then, the batch stays blocked. |
Unblocking a batch
Some products carry a best-before date rather than a true expiration date, and can often still be sold after that date. You may also want to create an order using a batch Hive has already blocked.
For these cases, admin users on your side can unblock a batch that Hive blocked.
Before the batch is unblocked, you are asked to accept a liability waiver in a pop-up. This confirms that the legal responsibility for selling the product stays with you.
Two things to know:
- Once you unblock a batch that Hive blocked for expiry, Hive will not block that batch for expiry again, even if you change your settings later.
- Unblocking has to be done in the Hive App. It is not available through the Hive API, because the waiver has to be accepted by a named person.
When you unblock a batch, Hive warns you that the batch can be assigned to orders again, following your shelf-life settings.
If you want to ship or collect a blocked batch rather than sell it, for example to send it to a lab for retesting, create a B2B order for it. Depending on your setup, create the order before or around the moment you unblock the batch.
Returns and the Hive API
Returns. When a return is processed at the warehouse, your batch expiry settings are applied, so expired stock is not put back on the shelf by mistake.
Hive API. If you connect to Hive through the Merchant API, you can read and change the same expiry settings as in the Hive App:
| Setting in the Hive App | Name in the API | Possible values |
|---|---|---|
| Block before expiry | action_weeks_before_expiry |
A number of weeks, 0 or higher. Empty means the default of 1 week applies. |
| Expired batch action | expiry_follow_up_action |
block_only, block_and_dispose, block_and_sendback
|
Each batch also shows why it is blocked: because it is inside the block-before-expiry window, or because its expiry date has passed. Batches blocked for any other reason show no reason.
A few limits apply through the API:
- If you add an expiry setting for a product that does not track batches yet, Hive turns batch tracking on for that product. If you do not use batch management at all, the change is refused.
- Unblocking an expiry-blocked batch has to be done in the Hive App by an admin user, because of the liability waiver.
- A batch whose expiry date has already passed cannot be unblocked through the API.
See Hive API for general API access.
FAQ
Will Hive block stock I could still sell?
By default, Hive blocks a batch 1 week before it expires. You can set this to 0 weeks so the batch is only blocked on the expiry date itself, or add exceptions for specific SKUs. For best-before products, an admin user can unblock the batch after accepting the liability waiver.
How is this different from the shelf-life setting?
The shelf-life setting stops Hive from assigning batches to certain order types, based on how many weeks of shelf life are left. Block before expiry blocks the batch itself, for every use and order type, and decides what happens to it afterwards.
Why is my batch blocked?
If Hive blocked it for expiry, the batch shows the reason: it is inside your block-before-expiry window, or its expiry date has passed. Batches blocked for any other reason, for example a block you set yourself, show no expiry reason.
What happens if I change my settings after a batch is already blocked?
The batch stays blocked. Hive does not re-check batches that are already blocked.
For example: your setting was 6 weeks and Hive blocked a batch 6 weeks before expiry. You then change the setting to 3 weeks. That batch stays blocked, and you have to unblock it yourself to use it again. The same applies the other way round: once you unblock an expiry-blocked batch, Hive will not block it for expiry again.
When exactly does disposal or sendback happen?
Five calendar days after the expiry date, Hive creates the request for the fulfillment center. The stock stays blocked until the fulfillment center has completed it. Only batches that Hive blocked because of expiry are included. Batches blocked for other reasons are not.
Can I still get the stock back after I have chosen Dispose?
As long as the disposal request has not been carried out, the stock is still in the fulfillment center. If you unblock the batch before the fulfillment center has acted on the request, the request is closed and the disposal does not go ahead. Create a support ticket as soon as possible if you need to stop it. Please note that this is not guaranteed to be possible every time.
Do I need batch tracking for this?
Yes. Expiry handling works on the expiry date stored on a batch, so the product needs batch tracking switched on. See Set up batch tracking.
Can I turn expiry handling off completely?
Yes. You can disable batch tracking yourself in the Hive App. Hive will then not block your batches for expiry and will not create disposal or sendback requests for them. You will be asked to sign a liability waiver first, as the responsibility for not selling expired products stays with you.
Does disposal cost anything?
Yes. Disposal is charged as an inventory service, and invoiced at the extra task rate in your contract.
Do I get a disposal certificate?
No. Disposal certificates are not provided at the moment.
My batches only have a production date, not an expiry date. What happens?
Nothing. Expiry handling runs on the expiration date stored on the batch. If only a production date is recorded, Hive does not block the batch and does not create a follow-up action.
I have just switched batch tracking on for a product I already have stock for. Is that stock covered?
Not automatically. Stock that is already in the fulfillment center has no batch ID or expiry date recorded, so there is nothing for Hive to check. Recording batch data for existing stock needs an inventory task, and you need to request this proactively. Contact Support to arrange it.