Optimizing Document Templates
Optimizing Document Templates
Jason Cochard for Steven Butala Land Academy
In programming, there’s a phrase “Don’t Repeat Yourself,” which has an acronym DRY. One of the goals with writing code is to never repeat yourself. Never write the same piece of functionality twice; instead, break that piece into a reusable component, and just call the component when you need it.
With what we do, there are some documents that are very similar, comprised of templated boilerplate mixed in with specific pieces of information from a data set, which can get boring to write if you’re doing them by hand every time (obviously, that’s why we mail merge our offers, right?). But more than just offer letters, I’m realizing that sales letters, purchase agreements, land contracts, deeds, affidavits, etc, are all great candidates to save time by staying DRY.
What I do is use a mail merge to mark up my documents with variable names that have their counterpart in a spreadsheet. That same spreadsheet is derived from the downloaded data (in most cases), and therefore I’m not repeating myself at all, just handing off information from the downloaded data and allowing it to filter down into my document, be it a deed, a purchase agreement, or a required document for a new state.
The key is, anytime you write something specific, think about the reusable components that go in to that wording, see if you can split it into language that would allow you to create one or two variables that can be changed when you find yourself doing a slightly different deal. Below is a portion of my variable set. On the left is the name that is used in the document template, on the right is the data. I color code the cells so that I know blue is what I modify, and orange is derived from the choices in blue. I do this using Named Ranges, Data Validation, and the “vlookup” function in Google Sheets, which I’m not going to explain here (GTS). I have over 200 variables in the list, but here is a portion of them:
One good candidate for staying DRY is in a purchase contract, where you’re defining who will pay for title insurance. On a lot of our letters, we telegraph this intent by saying we’ll pay the fees associated with the transaction, yet in most states the seller traditionally pays for title insurance. Based on your conversations with the seller, you may have gotten them to stick to paying for the policy, maybe you are paying, or maybe you’re splitting it down the middle. Here’s the sentence in my contract that governs the title insurance payer: “The *|title-insurance-payer|* shall *|title-insurance-verb|* the cost of the owner’s policy of title insurance.” What I’ve done is put 2 variables into the sentence, and it will modify the language elegantly.
Using the techniques above (which is beyond the scope here), I’ve created a 2 dimensional lookup for what the language should be, and all I need to do is choose it in a dropdown menu in the data entry portion of my spreadsheet. These dropdown are in my blue-shaded cells. The orange is automatically derived from my blue choice.
If I choose “Buyer” or “Seller” for the title-insurance-payer variable, then the title-insurance-verb will automatically be “pay”, but if I choose “Buyer and Seller” then the verb would be “split”.
By dissecting often-modified sentences like this and abstracting key words out into a few variables, you can turn your purchase contracts into a piece of custom software and avoid repeating yourself or changing the same sentence again and again.
Even though it’ll take time to set up the document to merge, it’ll save you time in the long run by preventing you from needing to go back through all your old documents on subsequent, similar deals. You can create a suite of documents that differ by deal type, for example. One set for dealing with sellers with one grantor and a separate one for sellers with multiple grantors. Use the same variable names across all the documents so you can merge data from a single spreadsheet.
What’s cool is the spreadsheet can be a master spreadsheet, having all the variables for all the deal types, so you only have one place to enter data, and several documents compatible with the variable names you’ve defined in the spreadsheet. Any given document will only use a subset of those variables. With this same data entry spreadsheet template re-used for any given deal, I can merge acquisition agreements, sales agreements, land contracts, lease agreements, deeds, affidavits, and any other document I want.
By the way, if anyone wants to buy the APN in that image above, I will sell it for $7k uninsured. But, there is currently a squatter living there who kinda seems locked and loaded.
Comments