> ## Documentation Index
> Fetch the complete documentation index at: https://waffo.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Report Delivery & Email Subscription

> The four ways a Waffo report file can reach you — Portal download, Waffo SFTP, your own SFTP, or email — plus how to manage settlement report email subscriptions yourself: schedule, recipients, body language, send history and when a delivery change takes effect.

[Settlement Reports & Exports](/docs/en/support/settlement-reports-faq) explains how the numbers are produced
and how to pull a report on demand. This page covers the other half: **how a report file reaches you on
a recurring basis**, and how to manage settlement report email subscriptions yourself. File layouts and
SFTP paths stay in [Reconciliation reports](/docs/en/developer-docs/tools-and-references/references/reconciliation-reports).

## Where can my report files be delivered?

Recurring report files support four delivery targets. **Exactly one** is active per report family, and
Portal download always works on top of whichever you pick:

| Delivery target | What happens | Choose it when |
| - | - | - |
| **Portal only** | No push — the file is generated and waits in the Portal | You reconcile by hand |
| **Waffo SFTP** | Placed on the SFTP account Waffo issues you, under the documented paths | You want a pull feed with no infrastructure of your own |
| **Your own SFTP** | Waffo connects out to your SFTP host and writes the file there | Your finance system already watches an SFTP endpoint |
| **Email** | Sent as an **email attachment** to your configured recipients | A person, not a system, consumes the file |

The target is set **per report family** — transaction details, settlement, statement, invoice and the
list exports are configured separately — so settlement files can be pulled over SFTP while statements
go to a mailbox. Pointing a family at email or your own SFTP stops its push to the Waffo SFTP account.

These targets are arranged with support, not from a Portal screen: **Waffo SFTP** needs the mailbox for
the account details plus the public IP or IP range you connect from; **your own SFTP** needs host, port,
username, password and base directory; **email** needs the recipient and CC addresses. On both SFTP
targets the file keeps its original name under your base directory plus the same
`/{report family}/{date}/` sub-path, so one script works against either. Files are kept on the Waffo
SFTP account for a limited period only — the Portal copy remains.

## I changed the delivery target. When does it take effect?

From the **next export cycle**. A job already in flight finishes against the configuration it started
with, so the cycle already running still arrives at the old destination — keep the old SFTP path or
mailbox reachable until you have seen the first file land on the new one.

## Can I have settlement reports emailed on a schedule without asking support?

Yes — **Settlements → Settlement Reports → Email Subscription**. One subscription is one recurring
email: a set of reports, a date basis, a schedule, recipients and a body language. The tab is
permission-gated — if you can see it on that page, the feature is available to your account. What
you can do there:

| Action | What it does |
| - | - |
| **Subscription list** | Your subscriptions, paginated, with status and Last Sent |
| **Add / Edit** | Create a subscription, or change an existing one's reports, schedule, recipients or language |
| **Suspend / Resume / Delete** | Move a subscription between `ACTIVE` and `SUSPENDED`, or remove it |
| **Send History** | The send attempts of one subscription |
| **Preview** | A live rendering of the email body beside the form |

## Which reports, on which date basis?

**Report Type** is multi-select, at least one required: *Transaction Settlement Detail* (default),
*Daily Settlement Summary*, *Selected Period Summary* — the same three Customized Export offers.
**Time Dimension** sets the date the data window is cut on:

| Time Dimension | Meaning |
| - | - |
| `PAYMENT_DATE` (default) | Cut by transaction payment date. Includes **estimated** data for completed transactions still pending settlement |
| `SETTLEMENT_DATE` | Cut by actual settlement date, so every row is a settled figure |

Pick `SETTLEMENT_DATE` when the recipient treats the email as final accounting.

## How do I set the schedule, and in which time zone?

| Schedule Type | Schedule Detail |
| - | - |
| `DAILY` | An hour only |
| `WEEKLY` | Day of week (Monday–Sunday) + hour. Default: Monday 09:00 |
| `MONTHLY` | Day of month 1–31 + hour, where **31 means the last day of the month** — so it still fires in February |

The hour is whole, `00:00`–`23:00`, labelled **(UTC+8)** — the same day cutoff used everywhere else
in settlement. There is no minute-level setting.

## How many recipients, what subject, which language?

| Field | Rule |
| - | - |
| **Recipient (To)** | Exactly **one** address. Use CC for anyone else |
| **CC** | Up to **10** addresses; paste them separated by comma, space or semicolon |
| **Email Subject** | Required, up to 200 characters. Prefilled as `WAFFO-Settlement Report-{your MID}-{your merchant name}` |

Every address is validated before the subscription saves. Put a distribution list in **To** and keep
CC for individuals.

**Email Body Language** is per subscription — English, 中文 or にほんご — and independent of the
language you use the Portal in, so two subscriptions can serve a regional team and a local one in
their own language. A **live preview** of the body sits beside the form and re-renders as you change
the language, time dimension, schedule or subject.

## A subscription stopped, or a send failed. Where do I look?

A subscription is `ACTIVE` or `SUSPENDED`. **Suspend** stops sending but keeps the configuration,
**Resume** puts it back, **Delete** removes it for good. The **Last Sent** column is the fastest way
to spot one that quietly stopped. **Send History** then lists each attempt:

| Column | What it tells you |
| - | - |
| **Status** | `Pending` while the send is being processed, then `Success` or `Failed` |
| **Trigger Time** | When the schedule fired |
| **Data Window** | The period start and end the report actually covered |
| **Recipient (To)** | The address used for that attempt, as configured at that time |
| **Result** | The sent timestamp on success, or the failure reason on a failed attempt |

A failed attempt carries its own reason, most often the recipient rejecting the message. Fix it by
editing the subscription; the next scheduled run uses the new value. Each row keeps the recipients in
force at that attempt, so an old row shows the old address.

***

Need a report family pointed somewhere new? [Contact support](mailto:support@waffo.com) with the family and the destination.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.