Pancake & Milkshake – inspired by the Wreck It Ralph 2 trailer

Pancake & Milkshake – The rules are simple:  The kitty gets the milkshake…the bunny gets the pancake!

Here you can download the PowerApps solution I create in this video, where I use PowerApps to create a game inspired by the Wreck It Ralph 2 trailer. (check it out, it’s hilarious)

Fortunately, someone already created the art and sounds that are the stars of the show.  Mothman64 built a very elaborate Flash based version (complete with Easter Eggs), and generously allowed me to use his work for this PowerApp.   Check out his Mothman64’s art here:   https://www.deviantart.com/mothman64.   Those images remain his property.


To see a short demo of the app check here.

Where does CE PSA fit if I have Finance and Operations?

Updated last: 23/12/2018

This is a live blog post that will be updated with changes that are applied to the application – I’ll also update it with input from the community too. 

Right, I thought it’d be best to write a quick post on this topic as it is a question I receive quite regularly which is along the lines of…. “Hey Will, I see you’ve been working on Customer Engagement PSA – I don’t really understands how that would fit in with an organisation that has Finance and Operations system or at all”.  Then I take a deep breath and I say something along these lines…

(There are a few version of this response depending on what the business does)

PSA flow:

What we must remember is PSA is there to ultimately help the prospect to cash process, but hey we hear and read “Prospect to Cash” thrown around a lot and it doesn’t help explain anything, what I mean with this is as follows;

  1. the ability to turn someone you may have been in contact with to a Lead
  2. then qualify said Lead to an Opportunity
    1. During the opportunity process you will start, hopefully, creating a proposal and to really provide a precise as can be quote it is best to create a project with a thorough work break-down structure along with associated costs (expenses, role costs etc.) then to import this structure along with associated costs into the contract to provide a quote.
  3. Submit the quote to the customer and hopefully mark it as won – or maybe you may have to create another until you ultimately, hopefully, win
  4. The quote then turns into an Order/Contract with an associated project and all this richness can then be synced across to Finance and Operations – the contract will be pulled across along with the associated project details; project name, project contract associated, actual start date, work breakdown structure (if you’ve assigned resources then these can be brought across too) etc.

Where to place your personnel in a PSA & FinOps stack implementation:

Now the more interesting piece is where do you ask your employees to enter their Time and Expenses, where do you ask the Project Manager to carry out their tasks and where do you ask the Resourcing Manager to sit?

Now we must remember PSA – IS NOT A FINANCE SYSTEM, IT IS NOT TRYING TO BE A FINANCE SYSTEM, IT’S PURPOSE IS NOT TO DEAL WITH ANYTHING RELATED TO ACCOUNTING AND FINANCE, the purpose is to provide a buffer between account management and back office tasks such as the accounts department and to provide more granularity to items such as quoting (remember this is from a perspective when Finance & Operations exists as part of the implementation).

However, what it does do well is to provide the ability to price up quotes thoroughly thanks to this project creation functionality and it also performs some project processes well that can then be handed over for further processing.

Now let’s take a quick dive into where to place the Project Managers, Employees and Resourcing Managers.

Employees– now, personally, as an employee I prefer the user interface in CE  for entering Timesheets and Expenses rather than Finance and Operations – it is more aesthetically pleasing. However, there are limitations around expenses – there are no expense policies out of the box so this would need to be provided via customisation.

Along with other workflow requirements, and let’s face it expense workflows (from my experience implementing systems, especially in global systems) can be incredibly complex which will also be better suited for Finance and Operations as PSA only allows one level approval when in reality multi-level and conditions are required.

PSA does have the ability to bring in the hours you entered last week, or the appointments/projects you’ve been assigned in the resource scheduler but Finance and Operations allows this too.

What I’m getting at here is it is best to stick with Finance and Operations and if you wish to make the user interface more kinder on the eyes then use the mobile application functionality or throw together a PowerApp.

Resourcing Manager– now this is where I lean towards PSA, as long as you sync proficiency models, skills, characteristics, roles, cost prices, sales prices etc. between Finance and Operations and CE PSA (or if you’re company is using talent then have a network of the three Talent>PSA>FinOps) then I much prefer the Scheduling board within PSA and the way you submit requests to be fulfilled. Look at the screenshot below and how glorious it is, colours, pictures, charts – PSA has it all (you can even use the map functionality- living the dream)!

Project Manager– now this depends on the organisation, PSA allows the PM to manage their project team, monitor cost absorption (effort tracking as well), look at project estimates, submit resourcing requests (all this also exists within Finance and Operations)- but if you want your PM to also invoice clients, perform a more advanced level of WIP adjustments then this role will suit Finance and Operations.

Also the dashboards are not that brilliant in PSA – yes you can use PowerBI embedded functionality but Finance and Operations has brilliant out of the box reports, as well as enhanced areas such as the Project Manager Workspace (provides an overview of their project related activities as well as allows them to initiate their most frequent tasks) as well as PowerBI integration – soooooo…..

General Finance points related to PSA functionality: PSA does let you push through flexible journals, you can export actuals (or integrate them), you can adjust actuals (as well as few adjustment histories) and you can invoice through funding sources and billing rules (not as advanced as Finance and Operations) set out on the project contract.

Important to note that there is no out of the box functionality to tie Purchase Orders to projects, thus this is not wrapped up and summed into items such as const consumption etc. a journal can be used for this in the mean time but creating the PO in FinOps and then pushing that across as a journal to keep track in PSA may be one route (dependant on if your PMs sit there if not it really does not matter). Furthermore to this there is no commitment or encumbrance accounting to keep track of the financial health of a project with regards to Purchase Orders.

Another key part of project management is budget control. Unfortunately there is no budget control that sits within PSA only a cost consumption meter so this will have to be validated/tracked through Finance & Operations but the validation will only occur post transaction if you choose to leave T&E within PSA (not a wise move).


So let’s conclude – PSA DOES HAVE A FIT within the full suite of Dynamics 365 and for organisations that uses both CE and Finance and Operations if it is used for it’s intended purpose which in my eyes is to assist with quoting proposals and assisting with some of the non-accounting project processes to allow that smooth transition from sales to delivery.

And one more thing….. if the company DOES NOT have finance and operations but another Accounting system that does not include project management and they also require a sales system then PSA is a great fit!!!!


Two-way Azure Plugin Walkthrough

My first blog, so go gentle 😀


When you’re calling external integration services and you’re using an enterprise service bus, you need to send a message with your CRM data to the service bus (obvs!). But in order to be able to use the built in behaviour of a crm plugin (rollback in particular) you’re going to need to run the plugin synchronously so that the user knows a problem has occurred. If you use the OOB plugin then it only works Asynchronously. Luckily service end points are baked into the CRM infrastructure, so we can get a leg up on passing remote execution context to a listener. That can then call the integration service and, should it fail, return a value to the plugin so it can respond accordingly.

The blog is a technical walkthrough of the steps to accomplish it. Enjoy!


Microsoft Cognitive Services with PowerApps – Snap It and Translate

Microsoft cognitive services gives rich Artificial Capabilities into the applications. These capabilities can be used with PowerApps when building Apps. Cognitive services can help to make your Apps Smarter.

Artificial Intelligence and Data science go in hand in hand. Microsoft packaged in all capabilities and packages those together to create easy to consume API’s such as Cognitive Services and Bot Framework.

Microsoft provides 23 Cognitive Services API’s. It’s categorises into five areas namely Vision, Speech, Language, Knowledge and Search. For the experiment below I have used Computer Vision & Microsoft Translator API’s. It helps to detect text content from an image using OCR (Optical Character Recognition) & Translate text to different languages.

You can find further information on cognitive services information by following link below.


When creating Connections inside PowerApps would require getting an Account Key and Site URL. Use below link to get it.


If you do not have an Azure Account yet you can use the 7-day trial to get started.

Below Image depicts the simple flow of the actions involved with the app.

Set properties as below.


Image = First(colPhoto).Url


Onselect = ClearCollect(colPhoto,Camera1.Photo)

Text BOX

Text = varOCR

Overflow = Overflow.Scroll

Capture Text Button

Onselect = Set(varOCR,ImageOCR.Run(First(colPhoto).Url).ocrtext)

To Translate

Text = MicrosoftTranslator.Translate(varOCR,Dropdown1.Selected.Value)

Use the MS flow to recognize the Optical Character Recognition.

Special Note: Images can be saved in different formats. Computer Vision API is looking for binary format of the Image therefore below expression must be used in the Image Content box in OCR to Text to convert to binary format.


Now you can start creating your own Translator Buddy app. 😊

Translator Buddy – PowerApp Capture and Translate

If you ever wonder CAN I SNAP-IT & TRANSLATE  text on the spot. Here is the Video of the “Translator Buddy” PowerApp which I (Kasun) created using PowerApps and MS Flow. Here I’m Translating text from “Beginning DAX with Power BI” book from Phil Seamark This simply shows the power of PowerPlatform and this is not difficult to do. Stay tuned for a further blog post on this.




PSA – Contract Line Details bud

Those who have been using Customer Engagement PSA will have noticed annoying bug around disappearing Contract Details Lines once you drill into the Contract lines related to the Contract. Well the video below solves all your issues


I have recently embarked on a wild journey that is learning Customer Engagement for those who know me I am predominantly a Finance and Operations consultant – but PSA aroused my curiosity so I thought i’d take a dive head first into it. Here you’ll see videos I upload as I go through this adventure!

Project Overview:


Resource management:

Hackathon – PowerApps & CDS

So if you are part of the Dynamics 365 community (and even if you’re not) you have more than likely heard a few words and initialisms thrown around referring to CDS, Common Data Service, Business Applications and PowerApps.

If you have Chris Huntingford, Kyle Hill or myself (William Dorrington) on Linkedin, and if not why not(!), then you would have noticed that we have been excitingly posting about a CDS & PowerApps HACK-A-THON! This is something we are absolutely ecstatic about and I’d like to share with you a few reasons why you should be too.

….”okay Will we know you’ve had a coffee and that you get overly passionate about everything but first of
all what is CDS & PowerApps and how can it benefit me”….

WOW – what a question allow me to express this in an inconsistent verbal vomiting of overly flamboyant words.

The Common Data Service is the absolute collection of awesomeness – if awesomeness was your data platform where your various Dynamics 365 applications share and model their data (and where CE data now resides) in a secure and easily customised manner! Think of the possibilities, sharing of data between CE and FinOps (easily intergrate CE’s Project Services Automation with Finance and Operations Project Management and Accounting and all the other possibilities….FIELD SERVICES WOAHHHHH)!


What if we could create our own business applications that feasts of this glorious collection of entwined, possibly customised pool of delicious data? WE CAN! POWERAPPS is the answer!

…”Will calm down”…


PowerApps is a new(ish) (for those who know Project Siena would argue with me and then I’d invite them to share a delicious beer because people who have that sort of knowledge is people I wish to be my friend) “high productivity development platform for business applications” (yeah you got me – that is Microsoft’s description). This allows you to EASILY build business applications that you can deploy to phones, tables and Dynamics 365 itself (including SharePoint and many other environments) – the only limit is your imagination. Personally I use it to build computer games, latest has been a Super Mario game that the accounts from CE are the ‘players’ and as you collect the coins in the game it updates the ‘players’ credit limit in CE (and due to it being integrated to Finance and Operations) it integrates there too!

Soooooooo… let’s conclude CDS = Amazing + PowerApps = Wonderful all-in-all come to the Hack-A-Thon, learn how to create your own apps and play some Mario, drink some beer, laugh at some awful jokes and eat some food!

If this excites you then click the button below!!!



[woffice_button label=”Sign me up.” link=”https://dynamics365society.uk/powerapps” target=”_blank” icon=”fa fa-bomb” size=”btn-lg” color=”#1e73be” _made_with_builder=”true”][/woffice_button]