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

# Ventilations

> Download Ventilation files to pay out Cashbacks to your Consumers.

<RequiredRoles roles="Financial" />

**Ventilations** carry the [Cashback](/glossary#cashback) amounts owed to your [Consumers](/glossary#consumer). Paylead computes who is owed what and pays your Program one lump sum per invoicing cycle. You then split that sum across your Consumers and execute the individual bank transfers yourself.

The **Ventilation** section appears on Programs configured for external Ventilation, the model described here, on top of the role requirement above. On every other Program, Paylead runs the Consumer payout itself: see [Pool & payout](/program/user-journey/concepts/ventilation) for that model.

## Who pays whom

Two distinct movements of money sit behind every row of this screen.

```mermaid theme={null}
flowchart LR
  PL[Paylead] -->|Step 1: one wire transfer per cycle| PM[Your Program]
  PM -->|Step 2: one transfer per line of the CSV| C1[Consumer]
  PM --> C2[Consumer]
  PM --> C3[Consumer]

  classDef neutral fill:#f1efe8,stroke:#888780,color:#2c2c2a
  classDef primary fill:#e6f1fb,stroke:#0465ff,color:#042c53
  classDef success fill:#eaf3de,stroke:#3b6d11,color:#173404

  class PL neutral
  class PM primary
  class C1,C2,C3 success
```

1. **Paylead pays your Program.** One wire transfer per invoicing cycle, for the whole **Total amount to allocate**. The **Date**, **Payout reference**, and **Status** columns describe that transfer.
2. **Your Program pays its Consumers.** One transfer per line of the downloaded CSV, from the sum you just received. You execute those transfers from your own banking tools and record them in your own accounting.

The Program commission is settled separately, through the debit note described in [Pool & payout](/program/user-journey/concepts/ventilation#program-commission-settlement).

## Read and pay a Ventilation

In **My account** > **Ventilation**, each row is a Ventilation file covering one invoicing cycle. The file lists the Cashback amount to transfer to each Consumer's bank account.

Use the **Filter by keyword** field to find a specific Ventilation, or the **Date From** and **Date to** filters to narrow the list. Both date filters apply to the **Date** column: they select cycles by the day Paylead paid you, not by the cycle covered.

### Columns

| Column                       | Description                                                                                                                                                                     |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Date**                     | Date Paylead paid your Program. Blank means the payout has not been issued yet.                                                                                                 |
| **Cycle (YYYY-MM)**          | The invoicing cycle during which the Rewards were validated.                                                                                                                    |
| **Invoice reference**        | The invoice reference number tied to this Ventilation.                                                                                                                          |
| **Payout reference**         | The reference of the wire transfer issued by Paylead.                                                                                                                           |
| **Total amount to allocate** | The total Cashback amount to be distributed across the Consumers in the file. The lines of the CSV add up to it.                                                                |
| **Status**                   | The status of the wire transfer Paylead issued to your Program for this cycle, and of that transfer only. See [Status reference](/program/shift/status-reference#ventilations). |

**Date** and **Status** are filled in after Paylead's transfer, so they record it rather than authorize it: confirm the receipt on your own bank account. Before issuing that transfer, Paylead checks one thing, that the Ventilation total matches the invoice total.

<Warning>
  A Reward flips to the technical status `PAID_OUT`, which Shift prints as `Paid`, as soon as the payment provider confirms Paylead's transfer. Under external Ventilation that transfer goes to your Program, so `Paid` means "Paylead has paid the Program Manager", not "the Consumer has received the money". Check your own transfer records before telling a Consumer their Cashback has arrived. Both vocabularies are listed in the [Reward status flow](/program/user-journey/guides/reward-lifecycle#the-reward-status-flow) and in the [Status reference](/program/shift/status-reference).
</Warning>

### Pay out a cycle

<Steps>
  <Step title="Check that the cycle has been funded">
    Read the **Date** and **Status** columns, then confirm the money has landed on your own bank account.
  </Step>

  <Step title="Download the file">
    Click the download icon on the row. Shift saves the Ventilation as a CSV named after the cycle, for example `2026-07.csv`. Each line is one Cashback owed to one Consumer.
  </Step>

  <Step title="Execute one transfer per line">
    Pay each Consumer the **Amount** of their line, on the account identified by **External Account ID**. The lines of a file always add up to the cycle's **Total amount to allocate**.
  </Step>

  <Step title="Record what you paid, on your side">
    Log the cycle as settled in your own accounting system before moving on.
  </Step>
</Steps>

<Warning>
  This export describes your own customers. Handle the file as personal data, under your bank's own data protection rules.
</Warning>

<Warning>
  The same file can be downloaded any number of times and always exports the same lines. Your own accounting is the record of which cycles you have already paid, so keep it up to date: it is what protects a cycle from being paid out twice.
</Warning>

### Fields in the file

| Field                   | Description                                                                                                                                                          |
| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Consumer ID**         | The pseudonymized Paylead identifier for the Consumer. Use it to look the Consumer up in Shift.                                                                      |
| **External Account ID** | The Consumer account ID you provided. When a Consumer has several accounts, use this to route the payment to the correct one.                                        |
| **Amount**              | The Cashback amount to pay to the Consumer.                                                                                                                          |
| **Bankwire Ref**        | The reference Paylead generates through the payment provider when it transfers the cycle to your Program. Do not carry it over into your own transfers to Consumers. |
| **Execution Date**      | The date of the underlying transaction.                                                                                                                              |

To reconcile a Ventilation line by line against your Reward data, filter the [Rewards report](/program/shift/rewards-report) by `Status = Paid` (the technical `PAID_OUT`) over the same cycle dates, then export. The **Reward amount** total of the report should match the cycle's **Total amount to allocate**.

## What's next

<CardGroup cols={2}>
  <Card title="Invoices" icon="file-text" href="/program/shift/invoices">
    Retrieve the invoices Paylead issues for Gifts reimbursement and commissions.
  </Card>

  <Card title="API keys" icon="key" href="/program/shift/api-keys">
    Generate and manage the API keys that authenticate your integration.
  </Card>
</CardGroup>
