How to create Invoices with a variable number of items

How to create Invoices with a variable number of items

HarePoint was asked whether it is possible to create an invoice with a variable number of rows in a table. So we have added new workflow action, Add New Row into Word Document, to HarePoint Workflow Extensions.

This new action can add a copy of the last row in the Repeating Section Content Control. Then this new row can be edited with the Update Word Document action. Note that Repeating Section Content Control was introduced in Microsoft Word 2013.

This article describes how to create an invoice with a variable number of items. And we will use the Update Word Document and the new Add New Row into Word Document actions from HarePoint Workflow Extensions for SharePoint: ​​​

Component name and type Workflow components used
SharePoint Workflow HarePoint Workflow Extensions
Add New Row into Word Document (action)
Update Word Document (action)​
Set Workflow Variable (Action)​


We will use an Invoice created from a Microsoft Word template.

First, lets’ remove empty rows and leave only one. Select it and click at Repeating Section Content Control in the Developer menu.

The Plus button will appear on the right to add new rows to the table. We don’t have to click it because our SharePoint workflow will do all the required actions for us.

Set up Title and Tag in the Content Control Properties.

Next add a Plain Text Content Control to each cell and give them unique names. They will hold the required data. The table should look like this:

Let's start creating the Workflow that will fill the table.

Save, publish and test the Workflow to update the table in the invoice in the Word Document:​​​

​​​

You can also watch the whole process of creating such a workflow in this Video Demo.​​


  Find 300+ workflow activities for:

Our valued customers

HarePoint products are recognized by thousands of companies

  • L'Oreal
  • Bre bank sa
  • University of Oklahoma
  • South Carolina Army National Guard
  • Genève Aéroport