File Format
The input data file should be a CSV-formatted text file. A comma (“,”) will be used to separate each column. A carriage-return+line-feed character combination will be used to terminate each row. If a carriage-return+line-feed character combination must be included as part of the data of a single column, the column’s data should be enclosed in double-quotes. The same is true if a comma must be included as part of the data of a column. If a double-quote character must be included as part of the data of a column, then it should be “escaped” by being immediately proceeded by another double-quote character. (e.g. "Hello world" would be encoded as ""Hello World"" if the double-quotes were required as part of the value for a field.)
High-Level File Structure
The file will consist of two, or optionally three, header rows. The first header row lists all the voucher fields that will be included in the import (including VOUCHER_PAYMENT and the associated custom fields, if desired). The second lists all the entry and expense fields that will be included (as well as any desired custom fields). If service tax information will also be imported, the third row of the import should be a service tax header row, otherwise the data rows can begin at row three. The header rows explicitly state which fields will be updated (and, by inference, which tables). A header row does not need to list all the fields in a table, nor does it need to reference each available table; it should only list as many fields as will be imported. The order in which it lists these fields will dictate the order in which the data will appear in the subsequent data rows.
Immediately following the header rows there should be one or more data rows. Each data row shall contain the necessary command, key and data values needed to import one row of data into the database table(s). There must be one value column for each field-definition column declared in the header (though the columns can be left blank when appropriate).