Van data naar inzicht: Haal de gemiddelde eenheidsprijs automatisch op uit Dynamics 365 F&O

Binnen Dynamics 365 Finance & Operations (F&O) biedt het Inventory Aging Report waardevolle informatie voor financiële en operationele inzichten. Soms is er echter behoefte om deze data verder te verwerken of te integreren in andere systemen – bijvoorbeeld om automatisch kostprijzen te berekenen in een lokale valuta.

In deze blog neem ik je mee in een praktijkvoorbeeld waarin we een oplossing hebben gebouwd om de gemiddelde eenheidsprijs automatisch op te halen uit een Excel-bestand dat gegenereerd wordt door het Finance and Operations (F&O) Inventory Aging Report. Het proces begint met het verkrijgen van het bestand uit de Blob Storage en het plaatsen van de gegevens op de SharePoint-site van jouw organisatie. Het doel: de juiste kostprijs per artikel ophalen op basis van specifieke filters zoals magazijn, locatie en artikelnummer – zonder onverwachte wisselkoersproblemen.  In deze blog laat ik zien hoe je met behulp van Power Automate, filteringstechnieken en een paar slimme stappen de juiste gegevens uit een Excel-bestand haalt én deze updatet in Dataverse.

Stap 1 – Excel-bestand ophalen

Het proces begint met het ophalen van het Excel-bestand uit Azure Blob Storage. Dit bestand wordt dagelijks gegenereerd vanuit het Inventory Aging Report in F&O. Omdat het bestand steeds wordt overschreven of aangevuld, kun je deze niet handmatig selecteren. Daarom gebruik ik in Power Automate een flow die automatisch het meest recente bestand selecteert op basis van bestandsnaam of aanmaakdatum.

Stap 2 – Bestand opslaan op SharePoint

Om het bestand toegankelijk te maken voor verdere verwerking, sla ik het op in een SharePoint-bibliotheek. Zo kan ik er eenvoudig mee werken in de volgende stappen van mijn Power Automate-flow.

Stap 3 – Triggers en beginwaarden instellen

De flow wordt getriggered vanuit Quote-product: 

Op basis daarvan haal ik de identificatiewaarden op die nodig zijn om de juiste gegevens te filteren:
▪️Productartikelnummer
▪️Magazijn-ID
▪️Locatie-ID

Daarnaast verzamel ik ook informatie over de valuta, zoals de valuta van de quote en de gewenste valuta. In onderstaand voorbeeld Mexicaanse Pesos (MXN).

De informatie die ik eerder heb opgehaald, heb ik aangemaakt als beginwaarden:

Zo kan ik de informatie gemakkelijker gebruiken. 

Stap 4 – Excel-tabel uitlezen en filteren

Nu moet ik ervoor zorgen dat ik het juiste bestand ophaal. Aangezien het Excel-bestand dat ik ophaal elke dag wordt bijgewerkt met nieuwe waarden, kan ik het bestand niet handmatig selecteren in Power Automate. Dus moet ik het nieuwste bestand ophalen met behulp van onderstaande informatie:

Nadat ik het bestand heb ontvangen, zorg ik ervoor dat ik de tabel ophaal: 

We hebben de tabel hebben, en zijn klaar om de informatie te filteren op basis van de waarden via de actie ‘List rows present in a table’ in Power Automate. Hierbij kunnen niet meer dan één voorwaarde gebruiken in de filterquery, dus ik voeg alleen het artikelnummer toe: 

Maar we moeten de informatie ook filteren op basis van magazijn en locatie Daarom filter ik verder op magazijn-ID en site-ID met de actie ‘Filter array’. Dit zorgt ervoor dat alleen de relevante rij overblijft.

Waar waarde gelijk staat aan ‘List rows present in a table’ voegen we in de mapping het volgende toe : 

‘@and(

    equals(item()?[‘WAREHOUSEID’], outputs(‘Get_a_row_by_ID-_Warehouse_Name’)?[‘body/msdyn_warehouseidentifier’]),

    equals(item()?[‘OPERATIONALSITEID’], outputs(‘Get_a_row_by_ID-_Site_Name’)?[‘body/msdyn_siteid’])

)’

De kolomnamen ‘WAREHOUSEID’ en ‘OPERATIONALSITEID’ verwijzen naar kolommen in het Excel-bestand, terwijl de Dataverse-velden ‘msdyn_warehouseidentifier’ en ‘msdyn_siteid’ de opgehaalde waarden uit het systeem bevatten.

Stap 5 – Variabelen vullen met gefilterde waarden

We stellen de beginwaarden in met de informatie die we hebben opgehaald:

Met behulp van de eerste waarde uit het gefilterde resultaat (de juiste rij), vul ik de variabelen zoals artikelnummer en gemiddelde eenheidsprijs:

‘first(body(‘Filter_array_-_Filter_Warehouse_and_Site’))?[‘ITEMNUMBER’]’

Dit doe ik ook voor andere relevante kolommen.

We voegen ook de MXN-valuta toe in een variabele.

Stap 6 – Valutaconversie toepassen (indien nodig)

Nu kunnen we nog een voorwaarde toevoegen om er zeker van te zijn dat de ontvangen waarde past bij Dataverse: 

Als het niet waar is, doen we niets: 

Als er wel sprake is van verschil in valuta, dan controleren we welke valuta we hebben:

Als de valuta USD is, maken we een conversie: 

Waar in ’Value’ het volgende wordt ingevoerd:

‘div(float(first(body(‘Filter_array_-_Filter_Warehouse_and_Site’))?[‘AVERAGEUNITCOST’]), float(outputs(‘List_rows_Retrieve_MXN_currency’)?[‘body/value’][0]?[‘exchangerate’]))’

En deze waarde kan worden toegevoegd in Update een rij om de waarde toe te voegen die we nodig hebben.

Als beide valuta al in pesos zijn, is er geen conversie nodig.

Enkele tests van de flow: 

Stap 7 – Bijwerken in Dataverse

Tot slot werk ik het quoteproduct bij in Dataverse met de juiste gemiddelde eenheidsprijs – al dan niet omgerekend naar de gewenste valuta.

Met deze aanpak kan je dagelijks automatisch de juiste kostprijzen ophalen en verwerken, zonder handmatige stappen of risico op fouten door wisselkoersverschillen. Een efficiënte en schaalbare oplossing, gebouwd met standaardtools als Power Automate, Excel en SharePoint.

Happy Flowing.

Meer weten?

Ben je benieuwd naar de mogelijkheden of kun je wel wat hulp gebruiken bij het instellen van soortgelijke flows? We helpen je graag op weg! Laat van je horen via het formulier hieronder.

Dit veld is verborgen bij het bekijken van het formulier

Volgende stappen: een e-mail add-on synchroniseren

Om het meeste uit je formulier te halen, raden we je aan dit formulier te synchroniseren met een e-mail add-on. Ga voor meer informatie over je e-mail add-on opties naar de volgende pagina (https://www.gravityforms.com/the-8-best-email-plugins-for-wordpress-in-2020/). Belangrijk: verwijder deze tip voordat je het formulier publiceert.
Naam(Vereist)
Van data naar inzicht: Haal de gemiddelde eenheidsprijs automatisch op uit Dynamics 365 F&O

Van data naar inzicht: Haal de gemiddelde…

Binnen Dynamics 365 Finance & Operations (F&O) biedt het Inventory Aging Report waardevolle informatie voor financiële en operationele inzichten. Soms is er echter behoefte om deze data verder te verwerken of te…

Bridge to the Cloud: stap voordelig over naar de cloud

Bridge to the Cloud: stap voordelig over…

Ben je als organisatie nog actief met een Dynamics 365 on-premises oplossing? Dan is dit hét moment om de overstap naar de cloud te maken – en daarbij flink te besparen. Met…

dtnext klantendag – 23 mei 2025

dtnext klantendag – 23 mei 2025

Copilot, autonomous agents – wat borrelt er allemaal in de Microsoft-keuken? Nieuwsgierig naar wat er binnenkort gelanceerd wordt én wat er nu al mogelijk is? Reserveer dan vrijdag 23 mei in je…