Maximo supports the set up of financial periods and their assignment to financial transactions throughout Maximo. 

Chart of Accounts – Financial Periods

Financial Periods are defined at the organization level in Maximo using the action Financial Periods in the Chart of Accounts application.

Financial periods must be contiguous, the From date of a new row will be the same as the To date from the row with the latest To date. 

The Accounting Close Date is the date after the To date in which financial transactions made in the financial period will be accepted by Maximo. For example, if the To date is 31-Jan-2020 and the Accounting Close Date is 7-Feb-2020 17:00, then a financial transaction can be posted up to this date/time, assuming that an Actual Close Date has not been entered. 

The Actual Close Date closes the financial period, the user who does this will be referenced in the Closed By field. This makes the financial period read-only, the dates can no longer be modified.

With Financial Period validation enabled (Chart of Accounts – Validation Options) Maximo verifies that a transaction falls within an open and valid financial period. After the financial period is closed Maximo no longer assigns any financial transactions to it.

The financial periods are stored in an object/table called FINANCIALPERIODS with a unique index of ORGID, FINANCIALPERIOD.

Financial Periods elsewhere in Maximo 

A Financial Period is referenced on the BUDGET and INVOICE application main tables and on the objects/tables where financial transactions take place: 

  • DEPTRANS – Depreciation Transactions
  • INVOICETRANS – Invoice Transactions
  • INVTRANS – Inventory Transactions
  • INVUSELINE – Inventory Usage Lines
  • LABTRANS – Actual Labor Transactions
  • MATRECTRANS – Material Receipt Transactions
  • MATUSETRANS – Material Usage Transactions
  • SERVRECTRANS – Service Receipt Transactions
  • TOOLTRANS – Actual Tool Transactions

These are the objects/tables from which Maximo interfaces to a finance system. These are the same objects/tables where you will find GLDEBITACCT and GLCREDITACCT, the general ledger fields, although you will find these in many more objects and tables. However, unlike these two GL account fields you will not find the financial period displayed on the Maximo applications. Behind the scenes Maximo is setting the financial period, but to check this you need to have them displayed, perhaps using the conditional user interface so that they are only displayed for users of a specific security group.

Financial Periods in Labor Reporting

Financial periods will be defaulted on financial transactions. As an example we will show this using the Labor Reporting application.

When attempting to create a new record using the New Row button you may get the following error message “BMXAA1198E – The date is not within a valid financial period.” This is because the financial periods on the Maximo system where I performed this test had run-out at the end of 2019, financial period validation was enabled, otherwise you would not have received this message.

From the financial periods shown previously I have now entered an accounting close date for two of the financial periods in March (202003) and April (202004). The dates are using the date format DD-MM-YY. The accounting close date is the 6th of the following month at 12:00.

In Labor Reporting application I’ve added the Financial Period field into the details section as the third column so that we can see how it is being set. It is read-only regardless of the setting you make in Application Designer, financial periods are not meant to be modified.

On insert of a new Labor Reporting record the Start Date is defaulted to today (23-Apr-20) which would default a financial period of 202004 (not shown). I’ve changed the start date to the 4th-Feb-20 and it derives a financial period of 202002, a date between the financial period start (01-Feb-20 00:00) and the financial period end (01-Mar-20 00:00). If you remember the period 202002 did not have an accounting close date, and so it assumes that it is still open.

I have now changed the Start Date to 04-Mar-20 and you get the warning message “BMXAA1196W – The financial period for the specified date is closed. The next open financial period will be used. Do you wish to continue?”. When it refers to the financial period being closed it is referencing the accounting close date and not the actual close date.

Pressing OK will accept the Start Date you entered but the financial period will be the next open financial period based on an accounting close date which is in the future or null. It was set to 202004 as 202003 had an accounting close date of 06-Apr-20 12:00 and 202004 will not close until 06-May-20 12:00. If you had pressed the Close button the Start Date would have been returned to the previous value, 04-Feb-20.

When I change the Start Date to 04-Apr-20 I get a financial period of 202004 which is what we would expect, it is between the financial period start and end date and its accounting close date is still in the future.

When I change the Start Date to 04-May-20 I get a financial period of 202005. Although the previous financial period has not closed Maximo still assigns the financial period according to the start and end date of the financial period that the transaction occurs in.

When I change the Start Date and End Date to straddle the end of a financial period I get a financial period of 202004 based on the start date. 

Organizations – Labor Options

A little deviation from our narrative on financial periods. You can’t actually save the previous record as today is 23-Apr-20 and 30-Apr-20 is a future date. You get the error BMXAA2641E – You cannot enter actual labor with future dates and times.

In the Organizations application under the action Labor Options, there is a “Future Labor Transaction Tolerance in Hours” setting which controls how many hours in advance you can add actual labor transactions. The default is 0 hours.

The current time is 23-Apr-20 16:07. I have now saved a time record, I couldn’t if I had the End Date of 23-Apr-20 and End Time at 16:15 due to the labor tolerance setting. 

On the top right the transaction is unapproved. This is because another Labor Options setting was not to automatically approve outside labor. Inside labor is automatically approved, by default, which means it cannot be adjusted after it is saved. That, of course, may not be what you want. Scroll-up to the picture before one and check out the top two check boxes in the Labor Options dialog box.

Accounting Close Date and Actual Close Date

In this section of the document I want to illustrate what would happen if you went to approve an existing Labor Reporting record for a financial period which now has an actual close date.

After the financial period’s accounting close date is in the past, then a person with privilege should actually close the financial period. When the Actual Close Date is entered the user will be marked in the Closed By field. The financial period record now becomes read-only after you press the OK button, not if you use the Cancel button.

If you try to close a financial period before the accounting close date you will get an error message “BMXAA1195E – Actual close date must be later than the accounting close date.”

Also, if you try to close a financial period and there was no accounting close date you will get the error message “BMXAA1194E – The actual close date cannot be entered until an accounting close date exists.” The Accounting Close Date and Actual Close Date are working together.

For the financial period in February 2020 I have entered an accounting close date.

This now allows me to perfom an actual close of the financial period, which I did logged in as MAXADMIN.

I have an existing labor transaction which was made against financial period 202002 the one which is now closed. This labor transaction has not been approved.

If you select the transaction and use the action Approve Labor then although the financial period is past its end date, and past its accounting close date, and is actually closed, there is no further check on the financial period when you approve the time record.

What date field is used to determine a financial period?

In Maximo we saw that there are various financial processes which have a financial period on them. So what date field is used for other financial processes? The following table has been extracted by examining the financial processes which you can find in the IBM Knowledge Center for Maximo Asset Management 7.6.1.1. https://www.ibm.com/support/knowledgecenter/en/SSLKT6_7.6.1.1/com.ibm.mam.doc/gp_finmgr/c_ctr_fin_proc_over.html

Some of the date fields used to derive the financial period are actually hidden. For example, you don’t see the Entered Date in Labor Reporting, but it exists in the database table LABTRANS. In the tests we performed, the financial period seemed to be based on Start Date, but would jump forward to the current open financial period, which in normal circumstances would be based on the entered date, but only if you were using accounting close dates. In the Work Order Tracking application while there is an actual date for actual materials there is no actual date for actual labor, only an entered date (which is hidden). Many of these financial transactions and the associated documentation occurred more than a decade ago. While I am sure that most of this table is accurate, it may not be 100% accurate in the current version.

Chart of Accounts – Validation Options

Throughout this document we have assumed “Validate Financial Periods?” is checked. But there is another option “Use current date as a transaction date if Financial Period is Closed?” which is unchecked by default. The variable field is GLSETDATEFP, I believe it is a recent addition but I cannot find reference to it. I think it should probably be set because I am thinking that some transactions might be started in one period and cannot be completed because the financial period is closed, hence this setting would allow the current date to be used to derive the financial period. 

Recommendations

There is little point creating financial periods unless you are going to validate them. When you enter financial periods also enter an accounting close date, you don’t want old periods remaining open. If financial periods are closed then if you are producing financial reports based on financial periods then you should be able to consistently return to the same totals. If someone enters a record that would appear in a previous financial period then it will be reported against the next open financial period.

Perform an actual close of the financial period, after the accounting close date is in the past, this makes the financial period read-only, the dates can no longer be modified. 

If you are not interfacing to a financial system then you can still use the financial periods for period based reporting, perhaps each month, or every 4 weeks. Consider, in this case, setting the accounting close date equal to the To Date of the financial period.

If you really need to understand financial periods and how they are derived then I would recommend displaying the financial period attribute and the date field that it is derived from in each of the relevant applications.