University of Illinois System
Accounting & Budgeting
Last item for navigation

Banner Program Codes & NACUBO Functions

The program code segment (i.e., the “P” in the C-FOAPAL) is an important segment of the Banner accounting string, which was designed to achieve two primary objectives.

  • To classify expenses within a standard reporting structure established by NACUBO.
  • To separate financial activities by department or activity when using funds that are shared across the University of Illinois System. Such as state or Indirect Cost Recovery (ICR) funds, or when using funds that have multiple activities occur within one fund (e.g., self-supporting or service plan funds).

NACUBO Functions

The National Association of College and University Business Officers (NACUBO) has established functions to create a standard reporting structure for accurately classifying expense activity according to the purpose for which the costs were incurred.

These functional classifications are assigned to Banner program codes and indicate why an expense was incurred, as opposed to what was purchased like an account code, or where the funding came from like a fund code.

For example, if a unit purchases research supplies, the program code (along with the NACUBO function assigned to that program code) would indicate that the expense was tied to the University of Illinois System’s research mission, while the account code would indicate that the expense was a consumable supply and the fund code would indicate the funding source for the expense.

These functional classifications have been widely used for decades by both public and independent institutions and are required to use these functional classifications when reporting expense information in various types of financial reports. This helps donors, granting agencies, creditors, and other readers of the financial statements understand the various mission-related activities of the institution.

Given that so many reports and external parties are dependent on these functional expense definitions (which have been in place for decades), we must keep these definitional standards and accounting structures in place to ensure consistency in reporting from year-to-year.

Thus, given the importance of NACUBO functions, any accounting information system used by the University of Illinois System must be capable of producing expense information by these NACUBO functional classifications. Banner has this capability, which we will touch on in the following section.

Importance of Proper NACUBO Function Coding

Accurately assigning the proper NACUBO function to Banner program codes is critical to help ensure accurate financial and activity-related reporting of UI System expenditure activities. See below for a few examples of the various financial reports, activity-related reports, accounting processes, computations, and rankings which rely on accurate coding of NACUBO functions:

  • Annual audited financial statements;
  • Reporting to the State Comptroller;
  • Reporting to the University of Illinois System’s Board of Trustees;
  • Reporting to the Integrated Postsecondary Education Data System (IPEDS), which is used for benchmarking by higher education institutions and the federal government;
  • Assignment of costs in our Activity Reporting System, which is used for reporting to the Illinois Board of Higher Education (IBHE);
  • Reporting from the IBHE to the Governor’s Office of Management and Budget (OMB) which utilizes this information during the state appropriation budgeting process;
  • Assignment of costs in campus grant cost accounting systems, which are used to allocate costs and determine overhead recovery rates;
  • Reporting to major research sponsors; and
  • National rankings of the nation’s top universities and colleges (such as annual rankings that take place within the U.S. News & World Report publication).

How to View NACUBO Functions Assigned to Existing Program Codes in Banner

NACUBO functions may be identified by viewing a program code’s hierarchy using Banner page FTIPRGH. The user would need to filter on the chart and program code and would then need to execute the query by clicking on the Go button. The form will then display all of the predecessor codes for the specified program code, including the level one code (which represents the assigned NACUBO function).

Another popular Banner page that can be used is FZMPROG. The user can filter on the applicable chart and program code number of the program code in question, and then click on the Go button to bring up the basic information on that program code. The NACUBO function can typically be found in the Predecessor Program field.

Numerical Format of Departmental Program Codes

Some fund types (such as state, ICR, administrative allowance, and self-supporting funds) are required to use departmental program codes (as opposed to generic program codes, which is covered in the next section). This is required for two primary reasons:

  • To separate financial activities between departments who share the same fund code. For example, when a specific fund code (such as the 1000YY state fund or the 200250 ICR fund) is widely used by various units across the University of Illinois System, units must use their own specific organization and program code with the shared fund code to distinguish their financial activity from other departments.
  • To separate financial activities within an individual fund code. For example, when a specific fund code is limited to a specific department (such as a self-supporting fund), there may be times when that fund code has several different activities taking place within it (such as a self-supporting fund used to account for several different conferences). By using a departmental program code, the unit is able to separate these activities within the same fund code, which allows for more clarity in the financial reporting process.

A departmental program code can be identified by the numerical format. The first three digits of a departmental program code will agree to the unit’s three-digit organization code. The final three digits would be sequentially assigned in numerical order. For example, if a unit’s three-digit organization code was 223, then the departmental program codes would follow a numerical format such as 223001, 223002, 223003, and so on, where each individual program code represents a different financial activity.

Numerical Format of Generic Program Codes

Some fund types (such as current restricted and non-current fund types) require generic program codes in the 19nnnn numerical range, since funding within these fund types are not shared by multiple departments or activities. A common example would be a gift fund (which is a current restricted fund from a financial reporting perspective).

Since these generic program codes are within the 19nnnn numerical range, they differ from the departmental organization-specific program codes in that they would not begin with the unit’s three-digit organization code.

Instead, these generic program codes begin with “19” and end with a four-digit code that reflects the applicable NACUBO function.

For example, 191100 is the generic program code for research (where the last four digits of 1100 represent the research NACUBO function as outlined in Appendix 4). So, if a gift fund was used to primarily pay for research expenditures, we would expect to see a generic 191100 program code used on that gift fund’s research expenditures.

How to Request the Creation of a New Program Code

To request the creation of a new program code, complete UAFR’s Banner Fund, Program, Index Code Request Form, which is located on Accounting and Budgeting Forms webpage.

When completing this form, be sure to complete the following sections from the FPI Code Request tab with as much detail as possible.

  • General Information
  • Request a New Program Code
  • Submitted By

Importance of Transparent Titles for Departmental Organization-Specific Program Codes

In addition to following the proper numerical format and assigning the proper NACUBO function, it is also important to have a clear and transparent title assigned to departmental organization-specific program codes. By assigning a clear and transparent title, it is easier to identify how the program code should ultimately be used and will help ensure the program code is used for activities that are consistent with the program code’s assigned NACUBO function.

For example, if a departmental organization-specific program code will be primarily used for Professor A’s research activities, then the program code should be assigned with an 1100 Research NACUBO function along with title that is consistent with that purpose, and which properly reflects the assigned NACUBO function (such as “Professor A – Research”).

Importance of Using a Program Code Consistently for the Same Purpose from Year-to-Year

It is important to use a program code consistently from year-to-year for the same purpose as which it was established. This helps with variance analysis from year-to-year and preserves the original use of the program code from a historical financial reporting perspective.

For example, if a program code was originally established five years ago for research purposes, then that program code must remain coded and used for research purposes for the rest of the program code’s life. The purpose and function of the program code cannot be changed to a different activity or function once it has been properly established.

Allowability of NACUBO Function Changes on Existing Program Codes

Typically, it is unallowable to change the purpose of a program code. If the natural life of a program code has been completed, then the program code will need to be terminated and a new program code established to account for any new activity. It is unallowable to reuse an old program code for new activity.

However, if an error was made at the time of the program code’s creation which caused an incorrect NACUBO function to be assigned, then it would be allowable to correct the assigned NACUBO function on that program code, if the activity posting to that program code has remained the same since inception.

For example, if a unit submits a request to create a new program code, asking that it be used for research purposes, but the program code was mistakenly assigned a NACUBO function for another purpose (such as instruction), then it would be allowable in that instance for UAFR to change the NACUBO function to research, assuming that the unit has used the program code for research activities since its inception as they initially requested.

How to Request a Change to an Existing Program Code

To request an edit to an existing program code (such as to request a title change), simply email UAFR at uas@uillinois.edu detailing your request. One of the subject matter experts from UAFR’s program codes team will then investigate your request and let you know if there are any questions or concerns before processing it.

NACUBO Function Assignments on Cost Share Program Codes

If a program code is being used to track a hard match cost share or contributed effort cost share on a sponsored project, the NACUBO function assigned to the cost share program code typically needs to match the NACUBO function assigned to the default program code of the related grant fund. The reason for this is due to the fact that the NACUBO function impacts the government costing study allocation, which determines the F&A rates used for indirect cost assessments on sponsored projects.

 

Allowable Fund Type & NACUBO Function Combinations

Given the nature and funding source of the various types of funds utilized in the University of Illinois System, there are limitations on which types of funds can be used with certain NACUBO functions.

See the NACUBO Function & Allowable Fund Type Combinations grid for further details on which NACUBO functions are appropriate to use within a given fund type.

How to Request the Termination of a Program Code Which is No Longer Needed

If you have a program code which you no longer need, email UAFR at uas@uillinois.edu asking to terminate the program code. Once UAFR reviews the request and ensures that there are no further issues that need addressed (such as open jobs, payroll positions, index codes, balances, etc. which are still tied to the program code), they will then proceed with terminating the program code in Banner.