How to Ensure Data Integrity Within SYSPRO – Balance Functions Explained
Ensuring data integrity is a top priority for any software product, especially for an ERP such as SYSPRO. As users go about performing their daily activities, various problems can arise, even with the most mature ERP systems. The most common issues seen within SYSPRO that can lead to data instability are users being disconnected, programs freezing up, or business objects unexpectedly stopping in the middle of processing. With tens (or potentially hundreds) of daily active users, it is imperative for your business that the data within SYSPRO stays consistent. So how does SYSPRO combat data integrity problems and maintain the overall stability of its data? The answer is SYSPRO balance functions!
A balance function in SYSPRO is a detailed process used to correct and adjust database information if discrepancies are detected. They are built in to SYSPRO’s Period-End programs and are supposed to be run prior to posting GL entries or performing Month-End/Year-End tasks. SYSPRO’s balance functions can help “balance” a module by comparing user transaction data to its own control totals and correcting any noticed discrepancies. Some examples of these discrepancies that it can correct include:
- GL journal entries that have not been properly completed or are still marked with “in-process” flags if they were abandoned. Users unexpectedly disconnecting from the system can be a cause of this.
- Failed inventory transactions. Minor hiccups from bugs or networking issues during inventory transactions can result in inaccurate inventory counts. For example, a stock code may display as having available quantity on-hand but an attempt to issue or release the quantity results in errors.
- Specific key documents being locked down by users for maintenance that fail to be released once complete. Again, a potential result of unexpected user disconnects or program errors. These are commonly encountered within sales/purchase order entry and customer/supplier setups programs.
Scheduling SYSPRO Data Integrity Tasks
While most SYSPRO environments generally only run these balance functions during their period-end tasks, it is strongly recommended to schedule balance functions to run regularly. Sites with heavy user activity (including custom business object activity) may want to run balance functions overnight several days throughout the week. The result of this will be an improved and overall smoother SYSPRO experience for all users.
Balance functions are not found separately within their own respective program. Instead, they are usually part of and located within period-end programs. The naming convention of some of these programs may not be clear and it is not easy to identify all of them. As such, here is a full list of the programs within SYSPRO that contain or can perform the functionality of a “balance function”:
- AP Period End
- AR Period End
- AR Bank Deposit Slip
- Cash Book Period End
- Assets Period End
- Inventory Period End
- Sales Order Purge
- Purchase Order Purge
- GRN Purge
- Sales Analysis Update
It is imperative to understand that some of these programs contain critical data-altering functionality within SYSPRO relating to period-end module closures or purging of data. You should tread with caution when accessing these programs and ensure you only have “Balance” selected. NOT any unwanted options pertaining to period-end and/or data purge functionality!
Some of the above-listed programs may have an option called “Reset lowest unprocessed journal”. As it is not always checked by default, it is recommended to enable this option prior to executing a balance function. It performs an additional data-stability feature intended to fix GL journal issues.
SYSPRO environments that are not familiar with the power of balance functions can (and will) encounter unwanted issues and potentially unstable data problems. Knowing how to utilize, execute, and schedule balance functions is key to ensuring your SYSPRO environment’s data remains both stable and trouble-free.