# Create Private Offer

Create a private offer to share your data product or application with specific consumers on Snowflake Marketplace.

There are two ways to price a private offer:

- **Based on a pricing plan** — reuse one of your published pricing plans, applying a discount and contract terms on top of it.
- **One-time pricing** — charge a single flat contract value instead of an ongoing pricing plan.

Both follow the same flow below; the only difference is what you select for **Pricing Plan** in step 2.

## Create a Private Offer

### 1. Set Offer Details

1. Click create private offer in **Offer page**.
2. Select your listing.
3. Enter the buyer's **Data sharing account identifier** (in format of `{organization}.{consumer_account_name}`) - This is the unique identifier for your customer's Snowflake account
4. Enter **Offer name** - A descriptive name that helps identify this specific offer
5. Set **Expiration date** - The date after which this offer can no longer be accepted by the buyer

![Create Private Offer Step 1](images/snowflake-create-offer-step1.jpg)

### 2. Configure Billing and Payments

Select a **Pricing Plan**. The dropdown lists your published pricing plans plus a **One Time Offer** option. Your choice here determines how the offer is priced.

#### Option A — Based on a pricing plan

1. Select one of your existing **published pricing plans**.
2. Set **Contract Duration** - Specify how long the agreement will remain active.
3. Set **Discount** percentage off the public price - Enter a percentage reduction from your published pricing.
4. Configure payment settings based on the pricing type:

   **For Subscription-Based Pricing:**

   - Choose **Payment option**:
     - **Require full payment upfront** - Customer pays the entire committed amount immediately.
     - **Follow the billing frequency** - Customer is billed each billing cycle of the plan.
     - **Accept installments** (equal or custom amounts) - Allows customers to spread payments over time.
   - Choose **Date of first invoice** (when offer accepted or a specific date) - Determines when billing begins.

#### Option B — One-time pricing offer

Choose this when you want to charge a single flat amount rather than an ongoing pricing plan.

1. Select **One Time Offer** from the **Pricing Plan** dropdown.
2. Enter the **Contract Value** - The total one-time amount to charge, in USD.
3. Set **Contract Duration** - The length of access the buyer receives for the one-time charge.
4. Set **Discount** percentage (optional) - A reduction applied to the contract value.
5. Choose **Payment option**:
   - **Require full payment upfront** - Customer pays the full contract value immediately.
   - **Accept installments** - Split the contract value into multiple payments. When selected, choose an **Installment frequency** (Monthly, Quarterly, or Yearly) and optionally set custom amounts per installment.
6. Choose **Net payment terms** (optional) - Due on receipt, Net 30, Net 60, or Net 90 days.
7. Choose **Date of first invoice** (when offer accepted or a specific date).

:::note
**Installment frequency** and **Net payment terms** are not exclusive to one-time offers — the same controls are available for pricing-plan (subscription) offers when you choose **Accept installments**.
:::

:::info
Snowflake Marketplace private offers are billed in **USD** only.
:::

#### Subscription offer example

![Create Private Offer Step 2 - Subscription](images/snowflake-create-offer-step2-subscription.jpg)

#### Pay-as-you-go offer example

![Create Private Offer Step 2 - Pay As You Go](images/snowflake-create-offer-step2-payg.jpg)

### 3. Set Access and Terms

1. Select **Access start date**:

   - When offer accepted - Access begins immediately after customer accepts
   - On specific date - Access begins on a predetermined future date

2. Choose **Terms of service**:
   - Use default terms - Apply standard Snowflake Marketplace terms
   - Use custom terms - Upload your own terms of service document
   - Provide terms offline - Indicate that terms are handled outside the marketplace

### 4. Review and Submit

Review all details and submit the offer. Once submitted, the offer will be sent to the specified customer account for review and acceptance.

After successfully creating a private offer, you can copy the offer URL and share it with the buyer.

## Cancel a Private Offer

You can cancel a pending private offer at any time before the buyer accepts it. This is useful if you need to modify the offer terms or if the offer is no longer valid.

1. Select the offer you want to cancel.
2. Click `Cancel` button.
3. Confirm the cancel in the popup dialog

After cancel the offer, the offer status will change to "Withdrawn" and the buyer will no longer be able to accept the offer. You can edit the offer details and resubmit it.

![Cancel Offer](images/snowflake-cancel-offer.jpg)
