Adding New Fields

SmartSoft Invoices allows you to customize the data extraction process and the user interface in order to fit the specifics of your business process.

You can change the appearance and layout of the data fields by adding additional fields of various types, define custom validation rules, and field dependencies.

Go to File ‣ Edit Form in order to invoke the field designer. You can also use a keyboard shortcut CTRL+F11.

On the left side of the field designer there is a list of all field forms that the user currently has. On the right side there is a blueprint of the currently highlighted field form. On the top of the blueprint by default there are two tabs. One says Form fields and the other says Items.


You will also notice two groups of buttons, one next to the list of field forms and one on the far right side of the field designer window. The far right group of buttons can be used in order to Add, Remove and re-arrange the order of columns or fields. Click Add in order to add a new field. If you want to remove a field, select it with your mouse and click Remove. If you would like to change field’s position you can use the Move Up and Move down buttons. Click Preview from the left group of buttons to test your new form and validation rules immediately.

Click Close in order to save the changes. Close the Verify client in order to have your changes submitted to the server and the form updated for all users.

Field Options

  • Title - Select a name for your new field, such as Due date or Past Due Amount. This name will show on the main form that the software fills automatically. It will be also used as a header for CSV and SQL export;
  • ID - The ID for a field is used to define connections between different fields in rules and formulas. When you create a new field the software will automatically create a new ID for you (such as FT_USER_FIELD_18), but you can change it later, so that it makes sense to you (e.g. LATE_FEE).
  • Format - Here you select the data type of your new field. Format is important, because the software uses it for data validation and training. It can be one of the following types.
    • Barcode - accepts only barcodes, no other data can be assigned into this field. Works automatically. Regions for barcodes can’t be drawn manually. Click here for more information about supported barcodes;
    • Checkmark -
      • only with flag Assignable - appears as a text field that can be assigned to a region. When assigned, it changes its value written in the text field (true or false);
      • with flag Checkable - appears as a checkbox that can be manually checked or assigned to a region (if it has flag Assignable). When assigned, it changes its value (being checked or unchecked) according to the region;
    • Checkmark group -
      • only with flag Assignable - appears as a dropdown list, where each item has its own checkbox. Checking of multiple items is allowed. The value displayed in the field contains the checked items, separated by the vertical bar character;
      • with flag Selectable - appears as a dropdown list, where only one option can be selected. The value displayed in the field is the one chosen from the list;
    • Date - will accept only date type information. If the user enters other kind of information the field or column will appear as invalid;
    • Date (day/month) – short date format that displays only the date and month. Validation is based on Regional settings in Admin Panel;
    • Date (month/year) - short date format that displays only the month and year. Validation is based on Regional settings in Admin Panel;
    • Text - alphanumeric type of data. In such fields you can enter all kinds of data;
    • Integer - whole numbers, such as 1,2,3,100 etc. Supports negative values;
    • Decimal - decimal value numbers such as 1.5, 10.5, etc.;
    • Money - similar to the decimal format, but the software will also look for money sign characters in order to provide the correct data;
  • Flags - you can select one or more flags for each field. These are options which define the look and behavior of fields;
    • Assignable - Fields that are assignable, can be assigned to a particular text region in an invoice. The software memorizes that connection and when the next time you load an invoice from the same vendor it looks for that field somewhere around that location;
    • Selectable - These fields are drop-down lists. You can define the values for a drop-down list in the Options column. You can also load the values for a drop-down field from a CSV file;
    • Checkable - A check box field;
    • Required - A required field must be filled for the invoice data to be validated and exported. If a required field is left blank, the software will mark it with a red frame to draw your attention;
    • Virtual - A virtual field might not be present as text in the document. The user would type the value the fist time. An example is the Vendor field which is replaced on some invoices by a logo, which is not machine-readable;
    • Calculable - These fields are calculated based on the values of some other fields and an expression defined in the Formula column. A Calculator button appears to the right of such a field. Click that button to calculate the value;
    • Auto-calculate - The value in such fields is auto-calculated based on the values in other dependent fields. The option is similar to “Calculable”, but the software does the calculation automatically;
    • Non-Exportable - Fields with this flag will be not exported into XML, SQL data base and CSV;
    • Hidden - Fields with this flag are invisible in the Form View;
    • Unique - The value of this field can be used to uniquely identify the source of the document. For an invoice this might be an email address, or the vendor’s mailing address;
    • SoftValidation - The software will only issue a warning in case the field is invalid. However, you can still export the the data;
    • HighPrecision - The software will display up to 5 digits after the decimal point. Works for both formula calculation and manual assigning of data;
    • IdErpList - The field is populated with ID data from a database. See Static lists for details;
    • PairPrevious - The field will appear in the same row in the Form View as the previous field;
    • MultiLine - The assigned text region to this field can contain multi-line data;
    • RequireHeader - Fields marked with this flag will not get automatically filled in unless a valid header (keyword) has been located next to the value. See the Sample Headers column below;
    • MICR - The field is a MICR value on a check;
    • DynamicList - The field’s value is fetched from a database and is calculated based on the SQL quiry in the Formula column. See ERP Functions for details on how to write such formulas;
    • StrictRegex – Fields with this flag will consider a regular expression set in the FORMAT EXPRESSION column as an exact pattern and will autoassign the first capture data matching the pattern;
    • ICR - Fields with this flag will trigger recognition of handwritten text on manual assign;
    • PrintedAndICR - Fields with this flag will have data assigned after voting against OCR and ICR results;
  • Format Expression - Here you can enter a regular expression that will be used to validate a data field. Regular expressions are a powerful tool for matching text patterns. So for example you can define an expression that validates only if a data field starts with a capital letter followed by a dash and some numbers. Not familiar with regular expressions? Contact our support staff , we will set up the software for you;
  • Options - If a field is defined as Selectable here you define the options that are listed in the drop-down list;
  • Dependent Items - The software automatically fills this column. If a field is dependable on another one, changing the later will cause the former to be revalidated;
  • Default Value - The software will automatically populate this field if you define a default value. This is useful for drop-down lists. For example, maybe you use the same expense account for most of your invoices’
  • Formula - A field can be calculated or validated based on the values of other fields. Enter an expression here using the IDs of those fields, e.g. in the FT_TOTAL field enter FT_SUBTOTAL + FT_SHIPPING + FT_TAX. For a field to get populated based on the formula mark it as Calculable or AutoCalculable in the Flags column. For details see Formula Language
  • Sample Headers - Data capture solutions that rely solely on zonal templates are not efficient enough. SmartSoft Invoices features an intelligent technology that takes into account the text labels in an invoice. So for example if you define a new field to capture an account number of some sort, and in an invoice that number is preceded by the words “Account number:”, you write these words here and the software will automatically find the field even if the layout of the document changes. You can define multiple key phrases here separated by a semicolon;
  • Exclude Headers - Fill in headers that you don’t want the software to use in case of ambiguity (e.g. PO and PO Box, Shipping and Shopping, Tax and Tax ID);
  • Exclude values - excludes certain values from a field or a column;
  • Misc. Parameters - used for specific calls to the SDK in cases of custom logic. See Misc. Params for more details;
  • Lists - type in the name of the Static list you want mapped to this field or column;