---
title: "Process Statement Of Accounts | ERPNext Documentation"
description: "Generate, download, and email customer account statements and ageing summaries in bulk with ERPNext."
space: "ERPNext"
url: "https://docs.frappe.io/erpnext/process-statement-of-accounts"
updated: "2026-07-31"
---

Use **Process Statement Of Accounts** to generate and send account statements to several customers at once. Each customer receives a PDF based on the General Ledger, with an optional ageing summary. You can send the statements immediately or schedule them weekly, monthly, or quarterly.

## Before you begin

- Configure an outgoing [Email Account](/framework/user/en/email/email-account).
- Add a billing email to each customer's [Contact](/erpnext/contact). If **Send To Primary Contact** is enabled, the customer also needs a primary contact email.
- Submit the transactions that should appear in the statement.

## Create a statement process

1. Search for **Process Statement Of Accounts** and select **Add Process Statement Of Accounts**.
2. Enter a recognizable **Name**.
3. Select the report and set the date, Company, account, currency, Cost Center, or Project filters.
4. Use **Categorize By** to control how entries are grouped in the PDF.

![Process Statement Of Accounts report filters](https://novacompanies.m.frappe.cloud/files/process-statement-of-accounts-statement-filters.png)

## Select customers

Add customers individually, or use **Select Customers By** to fetch customers from a Customer Group, Territory, Sales Partner, or Sales Person. The customer table displays the billing and primary email addresses that ERPNext will use.

If a customer cannot be added, check the Contact linked to that Customer. A billing email is required, and a primary email is required when **Send To Primary Contact** is selected.

## Configure the PDF and email


| Setting                   | Use                                                                   |
| ------------------------- | --------------------------------------------------------------------- |
| Orientation               | Choose Landscape for wider ledgers or Portrait for shorter statements |
| Include Ageing Summary    | Adds receivable ageing to the statement                               |
| Page Break After Each SoA | Keeps each customer's statement on a separate page                    |
| Enable Auto Email         | Sends statements on a schedule                                        |
| Sender                    | Outgoing email account used to send the message                       |
| PDF Name                  | File name shown to the customer                                       |
| Subject and Body          | Email content; both support Jinja values                              |


![Customer selection, print preferences, and email settings](https://novacompanies.m.frappe.cloud/files/process-statement-of-accounts-customer-email-settings.png)

Save the document. Use **Download** to review the consolidated PDF before sending. Use **Send Emails** for an immediate batch. Scheduled emails are queued by the background job at the configured frequency.

## What the customer receives

ERPNext creates a separate email and PDF for each customer. The PDF contains only that customer's ledger for the selected period. If **Include Ageing Summary** is enabled, the same PDF also shows how much is current and how much falls into each overdue bucket.

The example below shows the email composer with the customer-specific statement attached. This is a preview from the demo site. On a production site with an outgoing Email Account, **Send Emails** queues the message for delivery.



![Customer statement email preview](https://novacompanies.m.frappe.cloud/files/customer-email-preview.png)

The attached statement shows the opening balance, each invoice or payment in the selected period, and the closing balance. Its ageing summary groups the outstanding amount by due date so the customer can see what needs attention.



![Customer ledger and ageing summary](https://novacompanies.m.frappe.cloud/files/customer-ledger-and-ageing.png)

## Use dynamic values

You can personalize the subject and body with Jinja. For example:

```text
Statement of Account for {{ customer.customer_name }}

```

```text
Hello {{ customer.customer_name }},
Please find your statement from {{ doc.from_date }} to {{ doc.to_date }} attached.

```

Test the output with a small customer set before enabling automatic email for all customers.

## Troubleshooting

**A customer is missing from the selection**

Check the Customer's billing Contact and its email address. Also review the grouping filter used to fetch customers.

**The PDF is empty or incomplete**

Confirm the Company, date range, currency, and account filters. Only submitted ledger entries are included.

**Emails do not arrive**

Check the outgoing Email Account and the Email Queue. Scheduled messages are not sent when the document is merely saved; the background scheduler must be running.

## Related topics

- [Accounts Receivables](/erpnext/accounts-receivables)
- [Customer](/erpnext/customer)
- [Contact](/erpnext/contact)
- [General Ledger](/erpnext/general-ledger)
- [Email Account](/framework/user/en/email/email-account)
- [Sales Interest / Dunning](/erpnext/dunning)