> ## 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.

# Gifts

> Credit Gifts to your Consumers in bulk and track their payment lifecycle.

<RequiredRoles roles="Gifts" />

A [Gift](/glossary#gift) lets you credit a [Consumer](/glossary#consumer) directly without requiring a transaction. Use Gifts to recognize loyalty, offer goodwill credits, or fund a one-off bonus operation: anything you decide to pay a Consumer when no purchase justifies a [Reward](/glossary#reward). A support gesture after a complaint, a welcome bonus, and a referral credit all take this route.

You credit Gifts in bulk, by CSV import. Each Gift then follows the same status flow as a [Cashback](/glossary#cashback) Reward: `Pending validation`, `Validated`, `Pool`, then `Paid`. It ends credited to the Consumer's bank account, exactly like a Cashback. See [Status reference](/program/shift/status-reference#gifts) for the definition of each status.

Once imported, a Gift is read-only: you upload the file, then watch the statuses move. Validation and payment run on Paylead's payout cycle.

## Filter the list

The Gifts list opens on five tabs, each carrying its own count. The tab labels differ from the **Status** values they filter on:

| Tab           | Status shown in the list         |
| ------------- | -------------------------------- |
| **All**       | every Gift, regardless of status |
| **Validated** | `Validated`                      |
| **Paid in**   | `Pool`                           |
| **Pending**   | `Pending validation`             |
| **Paid out**  | `Paid`                           |

See [Status reference](/program/shift/status-reference#gifts) for what each status means.

The **Bank wire** column confirms a Gift was actually transferred: it reads `-` until the payout carrying it is issued, then holds the wire transfer reference.

## Open a Gift

Click the preview icon at the end of a row to open the Gift on its own page, which holds two cards.

### Details

| Field      | Content                                                                |
| ---------- | ---------------------------------------------------------------------- |
| **Name**   | The Reward name carried by the `reward_name` field of the import file. |
| **Amount** | The amount credited to the Consumer, in euros.                         |
| **Status** | The Gift's current status.                                             |

When the Gift carries a comment, Shift displays it next to the status, truncated to 75 characters. Hover it to read the full text.

The comment carries the reason behind a status, for example why a Gift was cancelled. Read it before escalating a support ticket about a Gift that did not reach the Consumer.

### History

The **History** card lists the statuses the Gift went through, each with the date it was recorded. Use it to see when the Gift moved to `Pool`, or whether it ever left `Pending validation`.

## Import Gifts

<Steps>
  <Step title="Open the import modal">
    Open the **Gifts** section in Shift, then click **Import**. A modal opens, titled **Import gifts by CSV**.
  </Step>

  <Step title="Prepare your CSV file">
    The first line must be a header, written exactly `consumer_id;amount;reward_name` in lowercase, even though the modal shows the format in uppercase. Each following line holds one Gift, with the same three fields in the same order:

    ```csv theme={null}
    consumer_id;amount;reward_name
    consumer-uuid-001;25.00;Holiday bonus
    consumer-uuid-002;50.00;Referral credit
    consumer-uuid-003;15.50;Birthday gift
    ```

    Fields are separated by a semicolon. The amount is a positive number with at most two decimals, written with a dot (`25`, `25.5` and `25.00` all pass; `25,00` and `-25` are rejected).
  </Step>

  <Step title="Select the file">
    Click **Select a file** and choose your CSV. Shift checks the file in the browser and, if every line passes, uploads it straight away, with no confirmation step. It confirms with **Gift imported successfully.** and refreshes the list. Imported Gifts start at `Pending validation`.
  </Step>
</Steps>

### If the file is rejected

If any line fails the check, nothing is uploaded. The modal reports how many errors it found and lists the offending lines, each prefixed with **Line** and its number; a bad header line is reported as **Line Header**. Two buttons are offered: **Close** to abandon the import, and **Start again** to pick another file.

A line is rejected when:

* the header line is not exactly `consumer_id;amount;reward_name`;
* the Consumer ID is empty;
* the amount is negative, uses a comma, or carries more than two decimals;
* the Reward name is empty.

### After the import

The Gifts appear straight away on the **Pending** tab, then move to `Validated`, `Pool`, and `Paid` as the payout cycle runs, the same cycle that carries Cashback Rewards. Follow one Gift in the **History** card of its page, and the whole batch through the five tabs of the list.

<Warning>
  Check the file before you upload it. A Gift imported with the wrong amount, or against the wrong Consumer, cannot be corrected or cancelled, and it reaches `Validated` almost immediately. The import is the last point where you control what gets paid.
</Warning>

## Reconciliation in Invoices

Gift payouts are reconciled in the **[Invoices](/program/shift/invoices)** section, under the **Gifts** tab. Every `Gift` invoice there is a charge to your Program: Paylead bills you back for the Gifts that reached your Consumers, and the **Gifts VAT** column carries the amount transferred. Narrow the list by date, download the PDF, and check it against the Gifts you imported over the same period.

**Invoices** opens with the **Financial** role, not **Gifts**. Ask a teammate who holds **Financial** to take this step, or have both roles assigned to your account. See [Access and roles](/program/shift/access-and-roles#roles).

## What's next

<CardGroup cols={2}>
  <Card title="Browse Consumers" icon="users" href="/program/shift/browse-consumers">
    Find a Consumer and check the Gifts and Rewards on their account.
  </Card>

  <Card title="Customer support workflow" icon="headset" href="/program/shift/customer-support-workflow">
    Triage a support ticket about a missing or unexpected credit.
  </Card>
</CardGroup>
