• 1

    Request to maintain ttsBegin and ttsCommit in run() method for class SalesCancelOrder in D365fO10.0.43 Update

    Suggested by Oluwaseun Somoye New  0 Comments

    Issue Description:

    In Dynamics finance and operation version -10.0.43 Update, ttsBegin and ttsCommit was added into run() method for class SalesCancelOrder, which is causing custom extension fail.


    The custom extension works in lower environment. However, for 10.0.43, it does not

     

    The custom extension requires checking the ttsLevel in SalesUpdateRemain class which get's called when the process is executed.

     

    It is difficult yo review the code with checking the ttsLevel as there are no public/ protected properties available to check if the call was made from the Sales order form for cancellation of the order, as they are making use of "SalesUpdateRemain" class.

     

    Requesting if there is any flight or any way to enable SalesUpdateRemain.parmFormDataSource for extensions to get the value of the form datasource through extension OR there can be a new method so that we can retrieve the caller form's datasource.

     

    Note* the current parm method doesn't follow best practice as it's missing formDataSource assignment (See below)

     

    Current parm method


    [Hookable(false)]

    public FormDataSource parmFormDataSource(FormDataSource _formDataSource)

    {

        formDataSource = _formDataSource;

     

        return formDataSource;

    }

     


    Proposing either of the below options if possible:

     

    Option # 1: Change below parm method, so they can use it to get value.

     

    [Hookable(false)]

    public FormDataSource parmFormDataSource(FormDataSource _formDataSource=formDataSource )

    {

        formDataSource = _formDataSource;

     

        return formDataSource;

    }

     

    Option # 2 - Create a new method to get us the formdatasource:

    public FormDataSource getParmFormDataSource()

    {

        return formDataSource;

    }

     

    public class SalesCancelOrder

    {

       FormRun            callerForm;

       FormDataSource     salesTableFormDataSource;

     

    ....

     

    //ttsBegin / ttsCommit introduced in 10.0.43

    public void run()

    {

    List ordersToUpdate = new List(Types::Int64);

    MultiSelectionHelper selection = MultiSelectionHelper::construct();

    selection.parmDatasource(salesTableFormDataSource);

    SalesTable salesTable = selection.getFirst();

    SalesLine salesLine;

    ProdTable prodTable;

    FormDataSource formDataSource;

     

    if (!this.mustCancelSalesOrder())

    {

    return;

    }

     

    if(SalesOrderCancellationContextFlight::instance().isEnabled())

    {

    ttsbegin;//Got added

    using(SalesOrderCancellationContext salesOrderCancellationContext = SalesOrderCancellationContext::construct())

    {

    this.handleCancellation(salesTable, ordersToUpdate, selection);

    }

    ttscommit;

    }

    else

    {

    this.handleCancellation(salesTable, ordersToUpdate, selection);

    }

    }

    }


    Kindly review the options above to confirm if this is possible


  • 5

    Restrict Warehouse Management App Login to AD-Linked Worker ID in Dynamics 365

    Suggested by Ville Tiihonen New  0 Comments

    Description: Enhance the Dynamics 365 Warehouse Management application by restricting login to only the worker ID linked to the user's Active Directory (AD) account in Dynamics 365. Currently, after authenticating with an AD username and password, users can select any worker ID, which risks incorrect data entries. This feature would enforce the use of the AD-linked worker ID.


    Why is this needed?: The ability to log in with any worker ID after AD authentication can lead to incorrect inventory transactions, misattributed actions, and operational errors. By restricting login to the AD-linked worker ID, businesses can ensure accurate tracking of user activities, improve accountability, and reduce errors in warehouse operations.


    Key Features:

    1. AD-Linked Worker ID Enforcement: After AD authentication, the system restricts login to only the worker ID associated with the user's AD account in Dynamics 365.
    2. Configurable Setting: Allow administrators to enable/disable this restriction to accommodate varying business needs.
    3. Error Messaging: Display clear error messages if a user attempts to log in with an unlinked worker ID.
    4. Audit Logging: Track login attempts for compliance and troubleshooting purposes.



  • 1

    Changing the quantity updates the wrong unit price

    Suggested by Vinja Kopsieker New  0 Comments

    Item(s) will be sold with the unit price based on the requested receipt date. Since order creation until delivery and invoicing, there is a new and second trade agreement on the released product. The item(s) will be correctly delivered and invoiced with the old unit price, which was valid on the requested receipt date. After delivery the customer claims, they received to much pieces of that item(s). To be able to create a packing slip and invoice for the overdelivered quantity, the ordered quantity in the sales order will be increased to the quantity which was received by the customer. After changing the quantity, a message appears, which is asking if the delivery dates should be overridden. This message will be confirmed with no. Even though the message is confirmed with no and the "old" requested receipt date(s) will be kept, the unit price will be overriden with the new trade agreement, which is valid on the day, when the quantity adjustment was done. The expectation is to keep the old unit price instead, because there was no change of the requested receipt date(s).


  • 2

    Enhance Work Templates in D365 SCM Warehouse Management to Support Image Capture Step

    Suggested by Michael Foss New  0 Comments

    Introduce native support for image capture as a work step in Warehouse Management's Work Templates, extending the current capability beyond custom data entry. This would enable capturing and storing images at critical points within warehouse processes — all from the Warehouse Mobile App and associating those images with relevant business processes such as Purchase Orders, Sales Orders, Loads, or Inventory Transactions.

    While D365 SCM currently allows custom data capture through mobile devices, image capture is a notable gap in real-world warehousing where visual proof and documentation are often just as critical as barcode scans or quantity inputs. Integrating image capture natively into work templates unlocks significant operational and compliance value:


    Inbound Scenarios:

    • Take photos of shipping paperwork that arrives with goods — especially useful when suppliers send handwritten or non-digital documents.
    • Capture condition of goods at receiving to document any visible damage or discrepancies.


    Outbound Scenarios:

    • Capture photos of loaded trucks for proof of loading condition and documentation of securement.
    • Take images of printed pick slips or load sheets to support reconciliation or disputes.


    General Warehouse Work:

    • Support audit and compliance efforts by enabling image capture at bin counts, cycle counts, or exception handling.
    • Provide visual context for inventory adjustments or manual overrides.


    Technical Suggestion

    Add a new "Image Capture" step type within the Work Template designer, similar to the current "Custom data" option. The mobile app should then present the device’s camera interface to the user and allow one or more photos to be taken, previewed, and confirmed.


    Key integration points:

    Metadata linkage: Image files should automatically associate with context objects such as:


    • Work ID
    • Purchase Order / Sales Order
    • Load ID
    • Inventory transaction
    • etc.


    Storage: Images could be stored in SharePoint, Azure Blob Storage, or D365 document handling framework ideally with configuration flexibility.


    Security & auditing: All image capture events should be logged and subject to existing role-based access controls.


    Why This Matters

    • This enhancement drives real productivity, traceability, and confidence in warehouse operations. It supports:
    • Better compliance with vendor contracts and customer service-level agreements (SLAs).
    • Reduced disputes through documented evidence at key warehouse steps.
    • Improved training and QA, with visual records of procedural execution.
    • Faster investigations of issues like damage claims or inventory mismatches.

  • 1

    Improve speed on Delete Sales orders clean up routine

    Suggested by Erick Martinez New  0 Comments

    Currently the Delete Sales orders clean up routine is consuming a lot of time even when we select just a week range. The search is not efficient, if we select a larger range the system freeze.


  • 5

    Shipment dropdown list in pack station

    Suggested by Alexandra CADET New  2 Comments

    Please vote for this very small but impactful change.


    What:

    In the Pack form, where user is asked for a "shipment or license place", add a dropdown list with all the shipments which are pending at the pack station (shipments with no open line nor open containers)


    Why:

    Often "Picking lists" (or alternatively a "License plate") need to be printed for the only reason that users need to scan the shipment or license plate to start the packing, after they've picked the products. If we could find in the pack station what is picked and not packed, we would not need printing anymore. Not to mention that papers can get lost.

    Currently it's easy to "forget to pack something". To figure out what's left behind, users have to go to "on-hand by location" and randomly check item warehouse transactions to figure out the related shipment, and also look at "open container at pack station". With the suggested dropdown the user would know at one glance.


    Could you please implement this enhancement?


  • 1

    Wrong summary update quantity calculations via batch processing

    Suggested by Laura Cojan New  0 Comments

    With reference to LCS Issue: 1023238

    When invoicing sales orders with summary update based on packing slip quantity and late selection enabled , and process is executed in batch, the invoicing fails in error due to incorrect summary update calculations. 


    Error experienced:

    ♣ 'The line has quantity 1.00, and total delivery of 2.00. This results in 100.00 percent over delivery of the line. The line only allows over delivery of 0.00 percent. You can adjust this value on the order line.'

     

    This issue has a significant impact on business operations. The inability to invoice leads to delayed payments, which in turn affects the companies cash flow. With over 5000 lines requiring invoicing daily, this problem presents a substantial operational challenge.

    Customers, using a similar business context configuration need, would greatly benefit from having the behavior amended or adapted as such to best accommodate the daily operations.


  • 5

    The indirect cost now displays in the cost calculation for the production order it should not be there.

    Suggested by Sarah Azmy New  0 Comments

    The customer has closed a production order, prior to creating an indirect cost in the costing sheet.


    This indirect cost now displays in the cost calculation for the production order it should not be there.



  • 6

    Enable Optional Breakdown of Sales Order Lines by Inventory Dimensions in the The new outbound/inbound load Planning Workbench

    Suggested by Mohamed Radwan New  0 Comments

    ISSUE

    The Load planning workbench page has been split Inbound load planning workbench and Outbound load planning workbench. the new Outbound load Planning Workbench design, sales order lines are no longer broken down by inventory dimensions. This was changed to improve overall performance, as breaking down by inventory dimension required caused performance degradation in the previous design.


    However, some customers rely on seeing inventory dimension details at the sales order line level. Without this breakdown, it becomes an issue to manage complex orders and scenarios that require inventory dimension-level detail in the Load Planning Workbench.


    This has been raised to product group team to be addressed in issue number 825871 as a system limitation that If the specific case or scenario requires showing of inventory transactions and at the same time, the amount of order lines does not cause performance issues with this, then the can create a customization on the new form to break down the grid by inventory dimensions.


    SUGGESTED IDEA

    • Provide an optional feature or parameter in the Load Planning Workbench that, when enabled, displays and allows planning by inventory dimensions at the sales order line level. 
    • This option would be disabled by default for general use cases to preserve performance.  
    • When enabled, the system would reintroduce dimension breakdown in the grid, with the necessary queries and filtering, allowing customers who need dimension-level visibility to access it without managing a custom build.

  • 1

    Resolve the Discrepancy between the Totals function in Sales Order vs Purchase Order (D365F&O - SCM)

    Suggested by Stuart Hayes New  0 Comments

    In SCM, the totals function on a Purchase Order shows the value of the order irrespective of purchase order status. This can be extremely useful for Procurement teams to review purchase orders.


    The totals function for Sales Orders however reduces in value as the order is invoiced, meaning a fully invoiced order shows zero. The logic from AX was that this enabled visibility of remaining value to invoice, and users could use the Invoice Total function within the AR Invoice Journal option.


    With segregation of duties, it is common for sales order processing teams to not be allowed access to the Invoice Journal option, meaning they have no easy way of confirming total sales order value for any Invoiced order. This can cause challenges with customers, particularly those who repeat order. Without manually adding up the lines, there is no way to see total net, vat, discount given.


    Idea:

    1) Bring the Totals function for Sales Orders into line with that of Purchase Orders, whereby the Total figure does not run down as the order gets invoiced.

    2) Add new fields to the Totals section (Uninvoiced Net, Uninvoiced Tax, Uninvoiced Discount, Uninvoiced Gross) for those customers who use the Totals function for this purpose.