13

I've installed a clean Magento 2.3. After trying the multi stock options, i noticed that, under Manage Source page, i can create a new source but not delete it. It looks like the action dropdown is missing on this page (Magento bug?). Anyone an idea how to fix this? I need the test one removed.

Menu path: Stores > Inventory > Sources

Inventory Source Missing action dropdown on left top

1

2 Answers 2

14

Magento Sources

Sources represent locations storing and shipping available product stock. Any location with available stock and capable of order fulfillment can be added as a source. These locations can include warehouses, brick-and-mortar stores, distribution centers, and drop shippers.

All stores begin with a default source that must remain enabled. Single Source merchants (merchants who ship all products from one location) use the default source for their single point of inventory location and shipments. Multi Source merchants create as many sources as they need to represent each location.

You cannot rename, delete, or disable the default source. You can create, modify, enable, and disable custom sources, but you cannot rename or delete a custom source.

Disabling a custom source has the following effects:

  • Magento ignores and does not list the source for shipment or order processing
  • Stocks do not access inventory quantities from the source for aggregated inventory totals
  • Order shipments cannot be assigned to disabled locations.

Source: Magento Docs

1
2

While Muhammad Hasham’s answer gives a bit of context, it doesn’t explain why this action is disabled and how to do it anyway if it’s absolutely necessary.

According to the documentation:

To ensure that all order data retains in Commerce, sources cannot be deleted. Sources, orders, and shipments are directly connected to each other. You can disable sources and modify information including location and point of contact.

This is a valid reason, but only for sources that were actually used. If you just created a source and made a typo in its code, there’s no reason to prevent you from editing or deleting it (see also this comment).

You can force-delete a source in the database:

-- Delete source with code 'mycode'
DELETE FROM inventory_source WHERE source_code = 'mycode';

Of course, make sure you have a backup and know how to rollback. Do this only if you really know what you are doing.

Unless I really need to delete a source, I usually rename the source "(Deleted)" (the name, not the code) and disable it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.