Overview

Product: Kodak Info Input Solution (KII / ImageTrust) with IDP as a Service extraction
Customer: Commonwealth of Massachusetts, State Treasury
Document class: MST - Check Run
Hosted On: KDK-VRC

Summary

The MST check capture workflow turns scanned Massachusetts Treasury checks into searchable records in DocStar. Each scanned check page has a remittance stub on top and the check face below. The workflow reads the key data from the page, cleans and validates it, and sends any check with a problem to an operator for correction. Checks that pass validation are exported automatically as a PDF with a matching data file.

What the workflow captures

Each check produces 12 index fields.

FieldWhat it isHow it is filled
CheckNumberCheck number from the stub and the check face (for example 0005883551)OCR
VendorCustomerIDVC followed by digits (for example VC0001248197)OCR
CheckDateCheck date, formatted MM/DD/YYYYOCR
CheckAmountAmount with two decimals (for example 1379.91)OCR
VendorNamePayee on the "To the order of" lineOCR
DepartmentDepartment listed on the remittance stubOCR
BankNameBank printed on the check faceOCR
ScannedDateDate the batch was createdStamped by script
PaymentPreferenceAlways CheckStamped by script
DocumentIDKII's internal document ID, used to name the exported filesStamped by script
BatchIDBatch the check came from, kept for traceability and hidden from operatorsStamped by script
ValidationMessageOK, or a list of what is wrongSet by validation

How it works

  1. Scan or import Each check page becomes one document. There is no classification step because there is only one form type. We currently accept their files over FTP transfer.
  2. Intelligent OCR The IDP service answers a short question for each field, such as "What is the check number printed on the check face?". Answers with confidence below 75% are not posted.
  3. Server Script (stamp and validate) The script fills in the stamped fields and cleans the captured values. Dates become MM/DD/YYYY and amounts become two decimals. It then checks the five required fields and sets ValidationMessage.
  4. Routing
    • ValidationMessage is OK: the check goes straight to export.
    • ValidationMessage is anything else: the check goes to the validation station with the problem fields already flagged for review.
  5. Export Each passing check is released as a pair of files named after its DocumentID:
    • {DocumentID}.pdf, the check image
    • {DocumentID}.xml, the index data in imagetrust-release format, which a DocStar-watched folder picks up
    • An optional {DocumentID}.csv (13 columns, one row per check) is also available through the CSV Disk Release template.

Validation rules

A check stops at the validation station if any of the following is true.

RuleBlocks the check?
CheckNumber, VendorCustomerID, CheckDate, CheckAmount, or VendorName is emptyYes
CheckNumber is not 4 to 12 digitsYes
VendorCustomerID does not match VC plus 8 to 12 digitsYes
CheckDate is not MM/DD/YYYYYes
CheckAmount is not a number with two decimalsYes
Department or BankName is emptyNo. A note is logged and the check still exports.

For operators: fixing a flagged check

  1. Open the check at the validation station.
  2. Read Validation Message. It names each problem, for example Missing VendorName; Bad Check Date [3/27].
  3. Correct the flagged fields against the image. Fields marked for review are highlighted.
  4. Do not edit the read-only fields (ScannedDate, PaymentPreference, DocumentID, Validation Message). The scripts own them.
  5. Release the document. Validation runs again before export.

Important for maintainers

  • The site's Global Script is read-only. It is a shared Geiger-based framework. All MST logic lives in the Intelligent OCR, Server Script, and XML Export scripts.
  • Every local helper function starts with MST_. This keeps MST code from colliding with functions in the Global Script. Keep the prefix on anything you add.
  • Avoid the SQL-dependent global helpers. These are FormatDate, IsDateValidationRequired, SQLRunQuery, DocumentFieldsCapture, and DocumentFieldsValidation. They query a Geiger staging database that this site does not have. MST normalizes dates itself in MST_FormatDateMDY.
  • All index fields are Text. Even the date and amount fields are Text, which keeps the SQL-dependent code paths unused. If DocStar needs true date or decimal types, convert them on the DocStar side.
  • Mappings carry no transformations. All cleanup lives in the scripts so there is one place to maintain it.

Last updated: 2026-10-05. Source: project README and scripts (drafted 2026-07-15).