E-mail invoices with a smarter dynamic Print management setup


Setting up the Print management for sending documents by e-mail is a very manual process in most implementations I’ve seen. It takes a user quite a lot of steps to set up a the system for sending documents on e-mail and getting it wrong has grave consequences (It actually stops your sending the invoice process, while still having the invoice posted!). I’ve dove down in to some data and found a smart way to dynamically set this up so that you only have to tag a e-mail address on the customer with a role and you’re done. This will also work with other documents like packing slip or customer statement and should eliminate the setup issue.

Let me show you how to do it!

Step 1: Set up a new contact purpose for the document.

You could use the default ones, but in my experience you should differentiate pr. document type.
Go to: Organization administration > Setup > Global address book > Address and contact information purpose

Add a new type and tick both Contact information and Postal address check boxes.


Step 2: Set up the Print Management

So selecting what customers should receive require you to specifically trigger the customer either by filtering by a parameter or setting it up by hardcoding the customer level print management setup. My idea is to dive down to see if the customer has a contact e-mail that is tagged with the “Invoice” role (Step 1) and trigger based on that.

To set up general print management settings, go to:
Accounts receivable > Setup > Forms > Form setup | Print Management

Create a new print setup

Click the original node and setup the default printer settings and then add a new node on the original node.


Give the node a name (Like “E-mail”) and set up a condition for the query/filter. When the filter is true the invoice follows this setup. If not it will default back to “Original” setting.


The query needs to be extended to get the required data available. You extend the query by right clicking the node and select a 1:n or n:1 relations.


  1. n:1 > Customer
  2. n:1 > Global address book
  3. 1:n > Party location relationship
  4. 1:n > Locations
  5. 1:n > Communication details
  6. 1:n > Contact information and role relationship
  7. n:1 > Roles

That should give you a query like this.


Then add the “Roles” table, “Type” field and select the desired Criteria (Like “Invoice”). Click OK to close the criteria dialogue.

Setup the print to e-mail

Now set up the printing settings by selecting the arrow at the end of the “Destination” and select “Printer setup”.


Notice that you can add a preferred footer for the invoice.

Select “E-mail” in the left column. Then on the “To” line select the “Edit” and in the Customer purpose field select the role you created in Step 1 (Like “Invoice”).


Now add a subject and select the desired format (I prefer PDF).

Click OK on the Print destination setting and close the Print management form.

Step 3: Setting up a customer

This is the final step and the only one you need to repeat when you now want to add a new customer to be emailed the invoices.

Create a new email address or use an existing one on a customer.


Now select the “More options” menu and select “Advanced”.

einvoice_email2Select the “Invoice” role (or another if you created a different one in step 1) on the “Purpose” drop down. You can even have multiple roles selected if you want, so if you do a multiple setup with different documents you can add multiple roles/documents to one e-mail address.


Setup is done!

So now all you have to do is to remember to tick the “Use print management destination” check box when posting an invoice and all customers with this role on an email will get an email instead of going to print.


Oh… You’re welcome!



Creating demo data in Dynamics AX

The Contoso demo for Dynamics AX is an extensive data set that covers most features in the application. You do have to get to know the company somewhat, but it is a great tool to do demos on.

The issue is to get up to date data, so that the BI reports and data looks current. Well… not any more.

If you need to refresh a demo set, you simply generate new data.

There is a module called demo data. Access this and click Generate data.


There are some options to consider. I normally tick them all…


Then just let it work for a bit…


You’re good to go do a demo with fresh data!



Presenting relative budget reports


A quick idea on how to present sales targets to your sellers or any type of budgeted data.

As a sales representative in my early career I always dreaded the first sales report I got each month. The issue was that I was presented with a report showing my current monthly sales according to the monthly budget. It looked like this:



It was discouraging because it looked like a MASSIVE effort to reach that goal. I just hated the look of this graph, so I made a small amendment to the report to better inform myself:


Suddenly a very negative report is turned into a positive one. I was ahead! I’m on track! Great!

It is pretty simple…
Just find the number of days for the budget interval and find out how many days into the period you currently are. Then create two columns of the budget with elapsed and remaining budget based on that. Take a look at the spreadsheet I’ve made as an example.


How To Present A Budget.xslx

Make it perfect:
If you only do monthly budgets you could divide the number of days in the month as is done in this spreadsheet. Doing it right, you could would look for open days in your Calendars in AX and use that as your base for progression and quantity. The difference is that the chart would jump over the weekend by cycling through two additional days giving you a worse status on Monday then on the Friday.

Power BI:
Now I have no example of this in Power BI yet, but I know you can create this with not that much effort and I’ll amend this post when I’ve done one with a more detailed guide.

General take-away:
Try building as much context into a report without making it messy and make that data as correct and full-featured as possible.

Gamify the work. GAME ON!

KPIs are well and good. Competing with ones goals are one thing, but wouldn’t it be awesome if a social thing got your sellers to think their every work day was great fun? I have had such an experience myself. #STORYMODE


In my early years (before my ERP consulting days) I worked as a sales person in a store that sold telecommunication equipment. It was a very small store (Kiosk) and we did work pretty much on our own all day long. There were several stores in the area and we did compete together on sales. There were no common ERP solution used, so statistics where something that came once every x interval. I talked to the owner and we though up a way to report more directly and we hired someone to do the development of an intranett. I was kind of the architect behind it and came up with some cool stuff that really boosted the sales and had an amazing impact on the focus of each individual.

The idea was to create a webpage where we could report sales of different types of focus products. I thought that once authentication and the data was in place a chat would be pretty easy to implement as well, so we did that. As we all worked separately we suddenly had a place to talk in public to each other… Today that is pretty common. However the smart thing we did was that we also posted an update to the chat when some sales was done. It was a GREAT success… Sales multiplied by an order of magnitude and the boss mann could easily swap focus by changing game products and rules.

The experience I gained from this was that a social setting with healthy competitive statistics that is fairly compensated can be a massive motivator. With AX this could be really simple and have a great impact, but make sure that you keep it healthy and that maybe the bottom staff gets heavy hearted. One way to remove a negative focus is to only show the topp x sellers and show a personal ranking if anyone is below. In any case it will incentivise some of the sellers while others might not reach this goal.

Some ideas to make this work:

  1. Keep it localized
    If your company is spread across multiple locations you would like to have the competition within a local area to focus the competition. You can have a country wide selling competition, but then also get focus on a sales person vs. sales person, store vs. store and branch vs. branch going within a limited area if you have a lot of participants… Best would be if the participants of an area could meet socially without traveling too far.
  2. Weighting
    Try giving a weighted scoring if you have a big variation in results or create leagues.
  3. Scoring
    You can score different products to gain and adjust focus.
  4. Socialize it
    Automate updates to a feed that is easily accessible to the users. Chatting apps like HipChat or Slack are great, but a feed directly in AX or a SharePoint site would also be good.
  5. Incentivise
    Money talks… Getting paid is great, but achievements are also good.🙂 Create a badge solution where the persons are awarded e-badges that are associated with their profile. It does require some more development, but might be a nice incentive.
  6. Surprise elements
    Some goals could be to sell a specific product first or be the closest to the “magic sum” for an invoice. Like a lottery… The though is to involve everyone.



How easy is it to create such a dashboard? Almost too easy, so it is probably time you got started. Here are some metrics you might want to consider. (Yes… They are pretty standard and some might need more data then standard)

  1. Sales organization
    1. Most sales of focus products
    2. Best revenue
    3. Best growth pr. period
    4. Fastest closing time (Quote to Order)
    5. Highest success ratio (Quote vs. Order)
  2. Warehouse organization
    1. Most picks
    2. Fastest picks
    3. Best quality
    4. Longest hours
  3. Manufacturing organization
    1. Best product quality
    2. Fastest production time
    3. Closest to estimates
    4. Longest hours
  4. Project organization
    1. Best times
    2. Best estimator/budgeting
    3. Fewest complaints
    4. Best satisfaction

What do you think? Any good measures to compete with? Leave a comment or respond on Twitter.

Day dreaming: Hololens and AX

So WPC2016 is currently happening and I noticed that Microsoft did a very large bit on Hololens. I really think that it is an exciting product in general, but is it interesting in an ERP perspective? I’m trying to come up with some scenarios where it could be nice to utilize Hololens with AX and there are some ideas I believe that someone might want to create.


There are many things that could be done around planning, but that is not object oriented and does not really show the best use of AR. If it is just a virtual display with data, then VR could just as easily been used. So these are some scenarios I see fit for using Hololens with data from AX.

  1. Warehouse management

    Extensive tagging of items and locations with QR codes that can be identified by the Hololens would be required.

    1. Picking

      I guess pick-by-voice is the obvious choice here, but the Hololens is smart and could go beyond any other solution that I’ve seen available
      The available picking jobs are shown with information on the job like quantity, weight, picking time and so on. Then either by voice or by air tapping the job is selected and starts. A snapped display of route and current location is shown in the display like a HUD. The camera scans for location indicators on shelves and/or items (QR codes) and knows where you are and simply gives you the quantity to pick by showing a quantity to pick or telling you. The user confirms the pick by voice or air tapping the QR code on the shelf for confirmation.

    2. Inventory status

      Air tap the QR code for the location or item and it shows a Power BI card on the status shelf or product. Then click the card to get even more data on the transaction flow/alternative locations and so on. Like shown in the video from the Power BI App

  2. Manufacturing

    1. Machine data and statuses

      Display graphics from your machine IoT sensors directly on the machine itself along side current job description and progress.

    2. Executing jobs

      Get a list of your jobs and drop them to a box on the machine to start it. Integration with AX and the machine can automate things like settings machine parameters and other information directly from AX based on data stored on the item or production order.
      The users can see progress in machine vs. estimated time in AX ++

    3. Custom production orders

      Drawings and product designs can be displayed in 3D from the item in AX with measurements and specs along side the production order estimated time and elapsed time on the task. A Skype link to the engineer or sales peson is available so the person can do Live assistance if needed (Like the plumber demo)


Do you have any visions for Hololens and AX working together? Please leave a comment!🙂

Get Certified for Dynamics AX (7)


If you browse to the Microsoft Learning portal you can find an assortment of Dynamics AX exams. Most are for AX 2012 (Version 6), but some courses are available for Version 7 already. If you look at the certification library, it shows two courses now. Financials and Development introduction are available, but I also was able to find trade & logistics by trying some URLs.

There are a lot of information on these pages, but the one I found interesting was the “Preparation options”. You can go to Dynamics Learning Portal and take the required material through watching instructor led videos. Which for me personally is AWESOME!

To get access to the Dynamics Learning Portal, which is a part of the Microsoft Extranet AKA Partner Portal, you have to ba a certified partner. If you are… Then good on ya. Go train and get certified!
If not… Take a look at this site: Dynamics ERP Partner.

I would love to try to take the exam directly as it should be similar to the AX 2012, but the is no free second chance at the moment and I wouldn’t want to waste the company money. So now I just have to run through these videos and I’m set for my exam.

AX7 – Gantt Chart control

The Gantt Chart is an extremely powerfull way to present chronological data and interactions between actions. It is the go-to interface when working with tasks!

In earlier versions of AX we had a Gantt chart that looked like this:


The new Gantt chart for AX7 was designed to work with the web. Microsoft have licensed a third party HTML5 control and I really like it.


It looks very sleek and elegant and is very nice to interact with. It is touch friendly and you can customize the look to your wishes pretty easily.

Under the hood it has a wide variety of data inputs and can be configured to do many variations.


Check it out:

The standard Gantt chart is available for Project and Production resources and other places around the solution. The quickest way to get a glance at this is by job planning a production order and click the Gantt button on the Schedule tab.


There is also a form that has no menu item that you can access in your environment to play around with the tutorial that is available for you to look at:



If you want to learn more about the Gantt chart, you can watch a video from October 2015 at Technical Conference where they talk about the control: https://mbspartner.microsoft.com/AX/Videos/832


AX expences app featured in Build keynote?

I noticed that during the Day 1 keynote that Microsoft did a very brief Cortana meets AX demo! It is in one of the last presentations that it is featured.

The demo shows a Cortana suggestion that is based on an email with a receipt for a taxi ride.


Notice the MS Expenses 2.0 app? According to the presenter, this is the internal app used by Microsoft.

By clicking the app icon the app launches. Powered by Microsoft Dynamics AX.


Cortana feeds the app the Expense report with the data gathered from the receipt.


The expense is filled out completely with Category, date, Comment, amount, currency and a nice little PDF attachment (probably of the document).


So Cortana found an email, saw that it was a receipt and marked it as such, read and populated related fields and then presented the user with the notification/suggestion. That is pretty powerfull…

The presenter goes on to show a other alert by Cortana on an Android phone where he is notified he has a pending travel expense report to send.


That notification must be based on the MS Expenses 2.0 application.


He submits the report at the end and moves on to more Cortana stuff.

(This post was both captured and written on my Lumia 950)


AX7 Timesheets: Basic setup

The timesheet solution is a part of the Project management and accounting module and is not integrated with Time and attendance. It is the best way of posting manual feedback about hour transactions to projects and project activities. This is often used in combination with time and attendance time stamp, but be carefull to not register time on the time registration terminals to projects when you do so as that will cause duplicate postings to project.

The users normally access the timesheets through the Employee self services, but ut can also be accessed through the Project management and accounting > Timesheets > My timesheets menu item.

Setting up the user

To make a user be able to access their time cards from the Employee self services workspace you first have to assign the user the Employee role and add a calendar to the employee: Human resources > Workers > Workers | Employement > Employement details > Calendar

You also have to add the desired period code to the users profile to set the range of the timesheets. This is done by clicking the Project pane and selecting “Project Setup”.


This opens up a form to handle the setup for project related to this employee. You at least have to fill out the Period Code field, but there are some other fields that can be configured as well to handle the project timesheet.


Setting up period codes

A timesheet is a set of days grouped by the Period type (Period code), so before we begin we have to set up these.

You can set up period types by going to Organization administration > Setup > Calendars > Period types or drilling through on the worker setup form.


You can define your different period types like Weekly, Bi-Weekly, Monthly and so on and add these to the users like shown before.

After the period code has been created and added to the workers you have to create the timesheets. This is done by clicking “Generate periods” on the Period Types form.


The dialogue that pops up gives you the possibility to create the given period for x number of periods from what date. Remember to set “Update timesheet periods” to Yes as this will create the timesheet periods in the same process. You can do it afterwards if you mess up by clicking the menu item for this in the same form.


You can then review the timesheets by clicking the “Show timesheet periods”.


Ready to use!

So after you’ve created the Timesheet period, related an employee to use this period for projects and then activated the “Use timecard” on the worker, you’re good to go.

To open the form you can go to the Employee self services workspace and click the “New timesheet”.


This opens a dialogue where the user can specify for what day he/she want to input data for. The timesheet period for this date is then selected.


Then you’re ready to start filling out timesheets!


AX7 T&A: Electronic Timecards


The concept of Electronic timecards are used to manually enter time or change your existing time journals based on your terminal registrations. The form is rather detailed and does require some end-user training, but it is a very powerfull tool for self service work. There is an alternative to Electronic timecards in the Project management and accounting module called Timesheets. The timesheets are much easier to use and require less input from the user.

For project workers only doing registration of time to projects and still want to use time and attendance, I would recommend using a combination of the two. Just be aware that you can register time on a terminal AND do timesheets that will lead to duplicate data. So if you use a combination, then make sure you’re not checked in to a project on the time and attendance terminals.

For manufacturing workers it is nice to let them enter this form to confirmed or change time registered before it is reviewed by the forman.

Activating a user

On the Worker simply activate the “Use timecard” parameter.


The user will now be able to input Electronic timecards by going to Common > Common > Time and attendance > Electronic timecard.

Once this is registered, any user can access this timecard. I therefore recommend using passwords on these users to preserve some type of security.

The user has to select the right user from the dialogue and is then presented with the Electronic timecard.

To open the electronic time card. Go to: Common > Common > Time and attendance > Electronic timecards. When opening the form the user has to identify the user. The system suggests the current logged in user, but he/she can select another user is need be.


The form is opened for the selected user on the current date.


The list will be populated by the terminal registrations if there are any registered.

Locked or unlocked?

The form can be locked to a specific user. You can not edit the lines without locking it. This is to ensure that only one user is editing at the same time. Click the “Lock” button before you start to edit.

When form status says “Lock”, the user can only see their transactions.


Unlocked status means the form is opened up for editing

Find the right day and time profile

The Electronic timecard form is opened on todays date and it is easy to select another day for the week selected by clicking the weekday name radio buttons.


The profile is based on the users proposed time profile, but the user can change it if need be. This is often used if the worker has worked a different shift then is planned.

Entering and/or changing transactions

There are a lot of different types of time registration types to select from.


The Clock in and Clock out types does not require the user to select any job. In these cases selecting the type and then start time is sufficient.


The other type of transactions require the user to select a job. The “Journal registration type” and “Reference” fields can be used to limit the selection in the Job identification selection, but it is not required. So you only need to enter the Job ID.

On project transactions that are manually entered the Category must be filled out and is defaulted to what is set on the workers time and attendance settings.

To enter switch codes you click the “Switch code” menu item. These are not added as lines in the form. Read more on switch codes here.

Check and transfer

Once the form is complete, the user can “Check” the timecard registrations done.

This timesheet has a wrong Clock In time.


Clicking the check function opens this dialogue.


If for instance you have a errors in the lines you will get errors in the message center.


Multiple errors might be the result of only one mistake in the lines, like this example. The clock in is sat to late. Changing this to the right time will remove all errors.


Once the transactions are checked with no errors, the worker can transfer. You can not transfer with errors, so it is sufficient to click the Transfer button. This will also execute the “Check”.



After the forman or team leader has done the calculation the sums for the day are created and the user can control these. In the Properties, at the bottom of the form, you will see if the day is calculated or not.


Once calculated the Electronic timecard can not be changed. The sum of the day can be viewed by clicking Calculation in the form menu.


Go to the AX 7 – Time and Attendance guide page