Good question.
So, apparently, the shipment number is created by procurement , I am not sure how it is done as I am an accountant not procurement. Each line on a PO is given a shipment number which shows as below.

Then my collegue, in accounts payable sees a list of shipments (I don't have access to it so cant send screenshot right now) then she invoices through that. But once invoiced one cannot go back to change. Does this help?
I am going to just copy contents of an email I got which is also additional information that may help as to show you how ridiculous this whole implementation was - was not done correctly!. Basically, the old system the company had 2 years ago worked better and now with this new D365 implementation, something is not working, doesn't appear to be set up correctly. This "shipping" was introduced few months ago into our current D365 environment and has come to a point where "our experts" are useless, sorry but its true. Here is the email I received from procurement manager:
"This is not the same system as AX4. In the old system we would create a shipment and after that we would put items on stock and then we would invoice. Before invoicing we could change the prices, quantities and adjust to match exactly with the shipment.
All freight invoices were invoiced against the shipments afterwards (to enter the real cost and compare with estimated cost which was calculated automatically based on the entering the size and the weight of the shipment and preloaded freight rates).
Every shipment had status (open, received and invoiced) so once the shipment was invoiced it was practically ‘closed off’. (in the same way as POs)
Now we have different set up – as "Staff A" called it a “quick fix up” to get the moving average cost. Now we have the opposite situation once we create the shipment, we put the estimate freight cost and we have to invoice before it arrives. We didn’t set up weights and dimensions for each product and we do not have freight rates entered, so the system can not calculate the estimate of the freight. Whoever is opening a shipment has to know the freight rates and based of the size of the shipment (if you get anything before opening the shipment) has to calculate the best estimate.
Once the shipment is invoiced we can not change any information in the shipment. If the shipment arrived damaged or with different quantities – the idea was to enter on stock exactly per quantities which are on the invoice and we fix (adjust) the stock afterwards.
When you look the list of all shipments – you can see only is the shipment invoiced or not and it could be only in GIT or TBA status? You can’t see did we receive the shipment (entered on stock -or not). There is no status – open-received-invoiced. You have to drill into the shipment, go to General and under Goods in transit orders you can see are the items received or not.
Under booking reference we are entering FedEx or shipment number from our forwarders so "Staff B" can invoice every freight invoice against particular shipment. For some shipments – we didn’t know these numbers so when "Staff X" cannot allocate freight invoice against the shipment – she has to invoice against general freight account.
I am not sure is there a way we can close off shipments. The main measurement is that we run report – Goods in transit which shows which shipment was invoiced but not entered on stock. The shipment will be closed when we have nothing to receive on stock under particular shipment. We still show a lot of items – on older shipments not entered on stock (through shipment) because for different reasons they were adjusted through journals (entered on stock).."
So as you can see it is a shambles and no one knows what needs to be done (so I have been given the task to look at!) we do not have support as the personnel that worked on this whole implementation had no experience! which of course which is also why I have those fixed asset questions :)
However, in regards to this situation for shipping, is it not set up right? What they could do in Ax4, can it be set up same again in the new environment? ?
Hope this all makes sense!