FormSuite for Invoices

Build a data entry automation solution with FormSuite for Invoices.
Get right to the code.

Get fast, accurate data capture with this invoice processing SDK.

With FormSuite for Invoices, you can build your custom accounts payable (AP) data entry automation solution with premium components in semi-structured forms processing and developer toolkits.

This invoice processing SDK has superior OCR and advanced forms technology to supply fast, accurate invoice data capture from scanned documents.

FormSuite for Invoices Features

No Templates Required

Advanced artificial intelligence identifies the key invoice fields and line item data right out of the box. Automatically detect and capture vendor, dates, amounts, line items, and more.

Easy Integration

Invoice processing is easy with our SDK which facilitates smooth, simple integration into applications. The full-featured trial available for evaluation includes C# source code for a sample application as well as full documentation.

Supports Thousands of Invoice Formats

Automatic detection of invoice fields, field data extraction, LineItem Table support, and automatic vendor identification are all available. Count on high level, out-of-the-box accuracy for invoice capture and processing with a toolkit that processes single and multi-page documents.

Automatic Learning

Intelligent algorithms “learn” over time from users’ corrections to improve accuracy significantly. The user verification feedback loop is easy to implement.

Image Cleanup

Automatic color and bitonal image cleanup. Improves invoice data accuracy on low-quality images.

Image Load, Save, and Manipulation

FormSuite for Invoices includes ImagXpress Professional for image viewing, compression, conversion, thumbnail images, image processing and editing, TWAIN scanning, annotation, and printing.

Related Resource

Learn how FormSuite for Structured Forms helps developers add forms processing technology into their application and enhances RPA solutions. Accusoft’s forms processing technology identifies and detects data from user-filled forms. Then, RPA can extract data from those common forms. The forms processing server grabs images, processes the information, and transfers the data to the RPA bot. Using this output, the RPA bot can easily transfer the data into a legacy system. Learn more about this process in our latest blog.

Employee Thumbnail
John Reynolds Software Engineer II

John Reynolds joined Accusoft in 2007 as a technical support engineer. He is now the principal software engineer for Accusoft's SDK products. He loves working on machine learning and low level programming, and always tries to eke out the best performance in Accusoft's imaging products like BarcodeXpress, where he holds multiple software patents. In his spare time, he programs endlessly for fun, crafts weekly new adventures for his D&D group, and frequently goes out dancing to swing / blues / fusion music.

Visit the Developer Center

Start your free FormSuite for Invoices trial.

Evaluate it for yourself.
Use the form below to download your full-featured trial of FormSuite for Invoices. With it, you’ll receive functional sample code to get you started.

Try it

With this invoice processing trial, you’re 5 minutes from a working project.

Use the form below to download your full-featured trial of FormSuite for Invoices.

Current customers:
Obtain the latest version of FormSuite for Invoices by using this download form. If you require further support, please visit our support center or login to the client portal.

What’s New in FormSuite for Invoices v2.1

  • Added numeric normalization functionality to increase efficacy of extracted quantity values.
  • Added logic-based rules to detect and correct OCR errors for important fields.
  • Updated demo interface and documentation to optimize user experience.
  • Improved recognition accuracy for fields and tables with and without using templates:
    • Without learning: Fields: 2.3% increase, Tables: 33.8% increase.
    • With learning: Fields: 1.5%, Tables: 39.4% increase.
  • Improved serialization of templates.
  • Fixed several small memory leaks.


Detailed Technical Specs


  • Creates .NET applications for use in 64-bit environments, deploys within .NET as a managed control, and is fully compliant with .NET Framework 4.0 and above.
  • Programming environments include Visual Studio 2010, 2012, and 2013. 
  • Sample code is included for C#. 
  • Can be used in multi-threaded applications.


Included Components

  • FSInvoices
  • ImagXpress Professional
  • NotateXpress
  • PrintPro
  • TwainPRO
  • ThumbnailXpress
Frequently Asked Questions

FormSuite for Invoices FAQs

Currently there is no way to move a license key from one machine to another. Once a license key is tied to a machine, you can remove it from the machine (using the License Manager or manually deleting it from the registry), but that will not credit a license to your account. That said, if you run into an issue where you have licensed a machine by mistake, please contact as they will work with you. We understand this is a current limitation of our licensing system and don’t want you to be adversely affected. Also, typically a development license comes with three “keys”, so if you want to license an additional machine you most likely can. Run and log in to the License Manager and you can see the number of license keys remaining.

No, although if you run an Accusoft licensing utility (as opposed to an OEM key) that will communicate with the Accusoft servers to place a license on your machine. That’s it. When you run your code, network access to Accusoft servers is not necessary.

In order to add a new FormTableColumnHeaderDefinition to a FormTableDefinition object, first create a list of type FormTableColumnHeaderDefinition. Next, each FormTableColumnHeaderDefinition object is created and defined and added to this list using the Add method. Finally, this list is assigned to the FormTableDefinition’s ColumnHeaderDefinitions property.


// Create a table definition
FormTableDefinition tableDefinition = new FormTableDefinition();
tableDefinition.Name = "Line Item Table";

// Setup the columns of the table
List<FormTableColumHeaderDefinition> columnHeaderDefinitions = new List<FormTableColumnHeaderDefinition>();

FormTableColumnHeaderDefinition descriptionColumn = new FormTableColumnHeaderDefinition();
descriptionColumn.DataType = FormFieldDataType.GeneralText;
descriptionColumn.Name = "Description";

FormTableColumnHeaderDefinition amountColumn = new FormTableColumnHeaderDefinition();
amountColumn.DataType = FormFieldDataType.Currency;
amountColumn.Name = "Amount";

tableDefinition.ColumnHeaderDefinitions = columnHeaderDefinitions;

// Add the table definition to the form definition
formDefinition.TableDefinitions.Add(tableDefinition.Name, tableDefinition);

Currently, FormSuite for Invoices only supports U.S-based invoices using the English language. If you have invoices for a different country, we recommend using FormSuite for Structured Formsinstead.

As SmartZone runs, it will create a folder in the %TEMP% directory containing a few files that the engine needs to run. If you want to change this location, you can do that by creating an INI file in the same directory as the executable that runs your application. You must name that INI file smartzoneengineloader.ini. The contents of smartzoneengineloader.ini should look like this:


    [smartzoneengineloader] tempdir = C:\Your\Path\Here\

On Windows:

  • Open Windows Explorer and type into the Navigation Bar.
  • Right Click inside Windows Explorer to bring up the standard context menu.
  • Find “Login As” and click it to login to FTP Server.
  • Provide the user name: support and the password: 853ae90f

For any other operating system, use an FTP client, such as FileZilla, using the above FTP and login information. Once you’ve successfully logged in, you can drop your files into the folder.

In all cases, you’ll want to have your images as clear and as clean as possible. For any particular procedure, please consider the following: OCR and ICR: Capture images in at least 300 DPI resolution. Ideally, working in black and white will allow the objects of interest on your image to be better defined and recognized. Free the image form all noise as much as possible. As if a human was reading it, you’ll want the text objects on the image to be as legible as possible. For ICR, make sure that the characters are printed (no cursive text, etc). Barcode recognition: As with OCR and ICR, capture images in at least 300 DPI and working with black and white content can provide excellent results. You’ll also want to make sure that the bars in the barcodes are clearly defined on the image and are not mal-formed (for example, the barcodes should have the proper start and stop sequence, etc). As always, clear as much noise from the image as possible. Forms matching and registration: As with the prior 2 items above, capture your documents in at least 300 DPI. Make sure that your resolution is consistent between your form templates and incoming batch images as well. Form templates should only contain data that is common to every image that is being processed (i.e. – Form fields, the text that appears on the blank form itself, etc). The template should not have filled-in field information as this will affect the forms matching process.

The Tagged Image File Format (TIFF) is widely popular, and is particularly used in document imaging. It can support a number of compression types:

  • Packbits – Created by Apple, this lossless compression type is used for run-length encoding (RLE). Baseline TIFF readers must support this compression. Use this compression for higher compatibility with various applications.
  • CCITT (Huffman encoding) – Used particularly for encoding bitonal (or bi-level) images. “Group 3” and “Group 4” are particularly known for its use with fax transmission of images. Using this compression type will help keep smaller file sizes.
  • LZW – A lossless compression type that supports multiple bit depths. Because it’s lossless, it produces files that are generally larger than other compressions. Use this compression if you want to retain the exact visual quality of the image without data loss or artifacts.
  • JPEG – Very popular compression, used for color and grayscale images and can produce high compression ratios. JPEG allows a good amount of control over how the image in question should be compressed. Use this compression for general color or grayscale images.
  • Deflate – A lossless compression using Huffman and LZ77 techniques and also supports different bit depths.

Accusoft supports 3 primary license types: Evaluation, Toolkit, and Runtime licenses.

Evaluation License:

An Evaluation license is available upon download and will allow you to try our products and determine if they will suit your needs. Most downloads include free demo applications that demonstrate the core functionality of our product and will show you how to get up and running integrating Accusoft products with your solution. While the Evaluation license is free to download it does come with some restrictions. These restrictions may come in the form of water marked documents, pop-up dialogue boxes, or a time limit on the Evaluation license itself.

Toolkit License:

Should you decide that an Accusoft product is right for you, the next step should be to purchase one or more of our Toolkit licenses. Accusoft requires each developer using an Accusoft component to have a Toolkit license on their development machine. Once registered, the Toolkit license will unlock all restrictions of the Evaluation license. Please note, the Toolkit license is strictly to be used for development purposes, and when activated, it will be tied the specific development machine that it was registered on. Understandably, the occasion may arise where a Toolkit license needs to be moved from one development machine to another. In such a scenario, please contact sales@accusoft to see if this is feasible. For more information on how to register a Toolkit license on a development machine please see the ‘Toolkit Licensing’ section of your products Help documentation.

Runtime License:

Finally, once you have completed your solution and are ready for deployment, you will need to purchase a Runtime license. Accusoft offers 2 types of Runtime licenses. Most commonly, you will purchase an Automatically Reported Runtime (or Node-Locked) license, which requires a license for every machine your solution will be deployed to. It is very important to note that Runtime licenses are tied to the machine they are activated on and should not be used for development purposes. Doing so will quickly use up your Runtime licenses and cannot be refunded. For more information about how to activate an Automatically Reported Runtime license, please see the ‘Automatically Reported Runtime License’ section of your products Help documentation. In certain circumstances, Accusoft will issue a Manually Reported Runtime licenses that allow you to embed all of the licensing information directly into your application. These licenses are only distributed under certain circumstances and eligibility is determined by Accusoft sales. For more information on how to activate this type of license, please see the ‘Manually Reported Runtime License’ section of your products Help documentation.

There are a number of cleanup operations that you can use to make an image more suitable for a particular application. What you observe visually on the image and how you perceive its impact on your project is the most important. For example, if you’re noticing very many random specks on your image, and you’re planning to use OCR, then you may want to try a depseckle or blob removal operation first. If the content in your image looks a bit slanted, you could try a deskew or rotate operation. In some cases, using a line removal operation on forms that have grid fields could be helpful also. The amount of image cleaning you may need to do can very from project to project. There’s not a one shot cleaning operation that will always work for all images. But, observe the nature of the noise and interference in your images to determine what general parameters appear to provide the best results.

One possibility is that you have strict firewall settings that are preventing our License Manager from connecting with, our licensing server. In order to connect with, you’ll have to make an exception in your firewall for our License Manager so that it can connect to on port 80 for http and port 443 for https.

There are a couple reasons why a license might stop working. The most common would be if the MAC addresses changed (on a virtual machine, or after significant hardware change). Additionally, a temporary two week license can be put on a machine via the Server Licensing Utility if there are no licenses available when you license a machine. Feel free to contact us at if you have additional questions. If you want a new license please contact

If you are receiving a “80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).” error while trying to use the LDK on a website created through IIS, it is likely because of a platform conflict (x32 vs x64). To fix it, try checking (or unchecking) “Enable 32-Bit Applications” for the App Pool associated with the website.

There are a few reasons why this might happen:

  1. You have licensed your machine with a runtime/deployment license and you are not calling the SetSolutionName and SetSolutionKey methods in your code. By default, Accusoft products will look for a license in the registry at this path: HKEY_LOCAL_MACHINE\SOFTWARE\Accusoft\Licensing\Accusoft. However, for runtime licenses, they are stored at HKEY_LOCAL_MACHINE\SOFTWARE\Accusoft\Licensing\YourSolutionName. So, when you call SetSolutionName, that tells your application to look in the correct directory to find the runtime license. You can find the necessary parameters for these methods on the customer portal customer portal.
  2.  You did not successfully install a license on your machine and the temporary license installed has expired. If you use the SLU (Server License Utility) or the LDK (License Deployment Kit) to license your machine and it fails, a temporary 14 day license will be placed on your machine. When that expires, you’ll no longer be able to use the product. If this happens, you’ll need to run the SLU or try using the LDK again. If that doesn’t work, you might want to try licensing your machine in offline mode.
  3.  You are trying to use a development license and you are calling SetSolutionName and SetSolutionKey in your code. You should only call SetSolutionName and SetSolutionKey in your code when you are deploying your application and using a deployment license. When you install a development license on your machine, it is placed into the registry at the following path: “HKEY_LOCAL_MACHINE\SOFTWARE\Accusoft\Licensing\Accusoft”. When you call SetSolutionName in your code, you are telling the control to look for a license at a different path: HKEY_LOCAL_MACHINE\SOFTWARE\Accusoft\Licensing\YourSolutionName. If you are calling SetSolutionName and SetSolutionKey while trying to use a developmentlicense, simply comment out those lines for now.
  4. The license information you’ve entered might be wrong. Check on the customer portal to make sure you’ve got the values parameters for the SetSolutionKey and SetSolutionNamecorrect.

This error happens if a particular deployment machine doesn’t have the COMDLG32.OCX file registered. To fix this: 1.   Install the comdlg.ocx dependency, if not available on the target machine. If the comdlg.ocx is not present on the system than it will need to be obtained from a system that has it (it should be available on your development machine in the directory mentioned in step 2). 2.   Place the file in the C:\Windows\System32 folder. (C:\Windows\SysWOW64 on a 64 bit machine) 3.   Register the DLL via the regsvr32.exe command. 4.   You should see a successful message and then be able to proceed with the licensing installation.

FormSuite for Invoices Pricing

Pricing for this invoice processing SDK varies based on product, deployment, and other variables. We’re here to make it easy for you to start using FormSuite for Invoices. 



Licensing is annual unless contracted otherwise as OEM or ISV
No Pricing is final until formally quoted in writing by Accusoft, as this sheet is subject to change without notice
Please contact us for more information at

Request a Quote

FormSuite for Invoices Support Plans

All customers receive free Upgrade Support for 90 days after initial purchase, which includes email support and all product upgrades. Customers wanting longer-term support may choose to extend Upgrade Support, or to move up to Priority or Expedited support.