Deutsch Demo shop Store

What happens to the submissions

The built-in route in Shopware ends in a mailbox: event, flow, email, done. Here the submission is stored - with the context it came from.

The history

Every submitted request sits here, with the context it came from.

All forms Sales channel Period Export CSV
Form Context Sales channel Date
Request product advice Product · SWDEMO10005 Storefront 21 June 2026
Order query Order · 10042 Storefront 21 June 2026
Contact form — Storefront 21 June 2026

Rebuild of the history. The list also carries the customer.

Form

Which form was filled in. The internal name, as it appears in the form list.

Context

Where the submission came from: a product with its number, an order with its number, or nothing when the form sat in a shopping experience.

Customer, channel, date

Who sent it, if signed in, plus sales channel, language and time. These are attached to the submission, not to the form.

What gets stored is what was entered

Not the form, but the values - with labels of their own.

Type Key Label Value
select Kundentyp Customer type Company
text Firma Company Example Ltd.
text USt-ID VAT ID DE123456789
range Dringlichkeit Urgency 9
textarea Nachricht Message Please send us a quote at short notice.

Four entries per item. Groups and rows do not appear - they ask for nothing.

Every submission carries its own label with it. That is why a field renamed later does not falsify an old submission: it still knows what the field was called back then.

The three double fields - salutation, first name with last name, email with phone - appear as two values, joined by a vertical bar.

What was invisible under the conditions is not written at all. The server evaluates the rules again before it builds the payload.

The export looks back, not forward

The columns come from the stored submissions, not from the current form definition.

Fixed columns first

Fourteen columns for id, form, context, customer, sales channel, language, domain and time. They are in every file, whichever forms are involved.

Then one block per form

After that comes a column block for each form, headed "form name: field label". A row only fills the columns of its own block.

Deleted forms too

Submissions from a deleted form get a block of their own. They are grouped by the shape of the stored values, so two different deleted forms stay two different blocks.

The separator is a semicolon, and a UTF-8 marker precedes the first line. That way umlauts land correctly even in spreadsheet programs that would otherwise guess.

What the sender sees, and who else finds out

Both sit on the form, both are independent of the history.

The confirmation

After sending, only the form area is swapped, the page does not reload. The confirmation takes its place: either free text with HTML, or one of the four message kinds in green, blue, yellow or red.

Without your own message the default text from the snippets applies. It can be changed like any other snippet in the shop.

Thank you for your product enquiry. Our team is reviewing your details.

The email

Per form you can store an address that receives an email after submission. One switch, one address, that is all.

The email is an addition, not a replacement. The submission is in the history even if nobody switched the notification on - and it is still there when the mail landed in spam.

Where uploads end up

File and image uploads are stored in the Shopware media, not as an attachment in the submission. The plugin configuration says which folder of the media manager that happens in.

That means the same permissions, folders and cleanup routes apply to the files as to any other media in the shop. Allowed extensions and maximum size are set on the field.

Setting limits on the field

Back to the form

Layout

Groups, rows and the twelve-column grid.

Fields

All 23 field types and what they do.