Web Based Document Assembly: How It Works

From a TechnoLawyer Exclusive article published on June 15, 2010.



Document assembly conjures up thoughts of expensive software that often becomes shelfware once lawyers realize that they cannot figure it out without professional help. Document assembly consultant Seth Rowland has helped many firms that decided to invest in professional help. But in this TechnoFeature article, Seth reviews XpressDox, a new document assembly program that sells for $150 and promises ease of use regardless of your skill level. Who better to test this claim than Seth? Read his review to see what this expert thinks of this new expert system.


I have been working with document assembly software on a full–time basis for a long time—since 1996. During that period, I have had the opportunity to review (and program in) large number of systems that assemble documents with user-entered data or merged data sources.

The document assembly platforms I’ve used include HotDocs, GhostFill/AmicusAssembly, Dealbuilder/ContractExpress, Exari, MasterDraft, and SmartWords/Xyrite. I have used merge technology in practice management systems, including Time Matters, Amicus Attorney, AdvologixPM, Salesforce.com, PracticeMaster and ProLaw to create merge templates. And I have worked with VBA and macro automation in Microsoft Word, Outlook, Excel, WordPerfect, MultiMate, and IBM DisplayWrite. I have reengineered and rebuilt document workflow systems originally built in Lotus Notes, PowerTXT, ThinkDocs, Visual Workform, and CAPS Author. And I have reviewed numerous client–server and Web–based document assembly engines, including Pathagoras, DL Drafting Libraries, Rapidocs/Directlaw, ActiveWords, Intelledox, ProDoc, LawOnTheWeb, and Lawgic.

Thanks to this review, I recently added O2Smart’s XpressDox Docussembly to the above list.

Criteria for Evaluation

As a lawyer and a programmer, I constantly look for the perfect balance among power, ease of use, and return on investment. It is critical that a document assembly system handle complex logic. Lawyers are complex, their needs are complex, and their documents are complex. Lawyers command high fees due to their ability to handle this complexity and reduce it to simple manageable decisions for their clients.

Raw Power. A good document assembly system must have the power to handle complexity, including nested logic, repeating data, and calculations. It must also integrate with other programs that attorneys use to enter and manage their data.

Ease of Use. At the same time, the program must be easy for the developer and easy for the end user who will be answering the questions. It must present a simple and manageable interview to the user. It must be dynamic, which means that it should ask only the relevant questions, and group them together based on subject.

Return on Investment (ROI). The software must be suitable for the task. Otherwise, you will find yourself a year or two later either rebuilding your templates in a new system or never achieving your original automation goals. In addition to the price of the software, the cost includes the hardware required to run the software, the time spent by internal and external developers building the system, and the time to train end–users to use the system. These costs must be balanced against the efficiencies gained through the use of the system.

XpressDox Price and ROI

Let’s start with price. XpressDox starts at $150 per user. In volume the price drops to $79 per user. This price is for a full version of XpressDox. There is no additional fee for a developer version, and no lesser fee for a run-time only version. What you get for the fee is a docussembly system—that’s their word for document assembly.

XpressDox was designed by Peter Tuffin, a former senior programmer at Korbitec, the developers of GhostFill. In designing this system, Peter drew on the lessons learned as a power user and integrator of GhostFill, a document assembly system no longer marketed in the United States. He understood the need to make the program simple so that users could start creating templates immediately. At the same time, the program needed to be powerful enough to meet the needs of programmers to assemble multiple templates, link to databases, and calculate values based on data entered.

Given the modest $150 price, it’s worth buying a license to try it out. You will find that XpressDox has sufficient power to meet your document assembly needs. You’ll have to decide whether you like the way it handles document assembly and whether or not you need to deploy document assembly over the Internet, a feature not currently supported by XpressDox.

Installation of XpressDox

For this review I downloaded the trial software from the XpressDox Web site. The program has two versions: One for Microsoft® Office Word 2007 and another for earlier versions of Word. The installer includes a free Microsoft® Office Word add-in that enables you to output Word documents directly to PDF format without Adobe Acrobat.

I installed the software on a Windows Vista 64 PC, with a quad–core processor and 8 GB of RAM using Microsoft® Office 2007. The installation took five minutes. When I restarted Word, there was a new ribbon titled XpressDox with all the features on it. If you use XpressDox as single user, you can accept the default settings. Otherwise, you should click on the Settings icon and set up a network location for all your standard folders, clauses, and help files. You should also configure your data sources which can include connectors to Access, Excel, SQL Server, MySQL, Outlook, and practically any data source. All these configurations can be saved to a central configuration file which can then be imported into any subsequent installations.

My First Template

I generally read the manual first, but this time I didn’t. The software ships with a sample templates folder. Here is a sample template:

«Addressee» «Street» «City», «State»«Zip»Dear«ChooseFromRDBList(Salutation,Sir,Madam)»«Salutation» RE: «Regarding»

Type this in a Word document and apply text formatting. Then click the Save Template button. It’s that easy. Now, click on Run Template and choose the document you just saved. That’s it.

Next Steps

After I took my baby steps, I looked closer at the sample templates and read the 39 page user guide. I discovered the power of the scripting language. XpressDox is a fully powered document assembly language. It supports all the data entry field types required for document assembly, including text, dates, numbers, currency, checkboxes, and memo fields (including text-formatted memo fields), as well as multiple choice. There is a full panoply of variable formatting functions for all data-types.

When it comes to the interview, no conditional scripting is required. If a variable is used in the template, it appears in the interview. If a variable is contained only within a conditional text block, that text does not appear unless the precondition is met.

The system requires no separate component file, library or data dictionary to assemble. Everything is in the template. That is both a strength and a weakness. Take for example, the following:

«ForEach(Mailer/CopyTo)»«position()». «CC_Name»«Caption(CC_Name,Full name of Carbon Copy)»«CC_Initials»«Caption(CC_Initials,Enter Initials)» «End(ForEach)»

This block of text creates a node called Mailer with a repeating set of Carbon Copy addressees. It defines an alternate prompt for the variable CC_Name and CC_Initials.

On first impression, the coding of templates appears too complex for the casual developer. I strongly recommend that you review the sample templates and read the manual before you venture into complex templates. The functions are quite logical, but they require you to become conversant in a different language.

XpressDox is chock full of functions, like “Caption,” “ExtractInitials,” and “FormatDate” for sophisticated document assembly. These functions, including sample code and wizards, can be accessed from the Template Author’s Toolkit. There is a feature, currently in beta, to make this process even simpler—it enables you to access both commands and data elements as you type the opening brackets.

When you choose a command, a wizard appears to guide you on the options for the command. Without these wizards, it is difficult to get the correct syntax for these functions.

XpressDox includes template management and workflow functions. You can use RunTemplates to dynamically run multiple templates in a single assembly. You can launch a word macro with the simple command «RunWordMacro(ChangeParagraphAlignment)». You can define a BaseTemplate that is merged into the template, or you can use InsertDocument to bring in a clause or subtemplate. And in so doing, you can use ReplaceField to map fields from the source template into the inserted template, if necessary.

Further, you can manipulate the outputs of a document assembly, defining the name of the output file and the answer file, and specifying where these files are stored.

If you have a data source such as a practice management system, SQL Server, an Access database, or even an Excel file, text file or xml file, you can link to it during assembly. You can either select the record during assembly, or use criteria in the interview to bring in the entire record set. The details of establishing the connection are too complex for this review, but one feature is worth noting: The database connection includes an option to RefreshSave, which enables you to preview the data in the document assembly interview, make changes, and then write back those changes to the database.

Where to use XpressDox

XpressDox is a bargain. Starting at $150 per user, it is less than half the price of its nearest competitor, and substantially less than other competitors. At that price, it is for everyone, ranging from casual coders looking to handle simple merge templates to developers who mean business about document assembly.

XpressDox supports simple document assembly. You can learn the basics of the program in 15 minutes and produce templates with variables, repeats, and conditional logic. XpressDox handles dialog scripting automatically. If you spend a little more time, you can create computations, format outputs, and even add some color to the intake interview.

At the same time, in the hands of a specialist, you can build complex user interviews, connect XpressDox templates to multiple data sources, work with clauses and master templates, use XLST functions, and develop multi-template workflow.

Areas for Improvement

XpressDox is still a new product. It is rough around the edges. The user interview is functional, but it lacks some of the polish found in other document assembly products.

While the scripting language supports interview customizations (including tabs, colors, prompts, help text, labels, and repeats), the program lacks a cohesive interview designer. Improvements in certain layout issues, such as support for multiple fields on a single line, the ability to dictate the order of variables, and alternate ways to represent true/false variables, would make the program more usable.

Further, the system currently lacks a Preview window. What this means is that you need to run multiple test assemblies to debug errors in template coding. With a preview you could try one set of answers and check whether the result is as you intended. As templates get longer, it becomes harder to identify the source of template errors.

Perhaps the most glaring omission in the offering is the lack of support for PDF or graphical forms. The software works with Word XML. Until support is added for PDF, you will be limited to text-based templates. You will have the choice of reproducing the form as a table in Word, or using a graphic as a watermark on each page and positioning the text as appropriate.

Overall Rating

On a scale of 1-5, with 5 as the highest, I give XpressDox a TechnoScore score of 4. The program’s strength is its powerful document assembly markup language, support for complex functions, and its ability to infer the relevance of variables in presenting the user interview. Its weakness lies in its lack of support for PDF templates, the lack of a comprehensive fill-point editor, and the rigidity of the dialog builder. In time, the TechnoScore will increase as the company makes the script editor more intuitive and the dialog-builder more flexible.

Response from XpressDox

We invited O2Smart to respond to this TechnoFeature. Chairman Chris Pearson emailed us the following:

As always, Seth’s review is objective and insightful. As Seth points out, XpressDox is a young product. However, given the large number of document assembly products on the market we are indeed pleased and excited to have received such a favourable Technoscore. Of course we also realize that there is still work to be done in order to address the shortcomings raised by Seth, and we are working hard to improve those aspects.

Of particular note is that we will be releasing the XpressDox Web-server version on 1 October 2010. In short this will allow users to run XpressDox Desktop as a Web version, or to run templates stored on an intranet or on the Internet, and even to launch templates from a Web site or Web application.

We’d like to thank Seth for taking time to evaluate XpressDox so thoroughly. We’d also like to thank Technolawyer for publishing the review.

About Seth Rowland

Seth Rowland, Esq. was named TechnoLawyer Consultant of the Year in 2002 for his contributions to Technolawyer on the subject of document assembly and law practice automation. He is a nationally known technologist whose company, Basha Systems LLC, has helped many law firms build customized practice management and workflow solutions. Please feel free to visit his blog for the latest on document assembly and practice management.


Last Will and Testament Interview Design Features Contact Information

Will & Testament

Simple template design that groups similar information in tabs.

Interview Features

Highlights design features to assist your users to complete interviews.

Contact Information

Shows internal and external email routing to lead generate for a law firm.


No Software

XpressDox Docussembly™ is a document assembly system that will help you become more productive when creating repetitive documents. Now with XpressDox Server all the power of XpressDox Document Assembly is available to you on the web. This means your clients and other users can complete documents wherever they are in the world.

Your clients and other users require no additional software to access your web-based templates. Thus, whether your users use PC or Mac–based systems, they will still be able to supply information and receive filled documents, right from their browser and email.

Web–based Document Assembly

100%–proof documents, from anywhere in the world.
Templates, authored in the normal way, are uploaded by you to the XpressDox Server. The Server may be on premise, or hosted by XpressDox. Uploaded templates may be accessed by your clients and other users by clicking on a text or image hyperlink on your web site, or emailed link, for example.

You, or other authenticated users, click on a web page text or image hyperlink, or a link in an email, to access the XpressDox Server. You have the freedom to present these links in public or secure areas, depending on your requirements.

XpressDox Server is available on premise or as a hosted service

Will & Testament Example

This simple template design demonstrates a clean–looking interview, which groups similar information in tabs, and highlights a treeview for repeating data.
View example »

Access the XpressDox Server by hyperlink on a web page or email
XpressDox Server is available on premise or as a hosted service

Easy–To–Use Interviews

Users are guided through the information gathering process.
The XpressDox Server, on premise or hosted service, returns an interview for your users to complete. And because you can embellish your template with help, tabs, required field indicators and other helpful information, your users will find your interviews very easy to use.

Then, using the data they provide, templates are merged remotely and routed according to your instructions. These parameter–based instructions may include any custom information, like special instructions to the user, which file types are available for download, and any other information you wish the Server to return.

XpressDox Server is available on premise or as a hosted service

Interview Features Example

This example highlights the interview design features you can use to help and guide your users through the interview completion process.
View example »

Simple But Powerful Routing

Email, download, store—according to your requirements.
A Success page is displayed to the user, which describes any additional action you require the user to take—sign and return the document, for example—as well as links to the document in the file types you specified previously.

Also, the template may contain additional routing information, which instructs the Server to email any internal or external recipients you specify explicitly, or identified from the data set supplied by the user.

The completed document, and data set if required, is included as an attachment to these emails. The document and data set is saved to your secure folder on the server ready for collection.

Your completed document is emailed to addresses you specify, and stored in your secure folder
XML-compliant data sets are available for import into your other enterprise systems

Integration With Your Enterprise Systems

Compliance with standards ensures data re–use.
Because XpressDox is standards–based, data supplied by the user during the interview is made available in XML-compliant data sets. The benefit to you is that you can easily import valuable information supplied by the user into your other enterprise applications, CRM, Document Management, or Practice Management for example.

In this way XpressDox Server can be used by your organization for lead generation, which pays for this service over and over again.

XpressDox Server is available on premise or as a hosted service

Contact Information Example

This simple template demonstrates how XpressDox Server could be used to generate leads for an organization. Also features internal and external email routing.
View example »