---
title: "Digital products"
description: "Sell license keys and downloadable files, set up how they reach the buyer and follow every delivery."
url: "https://docs.poltura.com/en/products/digital-products/"
lang: en
alternates:
  en: "https://docs.poltura.com/en/products/digital-products/"
  hu: "https://docs.poltura.com/hu/products/digital-products/"
---

# Digital products

Sell license keys and downloadable files, set up how they reach the buyer and follow every delivery.

- Where: Apps → Digital Products
- Status: Beta

A digital product is delivered without a parcel. Poltura delivers two kinds: **license keys** from a vault you fill, and **private files** such as PDFs and ZIP archives that only the buyer can download after payment. A supplier app can add keys bought on demand. Digital products are in Beta.

The **Digital Products** page is the starting point. It lists **Keys**, **Files**, **Rules**, **Import**, **Pricing**, **Locations** and **Queue**, each with an **Open** link.

## Before you start

- Digital delivery has to be switched on for the store. See [Delivery settings](https://docs.poltura.com/en/products/digital-products/#delivery-settings). While it is off, the **Digital Products** screens are not shown in the sidebar.
- **Import** and **Pricing** work with a connected supplier. They need the [CodesWholesale](https://docs.poltura.com/en/apps/codeswholesale/) app.
- A digital product is still a normal product. Create it first, with a price in every currency you sell in, see [Create a product](https://docs.poltura.com/en/products/create-a-product/).

## Sell license keys

1. Open the product and find the **Digital Product** panel.
2. Select **Enable Digital Product**. To deliver keys for one version only, use the choice under **or enable for a specific variant**.
3. Open **Digital Products** and choose **Keys**. The page is titled **Digital Keys**.
4. Select **Add**.
5. In **Create Digital Key**, choose the product or version under **Digital Product / Variant**.
6. Enter the key under **Key Value** and, if you like, a note under **Notes (optional)**.
7. Select **Create Key**. The key is listed with the status **Available**.

Keys are added one at a time. Repeat the steps for each key, or use **Add Local Key** in the product's **Digital Product** panel.

A key has one of four statuses:

- **Available**: in the vault, ready to be delivered.
- **Reserved**: set aside for an order.
- **Delivered**: handed to a customer. The row shows the order it went to.
- **Revoked**: taken back.

Use **Search** to find a key by its value, product or order ID. **Edit** changes the key value and notes, **Delete** removes a key. The product or version of a delivered key cannot be changed.

After payment, the customer finds the keys on the order page of their account. On the order in the admin, the **Digital Product Keys** panel lists the delivered keys. **Deliver Missing Keys** delivers available keys to an order that is still waiting, and **Revoke** takes a key back.

## Sell downloadable files

1. Open the product and find the **Digital delivery** panel.
2. Select **Add files**, or **Manage files** if the product already has some. The **Downloadable files** page opens for this product.
3. Under **Files for**, choose **All variants** or one version, and select **Show**.
4. Under **Files customers receive**, select **Choose files**, pick the files and select **Upload files**.
5. Under **Download access**, enter **Downloads per file** and **Available for (days)**. Leave a field blank for unlimited downloads or no expiry.
6. Under **New deliveries**, keep **Deliver after payment**.
7. Select **Save delivery settings**.

- You can upload PDF, ZIP and image files of up to 15 MB each, and up to 20 files per product or version.
- Files for all versions are delivered together with the files added to a specific version.
- **Remove** stops a file from being included in new deliveries. Customers who already bought keep their copy.
- Setting **New deliveries** to **Paused** stops new deliveries for this product and keeps the downloads already granted.
- The download settings apply to future purchases.

## Follow key requests in the queue

When a key cannot be handed over at once, for example because it has to be fetched from a supplier, the request waits in the queue.

Open **Digital Products** and choose **Queue**. The **Key Retrieval Queue** lists each request with its order, product, mode (**Single** or **Bulk**), number of attempts and status: **Pending**, **Fulfilled**, **Expired** or **Failed**. Filter by status or search by order, product or customer ID.

> **Warning**
>
> **Expire** on a pending request ends it. The customer will not receive the key through this request.

## Import games from a supplier

**Import** opens **Game Import**, which lists the catalog of your connected CodesWholesale account.

1. Open **Digital Products** and choose **Import**.
2. Narrow the list with **Search** and the **Platform**, **Region**, **Stock**, **Price** and **Status** filters, and order it with **Sort**. Search finds a game by name, even misspelled, or by its supplier code. **Not imported** shows what is new to your store.
3. Open **Import Settings** once to choose a **Root category** and a **Platform attribute handle** for each kind of product: **Games**, **DLC & Addon**, **Gift Cards** and **Software**. Select **Save Mappings**.
4. Open a game to preview what would be created, then select **Import Game**. To import several, tick them and select **Import selected**.

The catalog is kept in your store and syncs itself: changes every 15 minutes and the whole catalog every night. **Refresh catalog** starts a full sync now. Imported games are marked **Imported**. With the [IGDB](https://docs.poltura.com/en/apps/igdb/) app on, an imported game gets a cleaned-up title and description, its categories, platform and brand, cover and screenshots, Metacritic score and release date; without it, it keeps the supplier's name, text and image under the root category.

## Price supplier products

**Pricing** opens the **Pricing Engine**, which turns the supplier's wholesale cost in EUR into your selling prices.

- **Markup Bands**: the markup in percent by cost band. Each band ends where the next begins and the last one is open.
- **Min margin (€)** and **FX buffer (%)**: the least you keep on an item, and a safety margin on top of the exchange rate.
- **Price points**: the endings your prices may have, such as .49 and .99, with optional **Per-currency overrides**.
- **Region VAT Mapping** and **Currency Tax Reference**: which country's VAT is used for each market and currency.

Select **Save Pricing Config** to save. **Price Preview** shows the result for a wholesale price you enter, per market and currency, using the saved configuration.

## Choose the stock locations for keys

**Locations** opens **Digital Product Settings**. Under **Stock Location Mapping** you choose which stock location stands for your own keys (**Local Vault**) and which for keys sourced from CodesWholesale. Select **Save Changes**. Stock locations themselves are explained in [Stock per location](https://docs.poltura.com/en/inventory/stock-per-location/).

## Delivery settings

The store-wide switch and the overview of your delivery methods are on the **Digital delivery** page.

1. Open **Settings** and choose **Delivery**.
2. Under **Digital products**, select **Manage digital delivery**.
3. Under **Automatic delivery**, select **Enable deliveries** to switch digital delivery on, or **Pause deliveries** to stop it.
4. When you pause, confirm in **Pause digital deliveries?**.

Pausing stops new digital deliveries across the store. Customers keep the keys and files they already received, and pending key requests are expired. Your products and installed apps stay in place.

The same page links to **Own license keys**, **Private downloads**, **Optional apps** and **Reusable delivery rules**. A delivery rule applies the same delivery method to whole categories, collections or tags, and you can override it on a single product or version. Rules are created under [Delivery](https://docs.poltura.com/en/settings/delivery/).

## Good to know

- Keys are stored encrypted.
- A product can combine methods, for example a printed book with an e-book, through a delivery rule.
- When two delivery rules match the same product, nothing is chosen automatically. Pick the rule on the product.
- Orders held by [Fraud detection](https://docs.poltura.com/en/apps/fraud-detection/) do not release their keys until the order is approved.
- Before revealing the first key, the customer confirms that the right to withdraw without a reason ends once keys are retrieved. See [Withdrawals](https://docs.poltura.com/en/returns/withdrawals/).
- For key products, the **Activation regions** panel on the product sets where a license can be activated. This does not control shipping.
- The [IGDB](https://docs.poltura.com/en/apps/igdb/) app can add game details and artwork. It is not a delivery method.
- Files larger than 15 MB cannot be delivered.

## If something goes wrong

- **"No digital products found. Please enable digital products for your products first."** No product has digital delivery enabled yet. Enable it in the product's **Digital Product** panel.
- **An order has digital products but no keys.** The vault had no available key. Add keys, then open the order and select **Deliver Missing Keys**.
- **"New digital sales are paused".** Digital delivery is paused for the store. Select **Open delivery setup** and enable deliveries.
- **The product page says delivery rules need attention.** Two rules conflict, or the assigned rule is switched off or missing. Review the product's **Digital delivery** panel.

## Related

- [CodesWholesale](https://docs.poltura.com/en/apps/codeswholesale/)
- [IGDB](https://docs.poltura.com/en/apps/igdb/)
- [Delivery](https://docs.poltura.com/en/settings/delivery/)
- [Product readiness checks](https://docs.poltura.com/en/products/readiness/)
- [Warranty policies](https://docs.poltura.com/en/products/warranty-policies/)
