Arrival menu

The arrival menu covers the main aspects of doing receipt of goods. The functionality is similar to the arrival journal in Dynamics AX 2012. The arrival menu can therefore be used for several types of receipts, and the following receipts types are possible. Purchase orders, Return sales orders(RMA), Production (report as finished), Transaction, Inventory adjustments, Transfer, Bom journal, Counting, Quarantine order, Transfer order receive and quality order. For details about these transaction types, refer to standard Dynamics AX 2012 help.

The 3 options presented to the user are:


Create Arrival Journal.

This program allows the worker to create an arrival journal, and to start the receipt process.

Registrate Arrival Lines
This program allows the worker to continue the receipt process of an existing arrival journal

Post Product Receipt
This program allows the worker to do a product receipt of an arrival journal. This is only valid for arrival journals containing lines from a purchase order or a transfer order receipt.

Create Arrival Journal

To create a arrival journal and doing the actual registration process.


The first step is to select the type. Several options are available, and the form will change according to what type is selected. If a Purchase order is selected, then the worker can select vendor and purchase number. If a production is selected, then the worker must select a production order etc.

The account field is only visible if the type is “Purchase order”, and lets you select the vendor. This is not a mandatory step, but will help to filter and narrow down the possible purchase orders to be selected.

Select the warehouse where the arrival journal line will be received into. Mainly used to filter and narrow down the possible purchase orders to be selected.

Select this option, if the quarantine possibilities should be used. This means that the receipt will be posted into a quarantine warehouse, and then the quarantine process will take over.

Enter of scan the reference number according to the type selected.

Packing slip:
Enter or scan the packing slip number. This number can be used later in the process, when doing product receipt posting.

When done, the press create to start the arrival registration process.

Registrate Arrival Lines

The registration of arrival lines, is the same as when happens in the arrival journal in Dynamcis AX 2012. First the lines have been create in the create arrival journal form. The form starts by scanning item barcode. The reason for this is that is seldom that any warehouse will receive the same item in two different arrival journals at the same time. It will also make the process of finding the journal ID easier for the PDA program, since most likely the goods is already barcode marked from the vendor/production etc.

To keep track of if a line is completed or not, there is a very small modification in std AX. A new Boolean field on the arrival journal lines has been added, called PDACompleted.  This field is only used in this form, and will not affect and standard AX functionality. Often the warehouse manager will generate a arrival journal, using the arrival overview screen, and create the needed arrival journals. The worker can also manually create arrival journals using the create arrival journal PDA form.


Bar code:
Accepts item barcodes or EAN128 codes.
Lookup is filtered to only show item barcodes that has a open arrival journal associated. View details will open the released products form.

The magnifier button will open the items details for this item/barcode.

Journal and journal line.
If there exists 2 open arrival journal on the same barcode, then the journal will NOT be automatically filled in, and the worker must select the correct one. This also applies, if there are several arrival lines on the same item barcode.

The magnifier button will open the a list form, showing all lines on the arrival journal, and will also show what lines that are complete, and what is still missing.

Warehouse and Location
The warehouse and location can be filled in automatically, if the item do have a standard picking location. Else, the worker must scan in this.

Additional dimensions
If additional dimensions are required(like Pallet ID, Batch ID and Serial ID), then field for these will also appear in the form.

Post Product Receipt

The post product receipt is only valid for registrations where a purchase or a transfer order receipt is done.


Scan or enter the journal number, that should be product receipt updated. The lookup is filtered to only show journals that is posted, and that have registered inventory transactions attached. The view details will open the location journal form, filtered as default in Dynamics ax, on Open journals. The worker must therefore most likely filter to show all, and then find the correct journal. The magnifier, will show the lines on the journal.

Normally this field will automatically be filled in when the journal is filled on. If not, then scan or enter the purchase ID. The lookup will filter to only show registered purchase orders.

Packing slip:
Normally this field will be automatically filled in, since the packing slip ID was entered when the worker created the arrival journal. Else, fill in the packing slip.

When ready to post the journal, then click post. This corresponds to posting receipt on the arrival journal.


4 thoughts on “Arrival menu

  1. Hi,

    I am trying to report as finish one quarantine order and the purpose of using the report as finish is to change the warehouse destination.

    My warehouse setting is having 3 warehouses:

    Warehouse: WH01 | Default type: Default | Quarantine : WH02

    Warehouse: WH02 | Default type: Quarantine | Quarantine :

    Warehouse: WH03 | Default type: Default | Quarantine : WH02

    and the item module group having the “Quarantine management” is checked.

    Am creating one PO with QTY of 100 PCS and am receiving it in Warehouse WH01, which will create a quarantine order automatically and the material is been moved to WH02.

    On “Functions” am selecting “Split” to 75 PCS and 25 PCS.

    The purpose is that 75 PCS can go back to WH01 warehouse and 25 PCS need to go to WH03 warehouse.

    Am using the function “Report as finish” when am select the 25 PCS line, and i select the “Name” which is the Item arrival journal name.

    the item arrival journal is created and when i go to lines i found that the warehouse is WH02, which is correct.

    Then am going to “Dimension” Tab so i can change the warehouse from WH02 and make it WH03, and the system doesn’t stop me, and even i post the journal and still no error appears nor anything, BUT if i refresh the journal the warehouse become changed and gets back to WH02.

    so while posting the arrival journal it’s getting override by i dont know what function but i assume the quarantine management, and it send the material back to the main warehouse i received in in the first place, so quarantine receive from WH01 and it MUST and no way to send back to any other warehouse except WH01 .

    if this is the logic then there is two errors:

    1- The item arrival journal created by the quarantine should block the selection of the warehouse, so there will be no confusion.

    2- in this case, what is the use of “report as finish” if we cant change the warehouse? i mean its equally the same as using the “End” function where i dont have to enter anything and material goes back to the main warehouse automatically just like what “Report as finish” is forcing me to have.

    if anyone knows if its a bug then please let me know, or if anyone knows any parameter could be changed to over come this issue, then your help is really appreciated.



  2. Hi Kurt
    I appreciate your blog. You have lots of good information! I have a question for you regarding post of product receipt. I created a custom form to receive material. Its creates and posts arrival journals (wmsjournaltable) and then posts the product receipt. when our finance person goes to do vendor invoices she likes to choose by product receipt/packing slip id. When I post product receipt with x++ I pass the packing slip id along with purchtable. 99% of time we have no issues. But if we get an error and can’t post product receipt for some reason we end up with quite a few posted arrival journals but no posted receipt. What I have found is that when I post product receipt if there are any other existing posted arrival journals ( without posted product receipt) that have the same PO as I pass in my post product receipt code, that all those other arrival journals that have the same PO are pulled in as part of that product receipt. I did just realize that in wmsjournaltable there is packingslipid field. Not sure if this has any impact during post receipt process or maybe this field is only for information purposes. So basically my question is: how when posting product receipt can I specify which arrival journals go along with it? maybe setting packingslipid field in arrival journal like I mention above will work? or maybe there is no way to do this? Here is my post product receipt code:

    PurchFormLetter_PackingSlip purchFormLetter_PackingSlip = PurchFormLetter::construct(DocumentStatus::PackingSlip);
    //PO confirmed, continue with POST
    purchFormLetter_PackingSlip.update( purchTable,

    please help if you have any thoughts on how this works! thanks. By the way we have been using your your BTI label classes/code and they work great.
    Rick Dailey Nashville TN USA


    • In relation to your problem, of isolating the packingslip to a single arrival journal, I guess you will struggle, because this will also include all lines that has been registered.
      I did some modifications on this on AX 2009, where I identified the inventory transactions with a separate TransChildType and TransChildId for receipts. I never moved this code to AX 2012.
      So my recommendation is to make sure that you don’t have two open arrival journals on the same PO at once. The alternative can be a costly affair, and I estimate a job taking 1-2 weeks to complete.


      • Kurt
        Thanks so much for your thoughts. I have one error that keeps coming up every now and then when posting product receipt. Here is the error message in quotes:

        “Warning Posting\Purchase order: AXP000000522\Item: 9200000287 Physical remaining quantity in the inventory unit LNF must be other than zero.
        Error Posting\Purchase order: AXP000000522\Item: 9200000287 Update has been canceled.”

        We had a go live with this AX 2012 at beginning of October. We initially thought error had to do with “decimal precision” being set = zero. This setting is under organization administration and “Units” and then Unit “LNF”. So about 3 days after go live and only sometimes getting this error message, we changed “decimal precision = 4” for “LNF” unit which is lineal feet. We thought any existing Purchase orders created before we made this change might generate this same error when posting product receipt. Well it appears to still be happening even on new Purchase Orders. Do you have any thoughts on this error message and how to prevent from happening? I have been correcting the specific “PurchLine” that the error message references by subtracting a very small decimal number from “PurchLine.RemainPurchPhysical”. The error message comes from class “InventUpd_Physical.checkUpdRemainQty”. The offending code is:

        “if ((_remainUnit != 0 && _remainInvent== 0))
        ok = checkFailed(strFmt(“@SYS19590″, _inventUnit));

        so parameter _remainUnit != 0 and will have some small decimal value such as .0012 or .0435, etc. I take this value and subtract from offending PurchLine.RemainPurchPhysical field and then I am able to post receipt.

        any help would be much appreciated!

        Rick Dailey – Nashville TN USA


Leave a Reply to Fadi Cancel reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.