Microsoft Dynamics CRM, Word Templates and Merge Fields for printing a Quote

Why is it so hard to find information on this topic? It’s a behemoth system, CRM; Word is known the globe over; and Mail Merge is something most folk know about.

There is plenty of information on each of these subjects on their own, but when I began looking for all three together it got a bit frustrating.

What I Wanted To Do

Create a Word Template to be used to print a Quote from within Dynamics CRM.


Create from scratch.

Use a table for Quote Product items (this was far more obtuse than you would think).

There are a couple of sample templates you can find. I didn’t find them until AFTER I’d gone through a lot of pain. But the pain meant learning, which is good for me.

The image below will show you the result I have at the moment. It’s not great.

The Merge for a Quote will happen on the QUOTE PRODUCT. So always have in mind that the records coming at the template will be for the Quote Product, not the  Quote itself (although the Quote information is in there, being a Parent 1:M relationship).



  • Do not type the brackets {} .. Always use <CTRL>F9
  • Want to put information/data in at the FIRST record and never again, like a Header?

{ IF { MERGEFIELD Quote_ID } <> { someNameForUniqueID } “{ SET someNameForUniqueID { MERGEFIELD Quote_ID } }Information to go at the top of the report/document/whatever.

  • Want to put information/data in at the LAST record and never again, like a Total Footer?

“{ IF { MERGEFIELD LastItem (this is the actual field name) } = 1 ”Put the information in here


  1. There is no way I’ve found to create a single table with Headings (only on First Quote Product record)
    1. You cannot remove the “new line” that is created when you add in the table.
  2. The Word help file actually has some helpful information. Search for “Formatting switch” and go to the “Insert and format field codes in Word” document.
  3. The most trouble I have is why I cannot get the layout the way I want it? Why do I have to be restricted by an obtuse set of commands? Or is it that I don’t know the right way to format the code?

I’ve only been on this since last night, so it’s highly probable I’ve missed some grand fabulous way to achieve the process.

But I thought some other folk my be helped by this information.

Leave a Reply

Your email address will not be published. Required fields are marked *