Contract Invoice Schedule Status and Invoice actions in D365 PSA

Stages of Invoice Schedules are changed behind the scenes as you perform actions on the Invoice of the Contract. Let’s see what we have got here –

Let’s say I have a Fixed Price Contract Line for which I’ve generated the Invoice Schedule for spanning across a few weeks.

So, when an Invoice Schedule is Ready for Invoicing, it will be considered in the Invoice you’ll end up creating.

readyForInvoicing

Now, if you create the Invoice for that Contract (shown below)

createInvoice

The Invoice Status now changes to ‘Customer invoice created

customerInvoiceCreated

And, when you mark the Invoice as Confirm, as shown below,

confirmInvoice

The Invoice schedule record’s Invoice Status will be changed to ‘Customer invoice posted

customerInvoicePosted

Finally, even if you mark the Invoice as ‘Mark Invoice as Paid’, shown below, the Invoice Status still remain in ‘Customer invoice posted’ status –

markInvoiceAsPaid

As simple as that! 🙂

My takeaways from CRMUG Summit 2018 in Phoenix last week

IMG_3857.JPG

https://www.crmugsummit.com/

I participated in the CRMUG Summit at the Phoenix Convention Center in Phoenix, Arizona last week (16th to 18th Oct) and it was an extremely beneficial experience. Something that was needed to keep up with the knowledge of what to expect in the D365 ecosystem in coming months.

I’ll share a few thoughts on the experience here –

All sessions I attended gave great insights on the October 2018 release of D365 and how things will change for our customers in the near future.

Lots of emphasis on the ‘Digital Feedback Loop’ where the focus is to drive data back to the system using digital signals across business and take corrective actions.

IMG_3811

The sessions –

Great sessions on Flow, PowerApps and PowerPlatform being the go-to methodology to implement business applications going forward. And how architecture is being unified by the Common Data Model, a session held by Mike Hammons from AKA.

Leveraging Portals and Unified Client is the way forward.

Sessions on technical deep-dives for Integrations to be carried out by Varun Bhat on Smart Strategies to upgrade Custom Scripts to v9 was insightful for developers who are in the migration season.

Even us, CloudFronts, presented a session on our product called SOS developed for company ‘Technical Sales Development’ which makes Sales cycle more visual and intuitive.

Also, a vivid expo setup where palpable energy was evident. Got to meet other partners and firms who got in their products to the stage.

I can’t wait to check out and explore and write more about these in days to come. 🙂

D365 Unified Interface: Enabling embedded legacy dialogs / Advanced Find

Quite simply put, some of the embedded dialogs like the Advanced Find, Merge Records, Assign window are not by default visible on the Unified ClientnoButtons

Like when you multi-select records, you can’t see the typical Merge, Edit buttons on the ribbon.

Here’s how you enable them

System Settings

In your Web Application’s system settings, you have an option under general where you can enable these buttons in the Unified Interface

systemSettings

Now, you can retain those buttons in the Unified Interface as well

visibleButtons

Have a great time exploring Unified Interface!

Why we see Cross Day in Work Hours on Bookable Resources/User?

Ever wondered what is Cross Day on Work Hours for a Bookable Resources in Dynamics 365 PSA or Field Service? Or even User record for that matter? And why not the actual Work Hours a resource is set to?

You expect to see this –

actualWH

But see this?

crossDay

Reasoning

So, The Bookable Resource’s time zone is GMT

bookableResource

And so is the same time zone of the logged in user i.e. GMT

gmtIsSet

In that case, you’ll see the actual time set for the user i.e. 8am to 5pm.

But, let’s say, you are in a different time zone – Sydney, for example.

sydneyTimeIsSet

And you are viewing Work Hours for a Bookable Resource who was set in some other time zone, their time conversion to your time will result in “crossing the day over” and hence, you see “Cross Day”.

crossDay

Hope this is helpful! 🙂

 

What happens when you force fields on BPF to be required programatically or using Business Rule

I had a requirement where I needed to make certain fields on BPF as required.

So, I tried accessing the control using Xrm.Page.getControl(“header_process_description”) and then getAttribute().setRequiredLevel(“required”) on it would serve my purpose. But actually, not!

To set perspective, the code runs and make the field required too. But there’s a catch!

Required fields on the BPF are supposed to throw an error when you are trying to move to the next stage without filling in the required fields.

But, using the code I’m talking about above (sample shown below), will force you to save the form entirely. Let alone moving the stages further.

jsCode

That when ‘How Did You Hear About Us?’ field has Employee Referral as value, make Purchase Process field required.

empoyeeReferalSet

Field is on the BPF

fieldOnBPF

But prompts me to save the form
promptToSave

 

Workaround

The easiest workaround to this is using the conditional branching of your business process flow –

You can use conditional branching of the BPF itself – You can replicate the same stage twice, one having your required field and other having that same field as optional.

bpfBranching

However, limitations I found with this approach is –

  1. I couldn’t use the same for the first stage of the BPF –
    limitation1
  2. The condition had to be from the previous stage itself
    limitation2

P.S. Business Rules isn’t a solution as well. Also, I tried to inverse the logic by first making the field required in the BPF itself and then trying to make it not required using code. That doesn’t work either.

Hope this gives an idea. Let me know if you have other suggestions! 😊

 

Get GA version of Dynamics 365 PSA v3 from Insider program

Hi! Dynamics 365 PSA v3 just hit v3 lately and here’s how you can get it.

  1. You’ll need to be an Insider program member to be able to subscribe to the GA program.
    Dynamics Insider Program
    insider Home Scree
  2. Look for the D365 For PSA Unified Interface Program
    psaUnified
  3. Signup Link on the details section
    signUpLink
  4. Fill out the form which asks your info about the tenant details and you can get your D365 PSA v3 GA on your tenant in a day or two.
    installV3

Hope this quick one helps you. 🙂

Clean your Schedule Board: Hide Cancelled Bookings

Most times in D365 PSA or Field Service, you schedule something and then cancel due to uncertain work patterns and frequent rescheduling or cancellations.

This leaves your Schedule Board cluttered and often look messy! Something like this –

clutteredScheduleBoard

You have on 2 Projects that you actually have to work with but see a few other cancelled bookings which is just taking space and that info is something you don’t need.

Hide away the Cancelled Bookings

Most often, you don’t really need to know what Bookings you cancelled, so you can just hide those away and make the Schedule Board look cleaner!

  1. Navigate to Scheduler Settings represented by the gear icon.
    schedulerSettingsIcon
  2. Look for Hide Canceled under View Settings area and check mark it.
    hideCancelledOption
  3. Once you mark it, the Cancelled Bookings will be hidden giving you a cleaner Schedule Board.
    cancelledHidden
  4. And now, your Schedule Books like pretty much sorted.
    cleanScheduleBoard

Hope this quick tip helps!

 

Missing ‘Dynamics 365 App For Outlook’ from Settings in Dynamics 365 v8.2

Hi Folks!

Recently came across a scenario where I was using v8.2 of Dynamics 365 Online and I wasn’t able to find Dynamics 365 App For Outlook in the Settings area.

missingApp.PNG

Fret not! App is enabled for you already if you even an Exchange Online license. But, at times if you don’t see this – just visit this URL as below:

https://[Your_Organization].crm.dynamics.com/tools/appsforcrm/AppForOutlookAdminSettings.aspx

appView

 

 

Hope this quick tip helps!

Tip on Required Fields – Forms v. BFP

Required fields behave differently on Dynamics 365 Forms as that of on the Business Process Flow. Especially when you have ‘Disabled’ them.

On Forms –

Once you have disabled a required field on the Form, the Save action ignores the same and lets you save the record.

onForm

For obvious reasons, the required field on the BPF is ignored when you save the record on the form with all required fields filled in.

 

On BPF –

The required field cannot be ignored to move the Business Process Flow to the next stage!

onBPF

 

You’ll discover this soon. Hope this helped. 🙂

Quick Tip: Cleaning Queue Items

So are you stuck with email queue that has junk of emails you don’t want? And maybe those emails are important to CRM.

Let’s say you have these emails in your Queue (imagine there are a lot many and removing them seems like a big task)

qItems.PNG

Here’s what to do:

  1. Run a Bulk Delete Job on the following:
    Queue Item entity and the required criteria you want (maybe you want to delete only old Queue Item which you no longer need to convert to other record types)
    bulkDeleteCriteria.PNG
  2. And submit the job.

Now, even if you delete the Queue Items, the Emails will still remain in CRM in Activities records and those are not lost!

Hope this was helpful! 🙂