On December 4, 2024, AccessOrange held an impactful seminar exploring Microsoft Azure, its capabilities, and how it empowers businesses to embrace the cloud era. This comprehensive event brought together experts from Microsoft, AccessOrange, and Ingram to discuss Azure’s role in modernizing IT infrastructure, enhancing security, and enabling seamless migration. Here’s a consolidated summary of the key topics covered, offering a glimpse into the insights shared during the sessions.

Watch Video Recording


Understanding Azure: Your Gateway to Innovation

Microsoft Azure, a leading cloud platform, provides businesses with a broad array of services including computing, storage, networking, and advanced AI capabilities. With over 60 regions and 200+ data centers worldwide, Azure offers unparalleled global coverage and flexibility. The platform operates on a pay-as-you-go model, ensuring cost efficiency by charging only for the resources you consume.

Azure’s strengths include:

  • Unmatched Cost Savings: Save up to 80% on cloud costs with Azure Reserved Instances and Hybrid Benefits.
  • Industry-Leading Security: A robust, multi-layered defense system supported by a $20 billion security investment over five years and 65 trillion monitored daily signals.
  • Seamless Hybrid Operations: Azure facilitates hybrid cloud and multicloud strategies, enabling businesses to operate seamlessly across environments.

Attendees gained clarity on how Azure outperforms competitors like AWS, offering up to 93% lower costs for SQL workloads, while maintaining compatibility with legacy systems.


Migrating to Azure: Simplifying the Journey

The seminar detailed how businesses can transition from on-premises infrastructure to Azure with minimal disruption, leveraging the Azure Migrate and Modernize Program (AMMP). This program provides end-to-end support, from assessments and migration planning to execution and optimization. Key benefits include:

  • Automated Migration Tools: Streamlined processes for moving Windows, Linux, and VMware workloads.
  • Cost Optimization: Use of tools like Reserved Instances and Azure Hybrid Benefit to reduce expenses significantly.
  • Holistic Support: Access to centralized tracking tools and expert guidance for a seamless migration journey.

Why Azure is the Smart Choice for Your Business

Azure is designed to address critical challenges faced by modern businesses:

  • Scalability: Easily scale operations up or down based on demand.
  • Security: Microsoft Defender for Cloud and Sentinel provide advanced protection against emerging threats.
  • Cost Efficiency: Businesses can save up to $400,000 annually by avoiding on-premises infrastructure maintenance, as noted in a Forrester study.

The platform also provides powerful tools for modernization, such as Azure SQL Managed Instance, enabling businesses to transition from traditional databases to a fully-managed, cloud-based environment with minimal effort.

Your Azure Transformation Awaits

This seminar showcased how businesses across industries are leveraging Azure to drive innovation, improve security, and reduce costs. By partnering with AccessOrange, companies can simplify their cloud migration journey and unlock the full potential of Microsoft Azure.

For those who missed the seminar, we’ve shared part of the recording below, offering a chance to explore Azure’s possibilities in-depth.

Ready to start your journey? Contact AccessOrange for a free Azure assessment and begin transforming your IT infrastructure today.

"*" indicates required fields

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
This field is for validation purposes and should be left unchanged.

On Wednesday, November 27th, we had the privilege of hosting an enlightening seminar on Microsoft 365 Copilot, Copilot Studio, and Dynamics 365 Business Central at Microsoft office. The event was a resounding success, attracting a diverse group of participants eager to learn about the latest advancements in AI and business solutions. 

Event Highlights 

The seminar commenced with a warm welcome from our Founder and CEO, Mr. Roald Andersen. Roald introduced AccessOrange and shared inspiring success stories demonstrating how our innovative cloud and AI solutions have empowered numerous businesses to enhance efficiency, decision-making, and competitiveness. 

Microsoft Copilot and Copilot Studio 

Our team provided a live demonstration of Microsoft Copilot and introduced Copilot Studio. Participants were captivated by the capabilities of these tools, particularly how Microsoft Copilot integrates seamlessly within Microsoft 365 applications such as Word, Excel, and Teams to automate tasks and enhance productivity. Copilot Studio, a low-code/no-code platform, empowers developers and business users to create custom AI-powered workflows tailored to specific business needs. 

Updates on Dynamics 365 Business Central 

The Microsoft team presented insights into Dynamics 365 Business Central’s new AI features, highlighting their benefits for businesses. The discussion covered how AI can streamline processes, improve financial visibility, gaining insights with powerful reporting and analytics tools, and enhance supply chain operations. 

The seminar concluded with a vibrant networking session, allowing participants to exchange ideas, share experiences, and forge new connections. 

Introducing Our Dynamics 365 Business Central Package 

We are excited to introduce our exclusive 10-day Quick Start Implementation Package for Microsoft Dynamics 365 Business Central. This package is meticulously designed to help small to mid-sized businesses get up and running with Business Central effortlessly. Here are the key features of our package: 

  • Rapid Setup: A 10-day structured implementation plan ensures a quick and efficient setup. 
  • Hands-On Training: Comprehensive training sessions to ensure your team is ready and confident in using Business Central. 
  • Essential Configuration: Covers core financial, sales, and purchasing processes. 
  • Optimised for Business Growth: Business Central provides a scalable platform to support your growth. 
  • Expert Guidance: Our experienced team offers continuous support from planning through go-live. 

Scope of Quick Start Implementation Package 

Our Quick Start Implementation Package includes setting up the General Ledger for one production environment for a single legal entity, data migration, user training, and sales and purchasing go-live support. 

Additional Options Available 

For businesses with more complex needs, we offer extended options that include Inventory, Project Management, Fixed Assets, Planning, Assembly Management, Warehousing, Manufacturing, and Service Management. 

Contact Us 

Ready to get started with Dynamics 365 Business Central? Contact us at [email protected] or +852 3500 4288 for more information. 

Thank you to everyone who attended our seminar and contributed to its success. We look forward to continuing to support your business with our cutting-edge solutions and services. 

In today’s fast-paced digital world, staying ahead of the curve is essential. That’s why we’re excited to introduce the Copilot Academy, a comprehensive learning platform designed to help you master the use of Microsoft Copilot across various applications.

What is Copilot Academy?

The Copilot Academy is an innovative educational platform integrated within Viva Learning. It offers structured educational content to help users learn about, discover, and effectively use Microsoft Copilot. Whether you’re looking to enhance your productivity, streamline your workflows, or simply get the most out of your Microsoft 365 applications, Copilot Academy has got you covered.

How to Access Copilot Academy

To access the academy in Viva Learning, Users must have a Microsoft M365 Copilot license, in addition to a Viva Learning seeded or premium license.

There are two ways to access Copilot Academy – directly through the Viva Learning webapp, or from the Viva Learning Teams app by using the Academies dropdown navigation menu. Copilot Academy is available in 8 languages: English, French, German, Italian, Spanish, Portuguese, Japanese and Chinese.

Why Join Copilot Academy?

Joining Copilot Academy offers a unique opportunity to elevate your digital skills and stay competitive in today’s technology-driven workforce. By enrolling, you gain access to a wealth of resources tailored to enhance your understanding and usage of Microsoft Copilot, allowing you to maximize the potential of your Microsoft 365 suite. With expertly crafted training materials, practical exercises, and real-time support, the academy equips you with the knowledge and confidence to utilize Copilot to its fullest, ultimately transforming the way you work and collaborate.

  • Comprehensive Training: The academy provides in-depth training on how to use Copilot effectively across various Microsoft 365 applications. You’ll learn how to leverage Copilot to improve your productivity and efficiency.
  • Interactive Learning: Featuring interactive modules, hands-on exercises, and real-world scenarios, the academy ensures you gain practical experience.
  • Expert Guidance: Learn from industry experts and Microsoft-certified trainers who will share their insights and best practices.
  • Community Support: Join a community of like-minded professionals and share your experiences, tips, and success stories.

Join The Copilot Academy Today!

Don’t miss out on the opportunity to elevate your skills and transform the way you work. Join the Copilot Academy today and start your journey towards becoming a Microsoft Copilot expert.

Microsoft 365 Copilot — Apply Now —

Apply today to make your work easier and smarter.

"*" indicates required fields

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
This field is for validation purposes and should be left unchanged.

Unlocking Productivity and Value with Generative AI

Microsoft Copilot for Microsoft 365 promises to transform productivity by embedding generative AI into the daily tools we use for work. This innovation presents an exciting opportunity for businesses worldwide to streamline operations and enhance efficiency. But what is the actual return on investment (ROI) of adopting Copilot for Microsoft 365 in a global context?

Evaluating the Value of Copilot for Microsoft 365

For businesses considering the adoption of Copilot, the upfront cost is USD 360 per employee annually, or USD 30 per month when billed yearly. This may appear to be a significant investment, especially for larger organizations. However, it is essential to understand the potential savings and productivity boosts that can justify this expense.

The flexibility in purchasing licenses—without a minimum requirement—allows businesses to start with focused rollouts. This approach enables companies to measure the impact and ROI before scaling up the deployment.

Calculating the ROI of Copilot for Microsoft 365

The break-even point for investing in Copilot can be achieved with just 54 minutes of time savings per month for an employee earning an annual total cost of USD 70,000 (approximately USD 5,833 per month). This total cost includes not just the base salary but also overheads, payroll taxes, and other ancillary costs.

Here’s how to calculate the ROI:

  1. If an employee costs the company USD 70,000 per year (about USD 5,833 per month), the company needs to see if the employee can save enough time to cover the monthly cost of Copilot, which is USD 30.
  2. If this employee saves just 1 hour per month using Copilot, the company gets a 12% return on investment (ROI).
  3. If the employee saves 1.5 hours per month, they get a 68% ROI.
  4. Saving 2 hours per month translates to a 124% ROI.
  5. And saving 2.5 hours per month results in a 180% ROI.

So, essentially, even small-time savings can significantly justify the cost of Copilot, especially for employees with higher costs to the company.

The Higher the Annual Cost of an Employee – The Higher the ROI

Copilot’s value becomes even more apparent for higher-paid employees who save more time on routine tasks. For example, an employee with an annual total cost of USD 150,000 (hourly cost of approximately USD 75):

– 140% ROI if they save 1 hour a month.

– 261% ROI if they save 1.5 hours a month.

– 381% ROI if they save 2 hours a month.

– 501% ROI if they save 2.5 hours a month.

Are the Time Savings Realistic?

Research from the Boston Consulting Group (BCG) and Harvard, along with early adoption reports from Microsoft, supports the significant time savings Copilot can bring. Key findings include:

  • Consultants at BCG completed 12.2% more tasks on average and 25% quicker using AI.
  • The quality of work was 40% higher compared to those who did not use AI.
  • Early adopters within Microsoft reported:
  • 87% increased productivity.
  • 79% focused more on important tasks.
  • 81% reduced time spent searching for information.
  • 1 in 3 saved more than 30 minutes per day.

Additional research highlights Copilot’s impact across various business environments:

  • Email Management:

– Professionals using Copilot to draft and respond to emails save 3-8 minutes per email, significantly reducing the time spent on daily communication.

  • Meeting Summarization:

– Copilot’s ability to summarize meetings allows employees to quickly review key points and action items, improving follow-up efficiency and reducing the need for extensive note-taking.

  • Report Generation:

– Financial analysts and project managers benefit from Copilot’s report generation capabilities, experiencing a 35% increase in the speed of financial forecasting and project updates, respectively.

  • Customer Service:

– Automated customer service responses powered by Copilot lead to a 50% reduction in call resolution times, enhancing customer satisfaction and freeing up representatives for more complex issues.

  • Data Analysis:

– Business analysts using Copilot for data analysis report a significant reduction in time spent on data manipulation and interpretation, allowing them to focus on strategic decision-making.

  • Administrative Tasks:

– Copilot helps reduce administrative workload, such as scheduling and document preparation, allowing employees to dedicate more time to core business activities.

These examples underscore Copilot’s versatility and effectiveness in enhancing productivity, accuracy, and efficiency across various business functions.

Conclusion

The data from early adopters of Copilot for Microsoft 365 and the broader use of Generative AI highlights a clear ROI for organizations. The greatest returns will come from leveraging the time savings to innovate and add value for customers. In these early stages, the personal productivity gains alone make Copilot a worthwhile investment, promising to revolutionize the way businesses operate.

In summary, here are the key advantages of using Copilot:

  • Time Savings: Copilot significantly reduces the time required to perform routine tasks such as summarizing meetings, creating reports, drafting emails, and more. This allows employees to focus on more strategic activities that add value.
  • Increased Efficiency: By automating repetitive tasks, Copilot helps streamline workflows and processes, leading to higher efficiency and better utilization of resources.
  • Enhanced Productivity: With routine tasks taken care of, employees can dedicate more time to creative and high-impact work, boosting overall productivity and job satisfaction.
  • Improved Accuracy: Copilot minimizes human errors by providing consistent and accurate outputs, ensuring higher quality work and reducing the need for revisions.
  • Seamless Integration: Copilot integrates seamlessly with existing Microsoft 365 tools, making it easy for employees to adopt and start benefiting from its capabilities immediately.

By leveraging these advantages, organizations can unlock new levels of performance and innovation, driving growth and success in today’s competitive landscape.

 

In Dynamics 365 Sales, duplicate detection exists but only works at an individual level, for example, when a lead is converted or a new account is created.

Unfortunately, there’s no out-of-the-box solution to automatically detect duplicates in bulk across the system. This limitation can lead to data inaccuracies, especially as your organization grows.

To overcome this challenge, I created a Power Automate flow that finds and merges duplicate accounts automatically.

In this article, I’ll walk you through how to create this flow, and you can adapt it for your own needs.

Flow overview:

(Apologies, I have not renamed some of the foreach and conditions, but I think you will understand 🙂 )

Step-by-Step Guide to Creating the Flow

Step 1: Set up the Trigger

The first step is to set up the trigger for the flow. We want this flow to run on a regular schedule to detect duplicates. Use the Recurrence trigger to specify how frequently the flow should run (e.g., daily or weekly).

Step 2: Query Accounts from Dataverse

Next, add an action to list all accounts from the Dataverse. This will retrieve all active accounts so that we can compare them and detect duplicates.

  • Action: Use List Rows from the Dataverse connector.
  • Filter: You can filter for only active accounts or specific criteria that make sense for your business.
  • Also initialize the variable Duplicates here as an array

Step 3: Identify Duplicate Accounts

Once the accounts are retrieved, you need to compare the names or other unique fields to detect duplicates.

  • Use a loop to go through each account and check for duplicate names.
  • Clear the array variable Duplicates
  • Implement a condition in the flow to identify if two or more accounts share the same name.

The Replace() is used to fix the acounts that have the character inside their name, to not break the odata filter.

Condition:

and(greater(length(outputs(‘List_rows_2’)?[‘body/value’]), 1))
If any duplicate is found (YES under condition), add the Account ID to the Duplicates array

Step 4: Merge the Duplicates

Once duplicates are identified, use Dataverse’s Unbound Action to merge the duplicate accounts. The unbound action allows you to merge records within Dataverse without having to handle the data manually.

  • Action: Use the Perform Unbound Action step from the Dataverse connector.
  • Target: The original account and the duplicate account.

Condition 3: (meaning one or more duplicates have been found)

length(variables(‘Duplicates’))
If YES, then take the first and the last account:
(Because you can only merge 2 accounts at the same time)
Get the first Account:
Get the last duplicated account:
Send me an email notification, and then do an Unbound Action (Merge):
That’s it, our entire flow is ready:
AccessOrange is a leading Microsoft Partner that specializes in Microsoft 365, Dynamics 365 and Azure to help our customers work smarter.
If you need help with building this flow in your own environment, leave your contact information below, and we will contact you as soon as possible.

"*" indicates required fields

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
This field is for validation purposes and should be left unchanged.

In this blog post, I’ll show you how to create a solution in Dynamics 365 that automatically ensures the Opportunity currency matches the Account currency.

I wrote this solution as I got so frustrated that when you create an opportunity in Dynamics 365 Sales, that the currency is not automatically set to the correct currency. Instead it goes to the default currency as set in the system, which will create all sort of problems when you are working in a multi region sales team. (selection of wrong currencies, quote then cannot use the correct currency, etc)

This solution will use JavaScript to retrieve and compare these values, and if they don’t match, update the Opportunity currency to reflect the Account’s currency. Additionally, we’ll publish this solution and configure it to run seamlessly within Dynamics 365.

Prerequisites

Before you begin, ensure you have the following:

  • Administrator access to Dynamics 365.
  • Basic understanding of JavaScript and Dynamics 365 customization.

Let’s break down the process step-by-step.

Step 1: Create a New Solution in Dynamics 365

The first step is to create a solution to contain your custom JavaScript logic and publish it into Dynamics.

  1. Navigate to Power Platform Admin Center:
    • Go to your Dynamics 365 environment.
    • Click on the gear icon and select Advanced Settings.
    • In the settings area, click on Solutions.
  2. Create a New Solution:
    • Click New to create a new solution.
    • Enter details such as:
      • Display Name: Opportunity-Account Currency Sync.
      • Publisher: Select or create a new one.
      • Version: Start with 1.0.0.0.
  3. Add the Opportunity Entity to the Solution:
    • In the solution editor, click on Add ExistingEntityOpportunity.
    • This allows us to add custom logic to the Opportunity entity form.

Step 2: Write the JavaScript for Currency Sync

Next, we’ll write the JavaScript code to compare the Opportunity and Account currency and update the Opportunity currency if they don’t match.

  1. Create a Web Resource for JavaScript:
    • In the solution, navigate to Web Resources and click New.
    • Select JavaScript (JScript) as the type, and name it currencySync.js.
    • Paste the following JavaScript code into the web resource:
    • function getDetailsFromOpportunity(executionContext) {
      var formContext = executionContext.getFormContext();
      
      // Check if the Opportunity has been saved (i.e., it has an ID)
      var opportunityId = formContext.data.entity.getId();
      if (!opportunityId) {
      console.log("This is a new opportunity. The record has not been saved yet.");
      return; // Exit the function if it's a new, unsaved Opportunity
      }
      
      // Proceed with the currency check if the Opportunity is not new
      opportunityId = opportunityId.replace("{", "").replace("}", "");
      
      // Get the Account (Customer Field) from the Opportunity
      var accountLookup = formContext.getAttribute("parentaccountid"); 
      if (accountLookup != null && accountLookup.getValue() != null) {
      var account = accountLookup.getValue()[0]; 
      var accountId = account.id;
      
      // Retrieve the statuscode and compare currencies only if the opportunity is open
      Xrm.WebApi.retrieveRecord("opportunity", opportunityId, "?$select=statuscode").then(
      function success(result) {
      var opportunityStatus = result.statuscode; 
      if (opportunityStatus === 1) { 
      console.log("Opportunity is open. Proceeding with currency check.");
      
      // Retrieve the currency from the related Account
      Xrm.WebApi.retrieveRecord("account", accountId, "?$select=transactioncurrencyid&$expand=transactioncurrencyid($select=currencyname)").then(
      function success(result) {
      if (result.transactioncurrencyid != null) {
      var accountCurrencyId = result.transactioncurrencyid.transactioncurrencyid.toLowerCase(); 
      
      // Get the Currency field from the Opportunity
      var opportunityCurrencyLookup = formContext.getAttribute("transactioncurrencyid"); 
      if (opportunityCurrencyLookup != null && opportunityCurrencyLookup.getValue() != null) {
      var opportunityCurrency = opportunityCurrencyLookup.getValue()[0]; 
      var opportunityCurrencyId = opportunityCurrency.id.replace("{", "").replace("}", "").toLowerCase(); 
      var opportunityCurrencyName = opportunityCurrency.name; 
      console.log("Opportunity Currency Name: " + opportunityCurrencyName + " | Currency Id: " + opportunityCurrencyId);
      
      // Compare the Opportunity currency with the Account currency
      if (accountCurrencyId !== opportunityCurrencyId) {
      console.log("Currencies do not match. Updating Opportunity currency to match Account currency.");
      
      // Update the Opportunity currency to match the Account currency
      formContext.getAttribute("transactioncurrencyid").setValue([{
      id: accountCurrencyId, 
      name: result.transactioncurrencyid.currencyname, 
      entityType: "transactioncurrency"
      }]);
      
      // Save the form after the currency is updated
      formContext.data.entity.save();
      } else {
      console.log("Currencies match. No update required.");
      }
      } else {
      console.log("No currency is associated with this opportunity.");
      }
      }
      },
      function(error) {
      console.log("Error retrieving account currency: " + error.message);
      }
      );
      } else {
      console.log("Opportunity is not open. No currency update will be performed.");
      }
      },
      function(error) {
      console.log("Error retrieving opportunity status: " + error.message);
      }
      );
      } else {
      console.log("No account is associated with this opportunity.");
      }
      }
  2. Save and Publish the Web Resource:
    • Click Save and then Publish the web resource.

Step 3 : Add the JavaScript to the Opportunity Form for the Account Field onChange Event

In addition to loading the script when the form is loaded, we’ll also trigger it when the Account field is changed by the user.

1. Go to the Opportunity Form Editor:

  • In the solution editor, select the Opportunity entity, and click on Forms.
  • Open the Main form for editing.

2. Add the JavaScript Web Resource to the Form (if not already added):

  • If you’ve already added the currencySync.js web resource in the previous steps, you don’t need to do this again.
  • If not, click on Form PropertiesForm LibrariesAdd, and select the currencySync.js web resource.

3. Attach the Function to the Form Load Event (if not already done):

  • In the Event Handlers section under Form Properties, add the function as before for the OnLoad event.
  • Make sure to set the correct event handler details:
  • Do the same for On Save, so when the opportunity is saved, the function will check if the currency needs to be updated.

4. Attach the Function to the Account Field onChange Event:

  • In the Form Editor, locate the Account field (which is the parentaccountid field in Dynamics).
  • Double-click on the Account field, or select it and click Change Properties.
  • Go to the Events tab of the field properties.
  • Under Field Events, click Add.
  • In the Library dropdown, select the currencySync.js library (if not already added).
  • In the Function Name field, enter getDetailsFromOpportunity (the same function name as used for the onLoad event).
  • Uncheck the box that says “Pass execution context as the first parameter,” if it’s checked.
  • Click OK to save the event handler for the Account field’s onChange event.

5. Save and Publish the Form:

  • Save the changes made in the form editor.
  • Click Publish to make the changes live in Dynamics 365.

Testing the onChange Event

Now, your JavaScript function will be triggered both when the Opportunity form loads and when the Account field is changed.

Test the Functionality:

  1. Open an Opportunity in Dynamics 365.
  2. Change the Account value, and ensure that the script compares the Opportunity currency with the new Account currency.
  3. If the currencies don’t match, the Opportunity currency should update automatically.

Have any questions on this script, or happy that it worked for you? Leave a comment below!

AccessOrange is a leading Microsoft Partner that specializes in Microsoft 365, Dynamics 365 and Azure to help our customers work smarter.
If you need help with building this solution in your own environment, leave your contact information below, and we will contact you as soon as possible.

"*" indicates required fields

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
This field is for validation purposes and should be left unchanged.