# DataFirefly Flash Sale & Countdown for Shopware 6 — Installation, configuration and usage

> Overview DataFirefly Flash Sale & Countdown turns your Shopware promotions into scheduled flash sales: the discount is applied on the fly by a native cart processor, switched on and off…

- Page: <https://www.datafirefly.com/en/documentation/dfflashsale-shopware/>
- Language: en
- Last updated: 2026-08-06
- Other languages: [fr](https://www.datafirefly.com/documentation/dfflashsale-shopware/index.md), [es](https://www.datafirefly.com/es/documentation/dfflashsale-shopware/index.md), [de](https://www.datafirefly.com/de/documentation/dfflashsale-shopware/index.md), [it](https://www.datafirefly.com/it/documentation/dfflashsale-shopware/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfflashsale-shopware/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfflashsale-shopware/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfflashsale-shopware/index.md)
- Index: <https://www.datafirefly.com/en/documentation/llms.txt>

## Overview

DataFirefly Flash Sale & Countdown turns your Shopware promotions into scheduled flash sales: the discount is applied on the fly by a native cart processor, switched on and off to the second, without CRON and without modifying your product data. The strike-through price is displayed natively on product pages and listings, and a sticky countdown banner synced to the server clock creates urgency.

## Requirements

- Shopware 6.5.x, 6.6.x or 6.7.x (one single ZIP)
- PHP 8.1 minimum
- No CRON, no Scheduled Task, no Node.js build required

## Installation

### Via the administration

1. Extensions > My extensions > **Upload extension**, then select `DfFlashSale-1.0.0.zip`.
2. Click **Install**, then **Activate**.

### Via the command line

```
bin/console plugin:refresh
bin/console plugin:install --activate DfFlashSale
bin/console assets:install
bin/console cache:clear
```

The administration JS ships **precompiled**, including for Shopware 6.7's new Vite loader: no `build-administration.sh` is needed. After `assets:install` + `cache:clear`, reload the admin with Ctrl+F5.

If you transfer the plugin via FTP, make sure the hidden folder `src/Resources/public/administration/.vite/` is copied: some FTP clients exclude dot files. Without it, the menu entry will not appear on Shopware 6.7.

## Creating a campaign

Go to **Marketing > Flash Sales > Create flash sale**. A campaign is configured in five blocks:

### Campaign

- **Internal name**: visible in the admin only.
- **Active**: master switch for the campaign.
- **Start and end dates**: the discount and banner switch on and off automatically, to the second, based on server time.

### Discount

- **Type**: percentage or fixed amount.
- **Value**: e.g. 30 for −30%, or 10 for −€10 per unit.

### Targeting

- **Entire catalogue**, **Categories** (subcategories are included automatically through the category tree) or **Selected products** (variants of a selected parent product are covered).
- **Sales channels**: leave empty for all channels, or restrict the campaign to specific channels.

### Sticky banner

- **Scope**: all pages (except checkout), homepage only or product pages only.
- **Position**: top or bottom of the page, with automatic content offset.
- **Colours**: background, text and accent, per campaign.
- **Texts**: banner text, teaser text and end message — translatable via the language switcher at the top of the page.

### Countdown

- **Teaser**: before the start, the banner shows the teaser text with a countdown to launch, then the page reloads automatically.
- **End of campaign**: hide the banner or display your end message.
- **Evergreen mode**: each visitor sees their own timer (duration in hours, stored in their browser), capped by the campaign end date. The discount stays active for the whole campaign window; the individual timer is a visual urgency lever.

## How the discount works

The discount is applied by a cart processor running after Shopware's product price calculation and before promotions. On product pages, listings, search and sliders, the discounted price is displayed with the old price struck through via the native _list price_ mechanism — compatible with any theme. Nothing is written to your products in the database: when the campaign ends, everything instantly returns to normal.

The countdown is synced to the server clock through an offset computed at page load: changing the browser clock has no effect.

If a product already has a strike-through price (list price), the flash sale one replaces it during the campaign.

## Multilingual

Campaign texts (banner, teaser, end message) are translated through the language switcher on the detail page. The countdown unit labels (d/hrs/min/sec) ship in English, French and German and can be adjusted via Shopware snippets (Settings > Shop > Snippets, keys `dfFlashSale.*`).

## Troubleshooting

- **The "Flash Sales" menu entry does not appear**: check the plugin is active (`bin/console plugin:list`), re-run `assets:install` + `cache:clear`, then reload the admin with Ctrl+F5. On 6.7, check the `.vite` folder is present (see Installation).
- **The banner is not displayed**: is the campaign active? Are the current dates inside the window? Does the banner scope match the visited page? Is the sales channel included? Also clear the HTTP cache (`bin/console cache:clear`).
- **The discount does not show in the cart**: check the targeting (does the product belong to the selected categories/products?) and the sales channel.

## Uninstall

On uninstall, the plugin tables (`df_flash_sale`, `df_flash_sale_translation`) are dropped, unless you tick "Keep data" in the extension manager.
