Category Archives: Blog
How a Netherlands-Based Nonprofit Achieved Global Scalability with Microsoft Dynamics 365 CRM and Power Platform
Summary A Netherlands-based non-profit sustainability certification organisation reduced manual certification configuration time from hours to mere seconds using Microsoft Power Apps, implemented by CloudFronts. CloudFronts configured a multi-level assessment framework ā Scope, Category, Requirement, Criteria ā to automate 100% of assessment generation based on user-selected certification types and versions. The solution integrated Microsoft Power Apps with Azure Blob Storage to provide a secure, centralised repository for thousands of pieces of certification evidence, linked directly to each requirement record. Microsoft Dynamics 365 Customer Service was configured to streamline global applicant inquiries with automated case routing across Marketing, Finance, and Info queues. Business impact: eliminated manual configuration errors, provided real-time progress visibility for global applicants, and established a scalable digital foundation for global circular economy standards. Table of Contents 01 Summary 02 Introduction 03 The Business Problem 04 The Solution 05 Implementation 06 Business Impact 07 FAQs 08 Conclusion Introduction In a world where manufacturers and brands are under increasing pressure to prove the sustainability credentials of their products, the rigour and speed of certification processes can directly determine an organisation’s ability to scale its global mission. For certification bodies operating across multiple geographies, managing assessments, evidence, and applicant communication through fragmented manual processes is a bottleneck that no amount of headcount can solve. For one Netherlands-based non-profit at the forefront of the global circular economy movement, this bottleneck was real and growing. Their certification programme, built on a rigorous multi-level standard covering material safety, circularity, and responsible production, was being administered through massive Excel files, disconnected email threads, and manual document searches. This blog documents how CloudFronts partnered with this organisation to replace those fragmented processes with a unified, automated certification platform built on Microsoft Power Apps, Azure Blob Storage, Dynamics 365 Customer Service, and Power Automate, reducing certification setup time from hours to under thirty seconds. The Business Problem The organisation operates as the leading global authority on circular economy certification, serving manufacturers and brands worldwide. Their certification programme evaluates products across categories like Material Health and Circularity, across multiple standard versions ā v3.1 and v4.1 ā each with its own hierarchy of scopes, categories, requirements, and criteria. Before partnering with CloudFronts, this complexity was managed almost entirely by hand: Each new certification application required assessors to manually configure assessment structures from sprawling Excel files with hundreds of rows, a process that took two to four hours per applicant. Supporting evidence such as product test reports, material declarations, and third-party certificates was stored without a structured system, making retrieval slow and validation unreliable. Neither applicants nor internal assessors had real-time visibility into application status or outstanding requirements, creating persistent communication delays. Managing different certification versions across different scopes manually made scaling the programme globally nearly impossible without proportionally growing the team. The organisation needed a platform that could encode their complex certification logic, automate the heavy lifting of assessment generation, and give every stakeholder a single, reliable view of the certification pipeline. The Solution CloudFronts implemented a comprehensive digital certification ecosystem anchored by a custom Microsoft Power Apps application ā the Certification Manager. The platform automates the core logic of the certification standard end-to-end, from application intake through assessment generation, evidence management, and case resolution. Key Components Microsoft Power Apps Core Certification Manager application handling applications, multi-level assessments, and the applicant-facing UI. Azure Blob Storage Secure, centralised repository for all certification evidence, linked directly to individual requirement records. Dynamics 365 Customer Service Configured to streamline global applicant inquiries with automated case routing across Marketing, Finance, and Info queues. Microsoft Power Automate Automation layer handling document upload workflows and notification triggers throughout the certification lifecycle. How It Works, At a Glance The centrepiece of the solution is a version-driven automation engine. When an assessor creates a new certification application and selects the standard version and scope, the backend logic automatically generates the complete assessment structure ā all categories, requirements, and criteria ā without any manual configuration. What previously took hours now takes under thirty seconds. A custom HTML-based interface within Power Apps provides visual progress indicators, allowing assessors to track completion rates across requirements at a glance. All supporting evidence is stored in Azure Blob Storage and linked directly to the specific requirement record it supports, creating a fully auditable, ISO 17065-compliant evidence trail. Implementation 1 Step 1 Certification Scheme Definition and Version Logic The foundation of the platform is the Certification Scheme Definition module. CloudFronts built a backend logic engine that stores the full structure of each certification version including all scopes, categories, requirements, and criteria as configuration data rather than hardcoded templates. When a user selects a version and scope combination, this engine automatically pulls the correct downstream structure and generates it on the application record. Updates to global standards can be deployed instantly by updating the configuration, with no changes to the application logic required. The four-level assessment hierarchy: Scope, Category, Requirement, Criteria is the structural backbone of the entire certification standard, now encoded directly into the platform. 2 Step 2 Automated Assessment Generation Once the version and scope are selected on a new application, the platform’s automation engine generates the full assessment structure in under thirty seconds, replacing a manual Excel-driven process that previously took two to four hours per applicant. The generated assessment is displayed through a custom HTML interface inside Power Apps, with visual progress indicators showing completion rates at the category and requirement level. Assessors can immediately see which requirements are outstanding, which have linked evidence, and which are ready for review. 3 Step 3 Evidence Management via Azure Blob Storage A core architectural decision was to decouple evidence storage from the Power Platform’s native Dataverse storage. CloudFronts integrated Azure Blob Storage as the document repository, with each uploaded file linked directly to the specific requirement record it supports within Power Apps. This approach delivers high-performance scalability for large evidence files while significantly reducing long-term storage costs compared to storing files natively in Dataverse. Power Automate flows handle upload automation and trigger notifications … Continue reading How a Netherlands-Based Nonprofit Achieved Global Scalability with Microsoft Dynamics 365 CRM and Power Platform
Share Story :
Overcoming Zoho API Limitations in Payroll Automation for a Global Hardware Manufacturer
Summary This blog highlights how Azure Logic Apps was used to overcome a critical API limitation encountered during the integration of Zoho People with FNO for payroll management. During the implementation for a global manufacturing hardware enterprise, we discovered that Zoho’s API allows a maximum of 200 records to be fetched in a single request. While this limitation may not impact smaller organizations, it creates significant challenges for enterprises managing large employee datasets. To address this issue, a scalable Azure Logic Apps solution was developed that dynamically retrieves records in batches, consolidates the results, and returns a complete dataset for downstream processing. This blog explains: Table of Contents 1. Customer Scenario During the implementation of a payroll integration between Zoho People and FNO, employee master data needed to be synchronized automatically to support payroll processing. The organization maintained a large workforce within Zoho People, and payroll operations depended on accurate employee data being transferred to downstream systems. As the integration design progressed, a significant limitation was identified within Zoho’s API framework. The API could return a maximum of 200 records per request. For organizations with hundreds or thousands of employees, this restriction created a challenge in retrieving complete employee datasets efficiently. 2. Business Challenge The integration required access to the full employee dataset from Zoho People. However, the following challenges emerged: Limited API Response Size Zoho’s API only returns 200 records per request. Large Employee Dataset The organization maintained significantly more than 200 employee records. Manual Pagination Not Feasible Static API calls would require manual intervention or complex custom development. Scalability Concerns As employee counts continued to grow, the solution needed to support future expansion without requiring redesign. The objective was to create a scalable and automated mechanism capable of retrieving all employee records regardless of volume. 3. Integration Architecture The solution architecture follows a simple but highly scalable pattern. Process Flow 4. Configuration Steps Step 1: Add HTTP Trigger Step 2: Initialize Variables Step 3: Do Until Loop Step 4: HTTP Request Action Step 5: Output Variable Step 6: Compose Variable Step 7: Append to Array Variable Step 8: Set Variable Step 8: Increment Variable Step 9: Add Response Trigger 5. Why Azure Logic Apps? Azure Logic Apps was instrumental in creating a flexible and efficient solution. Key capabilities that made Logic Apps the ideal choice included: Dynamic Variable Management Allows runtime manipulation of counters and arrays. Scalable Workflow Execution Supports large datasets without requiring custom application development. Native API Integration Provides seamless connectivity with REST-based services. Low-Code Development Accelerates implementation and simplifies maintenance. Enterprise Reliability Offers monitoring, logging, and error-handling capabilities required for production environments. 6. Outcome The final solution successfully overcame Zoho’s API record limitation. The Logic App automatically: This approach ensured the success of the Zoho-FNO integration while maintaining scalability for future business growth. 7. Business Impact 1] Fully Automated Data Retrieval Employee data is retrieved without manual intervention. 2] Improved Scalability The solution can support organizations with thousands of employee records. 3] Reduced Development Complexity Logic Apps eliminated the need for extensive custom coding. 4] Faster Integration Processing Data retrieval occurs efficiently through automated pagination. 5] Improved Reliability Built-in monitoring and error handling improve operational stability. 6] Future-Proof Architecture The solution continues to perform effectively as employee counts grow. To conclude, Integration projects often reveal platform-specific limitations that require creative problem-solving. In this implementation, Zoho’s 200-record API limitation had the potential to impact payroll synchronization for a growing workforce. By leveraging Azure Logic Apps, we developed a scalable and automated solution capable of dynamically retrieving and consolidating employee data regardless of record volume. The solution not only resolved the immediate challenge but also established a reliable and future-ready integration framework capable of supporting continued organizational growth. For organizations facing similar API limitations, Azure Logic Apps provides a powerful platform for building scalable, low-code integration solutions that simplify complex data processing requirements.
Share Story :
Payroll Transformation for a Global Hardware Manufacturer Using Zoho People and Finance & Operations
As businesses scale, payroll complexity grows bringing challenges around employee data, attendance, compensation structures, and compliance. Manual processes not only consume valuable time but also increase the risk of costly errors. The Zoho People-FNO integration transforms payroll into a streamlined, automated process, ensuring accurate salary calculations, seamless data synchronization, and complete transparency across HR and finance operations. We recently implemented this solution for a global manufacturing hardware enterprise, enabling them to automate payroll workflows, eliminate manual data reconciliation, improve payroll accuracy, and reduce administrative overhead. The integration provided a scalable foundation for managing a growing workforce while maintaining compliance and enhancing the employee experience through faster, more transparent payroll processing. For organizations focused on operational efficiency and sustainable growth, this integration delivers measurable business value from day one. Understanding the Architecture of Zoho and FNO Integration The integration between Zoho People and FNO involves a clear, structured workflow. Below is an overview of the steps involved: This architecture ensures a smooth flow of data between Zoho and FNO, simplifying payroll management for businesses of all sizes. Key Advantages of Zoho and FNO Integration The integration between Zoho People and FNO streamlines payroll management, providing several key benefits: Effortless Payroll Management for Growing Businesses To conclude, efficient payroll management is essential for any growing business. By integrating Zoho People with FNO, businesses can automate payroll processes, ensure accurate calculations, and provide employees with easy access to their payslips. The seamless data flow, real-time updates, and reduced manual intervention significantly improve operational efficiency and transparency. If youāre ready to optimize your payroll system, now is the time to take action. Embrace the Zoho and FNO integration to simplify your processes, reduce errors, and create a transparent payroll system that benefits both your employees and your organization. Contact us today to learn how this integration can simplify your payroll management process. Reach out at transform@cloudfronts.com.
Share Story :
Managing Complex Warranty and Replacement Requests with Dynamics 365 Multi-Stage Business Process Flows for a North American Appliance Brand
Are You Struggling to Understand Where Your Customer Cases Stand? As appliance brands grow, managing customer service requests becomes increasingly complex. Warranty claims, replacement requests, product issues, and customer inquiries can quickly overwhelm teams if there isnāt a structured process in place. Have you ever found yourself asking: āWhere is this case right now?ā It sounds like a simple question, yet in many organizations, finding the answer requires checking multiple systems, following up with different teams, or waiting for updates from customer service representatives. The issue isnāt a lack of effort; itās a lack of visibility. Most customer service systems rely on a handful of generic case statuses such as Open, In Progress, or Closed. While these statuses indicate whether a case is active, they reveal very little about what is actually happening behind the scenes. For appliance manufacturers, a customer service case often involves much more than a support ticket. Warranty validation, product registration checks, troubleshooting, replacement approvals, shipping coordination, and customer follow-ups all form part of the resolution journey. This is where Multi-Stage Business Process Flows (BPFs) in Microsoft Dynamics 365 can make a significant difference. Why Traditional Case Management Falls Short Imagine a customer contacts support because their toaster is no longer heating properly. A standard ticketing process may record the issue and mark the case as āIn Progress.ā A single status value cannot answer these questions. As a result, service teams spend time chasing updates, managers struggle to identify bottlenecks, and leadership lacks visibility into where cases are getting delayed. Example: Imagine two cases both marked as āIn Progress.ā From a traditional status perspective, both cases appear identical. With a Multi-Stage BPF, the difference becomes immediately visible, enabling managers to prioritize actions and allocate resources more effectively. A Better Approach: Multi-Stage Business Process Flows A Business Process Flow (BPF) in Dynamics 365 provides a guided framework that moves a case through predefined stages. Each stage can contain mandatory fields, validations, and business rules, ensuring that critical information is captured before the case progresses further. Rather than relying on a single status value, organizations gain visibility into exactly where a case sits within the overall service journey. For a premium appliance manufacturer, a typical service case might progress through the following stages: Bringing Structure to the Appliance Service Journey A Multi-Stage Business Process Flow transforms a case from a simple ticket into a clearly defined process. Instead of tracking a case using one status field, the case progresses through a series of business stages that mirror the real-world workflow. For example, a warranty replacement case for a defective toaster may move through stages such as: 1. ID & Research ā Customer Information The service team captures and validates customer information, product registration details, serial number, purchase source, warranty eligibility At this stage, the goal is to verify that the claim is legitimate and gather all required information. 2. Receiving The returned product is reviewed and inspected. Teams can confirm receipt of the item, validate the reported issue, document inspection findings This ensures that decisions are based on actual product conditions rather than assumptions. 3. Accounting Before a replacement is issued, financial and operational reviews may be required. Activities can include warranty claim validation, credit approvals, replacement authorization, internal accounting reviews This creates accountability while maintaining process consistency. 4. Shipping Once approved, the replacement process moves into fulfillment. Required information may include tracking number, shipping date, return label status, logistics confirmation At this stage, the customer is actively waiting for their replacement product. 5. Resolve Case Once delivery is confirmed and the customer is satisfied, the case can be formally closed. The entire service journey is documented from start to finish. A Real-World Customer Story Imagine Sarah purchased a toaster a few months ago and suddenly found that it stopped heating. She contacts customer support expecting a quick resolution. Behind the scenes, her request needs to pass through product verification, warranty validation, inspections, approvals, and shipping before a replacement reaches her doorstep. Without a structured process, delays can occur at any stage, leaving both the customer and support teams frustrated. With a Multi-Stage BPF, every step is visible, tracked, and managed, ensuring the case continues moving forward while providing clarity to both employees and customers. Why This Matters for Leadership The biggest benefit of Multi-Stage BPFs is not just process controlāitās visibility. When cases are tracked by stage, leaders can quickly identify where delays are occurring. For example: Instead of simply knowing that cases are open, leaders gain insight into why they are still open. This makes it easier to make informed decisions and address bottlenecks before they impact customer satisfaction. Why We Believe in Structured Service Management At CloudFronts, weāve worked with organizations looking to streamline customer service operations using Dynamics 365. One common challenge we consistently encounter is the lack of visibility into the lifecycle of customer requests. Through our implementations and observations, weāve found that Multi-Stage Business Process Flows help organizations bring structure, accountability, and transparency to service operations while improving the overall customer experience. More importantly, they help leadership teams move from reactive case management to proactive service management. Better Accountability Across Teams Customer service cases often involve multiple departments. Without a structured process, itās easy for tasks to fall through the cracks during handoffs. A Multi-Stage BPF helps ensure that each team completes its responsibilities before the case moves forward. Required information can be captured at each stage, creating consistency across the organization while also improving data quality. Most importantly, everyone involved knows exactly what needs to happen next. Improving the Customer Experience Customers donāt care which internal department owns the next step. They simply want their issue resolved quickly and efficiently. By providing a clear, structured process, organizations can reduce delays, improve communication, and deliver a more consistent customer experience. For appliance brands, where warranty claims and replacement requests can directly influence customer loyalty, these improvements can have a significant impact. Final Thoughts A customer service case is rarely just a ticket. Behind every … Continue reading Managing Complex Warranty and Replacement Requests with Dynamics 365 Multi-Stage Business Process Flows for a North American Appliance Brand
Share Story :
From Quote to Signed Contract in Minutes: Automating DocuSign Integration for an Australia-Based Commercial Laundry Services Company
From Quote to Signed Contract in Minutes | Cloudfronts DocuSign Blog Summary Automated end-to-end contract generation and digital signing for an Australia-based commercial linen and garment services company using Dynamics 365 Sales, Power Automate, and DocuSign. Eliminated manual contract preparation and PDF email workflows, replacing them with a one-click process triggered directly from the Dynamics 365 Quote record. Integrated DocuSign envelope creation, recipient assignment, and signature tab placement ā all orchestrated through Power Automate cloud flows. Enabled real-time contract status tracking and automatic archival of signed PDF contracts back into SharePoint, linked directly to the originating Quote. Reduced contract turnaround time from days to hours, allowing the sales team to focus on customer relationships rather than administrative paperwork. Delivered a seamless customer experience ā recipients receive a professionally formatted DocuSign email and can sign digitally from any device. Table of Contents 01 Summary 02 Introduction 03 The Business Problem 04 The Solution 05 Implementation 06 Business Impact 07 FAQs 08 Conclusion Introduction In industries where service agreements govern weekly delivery schedules, pricing structures, and compliance obligations, the speed and accuracy of contract execution can directly impact revenue and customer satisfaction. For commercial textile and linen services businesses in Australia, every signed contract represents a new route, a new customer, and a new revenue stream. Yet for many organisations, the final leg of the sales journey ā converting an approved quote into a signed, legally binding contract ā remains a surprisingly manual, error-prone process: exporting Word documents, emailing PDFs, chasing signatures, and manually filing returned documents. This blog documents how we at Cloudfronts transformed that process for a leading Australian commercial linen and garment services provider ā deploying a fully automated DocuSign integration within Microsoft Dynamics 365 and Power Automate to take contracts from generation to signature without any manual intervention. The Business Problem Our client operates across multiple depots in Australia, servicing hotels, aged care facilities, hospitality venues, and healthcare providers with regular linen and garment delivery contracts. Their sales team works within Dynamics 365 Sales Hub, managing quotes that detail complex pricing, delivery schedules, weight-based charges, and product schedules. Before the integration, the contract signing process looked like this: A sales representative would generate a contract Word document from a template. The document was manually reviewed and converted to PDF. The PDF was emailed to the customer’s contact for signature. The customer would print, sign, scan, and return the document. The signed document would be manually uploaded to SharePoint and linked to the quote. This process introduced several critical pain points: Delays of 3ā7 business days waiting for customer signatures. Inconsistent document versions being sent to customers. No visibility into whether a contract had been opened, reviewed, or signed. Risk of lost or misplaced signed documents. Significant administrative burden on the sales team. The business needed a solution that was seamless for both their internal team and their customers ā something that could be triggered with a single action and would handle everything from document preparation to legally valid digital signature collection and storage. The Solution We designed and implemented a fully automated contract signing workflow that integrates Dynamics 365 Sales, Microsoft Power Automate, SharePoint, and DocuSign. The solution covers the entire lifecycle of a contract ā from generation to signing to archival. Key Components Dynamics 365 Sales HubCentral system for quote and customer management. Power AutomateOrchestration layer connecting Dynamics 365, SharePoint, and DocuSign. SharePointDocument storage for generated and signed contracts. DocuSignDigital signature platform for legally binding contract execution. How It Works ā At a Glance The solution is driven by two connected Power Automate flows: Send Contract Flow ā Triggered manually from the Dynamics 365 Quote record. Retrieves the contract document from SharePoint, creates a DocuSign envelope, adds the contract document and recipient, places signature/name/date tabs, and sends the envelope. Receive Signed Contract Flow ā Triggered automatically when the DocuSign envelope is completed. Retrieves the signed PDF from DocuSign and saves it to the same SharePoint folder, linking it back to the quote for a complete audit trail. Implementation 1 Step 1 Generate the Contract from Dynamics 365 The process begins in the Dynamics 365 Sales Hub on an approved Quote record. The sales representative clicks the Create Contract button in the command bar. This action triggers a workflow that generates a Service Contract Word document using the quote data and saves it to a dedicated Contracts folder in SharePoint, organised under the Quote number. Once generated, a confirmation dialog appears prompting the user to Open Contract for review before sending. The contract document is auto-named with the Quote ID and a timestamp, ensuring version control and traceability. 2 Step 2 Send the Contract for Signing After reviewing the document, the representative clicks Send Contract from the same Quote record. This triggers the main Power Automate flow ā To send Contract Document to Customer for DocuSign. The flow executes the following steps: Compose Quote ID ā Extracts and formats the Quote identifier. Get document location related to quote ā Uses a FetchXML query against the SharePoint Document Location entity in Dataverse to locate the correct SharePoint folder linked to the Quote. Get Quote, Get Customer, Get Contact ā Retrieves the customer’s full name and email address from Dynamics 365 for use as the DocuSign recipient. Initialise variables ā Sets up Envelope ID, Recipient ID, and Parent Site location for downstream use. Iterate and locate the contract file ā Loops through the SharePoint document library, resolves parent locations, retrieves file content, properties, and metadata. Create DocuSign Envelope ā Creates an envelope with the subject line ‘DocuSign: Review & Sign the Contract Document’ and a personalised email body addressed to the customer contact. Add Document to Envelope ā Attaches the contract Word document (encoded as Base64) to the envelope as a DOCX file. Add Recipient ā Adds the customer contact as a signer with their full name and email from Dynamics 365. Add Signature Tabs ā Places signature & other fields expaected to be filled by the recipient on … Continue reading From Quote to Signed Contract in Minutes: Automating DocuSign Integration for an Australia-Based Commercial Laundry Services Company
Share Story :
How a Netherlands-Based Non-Profit Transformed Certification Management with Dynamics 365 and Azure Functions
Sustainability certification is one of the most operationally demanding programs a nonprofit can run. It is not just a badge on a product, it is a multi-year, multi-stakeholder process involving manufacturers, independent assessment bodies, scoring frameworks, document issuance, and public transparency requirements. When you are managing thousands of products across global industries, the cracks in a manual, spreadsheet-driven operation show up fast. This is exactly the situation a Netherlands-based nonprofit found itself in. The organization administers a globally recognized product sustainability certification program, assessing products across five dimensions: material health, product circularity, clean air and climate protection, water and soil stewardship, and social fairness. Products move through certification levels Bronze, Silver, Gold, and Platinum across a lifecycle that spans application, third-party assessment, issuance, and periodic recertification every three years. As certification volumes grew, so did the operational complexity. Disconnected tools, manual document preparation, and no single place to track everything meant the team was spending more time managing the process than running it. Rather than bolt on yet another external tool, the organization made a deliberate architectural choice: build the entire certification management platform inside Microsoft Dynamics 365, extend it with Azure Function Apps for automation, and expose public APIs for ecosystem transparency. The Goal Build a unified, scalable certification lifecycle management system inside Dynamics 365 that automates document generation, manages logo assets, and exposes public APIs for published certification data ā all without introducing new platform dependencies. The Business Problem To understand what was built, you first need to understand what was broken. The organization’s operational teams were trying to answer some fairly fundamental questions every single day ā What is the current certification status of a given product? Which products are approaching their recertification deadline? Which assessment body certified a product and when? Is the certificate document ready for issuance? None of these questions had a reliable, centralized answer. Certification records lived across disconnected spreadsheets and email threads, which meant any “current” view of a product’s status was only as accurate as the last person who updated a row. Certificate documents were manually composed for every issuance a slow, error-prone process that created formatting inconsistencies and delayed the experience for certified manufacturers. Logo assets were managed informally, with no version control or consistent delivery process. No Single Source of Truth Certification records scattered across spreadsheets and email threads with no reliable current view. Manual Document Creation Every certificate composed by hand slow, inconsistent, and a bottleneck manufacturers felt directly. Zero Public Transparency External stakeholders relied on manually updated static pages with no programmatic access to live data. Unscalable Operations Growing program volumes with no automation meant every new product added to the manual workload. The Solution Architecture The platform was designed around one principle: build close to where the operational data already lives, and automate at the right trigger points rather than everywhere at once. The solution runs on three deliberate layers. Critically, this architecture avoided over-engineering entirely ā no separate data warehouse, no heavy ETL pipeline, no dedicated certification SaaS platform requiring its own licensing and maintenance. Everything runs inside the Microsoft ecosystem. 1 Data Layer ā Custom Dynamics 365 Tables Purpose-built Dataverse tables that mirror the certification domain exactly, products, certification events, assessment bodies, category scores, and logo assets all in a single relational, auditable structure. 2 Automation Layer ā Azure Function Apps, Dynamics Plugins Two event-driven Function Apps sit alongside the CRM one for certificate document generation, one for logo package delivery, both triggered by real state changes in the certification lifecycle, not a schedule. 3 Transparency Layer ā Public REST APIs Public-facing APIs expose published certification data to external stakeholders, brands, retailers, regulators, and third-party platforms without any manual data exchange with the organization. Custom Dynamics 365 Data Model The data model is the foundation everything else rests on. Rather than forcing certification concepts into standard CRM entities that were never designed for this domain, the team built purpose-specific custom tables inside Dataverse that mirror how the certification program actually works. Product data Core product records, variants, and identifiers ā the foundational layer that everything else references. Application handling Applications, assessments, category and requirements assessments ā all managed within accounts. Assessment bodies and related workflows live here too. Public-facing entities Public tables for products, certifications, certificates, and product variants ā the data layer that powers external visibility and API exposure. Together, these layers gave the organisation a complete, relational view of every certified product across its full lifecycle ā all within a single operational platform. Certificate Document Generation via Azure Function App Before this system existed, every certificate document was created by hand. Someone would take a template, fill in the product details, format it, check it, and send it. For an organization issuing certificates across thousands of products, this was not just slow ā it was a source of constant inconsistency and a bottleneck that manufacturers felt directly. The Azure Function App for certificate generation eliminated this entirely. Here is how it works end to end: How It Works ā” Trigger Certification record reaches the correct status in Dynamics 365 ā š Fetch Pulls record + product data via Dynamics 365 Web API ā š Generate Selects correct template, populates all fields, generates document ā š Store & Link Saves document and links it back to the certification record What this means in practice is that certificate issuance is now consistent, fast, and entirely hands-off for the operational team. Formatting is guaranteed every time because the template logic is defined once and applied uniformly. The function also runs independently of the CRM interface ā making it resilient and reusable across multiple trigger scenarios, including bulk recertification processing. The impact: A task that previously required manual effort for every single issuance now requires none. Eliminated entirely. Logo Image Generation via Azure Function App A certified product comes with more than a document ā it comes with the right to use the certification mark. For manufacturers, that logo is a commercial asset. It goes … Continue reading How a Netherlands-Based Non-Profit Transformed Certification Management with Dynamics 365 and Azure Functions
Share Story :
From Approval Bottlenecks to Real-Time Visibility: Transforming Procure-to-Pay Through ERP Integration for a Leading North American Commercial Vehicle Manufacturer
Summary 1. Identified the operational and strategic costs of fragmented Procure-to-Pay (P2P) processes across procurement and finance functions.2. Highlighted how manual, siloed workflows lead to approval bottlenecks, data inconsistencies, and invoice disputes.3. Explained how ERP integration eliminates manual handoffs by connecting procurement and finance into a unified, data-consistent system.4. Demonstrated the business value of real-time visibility across spending, commitments, and vendor payment status.5. Positioned a strong P2P process as a direct driver of cost efficiency, financial control, and business agility. Table of Contents 1. Introduction2. The Problem3. What Changes with Integration4. What Businesses Gain5. Conclusion Introduction We implemented this solution for a leading North American commercial vehicle manufacturer with complex multi-entity operations, where disconnected procurement and finance processes had a significant impact on business performance. Procurement and finance are central to business performance, yet in many organisations they continue to operate in silos. Each function manages its own data, workflows, and priorities, creating gaps that undermine efficiency, accuracy, and leadership visibility across the organisation. This disconnect is not merely an internal inconvenience. Over time, it leads to missed deadlines, strained vendor relationships, and financial reporting that lags the pace at which business decisions need to be made. For organisations looking to scale or compete in demanding markets, these gaps represent a genuine strategic risk. The Procure-to-Pay (P2P) cycle sits at the centre of this challenge. Spanning everything from raising a purchase request to issuing final payment, it is where delays and mismatches are most visible, and where the cost of inefficiency is most directly felt by both operational teams and leadership. The Problem Figure 1: Procure-to-Pay Cycle Problems Without Integration vs. Outcomes with ERP Integration Despite advances in enterprise technology, many organisations still rely on fragmented, manual approaches to procurement and finance. Email-based approval chains, spreadsheet-driven tracking, and disconnected systems remain common each introducing friction that slows the P2P cycle and reduces data reliability. Approval bottlenecks cause purchase orders to stall, disrupting timelines and delaying downstream activities. Duplicate data entry creates inconsistencies that consume significant time to identify and correct. Invoice mismatches between what was ordered, received, and billed result in payment disputes that erode vendor trust and divert finance team effort away from higher-value work. Beyond day-to-day operational impact, the absence of real-time visibility creates a deeper structural problem. Leadership is left making spending decisions based on stale or incomplete data, budget adherence is difficult to monitor, and bottlenecks go undetected until they have already caused delays. The organisation becomes reactive responding to problems rather than preventing them. How the Integration Works Figure 2: ERP Integration Architecture Source Systems, Azure Logic Apps Middleware, and Target D365 Modules The integration follows an event-driven model a design approach in which processes are triggered by specific business events rather than scheduled batch runs or manual interventions. This shift has significant implications for speed, accuracy, and responsiveness throughout the P2P cycle. When a purchase request is created, a vendor record is updated, or an invoice is submitted, the integration layer responds immediately. Data is extracted through secure, authenticated APIs, validated against predefined rules, transformed into the format required by the target system, and pushed into the ERP without human intervention and typically within seconds. This real-time responsiveness eliminates the latency inherent in batch-based integrations, where data may be hours out of date by the time it reaches the systems that need it. For procurement and finance teams working to tight timelines, that difference is material and directly impacts how quickly decisions can be made and acted upon. What Changes with Integration ERP integration addresses these challenges by connecting procurement and finance into a unified, data-consistent system. Rather than information being passed manually between teams or re-entered across platforms, it flows automatically triggered by real business events and governed by standardised rules applied consistently across the organisation. When a purchase request is raised, all relevant data is immediately available to every stakeholder in the approval chain without manual handoffs or follow-up emails. Approvals are routed automatically based on predefined rules, timelines are enforced, and exceptions are flagged in real time rather than discovered days later during reconciliation. Standardisation is another significant benefit. With all users working from the same data and the same process definitions, the inconsistencies that arise from team-specific workarounds are eliminated. Audit trails are complete and reliable, compliance becomes easier to demonstrate, and the system can adapt as the organisation evolves without requiring constant manual adjustment. What Businesses Gain The benefits of a well-integrated P2P system extend across every level of the organisation. Procurement teams process requests and approvals faster, with significantly less administrative burden. Finance teams reconcile invoices more efficiently and gain clearer visibility into outstanding commitments and cash flow. Vendors receive timely, accurate payments improving commercial relationships and, over time, creating opportunities for preferential terms and stronger partnerships. At the leadership level, integration delivers something particularly valuable: reliable, real-time insight. Executives can monitor procurement activity, track budget adherence, and assess financial performance without waiting for manually compiled reports. This enables faster course correction, more confident planning, and better alignment between procurement strategy and broader business objectives. Organisations in high-volume, multi-entity environments such as Daimler Truck North America, a leading North American commercial vehicle manufacturer operating brands including Freightliner, Western Star, and Thomas Built Buses across complex, multi-geography supply chains benefit most significantly. In industries where operational precision and cost control are non-negotiable, the ability to manage procurement and payments with full visibility and minimal friction is a genuine competitive differentiator. To conclude, a well-designed integration does more than automate existing steps it transforms the Procure-to-Pay cycle into a fast, reliable, and transparent process that serves operational teams, finance leadership, and the wider business alike. The principles outlined in this article event-driven architecture, modular parent-child orchestration, delta processing, and comprehensive logging form the foundation of an integration that can scale with the business and adapt to evolving requirements. For organisations operating in complex, high-volume environments, this is not a technical upgrade. It is a strategic enabler. Ready to modernize … Continue reading From Approval Bottlenecks to Real-Time Visibility: Transforming Procure-to-Pay Through ERP Integration for a Leading North American Commercial Vehicle Manufacturer
Share Story :
From Unstructured Project Data to Executive-Ready Reporting: Transforming Project Reviews with Power BI Matrix Visuals for a Houston-Based Industrial Cybersecurity Provider.
Summary A Computer Security Service provider based in Houston, Texas needed a better way to review large-scale project reports where financial, billing, delivery, and schedule metrics were difficult to analyze in a flat table structure. This blog explains how a Power BI Matrix visual was used to create grouped business headers such as: Contract & Billing Status Schedule Status Budget & Hours Cost Performance & Forecast The solution uses: Custom DAX mapping tables Dynamic SWITCH measures Matrix column hierarchies Custom sorting logic The final report improved readability and made project reviews easier by grouping related KPIs into meaningful business sections for leadership and delivery teams. Power BI Matrix visual with grouped business headers Table of Contents 1. The Reporting Problem 2. Why Matrix Visual Was Used 3. Create a Header Mapping Table 4. Create the Dynamic Measure 5. Configure the Matrix Visual 6. Important Limitations and Learnings 7. Frequently Asked Questions 8. Conclusion The Reporting Problem A company working in industrial infrastructure and operational technology services needed a better way to review project financial and delivery data inside Power BI. The existing report already contained all required metrics, including: Contract value Budget usage Project schedule Billing status Margin calculations Cost forecasts Although all required information existed in the report, the layout was difficult to review because every column appeared as a flat list. During project review meetings, users had to manually scan unrelated columns to understand project health. The business requested: Grouped business sections Better column organization Formula explanations for KPIs Easier financial review Structured project reporting The goal was to organize the report in the same way projects are discussed during operational reviews. Why Matrix Visual Was Used Power BI table visuals do not support grouped or merged headers. To create multi-level business headers, the report had to use a Matrix visual. This allowed related columns to appear under parent business sections such as: Contract & Billing Status Schedule Status Budget & Hours Cost Performance & Forecast This structure made the report easier to scan during financial and project discussions. Create a Header Mapping Table The first step was creating a metadata table that controls: Group names Column names Column order Section order This table drives the Matrix visual structure dynamically. DAX Table Project Matrix Headers = DATATABLE( “Group Name ā”ļø”, STRING, “Column Header”, STRING, “Sort”, INTEGER, “Master_Sort”, INTEGER, { {“Project Identification”, “Billing Method”, 1, 1}, {“Overall Project Status”, “Overall Project Status”, 5, 2}, {“Contract & Billing Status”, “Contract Total (FF)”, 6, 3}, {“Contract & Billing Status”, “Contract Not-to-Exceed (T&M)”, 7, 3}, {“Contract & Billing Status”, “Payment Terms”, 8, 3}, {“Contract & Billing Status”, “YTD Invoiced Amount”, 9, 3}, {“Contract & Billing Status”, “% Invoiced”, 10, 3} } ) After creating the table: Column Header was sorted by Sort Group Name ā”ļø was sorted by Master_Sort Without this step, Power BI sorts headers alphabetically, which breaks the business layout. Create the Dynamic Measure The Matrix visual uses one dynamic measure that returns values based on the selected column header. This was implemented using SWITCH(). Dynamic Measure Project Matrix Values = SWITCH( SELECTEDVALUE(‘Project Matrix Headers'[Column Header]), “Billing Method”, MAX(salesorder[Billing Method]), “Overall Project Status”, MAX(msdyn_projects[Overall Project Status]), “Contract Total (FF)”, SUM(salesorder[Total Amount]), “Contract Not-to-Exceed (T&M)”, SUM(salesorder[Not-to-exceed Limit]), “Payment Terms”, MAX(salesorder[Payment Terms]), “YTD Invoiced Amount”, SUM(invoice[Total Amount]), “% Invoiced”, invoice[% Invoiced] * 100 ) Aggregation handling became very important during implementation. Metric Type Correct Aggregation Amounts SUM Status MAX Dates MAX or MIN Percentages AVERAGE or calculated measure Using incorrect aggregation inside the SWITCH measure can produce duplicate totals, incorrect percentages, or unexpected values. Configure the Matrix Visual The Matrix visual was configured using: Matrix Area Field Rows Business Unit ā Client ā Project Name Columns Group Name ā”ļø ā Column Header Values Project Matrix Values This automatically created grouped business headers. Power BI Matrix visual configured with grouped business headers Important Limitations and Learnings Grouped Headers Only Work Properly for Columns Power BI supports grouped headers only through the Columns section of the Matrix visual. Dynamic grouping for Matrix row headers is limited. For example: Business Unit Client Project Name cannot be dynamically grouped the same way as column headers. Since these row sections were static, text boxes and manual formatting were used to simulate grouped row labels. Aggregation Logic Must Be Handled Carefully The dynamic measure requires every metric to be properly summarized and mapped. Incorrect aggregation logic can produce: Incorrect totals Duplicate values Wrong percentages Blank results This becomes especially important in financial and project reporting where different KPIs require different summarization methods. Matrix Visual Performance Large Matrix visuals with many dynamic measures can become slow. Performance was improved by: Reducing unnecessary measures Avoiding repeated calculations Using summarized tables Keeping hierarchies simple Frequently Asked Questions Can Power BI tables create grouped headers? No. Standard table visuals do not support grouped or merged headers. The Matrix visual is required for this approach. Why use a Matrix visual instead of a Table visual? Matrix visuals support hierarchical columns, allowing related KPIs to appear under common business headers. Does Power BI support dynamic row grouping? No. Dynamic grouping for row headers is limited. Static row sections usually require text boxes and manual formatting. Why do Matrix values sometimes show incorrect totals? This usually happens because aggregation logic inside the SWITCH measure is incorrect. Each KPI must use the proper summarization method such as: SUM MAX MIN AVERAGE Dedicated calculated measures Conclusion Power BI Matrix visuals can be used to create structured multi-level business headers for large operational reports. By combining: Matrix hierarchies DAX metadata tables Dynamic SWITCH measures Custom sorting logic large reports can be organized into meaningful business sections that are easier to review and maintain. The most important learning from this implementation was understanding the limitations of Matrix visuals and handling aggregation logic carefully. When implemented correctly, this approach makes project and financial reporting significantly easier for leadership teams to use. We hope you found this blog useful. If you would like to discuss similar Power BI visualization solutions, … Continue reading From Unstructured Project Data to Executive-Ready Reporting: Transforming Project Reviews with Power BI Matrix Visuals for a Houston-Based Industrial Cybersecurity Provider.
Share Story :
Automating Cost Control in Azure: Monitor and Manage Resource Spending Efficiently
Summary We implemented an automated cost control process for our internal AI Sales Insights solution running in Azure. Azure Budget Alerts were connected with Automation Runbooks to automatically stop resources once spending crossed a defined threshold. The setup reduced manual monitoring and helped us maintain tighter control over Azure consumption. The solution used native Azure services with Managed Identity authentication for secure automation. The same approach can be extended to Azure Virtual Machines, App Services, Databases, and other Azure resources. Azure Budget Alerts integrated with Automation Runbooks for automated cost control Table of Contents 1. Why We Needed This 2. Solution Overview 3. Azure Services Used 4. Step 1: Create the Azure Budget 5. Step 2: Create an Action Group 6. Step 3: Create the Automation Runbook 7. Step 4: Enable Managed Identity 8. Step 5: Assign Required Permissions 9. Step 6: Test the Complete Flow 10. Business Impact 11. Frequently Asked Questions 12. Conclusion Why We Needed This Our AI Sales Insights solution uses Azure services such as Function Apps and AI processing components to generate and process sales insights. Since the environment runs on a Pay As You Go subscription, costs can increase unexpectedly if resources continue running after active usage hours or during extended testing cycles. Initially, we were monitoring costs manually through Azure Cost Management dashboards and email alerts. However, this approach had a few limitations: Alerts were sometimes noticed too late Resources continued running even after thresholds were reached Development environments stayed active longer than needed Manual intervention was required every time We wanted a simple solution where Azure could automatically take action when spending crossed a defined limit. Solution Overview We implemented the following workflow: Azure Budget continuously monitors subscription spending A Budget Alert gets triggered when the threshold is reached The alert calls an Azure Action Group The Action Group triggers an Automation Runbook The Runbook authenticates using Managed Identity The Runbook automatically stops the Azure resource This gave us a lightweight and reliable automation setup for controlling costs. Azure Services Used Service Purpose Azure Cost Management Monitor Azure spending Azure Budget Alerts Detect threshold breaches Azure Action Groups Trigger automation Azure Automation Execute PowerShell Runbooks Managed Identity Secure authentication Step 1: Create the Azure Budget We started by creating a budget inside Azure Cost Management. Azure Budget configuration for automated cost monitoring Budget Configuration Setting Value Budget Amount ā¹800 INR Reset Frequency Monthly Forecast Alert 90% Actual Cost Alert 100% One important thing we learned during implementation is that Azure budget calculations are not always real time. If automation starts only at 100%, additional usage may already occur before the alert executes. Because of this, setting automation thresholds slightly earlier, usually around 85% to 90%, is safer for production environments. Step 2: Create an Action Group Next, we created an Azure Action Group. The Action Group acts as the bridge between the Budget Alert and the Automation Runbook. Set Action Type as Automation Runbook Select the Automation Account Link the target Runbook Once configured, Azure automatically executes the Runbook whenever the budget alert is triggered. Step 3: Create the Automation Runbook Inside Azure Automation, we created a PowerShell Runbook using Runtime Version 5.1. The Runbook dynamically accepts Azure resource values instead of hardcoded names, making it reusable across multiple environments. Dynamic PowerShell Script # Variables $ResourceGroupName = “{Your Azure Resource Group Name}” $FunctionAppName = “{Your Azure Function App Name}” # Authenticate using System Managed Identity try { Connect-AzAccount -Identity Write-Output “Successfully authenticated with Managed Identity” } catch { Write-Error “Failed to authenticate: $_” exit 1 } # Stop Azure Function App try { Stop-AzFunctionApp ` -Name $FunctionAppName ` -ResourceGroupName $ResourceGroupName ` -Force Write-Output “Function App stopped successfully” } catch { Write-Error “Failed to stop Function App: $_” exit 1 } Step 4: Enable Managed Identity To avoid storing credentials inside the script, we enabled System Assigned Managed Identity for the Automation Account. This allowed the Runbook to authenticate securely against Azure without usernames, passwords, or secrets. This approach is cleaner, more secure, and easier to maintain. Step 5: Assign Required Permissions After enabling Managed Identity, we assigned RBAC permissions to the Automation Account on the target resource. The following roles were used: Contributor Website Contributor Function App Contributor Without proper permissions, the Runbook may authenticate successfully but still fail while stopping resources. Step 6: Test the Complete Flow Before connecting everything to the Budget Alert, we tested the Runbook manually. Verify Managed Identity authentication Confirm the Azure resource stops correctly Validate RBAC permissions Test Action Group execution Once everything worked successfully, the Runbook was connected to the Budget Alert. Business Impact Area Before After Cost Monitoring Manual Automated Resource Shutdown Manual Automatic Response Handling Manual Action Required Automatic Resource Shutdown Cost Governance Reactive Proactive This setup helped us reduce unnecessary runtime costs and eliminated the need for continuous manual monitoring of our AI Sales Insights environment. Conclusion This implementation helped us build a simple and practical cost governance process for our internal AI Sales Insights solution. Instead of relying only on dashboards and email notifications, Azure now takes automated action whenever spending crosses the configured threshold. As AI workloads continue growing, automating cloud cost control will become increasingly important for maintaining predictable and manageable Azure spending. We hope you found this blog useful. If you would like to discuss similar Azure automation and cost optimization solutions, feel free to connect with us at transform@cloudfronts.com .
Share Story :
Go Beyond Dashboards- How Databricks Genie Gives Every Business Leader Direct Access to Their Data
Stop Waiting on Reports ā Databricks Genie | CloudFronts What You Will Learn Why dashboards alone are no longer enough for fast business decisions What Databricks Genie is and how it enables conversational access to your data How this changes the way finance, sales, and operations teams work What it means for your organization’s AI readiness and long-term decision-making Table of Contents 1. Let’s Start Here 2. The Challenge 3. The Solution ā Databricks Genie 4. Business Impact 5. Frequently Asked Questions 6. Conclusion Let’s Start Here Organizations today are not short on data. They have dashboards, reports, and analytics tools in place. But when a business leader needs an answer to a specific question ā one that no existing report covers ā the usual path is to raise a request, wait for an analyst, and revisit it days later. That delay, small as it seems, adds up. Decisions get deferred. Opportunities get missed. And the data that was meant to drive the business ends up sitting behind a queue. Databricks Genie changes how organizations access their data ā by making it conversational. The Challenge Dashboards were built to answer the questions someone thought of in the past. They are excellent for monitoring what is already defined ā revenue trends, pipeline stages, operational metrics. But business does not move in straight lines. The moment a leader needs to investigate something outside of what was pre-built, the process breaks down: The question gets raised in a meeting ā but no dashboard covers it It gets passed to a data analyst, who adds it to a queue behind other requests Days later, an answer arrives ā often too late to influence the decision it was meant to support The result is a quiet, systemic gap between what the business senses and what the data can confirm in time. Leaders fill that gap with instinct. Risks go unspotted. Opportunities pass. Not because the data was not there ā but because reaching it took too long. This pattern repeats across every function. Finance cannot investigate a cost anomaly until after month-end close. Sales leadership walks into a quarterly review with numbers someone else prepared. Operations learns about a supplier risk from a weekly report that arrives after the damage is done. The Solution ā Databricks Genie Genie is the conversational AI interface built into Azure Databricks. It lets a business leader type a question in plain English ā the same way they would ask a colleague ā and get an answer drawn from the organization’s actual data, in seconds. There is no form to fill in. No report to request. No specialist to involve for every question. The leader asks, the data responds, and the conversation continues ā narrowing, refining, following the next logical question ā until the insight is clear enough to act on. The approach rests on three capabilities working together: Conversational access ā questions in plain English return precise answers from live data, with no technical skill required from the business user Governed trust ā Genie works within existing data permissions; every user sees only what they are authorized to access, and every answer shows the logic behind it Seamless fit ā it connects to data the organization already holds, whether from ERP systems, CRM platforms, or operational sources, without requiring a new build This is not a replacement for dashboards. It is what happens between them ā the investigative, in-the-moment layer that dashboards were never designed to provide. Business Impact The impact of conversational data access compounds across the organization over time: Decisions get made closer to the moment they matter ā leaders investigate anomalies in real time, not after a two-day analysis cycle The right questions finally get asked ā when the cost of asking drops to near zero, the volume and quality of insight-driven decisions goes up across every function Data teams focus on higher-value work ā instead of fielding one-off requests, analysts build the data models and pipelines that generate lasting value Existing investments go further ā Genie extends what the organization has already built, without requiring new infrastructure or a technology overhaul The organization becomes AI-ready ā consistent, governed use of data at every level builds the foundation for more advanced AI capabilities to follow The organizations that embrace this shift early will not just be faster. They will be fundamentally better at acting on what they know ā and that is an advantage that compounds over time. Frequently Asked Questions Do we need to replace our existing dashboards or BI tools? No. Genie works alongside what you already have. Dashboards remain the right tool for structured, recurring reporting. Genie handles the ad-hoc, investigative questions that dashboards were not built to answer. They complement each other. Does this require technical skills from business users? No. Genie is designed for business users who have no data or SQL background. Questions are asked in plain English ā the same way you would ask a colleague ā and answers are returned in a readable format without any technical input required. Is the data secure? Can users access data they should not see? Genie inherits the data permissions already configured in your organization’s data environment. Every user sees only what they are already authorized to access. There is no additional access granted by using Genie ā governance is built in, not added on. Does our data need to be moved or rebuilt to use Genie? Not necessarily. If your organization’s data ā from ERP, CRM, operational systems, or other sources ā is already in the Databricks environment, Genie can work with it immediately. For organizations not yet on Databricks, CloudFronts can help assess the right path forward. How is this different from asking an AI chatbot a question about our business? A general AI chatbot answers from its training data ā it does not know your organization’s numbers. Genie queries your actual data directly. Every answer is grounded in your real figures, with the source and logic visible, making … Continue reading Go Beyond Dashboards- How Databricks Genie Gives Every Business Leader Direct Access to Their Data