Batch processing, also referred to as periodic mode processing, is a system where a series of transactions are grouped together into a batch or bundle and processed simultaneously at scheduled periodic intervals.
Historical Context and Technological Shift:
Twenty to thirty years ago, batch processing served as the primary method for processing business transactions because available hardware and software lacked the processing power to support real-time updates.
High transaction volumes during regular business hours would overwhelm legacy hardware and software infrastructures.
Organizations held transactions throughout the day and processed them overnight during non-business hours when IT infrastructure demands were low and employees were off-site.
This operational model was viable because businesses operated without a 24/7 workday and were not globally integrated, allowing for planned downtime.
Modern Real-Time and Near Real-Time Processing:
Advances in hardware, software capabilities, and network connectivity enable real-time or near real-time processing, where database records update instantly upon transaction occurrence.
Amazon Order Details: Purchasing an item on Amazon and refreshing the browser immediately reflects the updated transaction detail and order status.
Credit Card Activity: Executing a transaction results in the activity appearing on a credit card account within seconds.
Online Banking Applications: Balances and transaction ledgers reflect updates almost instantaneously.
Current Business Applications of Batch Processing:
Modern organizations continue to utilize batch processing for specific financial and operational workflows where real-time execution is unnecessary.
Financial Instrument Pricing (e.g., Raymond James): Financial services firms like Raymond James utilize batch processing for financial instruments that are only priced once per day. Because pricing updates occur daily, real-time transaction updates offer no operational advantage and are processed during nightly batch runs.
Non-Real-Time Updates: Administrative updates and non-urgent system maintenance tasks are intentionally reserved for batch processing during nightly maintenance windows.
Input Controls for Batch Processing
Pre- and Post-Processing Batch Controls:
Input controls in batch processing primarily utilize pre-tests and post-tests to ensure data accuracy, completeness, and validity by comparing initial parameters against final output reports.
Record Counts:
Record counts involve determining the total number of physical or logical records in a input file prior to processing and comparing that total against the post-processing report.
Example: If an input summary specifies 300 records to be updated, and the post-batch output report indicates 300 records were processed, matching the values (300=300) confirms that all submitted records were entered.
Monetary / Financial Totals:
Monetary totals involve summing the total financial value of all transactions in a batch prior to processing and matching the result against the post-batch output report.
Example: If Accounts Receivable (AR) transactions totaling \\text{\\$600,000} are scheduled for processing, verifying that the post-batch report displays \\text{\\$600,000} processed confirms full financial reconciliation (\\text{\\600,000} = \\text{\\600,000}).
Suspense Accounts and Error Resolution:
When errors occur during batch processing, affected records fail to update and are routed to a suspense account (a temporary holding area for unprocessed transactions containing errors).
Pre- and post-tests identify these missing items by highlighting variances between expected and actual processing outputs.
Record Count Discrepancy Example: If 300 records were submitted but the post-batch report reflects only 297 records processed, 3 records encountered errors and were routed to a suspense account. These 3 records must be corrected and re-processed.
Financial Total Discrepancy Example: If expected AR updates equal \\text{\\$600,000} but post-batch reports show only \\text{\\$570,000} updated, a \\text{\\$30,000} variance exists, indicating that unassigned transactions (e.g., 3 records with errors) were sent to a suspense account for manual review.
Hash Totals:
A hash total is a control total calculated by summing a non-financial, non-meaningful numeric field across all records in a batch.
While the resulting sum serves no standalone operational purpose, it acts as a unique checksum to verify file integrity and completeness.
Vendor Master File Example: When updating a vendor master file containing authorized vendor records, a batch might consist of 350 vendor records. To perform a hash total, the numeric ZIP codes across all 350 vendor records are summed together. After running the batch, matching both the 350 record count and the exact ZIP code sum verifies that no vendor records were altered, dropped, or corrupted during input.
Input Controls for Online Processing (Programmed Edit Checks)
Definition and Purpose:
Online or real-time input controls rely primarily on programmed edit checks, which are automated software controls embedded into data entry screens.
Programmed edit checks evaluate data at the moment of entry to highlight errors immediately, mitigating human errors resulting from fatigue, carelessness, or lapses in judgment.
Preformatting:
Preformatting designs online entry screens to mirror physical paper source documents and natural human scanning patterns (reading left-to-right and top-to-bottom).
Pressing the Tab key automatically advances the cursor through input fields sequentially from left to right and top to bottom, reducing keying errors.
Field or Format Checks:
Field or format checks enforce data structure rules (masks) on entry fields to ensure only acceptable data types (numeric, alphabetic, or alphanumeric) are entered.
Date Fields: Enforces standard structural formatting such as MM/DD/YYYY (2 digits / 2 digits / 4 digits for month, day, year in North America) or DD/MM/YYYY in European and Canadian formats.
Phone Number Fields: Enforces strict numeric entry.
Last Name Fields: Enforces strict alphabetic entry.
Validity Checks:
Validity checks compare entered data against an authoritative primary data source to confirm existence and authorization.
Inventory Master File Example: Entering a product number on an online order form triggers a validity check against the inventory master file. This verifies that the item is a valid product carried by the company before the order is processed.
Hours Worked Example: Because a standard calendar day contains 24 hours, a limit check on a daily labor entry screen blocks any entry exceeding 24 hours.
Reasonableness Checks:
Reasonableness checks evaluate entered data against calculated values or logical benchmarks to confirm that the input is plausible.
Check Digits:
A check digit is an additional digit added to an identification code, calculated mathematically to detect transcription or keying errors.
UPS Tracking Numbers: UPS tracking numbers follow a standard structural format where the first character is typically 1 and the second character is always Z (e.g., 1Z); an entry lacking 1Z fails the check digit validation.
Vehicle Identification Numbers (VIN): Automotive VIN strings follow precise check digit rules. For example, a 2003 Ford F-150 requires the 8th digit of its VIN to be either an A or an F; any other character indicates an invalid VIN.
Confirmed Input Acceptance:
Confirmed input acceptance displays a review summary screen of all entered transaction details back to the user prior to final submission, requiring explicit user verification and confirmation.
Sequence Checks:
Sequence checks analyze the numerical or logical sequence of pre-numbered documents or records prior to input to detect missing, out-of-order, or duplicated files, ensuring document accountability.