Note: The most commonly used workflow involves launching documents from within a Dynamics CRM Opportunity. For this reason we recommend building your table in a template and then launching from an Opportunity in order to test. Alternatively, you can connect an Opportunity to your document within Octiv and build your table there.

You can pull data from Dynamics CRM into your Octiv documents to create an auto-generated table. Most clients choose to launch their Octiv documents from Opportunities. By default, Opportunities have an OpportunityProduct child object, which is what we use in our example pricing table below.

With the Fall 2016 Release, this process can now be accomplished using the Octiv UI.

Note: Even with the UI, this can be a confusing process and takes some getting used to. If you run into issues, please submit a ticket to our technical support team.


This basic pricing table will work if you are using the standard fields in Dynamics CRM. Use the following steps to create an auto-generated table. If you want to see an example rendered table, scroll to the bottom of the page.

  1. Create a table that has three rows and as many columns as you need.
  2. Define the table as a Pricing Table by right clicking over the table and going to Table Properties => Class => Pricing Table.
  3. Define the table Header by right clicking 0n the first row and going to Row => Row properties => Row type => Header.
  4. Follow the same procedure as in step 3 to define the third row as the Footer. Choose Row Type => Footer.
  5. Choose the Data Source for your table.
    • Click on the gear icon in the upper right corner of the table to open the Pricing Table Data Settings.
    • Select OpportunityProduct as the Data Source and click Save.
  6. Type your column headers into the first row (in the sample table below in black highlighting with white text)
  7. In the middle (body) row, place the fields you want in square brackets (below in light blue); it is very important that these values match exactly with the API names used by Dynamics CRM. To find the correct field names, go to
    • Account Settings => Integrations => Dynamics.
    • Scroll down to the Incoming Data section.
    • Copy the field names into the square brackets of your table exactly as they show in the saved list.
    • If you don’t see the field you are looking for, it may require mapping to Octiv. Reference this article for information about variable mapping.
  8. If you want a totals row, use the table footer (below in green). Octiv allows aggregator functions to be used in each column of the footer. Syntax is as follows: [FUNCTION_NAME(variable_name)]
    • If you want to use SUM, as in the example below, simply change out the variable being summed to match the variable you are using.
    • Cells can be set to show data in a certain format; right click on the cell and go to Cell => Cell Properties => Class and choose your desired format.
  9. Optional: Sort the order of the line items in the table.
    • Click on the gear icon in the right hand corner of the table to open the Pricing Table Data Settings
    • Choose the value you want to sort by from the Sort By dropdown menu.
    • Click Save.
  10. Optional: Filter the line items that will populate the table based on the value of a field from Dynamics CRM.
    • Click on the gear icon in the right hand side of the table to open the Pricing Table Data Settings.
    • Click Add Filter.
    • In the Variable dropdown menu, choose the variable you would like to filter by.
    • Choose your desired operator from the Operator dropdown menu.
    • Enter the value to which you would like to compare your variable.
    • Choose a data type that matches the type of the value to which you are comparing>
    • You see the encoded expression in the Expression field.
    • Click Save.

Did this article help?

Please provide us your feedback below.

* How helpful was this article?

If you have any additional questions and would like to be contacted by a member of our support team, please provide your email.