Error! Reference source not found.

Robbert Jacobs

Head of Automation

To a lot of junior lawyers just entering the profession, it is a new and confusing experience to encounter the infamous “Error! Reference source not found.” error notification when using Microsoft Word. To more experienced lawyers, it can be the bane of their existence. For counterparties, it is downright confusing, because they often have no way of knowing what clause is being referenced.

For all of us, it is an annoying error that usually requires some additional back-and-forth to see what was meant. In this post, we will discuss how this error occurs and how ClauseBase prevents it from occurring.

The problem with cross-references

When you create a cross-reference in Word, you are essentially telling Word that it needs to refer to a specific clause. If that clause is (partially) deleted or heavily modified — which obviously happens very frequently — Word no longer knows what it needs to refer to. The same happens when you would copy and paste a paragraph containing a cross-reference into a new document: usually you will have to manually recreate the cross-reference and manually point it at the right target paragraph.

The way cross-references are implemented in Microsoft Word is actually a good illustration of the fact that Microsoft Word “knows” very little about your document. Internally, Word refers to paragraphs by internal numbers, oblivious of whether that paragraph talks about liability limitations, non-solicitation obligations, or zebras in the zoo. For Microsoft Word, there is simply no way of knowing that a cross-reference to a certain paragraph is really intended to be a cross-reference to the liability limitation clause.

The gory technical details

When you insert a cross-reference, Microsoft Word inserts both a bookmark and special markers around the target paragraph, and associates them with a special internal “field code” — e.g., _Ref19612197. (All this under-the-hood stuff is normally invisible, but you can explicitly show it by right-clicking on a cross-reference and choosing “Toggle Field Codes”.)

Every time the cross-references are updated (e.g., when you print the document or   when you select text and press Ctrl+F9), Microsoft Word will check whether the target paragraph still exists, by trying to find the special invisible markers that contain the internal field code of the bookmark. If the special markers are effectively found, then the current number of the associated paragraph will be used as the visible cross-reference. However, if the target paragraph gets deleted or heavily modified, the special markers will be lost, and the “Error! Reference source not found.” error will appear instead.

How ClauseBase reinvents the cross-reference

Unlike Microsoft Word, ClauseBase uses intelligent and reusable clauses that “know” what function they have in the document and can mould themselves to fit the contract they are being inserted in. For these clauses, it does not make sense to have cross-references refer to a random paragraph number. Instead, cross-referencing in ClauseBase refers to the content of a certain clause.

Take this basic non-solicitation clause as an example:

This clause essentially consists of two parts:

  • Article 4.1: a general non-solicitation obligation.
  • Article 4.2: a short follow-up clause setting out the consequences of a breach of this obligation.

If article 4.1 disappears, the cross-reference in article 4.2 would yield the familiar error notification discussed above when working with Microsoft Word. In ClauseBase, however, the effect is a little bit different:

ClauseBase also shows an error notification, but the cross-reference itself says that it is looking for a clause that deals with non-solicitation. This error notification also acts as a hyperlink. Clicking it will make ClauseBase perform a search through your library for clauses that have non-solicitation obligations as its content, and immediately present the results of that search query. One of those results will look like this:

At the click of a button, the clause can then be inserted, with ClauseBase making sure that all terminology (e.g.: “Agreement” versus “Contract”) is consistent. It also provides you with a quick overview of all your available clauses on a specific topic, so you can choose the perfect clause straight away. In this way, ClauseBase takes a radically different approach to cross-referencing when compared to Word, which was not built to think about clauses the way that lawyers do.

Naturally, contracts created in ClauseBase can be exported to Microsoft Word. At that point, ClauseBase’s intelligent cross-references ultimately become plain cross-references so the problem of faulty cross-references can never entirely be avoided, but it can significantly reduce the hassle during the contract creation process.