abaninas
22nd February 2012, 16:12
Upon request of auditors we need to control the user who can finalize a certain batch.

Most important a user who enters a batch should not be able to finalize it.

I was able to implement this using database authorization but was unsuccessful at the end, because if user goes into the transaction of any other user to check it, this batch will be assigned to him Although he has not changed it and so he can not finalize it.

Can you please advice how to control finalization of batches??

Eddie Monster
22nd February 2012, 16:38
We have run into the same issue however we have chosen not implement a Baan system or database control. The following is our response to the auditor's request. I check with my Finance department and got the official OK to post....

Auditors comments:

Currently, while using BaaN, an individual is allowed to prepare and subsequently finalize journal entries. Although there is a control policy designed to prevent this from occurring, there is not a prevention control in place to avoid this from occurring. We recommend that the Company implement a control within BaaN that requires preparation of a journal entry and the review of a journal entry to be performed by two separate individuals. This will reduce the possibility of an individual posting improper journal entries and potentially misstating financial statements.

Managements’ Response:

We agree that currently there are no system controls to prevent an employee from being able to finalize (systematically approve) a manual journal entry that happened to be created by that same employee. Accordingly, this allows for the possibility that it could happen and in fact, has happened, in a few instances. However, due to the internal practice of having a different person than who did the manual entry approve the manual entry, we estimate that this has occurred in less than 0.5% of all the finalizations of manual journal entries.

The lack of a systematic control in this instance is strategic rather than an oversight or limitation of the software. In our situation, there are times when the timely finalization of a manual journal entry is critical to the on-going functionality of the ERP system. If a second level knowledgeable authorized approver is not available at that very moment or at least within a reasonable timeframe, it could jeopardize the integrity of the information that is being processed in the Baan system and create a significant amount of work to recover. Accordingly, this is why management has never chosen to implement a control within the software itself to prevent such an event.

Given the lack of preventive system controls in this process, we recognize a series of compensating detective controls that exist which minimize the risk to a sufficient level where we don’t believe there is the potential for material misstatement of financial information. These compensating detective controls include, but are not limited to: The performance of general ledger account reconciliations for every balance sheet account done on a monthly basis as coordinated by the Assistant Controller and Controller. A formal quarterly review of every account reconciliation is done by the Corporate Controller and select accounts are reviewed by the CFO. A detailed review of actual monthly expenses incurred by general ledger account versus budget performed by the Assistant Controller. A formal quarterly review of the monthly and year-to-date actual expenses incurred versus budget done by the Corporate Controller and the CFO. The monthly financial statement review of actual results versus budgeted results done by all levels of the corporate accounting staff including the Assistant Controller, Corporate Controller, and CFO. Finally, a review of the actual results versus budgeted results done by all of those outside of the accounting department including, the CEO, Executive Team, and each Divisional and Departmental Manager.

Given the compensating controls above, we do not plan on making a change to require all journal entries require this segregation of individuals.


My note to you: Our reference to the timely finalization refers to the fact that to make some of these entries we have to open the periods back up and in doing so can open ourselves to the risk that integration transactions could also post into that period.

It doesn't answer your question, but may provide an alternate solution.

abaninas
22nd February 2012, 17:21
Thanks for your reply.

But I really want a solution...

Eddie Monster
22nd February 2012, 20:27
Perhaps if you use the Baan code extension functionality:
http://www.baanboard.com/baanboard/showthread.php?t=559&highlight=code+wrapper

to exten functionality on tfgld1111s000.

You could allow users to go into tfgld1110m000 create their finalization batch, click the 'select' button which would take them to Select batches for Finalization (tfgld1111s000). Users would select their batches to finalize and then click the 'Finalize' button.

At this point before the Baan standard code executes that choice.option, you could perform a query to see if any of the non-finalized batches contain the transaction types that you want to control. If they exist, it would warn users that they are in violation of finalization procedures and execute a choice.again() option which holds them in check until they deselect the batch they are not allowed to finalize...