DIVISION OF AUDIT SERVICES Internal Control Deliverables For System Development Projects Table of Contents Introduction ..................................................................................................................................... 3 Process Flow ................................................................................................................................... 3 Controls Objectives ......................................................................................................................... 4 Environmental and General IT Controls ......................................................................................... 6 Appendix A – Process Flow Chart.................................................................................................. 7 Appendix B – Vendor Payment Narrative Description .................................................................. 8 Appendix C – Control Objective Cross Reference ....................................................................... 10 Appendix D – Reference Material ................................................................................................ 11 Internal Control Deliverables For System Development Project -2- INTRODUCTION Internal controls are the processes and procedures used to provide assurance that business functions are carried out in a controlled and effective manner. They are implemented through an organization's structure, workflows, people, and information systems. Internal controls govern, direct, manage and monitor the various activities of an organization in order to ensure that the entity’s objectives are achieved. The best time to develop and implement a set of controls is during initial process deployment. When dealing with automated application controls, it can be a costly exercise to implement new controls after an application has been moved into production. Therefore, it is essential that internal control issues are properly addressed at the time of system development and implementation. The intent of this document is to provide a framework for identifying required internal controls that need to be implemented during the systems development and implementation process. Project managers will need to work with both business and IT primes in order to successfully address internal controls. The business has ultimate responsibility for defining what application controls are to be implemented for their processes. This assessment should be based on a review of the entire supported business process, not just the components that are to be automated through the system development initiative. The business will decide on what controls are required and whether they should be implemented through manual or automated processes. The system development team will be responsible for the design and implementation of automated application controls, based on requirements established by the business. The project team also needs to give consideration to environmental and general IT controls. These represent the controls that are embedded in the IT processes and services that support the system being designed (e.g. security, change management, backups, etc.). PROCESS FLOW The first step in identifying required internal controls is to document the end to end business processes that are impacted by the project. A process flow provides a narrative on how information moves through the application (including related processes, interfaces, and reports). A graphical representation of the flow will help to provide context to the narrative description. Depending on the complexity of the system or process being designed, it may be necessary to document multiple process flows. Appendix A provides an example of a graphical process flow and Appendix B provides the corresponding narrative description. Each component of the process flow needs to be categorized into either inputs, data transformations (changes and deletes), or outputs. These identified components represent the points within the process where internal controls may be required. Internal Control Deliverables For System Development Project -3- Inputs: Any place where information enters into the system. Each inputs should be labeled A1 through A## in the process flow documentation. Inputs include, but are not limited to: - Interfaces from other processes - User data entry - Dedicated devices (e.g. bar code readers, scanners, etc.) Data Transformations: All processes that cause changes to process data (calculations, updates, and deletes). Transformation processes should be labeled B1 through B## in the process flow documentation. Outputs: Any place where information is extracted from the process. Each output should be labeled C1 through C## in the process flow documentation. Outputs include, but are not limited to: - Online queries - Interfaces to other processes - Reports - Deliverables (e.g. cheques, invoices, products, etc.) CONTROLS OBJECTIVES Each control point identified in the process flow documentation should be assessed against a set of relevant control objectives. By mapping the control points with the relevant control objectives, a clear understanding is obtained as to what internal controls already exist within the process and those that need to be defined and implemented. The process flow documentation should be updated to include any new internal controls that are created. There is a different set of control objectives that needs to be applied based on the type of control point being reviewed. The relevant control objective groups are listed below along with the associated control point category: 1. Segregation of Duties (all control points) 2. Source Data Preparation, and Authorization (input control points) 3. Source Data Collection and Entry (input control points) 4. Processing Integrity and Validity (data transformation control points) 5. Output Review, Reconciliation and Error Handling (output control points) 1. Segregation of Duties Segregation of duties focuses on ensuring that individuals are only able to execute authorized processes that are relevant to their role and responsibilities. It reduces the possibility for a single individual to be able to compromise a critical process. Proper segregation of duties provides a means for detecting potential control failures and can help to prevent conflicts of interest, fraud, abuse and errors. The following activities should be segregated from each other: - Data Entry - Transaction Authorization Internal Control Deliverables For System Development Project -4- - Transaction Reconciliation Systems development, acquisition and maintenance System Administration Database Administration 2. Source Data Preparation and Authorization Controls designed to ensure the authenticity, accuracy, and validity of source documents (including interfaces) used as input into the system or process. a. Authorization procedures exist for source documents prior to data entry b. Authorized data remains complete, accurate and valid throughout life of source document c. Erroneous source documents are properly handled d. Confirmation receipts are sent to source document originators e. Control over sensitive information exists for source documents f. Source documents are securely stored and maintained in order to facilitate transaction reconstruction, review and audit, litigation inquiries and regulatory requirements 3. Source Data Collection and Entry Controls designed to ensure that data inputs are accurate, complete and authorized. a. Processes are in place to ensure timely data entry and error correction b. Data entry processes are limited to authorized and uniquely identified individuals c. System data can be traced back to originating source documentation and the individual who inputted the data d. Verification and edit checks exist for inputted data e. All authorized transactions are accurately recorded, once and only once f. Incomplete or incorrect transactions are rejected g. Transactions are assigned unique and sequential identifiers 4. Processing Integrity and Validity Controls designed to maintain the integrity and validity of data throughout the system or process. a. Access to data processing routines are limited to authorized and identifiable individuals b. Logs are maintained of programs executed and transactions processed or rejected c. Data changes can be traced back to the changing process and authorized individual d. Multiple versions or repositories of the same data are kept in sync e. Data processing routines include error prevention/detection checks f. Processes are in place to ensure reporting and timely correction of errors g. Correction and resubmission of errors is approved by the original submitting function h. Resubmitted transactions follow the exact processes as the original transaction i. Data updates only occur through fully tested and approved routines j. Controls are in place to ensure the integrity of interdependent routines k. Deleted information is retained for audit purposes and flagged to prevent inclusion in standard reporting l. Recovery processes exist to automatically maintain the integrity of data during unexpected interruptions. Internal Control Deliverables For System Development Project -5- 5. Output Review, Reconciliation and Error Handling Controls designed to ensure the accuracy and security of output generated by the system or process. a. Access to output data is restricted physically and logically to authorized individuals b. Ad-hoc reporting capabilities are restricted to authorized individuals c. Query and reporting functions do not provide data update capabilities d. Output requirements and needs are periodically reviewed e. System output contains all, and only, the requested information f. Verification checks exist for outputted data g. Origination and content of output should be independently verifiable h. Process and responsibility for output disposal is clearly defined Appendix C provides a cross reference of control objectives with the control points identified in Appendix A and B. ENVIRONMENTAL AND GENERAL IT CONTROLS As part of the system development and implementation process, consideration needs to be given to the IT processes required to support the new system. Similar to the internal controls within an application, if required environmental and general IT controls are not identified during the development and implementation of the system, then it may become a more costly initiative to implement them once the system is in production. For each of the following environmental control issues an explanation needs to be provided describing the actual processes that will be implemented to minimize risk exposure. a. Physical Security b. Logical Security c. System Management and Administration d. Database Administration e. Backup and Recovery f. Contingency Planning and Disaster Recovery g. Program Change Control h. Application system support and maintenance i. Capacity Management Internal Control Deliverables For System Development Project -6- UniFi Information Technology Accounts Payable Clerk Director Purchasing APPENDIX A – PROCESS FLOW CHART Internal Control Deliverables For System Development Project -7- APPENDIX B – VENDOR PAYMENT NARRATIVE DESCRIPTION The purpose of the vendor payment process is to ensure that after a vendor provides goods or services that the invoice relating to the goods or services received are paid in an efficient and effective manner. Input A1: Invoices received from vendors are forwarded to the Director for review. Transformation B1: The Director reviews each invoice for appropriateness. Approved invoices are stamped, signed, and forwarded to the Accounts Payable (AP) clerk for processing. Input A2: Before entering invoice details into the local financial application, the Accounts Payable clerk must first create a batch record that is used for the consolidation of invoice details. Multiple invoices can be entered into a single batch. The local financial application requires that a separate batch be created for credit memos. Invoice batches are created using the function ‘Purchase Batch’ while credit memo batches are created using the ‘Returns Batch’ function. Typical process is to use the same name for the invoice and returns batch so that the transactions can be consolidated in downstream processes. Input A3: Approved invoices and credit memos are entered into the local financial application by the AP clerk, using the ‘Receiving Transaction Entry’ and ‘Returns Transaction Entry’ functions respectively. Output C1: There is no set limit on the number of invoices that can be entered into a single batch. The AP clerk arbitrarily decides when a batch is ready to be submitted for payment processing. Using the internally developed Transfer tool, the AP clerk generates a batch summary report showing the payment total for each invoice contained in the batch. Transformation B2: The batch report is then provided to the Director along with the corresponding invoices. The Director then ensures that his stamp and signature are on each of the invoices and that the invoice total matches the amount shown on the batch report. The Director then initials each invoice and checks off the amount on the batch report. Transformation B3: Once the batch report has been approved by the Director, the AP clerk then posts the batch within the local financial application. Posting the batch prevents any further changes to be made to the invoice details. Transformation B4: Within the Transfer tool, the AP clerk uses the ‘Transfer Batch’ function to copy posted invoice details from the local financial application database into an intermediary oracle database. Output C2: A script is run nightly that checks the oracle database for new invoices. The job then creates an interface file containing the new invoice records that need to be transferred to UniFi. The interface file is saved in a secure drop box on the server Shelf. Output C3: The interface file creation process (C2) creates a notification email that is sent to Systems Support and Development in the Financial Services Division (FSD). The email provides a record count and total dollar amount for the interface file that was posted on Shelf. Internal Control Deliverables For System Development Project -8- Input A4: A process is run nightly on Shelf that reads the interface file and loads the data into UniFi. A Load confirmation email is sent to a pre-defined distribution list that reports the number of invoices loaded in to UniFi and the total dollar value. Output C4: The AP clerk prints out the UniFi Load Confirmation email and consolidates it with the corresponding batch report and vendor invoices. The consolidated package is then filed together to support future reviews. Internal Control Deliverables For System Development Project -9- APPENDIX C – CONTROL OBJECTIVE CROSS REFERENCE √ Control Exists CONTROL OBJECTIVE CROSS REFERENCE X Control Missing N/A Control Deemed Not Applicable Inputs # A1 A2 A3 A4 A5 # B1 B2 B3 B4 B5 Control Points Description Invoice Create Batch Transaction Entry UniFi Load Confirmation Control Points Description Review Invoice Review Batch Report Post Batch Transfer Batch Review UniFi Load Confirmation 1 √ √ √ √ Control Objectives 2a 2b 2c 2d 2e 2f 3a 3b 3c 3d 3e 3f 3g √ √ √ N/A N/A √ X N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A X X X N/A N/A √ √ √ X N/A N/A √ X X X √ √ √ √ X √ X N/A N/A √ X N/A X X √ N/A N/A 1 √ √ X √ 4a √ √ X X X X Data Transformations Control Objectives 4b 4c 4d 4e 4f 4g N/A N/A N/A √ X √ √ N/A N/A √ X √ √ X X N/A N/A √ √ X X √ √ X X X X X X 4h √ √ X X 4i √ √ √ X X X X 5g √ √ √ √ 5h X X X X 4j 4k 4l N/A N/A N/A N/A N/A N/A √ N/A √ X X X X X X B6 Outputs # C1 C2 C3 C4 C5 Control Points Description Batch Report UniFi Interface File Trasfer Notification email Hardcopy Filing 1 √ N/A √ N/A 5a X X √ √ Control Objectives 5b 5c 5d 5e 5f N/A N/A √ √ √ N/A X X X X N/A N/A X √ X N/A N/A N/A √ N/A Notes: A1-3a: No processes are in place to ensure timely data entry A2-3b: Use of common login id prevents the identification of unique users ⁞ B5: Process does not exist. It represents a new process to be created to address an identified control weakness. Once the process has been defined, and documented in the process flow, it would then be assessed against relevant control objectives and the above chart updated. ⁞ C4-5h: Food Services has not defined any data archiving and disposal processes Internal Control Deliverables For System Development Project - 10 - APPENDIX D – REFERENCE MATERIAL Accounting Information Systems, Fourth Edition, James A. Hall Auditing and Other Assurance Services, Canadian Eighth Edition, Committee of Sponsoring Organizations of the Treadway Commission (COSO) Control Objectives for Information and related Technology (COBIT) 4.1, IT Governance Institute Control Objectives for Information and related Technology (COBIT) 4.0, IT Governance Institute Control Objectives for Information and related Technology (COBIT) 3rd Edition, Audit Guidelines, IT Governance Institute Global Technology Audit Guide (GTAG) – Auditing Application Controls Information Technology Guidelines, 3rd Edition, Canadian Institute of Chartered Accountants IT Assurance Guide: Using COBIT, IT Governance Institute Statement on Auditing Standards (SAS) No. 78 Internal Control Deliverables For System Development Project - 11 -