Need better x9.37 batch tools? Our products offer more value than the competition, and are trusted by more than 75% of the top-20 financial institutions in North America. Connect with us at sales@x9ware.com and start a free evaluation today.

X9Utilities Overview

X9Utilities Overview — x9utilities is a command line (batch) utility environment which supports a variety of functions to facilitate commonly required x9 file processing. The following specific functions are currently implemented within X9Utilities provides an extremely high level functionality for x9 users who need to read and write x9 files from their internal applications, but do not require the more extensive integration and development complexities that are typically associated with implementing an SDK based application. Why acquire and use more complex and expensive tools than you really need? If you need to read and write x9 files, then X9Utilities is the best tool for the job at hand. Since X9Utilities is implemented as a command line EXE, it can be invoked from Java, C++, and .Net environments.

  • X9Utilities will do all of the heavy lifting on your behalf. It uses our SDK and assumes all responsibility for field alignment and padding based on each x9 field definition, per the x9 standards. Images are converted as needed from various formats to be TIFF x9.100-181 compliant.
  • X9Utilities is designed to process both ICL and ICLR files. It supports a wide variety of x9 record types including credits, addendums and type 68 user records. Our file writer can ensure that a unique File ID Modifier is assigned to each output file per calendar date.
  • X9Utilities is full function, easy to use, includes our standard support, leverages our SDK, and is very competitively priced when compared to other alternatives within the x9 marketplace.
  • X9Utilities is targeted for those organizations who need access to the data (x9 records and tiff images) that are embedded within x9 files. X9Utlities provides the power you need to both read and write X9 files using your languages such as VB, C++, Java, PERL, RUBY, Python, or similar tools. Anything that can read and write CSV files can work with X9Utilities.
ProductSupported FunctionsSupported Environments
X9UtilitiesAllSince X9Utilities is Java based, it can be run on any platform which supports the Java JVM. X9Ware typically provides X9Utilities as a compiled executable (for the Windows environment) but may also be provided as a Java JAR when needed for Linux cloud-container based installations.
X9ExportExportIs limited to the x9utilities export function.

Command Line Functions

FunctionUsage
ConsoleThe X9Utilities Console is an interactive tool that is available within both X9Utilities and X9Assist. The console is a powerful facility that allows command line parameters to be entered, validated, and then submitted for execution. It serves as a good demonstration and development aid for the overall capabilities of X9Utilities, since it allows the command line to be constructed visually, with validation of files and command line switches as they are entered. The console intercepts and displays the system log as x9utilities is executing. It then displays the final exit status that is posted by the x9util.exe.
WriteWrite is used to create new x9.37 files from items that are defined within a CSV format, using a HeaderXml file that defines the attributes of the x9.37 file to be created. To use write, you must have the amount, all MICR line fields, and the front/back images for each item. Write is capable of building x9.37 files in the various formats as required by any financial institution or processor within the the US and Canada. It can automatically construct the deposit ticket required for an ICL (image cash letter) credit. Write has advanced facilities including creation of multi-deposit files, customizable paid stamps which can be applied to the back side check images, and the ability to create RCC files that contain virtual debits.
ExportExport is used to extract and write the item metadata for existing x9.37 files. This tool is extremely flexible with a large number of command line switches, to customize it to your specific needs. We recommend exporting to fixed columns, which will parse the x9.37 file into the fields needed by most applications. As of R5.03 and higher, Export has the ability to transform it’s CSV output into a user defined sequence of columns. When using that facility, columns can contain a combination of constant values and derived strings from the file being exported. te sequence which must be identified on the command line.
ExportCsvExportCsv provides a variation on the capabilities that are offered by the alternative Export function. ExportCsv is especially useful when you need to define specific csv output columns, or embed the export parameters within an xml control file. ExportCsv is especially useful if you need to generate export data in multiple layouts, and you want to maintain a single definition of all layouts in one place. However, if your only goal is to export to CSV using specific columns, then the easiest way to accomplish this is with the Export function using fixed columns, where you would then identify the specific columns on the command line.
WritexWritex creates an output CSV of items, along with their associated exported images and an optional HeaderXml file, all written in a format that is designed to be used as input to our Write function. The data is written to a single CSV file that can be browsed to gain insight into how Write operates, or it can be processed by your applications.
TranscodeTranscode is used to apply a basic transformation to an existing x9.37 file and write those results to a new x9.37output file. Transcode is very different from Translate, in the sense that Transcode works at the record level while Translate works at the item level. Transcode essentially copies records from input to output, while Translate is a two step process that consists of a combination of Writex and Write.
TranslateTranslate is used to transform an existing x9.37 file from one format to another. Internally within X9Utilities, -translate is implemented as a combination of our Writex and Write functions. By leveraging these two functions, you can read an existing x9.37 file and apply various manipulations, largely based on the headerXml file that is specified to construct the new file.
CreateCreate is an advanced tool that can be used to easily construct new x9 output files using a combination of X9Utilities and our E13B-OCR recognition products. Create is designed to be used when you have captured the front and back images for each item (eg, through a scanner), but you do not have associated E13B MICR lines from the front images. In this situation, E13B MICR lines must be obtained through OCR recognition from the MICR band area at the bottom of the front side check image. This OCR process is required since the MICR data fields must be populated into each item within the X9.37 file that is being constructed.
CreatexCreatex extracts data from an x9.37 input file that is used to write an output csv in utilities-create format. All of the images that are present within the input x9.37 file will be written to an output images folder, allowing those images to be referenced (by file name) on the output csv that is created. The output image folder name can be provided on the command line or allowed to default.
DrawDraw reads a CSV file and then writes tiff images, as is provided as a companion tool to -write. The writer function embeds dynamically drawn images directly into the x9.37 file that is being constructed, while draw can be used to create those images and directly save them to external tiff files, instead of inserting them into the type 52 records.
ImportImport reads a CSV file and then writes the individual data records to an output x9 file. Import is the exact opposite of our Export tool. You can use Export output as Import input. You should take a detailed look at the output CSV that is created by X9Assist Export using the “records and fields” layout, which is the layout that must be provided to the Import function.
ValidateValidate reads an x9.37 file in industry defined formats and applies x9 data and image validations against the parsed records. Identified validation errors are written to an output CSV file. The x9 configuration used for the validation process is provided on the command line. Since field level validations can vary widely across the various x9 specifications, the errors that are identified can vary substantially subject to which x9 specification is applied to the file.
QualifyQualify is used to run tiff validations against either a list of images provided via a CSV file, or a folder of images (which can be a folder of folders) using the same validations that are performed by our other tools such as X9Assist/X9Validator and the Tiff Tester. Qualify allows you to determine if your bitonal black-white TIFF images are compliant with the x9.100-181 exchange standards. Qualify can optionally repair those images that are determined to be non-compliant. An output CSV is created that contains a single line for each image processed, where the CSV identifies actions taken for each input image. When running with image repair, you must provide the output folder where the image repaired images will be written.
OCROCR is an advanced tool that runs our E13B-OCR MICR line recognition facilities against front-side check images. It is used to automatically identify and extract E13B characters from the MICR band. Input can be an image folder or a CSV file that contains the fully qualifies file names of the images to be analyzed. Our E13B recognizer is 100% Java and applies advanced character isolation and recognition techniques to achieve the highest of recognition rates with performance that can reach 80-100 items per second. To use this function, the E13B-OCR feature must be enabled within your x9utilities license. Recognition results are written to an output CSV file that contains the MICR line, the parsed MICR fields, and the confidence level. Asterisks will appear as proxy for any characters that were identified but could not be read.
ScrubScrub reads an x9 file in industry defined formats and applies user defined actions to remove proprietary and confidential information from the input file creating a new output file. In addition to the data fields, scrub can optionally apply replacement actions against the images associated with each item. The actions to be performed can be saved in a user defined scrub configuration file which is available for future reuse. Scrub has a standard list of available cleansing actions that can be selected based on your specific requirements.
MakeMake reads an input use case file and applies our standard Make/Generate process (as implemented in X9Assist) to manufacture an output x9.37 file. X9Utilities -make can process against either CSV or Excel use case files, just like our X9Assist desktop product. The x9 configuration can be provided either in the generator xml or alternatively on the command line.
MergeMerge combines one or more x9 input files into x9 output file(s). Merge is a robust process which can be run against a potentially large number of input x9 files. Eligible input files are selected from an input “landing zone” which is identified on the command line. Merge is designed to be run periodically against the landing zone, most probably as a scheduled task, where all current content of the input folder will be merged into one or more output x9 files.
UpdateUpdate reads an existing x9 file in common industry defined formats and performs replacement operations against one or more fields within the file. This process consists of searching for user defined values within specific record types and fields and then replacing those values (when found) with new data values in a newly created x9 file.
SplitSplit reads an existing x9 file in common industry defined formats and splits (divides) into output segments, where each output is a separate x9.37file. The file, cash letter, and bundle headers are copied from the input x9 to each respective output x9.37 file. An XML file contains the rules that are used to perform the split. The most common usage of split is to read an x9.37 file and divide it into parts based on specific values either in the header records (file header, cash letter header, bundle header) or at the item level, such as account numbers. Split can parse the MICR OnUs field and do a lookup into an external table to drive the split.
CompareCompare is designed for regression test purposes to confirm that two x9.37 files are logically equal. The content of both data and images will be compared. Compare requires that the items within the file be structured in the same logical order to allow the matching process to remain aligned within the two files. Positioning is internally maintained using record types and then additionally on the item amounts and item sequence numbers. There are no other assumptions or requirements for the matching process. Any missing or inserted items will be reported and optionally listed.
ImagePullImagePull extracts images from a series of input x9.37 files driven by a user supplied pick list, which identifies the specific items to be pulled. This function is designed to allow a large number of images to be pulled in a single run across a large number of x9.37 files. Items are identified using an input CSV file which is provided on the command line. Extracted images are written to an output image folder in the same byte format as they are present on the input x9.37 file.
Scroll to Top