This article describes how to create SharePoint Workflow which automatically generates and sends invoices to e-mail recipients. The invoice will be generated and sent as soon as a new item is added into the list. Such a workflow cannot be created using any standard actions and conditions which are available in SharePoint, and we will use some actions added by “HarePoint Workflow Extensions for SharePoint”:
| Component name and type |
Set of Workflow components |
| SharePoint Workflow |
HarePoint Workflow Extensions |
| Copy or Move Documents (action) |
|
 |
| Update Word Document (action) |
|
 |
| Convert Document (action) |
|
 |
| Wait Conversion Job (action) |
|
 |
| Delete Item at URL (action) |
|
 |
| Send E-mail with Document as Attachment (action) |
|
 |
The Workflow will start once a new item is added into the SharePoint list, and it will work in the following manner:
- make a copy of the invoice template;
- fill it with the data gathered from SharePoint List;
- convert the invoice into a PDF file;
- send the invoice to email recipient;
- save the PDF into the document library.
Before creation of the Workflow it is necessary to do the following:
- Create a template of invoice. You can download the template example here. We used Content Control elements in such fields as Number, Client, Address, Price, etc.
- Save this template in Shared Documents.
- Create a document library called “Invoices” where the workflow will save sent invoices.
- Create a list with relevant columns along with a column for the client's email address. This is the address our workflow will send the generated invoice to. The List contains the following fields:
- Start SharePoint Designer, open the web-site, point to “Workflows”, click the “List Workflow” button on the ribbon and select the List which you created at step 4. The Workflow will be linked to this List. Type a name of the Workflow. Click OK. The empty workflow is now created.
Let's start creation of the Workflow.
To copy the invoice template we should use the “Copy or Move Documents” action from the “HarePoint Activities – Document Library” activity group.
Click to open real size screenshot
A link to the document template should be specified in the parameters for this activity. Full path to the document should be specified. In our example it is:
http://sp14.vlab.mapilab.local:133/Shared%20Documents/invoice.docx
The new file should be placed into the document library “Invoices” which we created at step 4. It is necessary to specify the full path to the document library. In our example it is:
http://sp14.vlab.mapilab.local:133/Invoices/
Set the invoice number field to be used as the data source for the file name:
Next, we should use the “Update Word Document” action (this action is located in the “HarePoint Activities – Office” category) to replace “Content Control” values in the document with a value of relevant fields of the new element in the document library.
We select Content Control as the parameter and indicate which document should be updated. Also, we should indicate the data that should be added to the field:
The remaining fields are to be filled in similarly:
Next, we should add an action to convert the updated document into a PDF file.
To do this, we will use the “Convert Document” action (this action is located in the “HarePoint Activities – Document Conversion” category).
The previously filled-out Invoice is used as the parameter:
Click to open real size screenshot
Execution of this action will take a while. So, we need to suspend Workflow until the conversion is finished. For that we will use the “Wait Conversion Job” action.
After that we will have two invoice files, and the Word document is to be deleted by using the “Delete Item at URL” action from the “HarePoint Activities – Lists” category. The path to this document should be specified as the parameter:
Now we should add an action to send the generated invoice via email. The “Send E-mail with Document as Attachment” action from the “HarePoint Activities – E-mail” category will be used.
The 'To' address is taken from the new element which was added into the List:
Click to open real size screenshot
Specify message subject.
And specify the path to the generated PDF invoice.
The workflow is ready. It looks like:
Click to open real size screenshot
Save the Workflow.
Now we should set the Workflow to be launched automatically when new list item is created. To do this click the “Workflows” link in the left menu of SharePoint Designer, select your Workflow and double click it. Put the checkmark to the option “Start workflow automatically when an item is created” and click the “Save” button on the ribbon.
Save and Publish the Workflow:
Test the Workflow: create a new list item, wait a moment, and look at the Document Library “Invoices”. Check your mailbox, the invoice in PDF must be there. Check the message subject and make sure that all Invoice fields are filled in properly.
You can also look at the Video Demo the whole process of creating such a workflow.