Payment processing can be a complicated process, spanning multiple apps, documents, and channels. If every payment involves PDFs, scanned documents, email chains, and maybe even paper invoices, then your invoicing processing is a prime candidate for automation. 

By replacing this chaotic process with a streamlined, automated workflow, you can save a tonne of time, while completely eliminating costly and time-consuming human errors. 

In this article, we’ll show how to build an automated invoicing platform. By the end of this article, you’ll have created a simple system where customers and partners can submit their invoice via a standardized form. Power Automate will then extract the necessary information, save it to a centralized location, and notify the relevant parties that a new invoice is awaiting their approval.

What we’ll be building

In this tutorial, we’ll create an invoice submission form, using Microsoft Forms

Third parties can use this form to create and submit an invoice by entering information including their contact details, and the products or services they’re billing you for. As soon as the customer clicks “Send,” Microsoft Forms will display a “Your response was submitted” message. This ensures the customer knows that you’ve logged their submission successfully. 

Next, I’m going to capture the Microsoft Forms data and add it to a SharePoint site. This provides a central location where your HR department can view all submitted invoices. 

Finally, we’ll create an email notification so your HR or financial department knows there’s a new invoice that requires their approval. 

Create your invoice submission form

Let’s start by building the invoicing form. You can use this form to request all the information your HR or financial department requires, in order to process a payment. To keep things simple I’ll be requesting the responder’s contact information plus some basic information about the services or items this invoice pertains to. 

To create your form: 

● Log into Microsoft Forms

● Select “New Form.” This launches Microsoft’s form editor. 

● Select “Add New.” 

● Make sure the “Questions” tab is selected. 

● You’ll usually want to start by collecting the person’s contact information. You can request details such as their name, email address and postal address, by adding “Text” fields to your form. Unless you have a specific reason not to, you’ll typically want to make these fields mandatory by pushing the “Required” slider into the “On” position.

● You may also request an invoice and/or purchasing order number. You can collect this information by adding two more “Text” fields to your form.

● I’m going to request information about the product(s) or service(s) this person is invoiding for, as a separate page. To create this kind of multi-page form, select the little downwards-pointing arrow, and then click “Section.”

● You can now add fields for all the information you want to collect. This might include the cost of each item, or the total hours this freelancer has worked for your business.

You can test your form at any point, by selecting the “Preview” button. In this mode, you can also check how your form will appear across desktop and mobile devices, using the buttons along the top of the screen. Once you’re happy with your results, it’s time to take your form public. 

Add invoicing features to your employee portal or company website 

You can add the Microsoft Form to your website using a QR code, link, or an embed code. This step will vary depending on where you want to display your form. As an example, I’m going to embed my form on my WordPress website: 

● In Microsoft Forms, select the “Share” button. 

● In the panel that appears, select “Embed.” 

● Copy the embed code. 

● Log into your WordPress dashboard. 

● Navigate to the page where you want to embed your form, and open that page for editing. 

● Find the area where you want to display your form, and add a “Custom HTML” block using the Gutenberg editor. 

● Paste your embed code into the HTML block. 

● Publish or update this page, as normal. 

Your invoicing form should now appear on your website. 

Create a Microsoft SharePoint site 

Next, I’m going to create a SharePoint site where Power Automate will store all the invoicing data: 

● Log into your Microsoft SharePoint account

● Select “Create site.” 

● When prompted, choose “Team site.” 

● Give your site a descriptive name; I’m using “Invoicing.” 

● Select “Next > Finish.” 

Inside your site, you may want to create a folder where Power Automate will store all your invoicing data, or a list. This can make it easier for your HR department to find the information they need in order to process payments. 

Create your automated invoicing platform

It’s time to create your workflow! Whenever someone submits an invoice, this workflow will extract the data from their submission, and add it to your SharePoint site. 

● Log into the Power Automate app

● In the left-hand menu, click “Create.” 

● Select “Automated cloud flow.” 

● In “Trigger,” start typing the following: “When a new response form is submitted.” Select this option when it appears. 

● Click “Create.” This will open a new workflow for you to edit. 

● Click to place your cursor inside the “Form ID” field. This should open a dropdown menu where you can select the form we created in the previous step. 

● Select “Next step.” 

● In the subsequent panel, search for the following: “Get response details.” Select this option when it appears.

● Click to place your cursor inside the “Form ID” field and select the Microsoft Form you created in the previous step. 

● Click to place your cursor inside the “Response ID” field. The “Dynamic content” menu should open automatically. If this menu doesn’t open, select the following link: “Add dynamic content.” 

● In the “Dynamic content” menu, select “Response ID.” 

● Click “Next step.” 

● In the subsequent popup, search for “Create file.” 

● When it appears, select “Create file: Sharepoint.” 

● In “Site Address,” copy/paste the URL of your SharePoint site. 

● In “Folder path,” click the little folder icon and select the area where you want to save your invoices.

● In “File Name,” specify the name that Power Automate should assign every file that’s generated using this workflow. To ensure every invoice has a unique name, you may want to use dynamic content, for example I’m using the “invoice number” value from my Microsoft Form.

● Click to place your cursor inside the “File content” field. Here, you can specify all the information you want to extract from the submitted invoice. This data will be saved to your SharePoint site.

Now, every time someone submits an invoice, Power Automate will extract all the information from this form and upload it to your SharePoint site. 

This is all you need to create an automated invoicing platform. However, this workflow still requires your HR department to monitor your SharePoint site for incoming invoices. To make this workflow fully automated, you may want to add an email notification to the mix.

Going fully-automated: How to create an invoice notification 

In this final section, we’ll create an email that Power Automate will send to a nominated address whenever someone submits an invoice. This can be useful for notifying your HR or financial department about an item that requires their attention. 

To add an email notification to your workflow: 

● Select “New step.” 

● In the subsequent panel, start typing: “Send an email notification (V3).” Select this item when it appears.

● Click to place your cursor inside the “To” field. You can then enter the email address that Power Automate should send this email to, for example your head of IT or HR department. 

● You can now create a subject line for your email. To make this subject line more informative, you may want to use dynamic content. For example, I’m including an invoice number. 

Now, every time someone submits an invoice, a new file will be generated based on that invoice and uploaded to your SharePoint site. Power Automate will then notify the relevant party that there’s a new invoice that requires their attention. 

Do you want to automate other parts of your business? Check out our guides to building an automated customer support platform and building an automated vacation approval process.