How to stop all the inventory items to invoice from a particular warehouse


I want to stop invoicing items from a particular warehouse in AX. What is the setup i have to change.

Can you explain the business scenerio in detail ?

You cannot “stop” these items if they are ready and they are contained in the select statement of the invoice run - you could filter our sales orders where the header warehouse = XX but that is about all - there is no stop and release mechanism to be parameterised by warehouse.

We have oh-hand items in a warehouse (WH01). However we need to stop these items being invoiced from the warehouse (WH01). The users may mistakenly will select warehouse (WH01) when invoicing items. Therefore I want to stop the warehouse (WH01) by being invoiced.

If not stopping. A warning message would be enough.

Are u talking about sales ?

why you want to stop these items ? Did you already reserved these items to any customer or any other issues ?


you need to go with customization for can not “stop”



If you have received the items by mistake in warehouse (WH01), you can transfer the items to the correct warehouse by posting a transfer journal. So that the user cannot issue the items from the warehouse (WH01) as there is no stock (Note: Physical negative inventory should not be enabled for this case). And try keeping the correct warehouse as a default one while posting orders.This is a workaround functionality.


Thanks Sarathy

Hi Lixin,

Thanks for the reply.

In our case one there are many warehouses (about 4). Different warehouses are there for different requirements. Therefore the user can mistakenly select any of the warehouse to invoice a sales order. We want to stop all warehouses (3 warehouses) and to keep open only one warehouse for invoicing to customers. Is there any possibility of doing this requirement.


Then you need to modify the system to prevent the selection of these three warehouses on the system - clearly a message would not be enough because if they are currently told through business processes not to do it yet do it then the message would simply be ignored as soon as it popped up.

Hi Isuru,

in order work on this issue…

just write a code in inventtrans— insert method … as when the transaction type is invoice…

and selected warehouse is particular ware house … then throw error("…");

else … allow it to work as usual…