Topics in this domain

Input Controls

Application controls · 4 min read

Stopping bad data at the door

A nightclub bouncer checks every guest at the door. Are they on the list? Old enough? Already inside? It’s much easier than finding troublemakers once they’re on the dance floor.

Application controls follow the data through a system: in, through, and out. This article covers the first stage.

Input, processing and output controls along the path of the data.

Input controls are the bouncer. They make sure data entering an application is authorised, complete, accurate and valid. They’re often the most effective application controls, because preventing bad data is cheaper than finding it later.

Who’s allowed to enter it?

Input authorisation makes sure only approved transactions get in:

  • signatures or approval on source documents
  • access controls, so only authorised users can enter each transaction type
  • unique user IDs and passwords, so every entry can be traced to a person
  • workflow approval by a supervisor for transactions above a threshold
  • terminal or location restrictions for sensitive inputs

Batch totals

When transactions are grouped into batches, you add up the batch before it’s keyed in, the system adds it up after, and the two are compared. Any difference means something was lost, added or changed.

Document count, item total, money total and hash total, each catching a different problem.
TotalExampleCatches
Total documentsCount of invoicesMissing or duplicate documents
Total itemsSum of quantitiesMissing or extra items
Total monetary amountSum of invoice amountsWrong or missing amounts
Hash totalSum of vendor account numbersLost, added or altered records, even when the amounts still match

A hash total means nothing in itself (who cares what all the vendor numbers add up to?). That’s the point: it exists only to prove the same records came through unchanged.

Batch registers record batches sent and received; batch balancing compares the manual and system totals.

The validation edits

These are the checks the system runs on each field. The exam loves them.

Ten validation edits, what each checks, and an example of what it catches.
EditWhat it checks
Sequence checkControl numbers run in order; missing or duplicate numbers are flagged
Limit checkData doesn’t exceed one set limit
Range checkData falls between an upper and a lower limit
Validity checkData matches a list of allowed values
Reasonableness checkData is reasonable compared with normal patterns or history
Table lookupData matches an entry in a table
Existence checkA matching record exists, such as the customer in the master file
Key verificationData is keyed twice by different people and compared (costly, so used for critical fields only)
Check digitAn extra digit calculated from the others confirms the ID, catching typos and swapped digits
Completeness checkRequired fields aren’t blank or zero
Duplicate checkThe transaction hasn’t already been entered
Logical relationship checkRelated fields agree, such as hire date after date of birth

Spot the key word in the scenario:

  • “between an upper and lower limit” → range check
  • “transposed digits” → check digit
  • “missing invoice numbers” → sequence check
  • “unusually large order” → reasonableness check
  • “vendor not on file” → existence check

A check digit catches keying mistakes, not unauthorised transactions. A correctly typed fraudulent account number passes it happily.

When input fails

Reject the bad ones, reject the batch, hold in suspense, or accept and flag.

When data fails validation, the system can:

  • reject only the bad transactions, processing the rest
  • reject the whole batch
  • hold the batch in suspense until it’s corrected
  • accept the batch and flag the errors for later correction

Whichever is chosen, errors go to an error log or suspense file that someone owns, reviews, corrects and resubmits. A suspense file that nobody clears is a classic audit finding.

Example. A payroll clerk enters 37 hours of overtime for one employee instead of 3.7. A limit check on overtime (maximum 20 hours) rejects it. The hash total of employee numbers on the batch also matches, confirming no employee records were added or dropped.

How the exam asks about it

If the question asks…The answer is usually…
Control to detect transposed digits in an account numberCheck digit
Control checking that values fall between two limitsRange check
Control detecting missing documents in a numbered seriesSequence check
Control that uses a meaningless total of account numbersHash total
Control that a vendor ID exists before paymentExistence check
Best control to make sure only authorised transactions are enteredInput authorisation / access controls

In short

  • Input controls make sure only complete, accurate, valid and authorised data enters the system.
  • Authorisation can be by signatures on source documents, online access controls, unique passwords or supervisory approval in workflow.
  • Batch controls compare totals before and after input: total monetary amount, total items, total documents and hash totals.
  • A hash total is a meaningless total of a non-financial field (such as account numbers) used to detect lost or altered records.
  • Validation edits include sequence, limit, range, validity, reasonableness, existence, check digit, completeness, duplicate and logical relationship checks.
  • A check digit detects transcription and transposition errors in identifiers such as account numbers.
  • Errors are handled by rejecting only the bad transaction, rejecting the whole batch, holding the batch in suspense, or accepting and flagging.

Exam traps

  • Range check has upper AND lower limits; limit check has only one.
  • Validity check compares against a list of valid values; existence check confirms a record exists in a master file.
  • A check digit catches keying and transposition errors, not unauthorised transactions.
  • Hash totals have no meaning in themselves; that's the point.
  • Key verification (re-keying) is costly and used only for critical fields.
  • Reasonableness compares input to what's normal, such as an order 100 times larger than usual.

Slides

Click the slide and use the arrow keys. F toggles full screen.

CISA · Domain 3 · Application controls

Input Controls

Stopping bad data at the door: input authorisation, batch totals, the full set of validation edits with a way to spot each one in a scenario, and what happens to rejected data.

1 / 9