Generate and email monthly customer statements as password-protected PDFs

On the 1st of each month, build a statement per customer from Excel or Dataverse, protect it with a password, and email it.

TriggerRecurrence — monthly, day 1, 7:00 AM Malaysia time
ConnectorsExcel Online (Business) or Dataverse · Adobe PDF Services · Office 365 Outlook · SharePoint
CategoryFinance

The problem

Finance spends two days each month exporting, saving and emailing statements one by one.

The outcome

Statements go out on the 1st by 9 AM, each protected, with a log of what was sent.

Before you start

  • Statement template (Word) with a repeating table for transactions.
  • Agreed password convention with customers (e.g. company registration number).

Build it step by step

  1. Get customers — List customers with an outstanding balance.
  2. Get transactions — For each customer, filter last month's transactions.
    Expression / setting
    startOfMonth(addToTime(utcNow(), -1, 'Month'))
  3. Generate — Adobe PDF Services Generate document with the customer and transactions JSON.
  4. Protect — Adobe PDF Services Protect PDF with the agreed password and restrict editing.
  5. Send and log — Email the PDF and record the send in a Statement Log list.

Connector action names are shown as they appear in Power Automate at the time of writing; Microsoft and Adobe occasionally rename actions or add new versions.

Error handling

  • Never email the password in the same message as the PDF — send it once by SMS/WhatsApp at onboarding, or use a known value.

Licensing

  • Adobe PDF Services per transaction; Dataverse source is premium.

Variations

  • Publish statements to a customer portal (Power Pages) instead of email.

Common in: Banking · Insurance · Logistics