Automatically Generate Documents Using

How one company solved a nagging form and document generation problem using data from an enterprise application.


BAL is one of the largest immigration law firms in the nation. They manage immigration services for a number of companies around the world, generating a ton of government forms, emails, and letters. The firm was looking to enhance and add efficiency to its current form-generation process and its case management system.

The Challenge

The immigration process can be document-heavy, and law firm employees were spending an inordinate amount of time creating common letters and forms. Each project or visa type can have its own set of paperwork, as can each government agency. It is one thing to have this information in the system, but it is a completely different matter to have this data populate multiple government forms, word documents, and spreadsheets.

In order to maximize the efficiency of the workforce, it was important for BAL to automate this process as much as possible. Because many of these forms have similar input fields, but require different types of content, the manual process is error-prone.

The goal of this tool was to provide efficiency and automate a lot of the manual process.The existing application, which could generate some basic forms, was not able to produce the necessary documents from data that already lived in the system.

The Process

1. Conceptual Development

The solution was a full-fledged document generation application, where the user could take pre-defined templates in any format (Word, Excel, PDF etc.) and create documents automatically from their enterprise case management system.

The secret sauce was to use custom identifiers in the templates and populate them with data from the correct database. We were able to accomplish this through the use of Aspose.Total tools, which allowed us to communicate with many popular file formats in the industry.

The first step in the process was for us to evaluate the number of document generation libraries that are on the market. After testing the proof of concept, we landed on the Aspose Total Product Family. This product provided us with a rich set of tools for converting CSV or XML data into a variety of formats such as PDF, MS Word, or Email formats.

2 Our Approach

We knew that we needed to give users the ability to generate government PDF forms, modify the data to save back to the system, and the option to print barcodes for government agencies such as USCIS. In our solution, allll modifications for the forms are saved to the system, and users are able to access all edited versions of the PDF form. This allows all changes to be audited and easily accessed, and reduces overall errors.

The application also has a rich administrator portal that allows administrators to create templates and forms for users to generate content. The administrative staff can add tags, define templates or batches of templates, and even create custom questions.

The process is wizard driven and user-friendly, allowing staff to generate a single document—or even hundreds of document—quickly.

To further add efficiencies to the process, we added the ability to autogenerate letters based on specific milestones or schedules. We were also able to automate some of the steps in the process; for instance, we created the ability to autogenerate letters based on a specific workflow.

3. Prototyping and Iteration

We wanted to make sure that our system  could generate PDF documents, allow the user to edit the data, and then save the changes back to the database. To achieve this we set up a user group to test and validate each scenario using the prototype, while taking into account all the changes.

As the development process progressed, we expanded the user group so that we could get a broader view of the functionality. Using their feedback, we continued to iterate.  

The Result

With the implementation of this tool, the firm became far more efficient, and was able to quickly and easily create government forms and a variety of other documents, reducing manual work.