Dynamics365 WikiHow-ToHow GitHub Copilot Can Help a Functional Consultant in D365
Dynamics365 WikiHow-ToHow GitHub Copilot Can Help a Functional Consultant in D365
How-To

How GitHub Copilot Can Help a Functional Consultant in D365

Today, I encountered an issue reported by one of my clients. They use bridging transactions in the Customer payment journal, and also make use of the Deposit slip functionality. However, after a recent upgrade to version .43, we noticed that the checkbox "Use a deposit slip" can no longer be selected when the Method of Payment has bridging posting enabled.

To validate the issue, I reproduced the same setup in a standard Contoso environment and confirmed the behavior. Upon reviewing the code, I found that the issue is caused by a feature called "Clear bridging payments using advanced bank reconciliation". Since my client doesn't use Advanced Bank Reconciliation, we disabled this feature as a temporary workaround. Of course, I will still submit a support ticket to Microsoft for formal investigation - but that's another story.


This raised a question in my mind

Can GitHub Copilot help a functional consultant—even one with limited technical experience—investigate such issues?

Prerequisites

To use GitHub Copilot effectively in a Dynamics 365 F&O context, you need:

  • A OneBox environment with Visual Studio access
  • A GitHub account
  • GitHub Copilot enabled in Visual Studio
  • (Optional) A chat extension for Copilot inside Visual Studio
    There are plenty of blogs and tutorials online that walk you through these setup steps.

Use Case Walkthrough

Now, let’s walk through the investigation for the issue I described at the start.

If you right-click on the Customer payment journal form, you’ll see its name is LedgerJournalTransCustPaym. Similarly, you’ll notice that the "Use a deposit slip" checkbox is controlled by a field called fieldBankDepositVoucherGrid, which is bound to the BankDepositVoucher field in the LedgerJournalTrans table.

Question 1:

What logic in the form could be disabling the checkbox?

After inspecting the form logic, I determined that none of the conditions here were causing the issue. In my case, as soon as I selected a Method of Payment with bridging enabled, the checkbox became disabled.
This led me to suspect that the logic might be in the table, not the form. But since I’m not a developer, I turned to GitHub Copilot for help.

Question 2:

Can Copilot help verify if the logic in the LedgerJournalTrans table disables this field?

Question 3

I asked Copilot to review the LedgerJournalTrans table for any logic affecting the BankDepositVoucher field—but unfortunately, it didn’t find anything useful in that attempt.
Knowing what the issue was, I decided to 'guide' Copilot more directly by pointing it to the relevant part of the code I had already located. Once I did that, Copilot immediately understood the cause and confirmed the logic:

Conclusion

This small experiment shows that GitHub Copilot can be helpful even for functional consultants, particularly if you are exploring root causes behind UI behavior or field logic in D365. Here are a few takeaways:

  • Basic technical knowledge—such as forms, tables, and data sources—goes a long way.
  • Prompt quality matters. My initial prompts weren’t great, but I believe with refinement, results will improve.
  • I used the free version (GPT-4o and Claude 3.5), but I suspect the Pro version could offer better accuracy and deeper analysis.

Leave a Reply

Your email address will not be published. Required fields are marked *