Time and Attendance (Part 28/31): Supervisor options

The idea behind the supervisor option is that the shop floor supervisor shouldn’t have to retreat to their office to do the most frequent tasks. This includes reprioritize work, control worker attendance, report absence and change feedback as well as report on manufacturing execution tasks themselves.

When authenticating on the time and attendance registration form, the supervisor will be prompted with a supervisor dialogue where they can quickly jump to the desired task.


The supervisor can change between different resource, groups and production units to do Job registrations.

Change Feedback

The “Change feedback” option gives an overview for feedback from the selected resources.


You can select multiple records and click the “Update Feedback” button. This launches the feedback wizard form which I normally don’t use because you can not access the picking list. This is a simple way to perform feedback.


After the supervisor has updated the feedback and clicks “Finish” the journals and jobb is updated.

This is a great feature as it allows the supervisor to reactivate jobs that has been reported as completed, but should have been reported as stopped. Earlier this gave a lot of headache because you would have to go into the AOT to fix it or create a job that could do this for you.


The supervisor can quickly access the Attendance form (which you also can do from the terminal directly) from the supervisor options to report absence or check the worker attendance.

After selecting a calculation group,


the supervisor will see the attendance overview.


Here the supervisor can print the attendance form, clock out a selection of workers or register attendance directly.

Clicking on register attendance for a worker the supervisor is presented with a absence registration form with a start/end date and time based on the planned work profile and can input an absence code.


This is done without even leaving the shop floor. When the forman is going to calculate the absence registered will be used and he/she won’t be bothered with roaming the workforce to find out who knows why anyone wasn’t clocked in that day.

Edit job list

“Editing job list” is used to reprioritize the sorting of the jobs on the terminal for the resource.


Selecting a job the supervisor can move it up, down or to a specific sequence number. It is also possible to move the work to another resource as long as it is within the route operations requirements.

Making the job High priority will force the resource to work on this job next. It will be the only job that the resource can start working on and will be notified if he/she tries to start another job.

There are also a lot of other information like capacity overviews, materials and general information about the production order and/or job.


To activate this feature for the terminal user. Go to Human Resources > Common > Workers > Workers | Employment > Time Registration > Supervisor Option and check the box.


Have fun!



“Number sequence ” does not exist”

You might see this message when posting in manufacturing execution, but where do we start looking?

Well often it is due to some issue with number sequences on the journals, but I don’t know why this happens.

What I normally do is try to figure out what type of journal it is trying to post and renew or change the journals voucher series (Number sequence).

Go to Production Control > Setup > Production Journal Names and you’ll find the number sequence referred to there.


Good luck and if you’re looking for more on Time and Attendance or Manufacturing Execution. Check out my Time and Attendance guide.

Time and Attendance (Part 30/31): Document groups

When working on a terminal with manufacturing execution AX 2012 can offer up documents to the users that are attached either to the item or to the production order.

This is done by adding records in the Document Groups (Production Control > Setup > Document Groups).

Simply add a new record, select the documents and add the users who will view the different documents.


You might want to create different Document groups for different individuals.

Selecting “Reading required” in the document types section will prompt the user with a dialogue when starting the production.


The user can also manually open the attachments by clicking the attachments icon.


This is a great feature and not very well documented one. Hope it helps you out. 🙂

Time and Attendance (Part 26/31): Manufacturing Execution setup

A core component in Shop Floor Control was, as the name suggested, handling Manufacturing Execution (MES). The setup for this is now located in the Production Control module (Production Control > Setup > Manufacturing Execution)

The Manufacturing Execution parameters is mainly a subset of parameters presented in the Time and Attendance general parameters. The interesting parts are in the Production parameters (Production Control > Setup > Manufacturing Execution > Production Parameters)


You can control the parameters by site or generic throughout the company.

Bundle type decide how you want to split your work when working on several jobs at the same time. (I might post something on that later on)

Time can be posted automatically to route or jobb journals. If not activated, then it will wait to post until the “Transfer” is performed in the approval process.

You can assign cost for manufacturing based on the pay types generated or by the Cost Category.

Financial Dimensions can be inherited from the jobs or worker or as a hierarchy where the one overrides the other.

Productions post journals (Route and Picking lists) at three different stages:

  • Production start
  • Operation feedback
  • Report as finished (Also posts a finishing journal)

The next three options in the right side menu (Start, Operations, Report as Finished) is for setting different posting setups for each step.

Be sure to not set the solution up so it automatically pulls estimated route as well as actual transactions and duplicate or even worse triple posting of estimated items. Use either “Always” for only ONE of the three posting actions or Route group/Flushing principle for two of them.

All of these steps need a quantity to trigger automatic consumption of items, so you must start with a quantity if you want it to handle picking to be created or posted at start.


On Start you can also decide if you want the solution to mark the production order as started and if you want to include a quantity as well.

You can select if you want to show the picking list journal before it is posted. This opens up a form with items suggested based on the qty started and the terminal user can edit it on the fly when posting.


On Operations you also decide what level you want to report on. You can select either Operations(Route) or Jobs.

You can on this level, as well as on “Start” let the user to be able to edit the picking list journal by ticking “Edit journal” under the “Picking list” section.


On Report as Finished you can select if you want to update the status of the production order and if you want to Accept errors.
Accept errors doesn’t accept any error like missing inventory and so on, but are in relation to jobs being reported as finished and the consumption of all estimated quantities.

It is a good idea to have unique journal types for feedback from Manufacturing Execution to be able to quickly differentiate between what is manually created and automatically created from MES.


The final menu item is Quantity validation which is used to make sure that you start and report the correct amount. In some cases I use this, but in many cases this is left as it is shown in the screenshot above. You can base the validation based on previous jobs or the estimated quantity.

When all this is looked over you will be able to get cracking on using manufacturing execution.

Releasing a production order with route will make the jobs available in Manufacturing Execution.

Start the Job registration form (Production Control > Periodic > Manufacturing Execution > Job registration) and have at it!

Time and Attendance (Special): Adding new menu items

As the JobRegistration form is pretty special and is über configurable, you have to do some magic to add new menu items to it.
Don’t just go ahead and add new buttons directly to the form it self as this can mess it up. You should to add the new buttons to the configuration tool so you can select them and handle them as any other configurable button.

Here’s the quick guide:

  • Add new element to Enum.JmgSignInButtonFunction
  • Add functions to Class.JmgRegistrationForm
Example for a menu item for printing labels:
  • Create a new menu item that is to run the action
    (Remember to find a smashing icon to go with it)
  • In Class.jmgMESClientSelection
    • Add the enum element to case switch in buttonFunction2MenuItemStr
    • Add the new menu item in the case switch buttonFunction2MenuItemType
    • Add the method string return in menuItemStr2MethodName

Thank you Dag Arild for helping on this one.

Time and Attendance (Part 25/31): Work planner

Work planner is an excellent tools to handle your workers profiles over time and work efficiently with the profile calendar. It basically is a visual representation and painting tool (Yes…) of your profile calendar and the reason why you want to have some logical coloring of your profile settings.

My customers use it to do shift planning and make those off-weekly-work-profiles work (like someone having half day two days a week, but not the same days next week and free every third Friday after a full moon and such). To set this up you need to add a color to you profile. Check out my post on profile configuration for more information on that.

Using the Work Planner:
Human Resources > Periodic > Time & Attendance > Work planner

When the form opens it gathers all the data from the profile calendar and creates an overview in the form.

Work Planner

Right area of the form:
There are two panes:

  • “Period” is one row per user
  • “Profile Group” has a section for all and a section with rows per profile group.

You can filter based on calculation group and/or approval group. The Display options are layered and shows the profiles in the way the profile calendar is querried from the Time Journal creation. You can activate them at will by clicking the check boxes. “Overlay” will show the profile group and all, Standard profile is the default profile on the workers employee settings and then you have “planned absence”.
The absence can be shown and you can pick the color it shows in the grid.

One layer overrides the other:
1. Absence
2. Profile calendar: User
3. Profile calendar: Group
4. Profile calendar: All
5. Default Profile

Left area of the form:
Here you can pick the date interval for the form and clicking “show weekends” gives a grey color on saturdays and sundays. The Profiles are listed and shows in the color as set on the profile. You can filter down the profiles by using the profile group. These will then show only the profiles in the profiles relations for this group.

Select one of the profiles in the list by clicking it and then draw these profiles on the dates for each user or group/all based on the pane you’re on.

Check the clear profile and draw if you want to delete/remove.

After you’ve finished you’re work planning. Click “Save” in the top menu and the profile calendar is updated with the new data.

Have fun!


Two (three) different absence solutions in AX?

To answer the title: “Yes”. There are several places to maintain absence in AX 2012.
Working with Absence managment in AX 2012 you’ve probably come across this. The moment where you understand that there are multiple feature sets on Absence managment that don’t work together. Human resouces (HCM) and Time and Attendance (JMG) both use Absence codes, but the features in them are a bit astranged.

The reports in Absence managment in Human resources based on the absence journals are very good. That is why you set up the collumns and “include in report” on the absence codes.

You can transfer the absence registered in Time and Attendance into Absence journals in Human Resources if you’ve activated the parameter to do so.


Absence codes is a common concept and is used both in Time and attendance and Human Resources, but there are some places where you might fall in to a hole and the only way out at the moment is creating program changes.

Issue number 1: Absence applications from employees
You have the register absence under HR > Periodic > T&A > “Create planned absence”, create this through the attendance form (HR > Inquiries > T&A > “Attendance”) or do this through the T&A pane on the worker (HR > Common > Worker).

So far it looks to be working together, but what happens when employees need to register absence for approval. The employees can use Employee services in Enterprise portal to let your employees pre-register absence that is to be approved, but this doesn’t have anything to do with Time and Attendance.

Absence detatched

A way to resolve this would be to add a function to class when approving absence that also updates the planned absence in time and attendance.

Issue number 2: Resource calendar updates
If a person is absent and this person is also a resources (for projects and manufacturing) it would be nice to mark this resource as absent as well. This has to be maintained manually today by “Calendar deveations”.


A nice way to automate this process is to add a new field to the abcense code with lookup to calendar. Then on the “Planned Absence” create and update classes create some business logic that also creates and updates calendar deveations for the resource.

The features are all there, but they just don’t work together as I would have expected. I hope this post helped clear up some questions you’ve had and nudged you in the right direction. If you’re in the same situation you’ve probably got a partner with a skilled developer who can help you sort his out quickly.

Time and Attendance (Part 24/31): Flex time administration

All the menu items for handeling flex for a worker is located on the workers form (Human Resources > Common > Workers > Workers)


Opening flex balance: You can set the Opening Flex balance of a worker if the worker allready had some time built up at implementation or as a transfer from another company.
Flex: Recalculate the workers flex balance.
Flex balance: Shows an overview of the workers flex account balance chronologically through time. A new record is put in to this table each time the user has a flex transaction at calculation and the flex balance is recalculated.

AX2012 Flex Balance

Flex corrections:
You can do adjustments manually by clicking “Flex correction”

AX2012 Flex Adjustment

In the example there is also a pay transaction for -14 of pay type 10000 now waiting to be transfered to payroll.

This flex correction can also be performed by the system.
The balance for a worker can exceed the limits of the Flex group settings.

Some just want to report on the issue and make sure that the users get back within the limits them selves or you can run the flex correction job to reduce or increase the balance for the user like the manual example above.
Based on the flex group settings you can replace these with pay types for each flex time unit adjusted. This is configured in the flex group. Check out the setup guide for this here.

The periodic job is found at Human Resources > Periodic > Time and Attendance > Flex > Adjust flex balance.

AX2012 Adjust flex balance

Worker account balance:
The worker can check their flex account balance in the job registration/terminal window.

Flex balance for worker in terminal

Time and Attendance (Part 23/31): Flex time Profile setup

Flex time is added before and after the clock in and clock out. Flex within work hours (after clock in and before clock out) is regarded as “Flex -” and flex outside work hours (before clock in and after clock out) is regarded as “Flex +”.

The flex time intervals does not have to be proportional, but it is recommended that it is atleast similar for each of the end points of the work day (clock in/out). You can have +2 hours and -1 hour at clock in if you want. Example: “Flex +” 06:00 – 08:00, Clock in at 08:00 and “Flex -” 08:00 – 09:00. However the profile will look at the total hours of work (from clock in to clock out) to determin when to start flex time calculation. So in that case you should have -2 hours and atleast +1 hour at clock out.

A standard flex profile might look like this:

Example of a flex profile
Example of a flex profile


Some times a worker want to register overtime instead of building flex, then the switch code “Overtime” is registered and this will then swap the Flex + for Overtime profile type.

Time and Attendance (Part 22/31): Flex setup

Flex time is often used and is a pretty concrete concept. You have core hours that the worker has to work and hours that vary from the clock in and clock out hours are posted to an balance that you can monitor. But I use this as a tool to monitor minor worker deviations as well. Even for workers who doesn’t have flex time.

My view on the matter: You don’t want to set up the system to be too strickt as this makes for a tight regime and a lot of input needed. I use this as a method of monitoring the small deviations that occur daily in all companies and simply letting the employees them selves be in charge of their work times and by the end of the week or month make sure that you have a balance around 0. Hours owed are deducted and hours earned are reset to 0 and lost. Use a small flex window like 30 minutes to handle the smaller deviations, but keep track of the hours. So the cronic late commers will owe and be deducted at month end. I’ve convinced many companies to start using this concept instead of the old ways because this is a win win win concept. Even in old school manufacturing companies where they used to alarm bells to ring in the shift have been converted to a more dynamic environment for the employees. Increasing the productivity, vastly reducing the amount of absence occurances and manual controls, boosing moral and thus making the recycling of employees lower.


What the flex functionality basically does is to maintain a flex balance. It can also use this as a pay type to keep an overview in an external payroll system.
Workers are a part of a flex group that sets boundries, but the boundries can be broken. It can adjust the flex balance to fall back within the boundries of the flex group by running a job which may or may not create pay transactions (either positive or negative). The adjustment is normally performed right before payment transfer is executed.
You can get reports on people working outside their flex boundries for manual Control as well.


The setup for flex Groups are located at Human Resources > Setup > Time and Attendance > Groups > Flex Groups

Flex Group

The categories Flex minimum and Flex maximum contains the settings for the boundries of the flex account.
If “Adjust flex max or min is activated the system will increase or reduce the account balance and pay the pay type assigned. You can use a Pay type factor to get more or less for each hour flex.
Setting up Flex balance pay types is used to be able to have an overview of your flex balances in your payroll systems.

User setup

After the flex groups are created you add it to your workers information.
Go to Human Resources > Workers > Time registration workers | Employment > Time registration > Flextime

When “flex allowed” is checked and “Flex Group ID” is selected you will be able to use profiles with flex +/- in them for this worker.

Next we’ll look at how to set up a profile with flex.