## Overview

An **offer** is a reusable price you register once and reuse across many sales. There are three kinds:

- **Order bump**: shown at **checkout** as a quick add-on and, when accepted, enters as an **extra
  line item** on the charge being created.
- **Upsell**: a **one-click post-purchase** offer, usually a higher-value item, that creates a **new
  charge** for the contact.
- **Downsell**: also one-click post-purchase, used as a cheaper alternative when the customer declines
  the upsell — it likewise creates a **new charge**.

In every case the offer holds a name, amount, currency and method; you only attach it to a sale or a
contact at the right moment.

## Prerequisites

- A **connected** and valid **gateway** (see *Connect a gateway*).
- Optional: a **Catalog product** linked to the offer (`catalog_product_id`), to reuse the product
  record.
- Set the **connection** (gateway) and the **method** (`billing_type`) on the offer, used when it
  becomes a charge — especially for upsell and downsell.
- To **accept** an offer (upsell/downsell), the contact needs minimal data (name and, ideally,
  email/phone) for the payer at the gateway.

## How it works

- **Order bump at checkout**: the offer is converted into a **charge line item** (name, amount and
  currency are snapshotted at that moment). It adds to the total by **appending a new line** — it
  never changes the amount of an existing charge. The line only keeps a reference to the offer in its
  metadata.
- **Upsell / downsell after purchase**: when you accept the offer for a contact, the platform
  **creates a new charge** reusing the **connection**, the **amount** and the **payer data** already
  known — with nothing to retype. That charge follows the normal flow (gateway → webhook → payment
  card in the conversation), exactly like any other charge.
- The offer is **never modified** when accepted: it is a template; each acceptance creates a new,
  independent charge.
- Post-purchase acceptance only works for an **active, non-archived** offer. An order bump belongs to
  checkout and is rejected by this action. Repeating the same network attempt recovers the same charge.

## Settings & options

Offer fields:

| Field | Purpose |
|---|---|
| **Name** | Identifies the offer and becomes the charge/line description. Required. |
| **Kind** (`kind`) | `order_bump`, `upsell` or `downsell`. |
| **Amount** | Offer price (major units, e.g. `49.90`). Must be greater than zero. |
| **Currency** | 3-letter code (e.g. `BRL`). |
| **Method** (`billing_type`) | PIX, boleto or card used when the offer becomes a charge. |
| **Connection** | The gateway (payment connection) used to charge. |
| **Catalog product** | Optional link to a Catalog product. |
| **Description** | Supporting text for the offer. |
| **Active / inactive** | Inactive offers are not presented. |

## Step by step

1. In the Payments area, open **Offers** and create a new offer.
2. Enter a **name**, pick the **kind** (order bump, upsell or downsell), the **amount** and the
   **currency**.
3. Set the **method** and the **connection** (gateway) used when generating the charge.
4. (Optional) Link a **catalog product** and write a **description**.
5. Save. The offer is available while it is **active**.
6. To **apply an order bump**, use the offer at **checkout**: once the customer accepts it, it becomes
   an extra line on the charge.
7. To **accept an upsell/downsell**, trigger the offer acceptance for the **contact** (optionally tied
   to a conversation): the platform generates a **new charge** and sends it in the conversation.
8. To retire an offer, **archive** it — it disappears from the available offers, but the price is
   preserved (we never delete a price an active funnel may reference).

## Use cases

- **Raise the ticket** with an order bump at checkout ("add the extended warranty for $19.90").
- **Offer an upsell** right after purchase ("get the Pro version in one click").
- **Recover the sale with a downsell** when the customer declines the pricier upsell.
- Reuse the **same offer** across many conversations and checkouts, without re-creating the price.

## Tips, limits & best practices

- The **order bump does not change** an already-created charge — it only **adds a line** to the total
  at checkout time.
- Accepting an **upsell/downsell always creates a new** and independent charge; the original offer
  stays intact.
- Offers are **archived, not deleted** — so no funnel or history that depends on that price breaks.
- Set the **connection and method** on the upsell/downsell offer: without them, the acceptance cannot
  generate the charge correctly.
- Amounts are in major units ($49.90 = `49.90`); the checkout total is the sum of the lines — never
  divide by 100.

## Troubleshooting

- **The offer does not appear**: check that it is **active** and **not archived** (inactive or
  archived offers are not presented).
- **Acceptance failed**: confirm the **contact** has the minimal data and that the offer's
  **connection** (gateway) is valid — acceptance creates a real charge and needs that data.
- **The order bump amount looks wrong**: remember it **adds a line** to the total; it does not replace
  or reduce the other lines.
- **I can't delete an offer**: offers are archived (reversible), not removed — use archive.

## See also

- [Create a charge and send it in the conversation](/hc/ajuda/articles/payments-criar-cobranca-enviar-na-conversa-en)
- [Connect a gateway: Asaas and Mercado Pago](/hc/ajuda/articles/payments-conectar-gateway-en)
- [Native catalog of products and services](/hc/ajuda/articles/catalog-commerce-catalogo-nativo-en)