Help · Content & Design · CMS & Emails

CMS Manager: Edit Texts, Content, and Emails Yourself

Manage legal texts and your own pages, understand text modules such as $cms_footer, customize email templates, and specify who receives which emails with which attachments. Here are the most common questions: bank account information in order confirmations, order copies, status emails, and emails that don’t arrive.

At a Glance

  • Pages and text modules: under CMS → CMS Manager. The Legal Notice, Terms and Conditions, Privacy Policy, and Right of Withdrawal are already set up; you just need to replace the sample text.
  • Email Templates: under CMS → Emails & Marketing / Automations, organized by language, with preview and test email.
  • Sender, order copy, attachments, SMTP: under Settings → Interfaces → Email Marketing / CRM → Email Options.
  • Bank account information for prepayment: The email displays the payment method text; it does not automatically include your bank details from the default settings.
  • Status emails: In the order, select “Notify customer”; create recurring text as text modules.
3Key Locations
75pre-built text modules
48 email templates included
1 tab per active language

Quick Overview: Where do I make changes?

Texts are located in three places: in the CMS Manager, in the Email Manager, and in the language files. The table matches each request with the correct location.

I want to change …Location in the backend
Legal Notice, Terms and Conditions, Privacy Policy, Right of Withdrawal, Shipping and PaymentCMS → CMS Manager, see Legal Texts
a separate page, such as “About Us”CMS → CMS Manager, “Insert” tab
Footer text and footer links, cookie noticeCMS → CMS Manager, modules with $cms_
text for payment methodsSettings → Checkout → Payment Methods, “Edit” a payment method, text below the fields
Text or subject line of a store emailCMS → Emails & Marketing / Automations
Address, phone number, and business hours in the footer of all emailsSettings → General → Basic Settings → Store Address and Contact Information
Sender, CC, Attachments, SMTPSettings → Interfaces → Email Marketing / CRM → Email Options
Text of a status or shipping emailin the order: comment or text block; see status emails
Bank account information on invoices and payment QR codeSettings → General → Basic Settings, “Shop Bank Account…” fields
Short fixed text strings, such as “Order Details,” “Complete Delivery,” or the salutationTools → xoLanguage, see Languages
Which payment methods are offeredSettings → Checkout → Payment Methods, see Payment Methods

In this guide


1. The CMS Manager

Under CMS → CMS Manager, you’ll find the shop’s content pages and text modules: legal notices, custom pages, footer, and cookie notice. The list does not display the payment method descriptions; you can access them in the payment method settings screen.

1

Open

In the backend, click on CMS → CMS Manager. The list displays the ID, name, status, creation date, and last modification date.

2

Search

The search field finds entries by ID, name, content, or title—for example, “Terms and Conditions” or “footer.”

3

Edit and Save

Select “Edit” from the action menu for the row, then change the text in the language tab. “Update” saves the changes and keeps you on the screen; “Save and Close” takes you back to the list. The change is immediately visible in the store; if you still see the old version, refresh the page in your browser.

The action menu also includes “Copy” (creates a disabled copy with the suffix “(Copy)”), “Delete” (only for your own pages), and “Open CMS Page in the Store” (for pages with their own URL).

CMS Manager sorted by ID: Privacy Policy, Legal Notice, Shipping and Payment, and other included pages with a grayed-out status toggle; $cms_footer and $cms_footer_navi with an active toggle; After a cut, the “About Us” page (ID 17501) with the action menu open, showing “Copy,” “Delete,” and “Open CMS Page in Store”

Pre-installed pages have a locked status toggle; you can unlock footer modules and custom pages starting with ID 1000; “Delete” is only available for custom pages. Click to enlarge.

Is the status switch grayed out?

Pre-installed pages and modules with IDs from 2 to 999 are permanently integrated. Their status toggle is locked, and they cannot be deleted. Exceptions are the footer modules $cms_footer, $cms_footer_navi, and $cms_footer_middle, as well as the SEO text for the homepage $cms_seo_startseite. Custom pages are assigned an ID starting at 1000 and can be freely enabled or disabled. To hide a pre-installed module, clear its content; use the “Source Code” option in the editor to verify that nothing remains. Leave the cookie notice filled in.

Which module goes where?

Under Settings → Design → General, the “Customer View Edit Mode” tab opens your store. Next to each block, you’ll see a red button labeled something like “[CMS Page: $cms_footer],” which takes you directly to the corresponding entry in the CMS Manager. Click the “X” next to “Edit Mode” in the lower-left corner to exit this view.


2. Create and link your own page

Create a custom page such as “About Us” or “Size Chart” in the CMS Manager and then link to it in the footer, in the header, or as a tab on the product page.

  1. In the CMS Manager, open the “Insert” tab. “Status” and “Shop Content Page (can be accessed and linked to in the shop)” are already selected.
  2. In the default language tab, fill in “Name of the CMS Page” (heading and link text) and “Content of the CMS Page.” If either is missing, the store will display the message “Key or content in default language (…) not filled in!”
  3. If necessary, enter the “SEO Name” (the readable part of the URL) and the meta tags. If the SEO Name is left blank, the store will generate it from the page name.
  4. Click “Insert” to save, then check it by clicking “View in the Shop.”

Link in the Footer

The link list in the footer is the module $cms_footer_navi. Open it, place the cursor on a new line, and in the editor’s link dialog, select your page from the drop-down list under “CMS Links.” The store converts the link store-cms.php?cID=… into the descriptive address in the respective language. To remove a link, delete its line.

Link in the Header

“Link CMS Page to Header Navigation” places the page after the header categories. If there are multiple such pages, the “Priority/Sort Order” field in the left-hand drop-down menu under “Information” determines their order, with the lower number appearing first.

Tab on the product page

“Enable as a tab on the product page (will then be displayed on every product page)” displays the content as an additional tab on every product page, such as for care instructions. “Tab expanded on product page” opens it immediately.

Design

The editor bar offers text color, alignment, tables, images, and links. In the link dialog, use “Class” to turn a link into a button, such as “Button Primary.” Enter links to other domains using the full address, i.e., https://; the store leaves this unchanged. Insert your own HTML via “Source Code.” The editor may remove elements it doesn’t recognize when you save.

You can build pages from modules with columns, tiles, and images using the xoContentEditor: If you have a license, the “Content (xoContentEditor)” button appears above the content. It’s best to create posts with dates and topics—such as a blog—as news items.


3. Understanding the Fields

At the top are the buttons; below them, for each language, is a tab with Name, Address, Meta Tags, and Content. For pre-installed pages, some fields are missing, and the “Name” field is fixed.

FieldMeaning
StatusOn: The page or module appears in the store. Can be toggled for custom pages, footer modules, and the homepage’s SEO text; see the Status toggle.
Shop Content Page (can be accessed and linked to within the shop)On: The page has its own URL. Off: Module without its own page. Visible only on custom pages; next to it is the “View in the store” button.
Activate as a tab on the product page / Tab expanded on the product pageContent as a tab on every product page; opens immediately if desired. Only for custom pages.
Include in XML sitemaps for search enginesIncludes the page in the sitemap.
Link CMS page in header navigationLink in the header, after the categories.
robots meta tagindex,follow, noindex,follow or noindex,nofollow: whether search engines should index the page and follow the links.
Priority/sort order in the left-hand drop-down menu under “Information”Order of pages in the header; lower numbers appear first. The default templates do not display a separate “Information” menu.
Use keywords for quick search; priority in the tag cloudCurrently has no effect in the store.
SEO HistoryRedirects from the site’s old addresses, with deletion date.
Tabs: DE, EN …One tab per language that has “Admin Status” under Settings → Languages / Currencies → Languages.
CMS page nameHeading and link text. For modules, the name (e.g., $cms_footer) by which the shop identifies them.
SEO NameThe human-readable part of the URL, such as ueber-uns.
Meta Tags - Title / - Description / - Keywords (comma-separated)Title and description in search engine results; keywords as meta information for the page.
CMS Page TeaserShort text. You can enable or disable this field under Settings → Design → General → Enable short description for categories and CMS pages as well.
CMS Page ContentThe text in the editor. With a license for the xoContentEditor, you can switch to building blocks by selecting “Content (xoContentEditor).”
Edit screen for the "About Us" page: Status switch, store content page with a "View in Store" button, tab for the product page, XML sitemap, quick search, and header navigation, robots meta tag index,follow, tag cloud, priority, SEO history, CMS slider, and below that the language tabs DE and EN with name, SEO name “about-us,” and meta tags

At the top are the controls for the entire page; below that, for each language, there is a tab with Name, SEO Name, and Meta Tags. Click to enlarge.

Changed the URL? If you change the SEO name, the store automatically sets up a redirect from the old URL to the new one. This redirect is valid for one year by default. Under “SEO History,” you can view the entries and change the deletion date if needed.

4. Maintain Legal Texts

The required pages are created in every store. Open them in the CMS Manager and replace the sample text with your own, reviewed text in each language tab.

Mandatory InformationName in the CMS Manager
Legal Notice“Legal Notice”
Privacy Policy“Privacy Policy”
Terms and Conditions“Terms and Conditions”
Shipping and Payment Terms“Delivery and Payment” (linked in the footer as “Shipping Costs”)
Right of Withdrawal“Right of Withdrawal”
Sample Cancellation Form$cms_withdrawal
Information on Battery Disposal$cms_battery_notice
Authenticity of Customer Reviews“Information on the Authenticity of Customer Reviews”

The store uses these pages to generate the PDF attachments for the order confirmation; see Attachments. In the sample cancellation form, {STORE_NAME_ADDRESS} automatically populates your address based on the default settings.

You can link a provider’s legal texts under Settings → Interfaces → Legal Portals; see Getting Started. Pages that are updated via the Händlerbund interface cannot be saved in the CMS Manager. Regarding the EU withdrawal button and personalized goods: Withdrawal Button.

Legal compliance: Legal notices, terms and conditions, privacy policies, and cancellation policies are mandatory and prone to errors. Use verified templates and, if in doubt, have your texts reviewed by a legal professional. XONIC provides technical maintenance, not legal content.

5. Explaining the “$cms_” modules

Entries with names such as $cms_footer are text modules: short text snippets that the store displays in a fixed location. The name serves as the identifier that allows the store to locate the module. You edit it just like any other page.

General Modules

ModuleWhere it appears
$cms_footerText at the bottom of the footer; comes standard with the copyright line “© 201x Your Company”
$cms_footer_naviList of links in the footer (right of withdrawal, shipping costs, privacy policy, terms and conditions, legal notice, contact …)
$cms_footer_middlemiddle section of the footer
$cms_startseite, $cms_seo_startseiteText on the homepage and additional SEO text there
$cms_cookie_informationText in the cookie notice
$cms_registration_infoNotice on the registration form
$cms_login_benefitsBenefits of a customer account on the sign-up page
$cms_kunden_registrierung_erfolgreichText after registration
$cms_checkout_erfolgreichThank-you message after completing an order
$cms_adviceNotification window for visitors who are not logged in, such as during a vacation. It appears only if “Show notification box on homepage ” is enabled under Settings → General → Maintenance → Notification Box, and appears on every visit until the visitor clicks “I’ve read this.”
$cms_newsletter_adviceNewsletter pop-up; see Newsletter
$cms_withdrawalSample withdrawal form as a PDF attachment
$cms_partner_agbTerms and Conditions of the Partner Program
$cms_sepa_mandateText of the SEPA Direct Debit Mandate
$cms_kunde_gesperrt, $cms_login_gesperrtNotes on blocked customer accounts
Shop footer in edit mode: red buttons [CMS page: $cms_footer_navi] above the list of links including “About Us,” [CMS page: $cms_footer_middle] and [CMS page: $cms_footer] before the copyright line, next to which is the “Edit Mode” label with a close icon

In edit mode, each red button takes you directly to the module in the CMS Manager; the X in the “Edit Mode” notice closes the view. Click to enlarge.

Texts Related to Payment Methods

Most payment methods have three modules following the same pattern. They are not listed in the CMS Manager: They are located in the payment method screen under Settings → Checkout → Payment Methods (“Edit”) below the fields, with one tab per language; alternatively, via the “CMS” action in the list—see Payment Methods.

…_description

Description displayed when selecting the payment method during the checkout process.

…_checkout

Text describing the selected payment method in the order summary before purchase.

…_email_footer

Footer text in the order confirmation; includes your bank account information for prepayment.

Payment MethodModules
Prepayment$cms_vorkasse_description, $cms_vorkasse_checkout, $cms_vorkasse_email_footer
Invoice$cms_rechnung_description, $cms_rechnung_checkout, $cms_rechnung_email_footer
Cash on Delivery$cms_nachnahme_description, $cms_nachnahme_checkout, $cms_nachnahme_email_footer
Cash / Pickup$cms_barzahlung_description, $cms_barzahlung_checkout, $cms_barzahlung_email_footer
PayPal, Stripe, Klarna, Amazon Pay …following the same pattern, for example $cms_stripe_description
Note: If a module ends with _description, the customer sees it during checkout. If it ends with _email_footer, it appears in the order confirmation.

A block name containing “$” may only be active once; otherwise, the store will no longer display any text for that name. The CMS Manager will therefore refuse to save or activate it if another active page has the same name. from 4.9.50

This guide does not cover the homepage, sliders, banners, or boxes.


6. Email Templates (Email Manager)

You can manage all shop emails under CMS → Emails & Marketing / Automations in the “Emails” tab: order confirmation, status emails, registration, password, inquiries, and more.

For each template, the list shows the technical name (e.g., $mail_order_confirmation) and the internal name (e.g., “Order Confirmation”). The search field finds templates by ID or name. The action menu includes “Edit,” “Preview,” and “Send Test Email.”

Mail Manager, “Mails” tab with “Order” search: Order confirmation, order status change, order without minimum age requirement, and order confirmation (Contract Management) with technical and internal names; Action menu for the order confirmation opened with “Preview” and “Send Test Email”

The search finds templates by ID and name; in addition to “Edit,” the action menu includes “Preview” and “Send Test Email.” Click to enlarge.

Internal NameWhen it is sent
"Order Confirmation"after every order; the copy sent to you has its own subject line
“Order Status Change”When the status changes and “Notify customer” is selected; see status emails
“Confirmation upon Customer Registration”Welcome email after registration
“Password Request”Link to a new password if the customer has forgotten their password
“Contact Request,” “Product Inquiry,” “Price Inquiry,” “Shopping Cart Inquiry”Inquiries from the store
“Open Shopping Cart”Reminder from orders → Shopping cart overview
“Quote Email,” “Credit Note”Offer to the customer, credit to the customer’s account
“Cancellation Confirmation”Confirmation of receipt of a cancellation from 4.10

Emails regarding newsletters, product notifications, and tickets are explained in the guides “Newsletters,” “Product Notifications,” and “Tickets & Tasks.”

Editing a Template

Fields

  • “Email Name” is fixed; the store uses this to identify the template.
  • “Email Subject” and, if a copy is sent to you, “Email Copy Subject.”
  • “Email Content” varies by language tab. You edit the order confirmation, header, and footer as HTML source code; the remaining templates are edited in the editor.
  • “Show Placeholders” lists all placeholders in this template with example values.

Preview and Test Email

“Preview” displays emails for orders using the data from the most recent order. To select a different order, use “Preview with Order Number” and “Load Preview.” “Send Test Email” sends the email to the “Test Email Address for Newsletters & Templates” specified in the email options. If this field is empty, the email is sent to the “Shop Owner’s Email Address.” The language used is the one you’re working in within the backend.

Header, Footer, Logo, and Colors

Each email consists of the header (template $mail_header with logo and store name), the actual template, and the footer ($mail_footer with address and links to the store, legal notice, and right of withdrawal). The header and footer apply to all emails.

  • Address, Phone, Fax: The footer inserts the information from Settings → General → Basic Settings → Store Address and Contact Information via {STORE_NAME_ADDRESS}. Enter the business hours there in the “Free Field” and include the shortcode <adds> in the “Standard Output Format.” The same information appears in the store’s footer under “Contact.”
  • Logo: By default, the “Shop Logo” from the Basic Settings is used. To select a different logo specifically for emails, go to the Email Options under “Alternative Email Logo” and set the width using “Email Logo – Maximum Width.”
  • Colors: Color blocks are generated using placeholders such as {DESIGN_SUCCESS}, which draw from your shop’s design colors. To use a different color in a specific template, replace the placeholder there with a color value such as #1a1a1a. The shop colors themselves are located in an area visible only to XONIC Support; please contact us.
  • Signature: The greeting and contact information for shop emails are included in the respective template and in the footer. You can create a personal signature for ticket replies and for Tools → Send Email under Settings → Administrators → My Account → Signature (Ticket System).

You can create your own templates in the “Create New Email” tab. The shop sends them via marketing events using the “Send Email” action; see Marketing & Automation. XONIC Premium: Marketing / Automatisierungen & Künstliche Intelligenz


7. Order Confirmation and Bank Information

The most common real-world example: The order confirmation for prepayment contains an incorrect recipient or outdated bank details. Here’s how to correct this in the appropriate place.

The order confirmation consists of:

  • the text from the “Order Confirmation”template in the Mail Manager, including addresses, items, and totals via placeholders;
  • the footer text for the selected payment method: Where it says {cms:cms_payment_email_footer}, the store inserts the block …_email_footer for that payment method; for prepayment, it inserts $cms_vorkasse_email_footer.

The bank details for the prepayment email are therefore contained in the module. By default, it includes sample text (“Payable to … Company … Account Holder …”). The “Shop Bank Account …” fields in the basic settings appear there only if you insert the placeholders. They are also used for invoices (payment QR code, e-invoice) and cash-on-delivery payments via DHL.

The recipient’s name must match the IBAN: When processing transfers, banks verify the recipient’s name against the IBAN and issue a warning if there is a discrepancy. Enter the account holder’s name exactly as it appears on the bank statement—for example, the individual’s name rather than the company name.

Step by Step

1

Check the default settings

Under Settings → General → Basic Settings, enter the correct values for “Shop Bank Account Account Holder,” “Shop Bank Account IBAN,” “Shop Bank Account BIC,” and “Shop Bank Account Bank Name.” These are essential for invoices and QR codes.

2

Customize the prepayment text

Under Settings → Checkout → Payment Methods, open the “Prepayment” option by clicking “Edit.” Below the fields, you’ll find the text for the order confirmation ($cms_vorkasse_email_footer). Replace the sample text with your bank details in each language tab. Also check $cms_vorkasse_description and $cms_vorkasse_checkout, as well as $cms_rechnung_email_footer for purchase on account.

3

Enter Directly or Use Placeholders

You can either enter the bank details directly into the text or use placeholders that the shop fills in based on the default settings:

Empfänger: {SHOP_BANK_OWNER}
IBAN: {SHOP_BANK_IBAN}
BIC: {SHOP_BANK_BIC}
Bank: {SHOP_BANK_BANKNAME}

In the preview and the test email from the Mail Manager, placeholders from the footer still appear as plain text. Therefore, verify the result with a test order.

4

Email Text (if necessary)

If the wrong name appears in the body of the email itself, go to CMS → Emails & Marketing / Automations and open the “Order Confirmation.” It is edited as HTML source code; change only the text and leave the placeholders as they are.

5

Test Order

Place an order using prepayment and your own address, then check the recipient, IBAN, and BIC in the email.

Preview of the order confirmation for Order 17501, featuring the "Preview with Order Number" field and the "Load Preview" button; email header with logo and thank-you message; after a line break, the totals and the prepaid footer with account holder, IBAN, BIC, and bank

The bank details below the totals come from the $cms_vorkasse_email_footer module for the prepayment payment method. Click to enlarge.

Why two fields? The email displays exactly the text that appears in the payment method module. The default settings only apply there via the placeholders, whereas they always apply to “On Invoice” and “QR Code.” If your bank changes, be sure to check both.

8. Status Emails and Shipping Confirmation

There is no separate “Shipping Confirmation” template. Every status email, including the shipping confirmation, uses the “Order Status Change” template. The text for each specific occasion is provided by your comment or a text module.

Notify Customers

In the order, under the “Edit” tab, in the “Order Status” sub-tab, select the new “Status” and enable “Notify Customer.” If you select “Attach Comments,” your comment will appear in the email at {notify_comments}. Attach documents using “Attach Invoice,” “Attach Terms and Conditions,” “Attach Right of Withdrawal,” and other buttons; attach a separate PDF file via “Custom File.” Click “Update” at the bottom to send the email. After changing the settings, a “Save” button will appear; this allows the store to save this combination as the default.

Text Blocks

Your text blocks appear as buttons in the order form below the comment field. One click sets the comment, status, and radio buttons all at once. Create and edit them using the “Text Blocks” button directly below the comment field: “Button Text,” “Status,” “Options,” and “Content” for each language. Use “Text Blocks Groups” to organize multiple blocks. The system comes with examples such as “Payment Received” with sample text.

Bestellung 17501, Reiter „Bestellstatus“ nach Klick auf den Textbaustein „Versandbestätigung“: Status „✅ Versendet“, „Kunde benachrichtigen“ und „Kommentare anhängen“ auf ja, im Kommentar „Ihre Sendungsnummer: {orders:ship_track_nr}“, Knopf „Speichern“ unter den Schaltern, unten „Aktualisieren“

A text block sets the comment, status, and toggle; “ {orders:ship_track_nr} ” retrieves the tracking number from the “Shipping” tab. Click to enlarge.

Shipping Number in the Email

  1. First, enter the tracking number: in the order under the “Shipping” tab, in the “Carrier Tracking Number(s)” field; see Shipping & Delivery. With a shipping label integration, the store enters it automatically.
  2. In the comment or text block, use {orders:ship_track_nr} for the number and {orders:ship_track_link} for the tracking link, for example, “Your tracking number: {orders:ship_track_nr}.”
  3. Select the shipping status (default “✅ Shipped”), enable “Notify Customer” and “Add Comments,” then submit by clicking “Update.” The store replaces the placeholders as soon as you save; if the number is missing at that time, the field remains blank.

Invoice Email Addresses

If an “Email Address (Invoice)” is entered in the customer account, this address will only receive the status email if an invoice is attached: invoice, QR invoice, invoice correction, or ZUGFeRD invoice. Each of these addresses receives its own email. Therefore, when an invoice is sent, two emails are sent out: one to the primary address and one to the billing address.

Copy, Language, Body Text

The store sends a copy of each status email to the “Order Status Update Copy via Email To” address specified in the email options. The email is sent in the language of the order. You can change the salutation, greeting, and the list of items below them in the “Order Status Change” template. More on status changes: Orders.


9. Sender, Copies, and Recipients

You can configure who sends emails and who receives a copy under Settings → Interfaces → Email Marketing / CRM → Email Options.

FieldEx WorksEffect
Send EmailstoMain Switch. Off: The store no longer sends any emails.
Shop owner's email addressSample addressSender of shop emails; customer replies are sent here. This address is also used for other forms. The sender name is “Shop Owner’s Name” from the basic settings.
Shop owner’s email address (SPF)blankOnly if a free email address is used as the shop owner’s address: Emails will then be sent with this address as the sender, and replies will be forwarded to the shop owner’s address.
The sender is always the shop operatoroffEmails that the shop sends on behalf of the customer—such as the order confirmation sent to you—are sent with your address as the sender. “Replies” are still forwarded to the customer. This is helpful if your mail server rejects such emails.
Order confirmation via email toSample AddressA copy of every order confirmation from the store, including all attachments and the “Subject of the Email Copy.” Multiple addresses are possible. The customer is listed as the sender.
Order status update copy via email toblankCopy of every status email.
Cancellation notification emailblankRecipient of the cancellation notification. Blank: the operator’s email address.
Alternative email address (product inquiry and shopping cart inquiry), alternative email address (price quote)blankCustom recipients for these requests. Blank: the operator’s email address.
Test email address for newsletters & templatesblankRecipients of test emails; multiple addresses separated by commas.
Email options, excerpt showing "From" and "CC" fields: Send emails true, Email mode phpmail, Sender is always the store owner false, Shop owner’s email address shop@example.com, (SPF) blank, test email address blank, order copy and order status update copy to bestellungen@example.com, cancellation notification and alternate addresses blank

Excerpt from the email options showing the sender, test address, and recipients of the copies; omitted lines are marked with dots. Click to enlarge.

If the sample address mail@ihre_adresse_xxl.de is still listed under “Send order copy via email to,” your copies will go nowhere: Replace it with your own address. The store will notify you of every new customer account via Settings → Checkout → Customer Details → Notification upon customer registration (enabled by default).


10. PDF Attachments to the Order Confirmation

You can individually enable or disable which documents the store attaches to the order confirmation in the email options. The store generates the legal texts from the pages in the CMS Manager.

SwitchDefaultContent
Order Confirmation Email Attachment (PDF Terms and Conditions)OffPage “Terms and Conditions”
Email attachment: Order confirmation (PDF—Right of Withdrawal)toPage “Right of Withdrawal”
Email attachment: Sample Right of Withdrawal Form (PDF)toModule $cms_withdrawal
Email attachment: Order confirmation (PDF privacy policy)to"Privacy Policy" page
Email attachment: Order confirmation (PDF: EU Warranty Notice)toOfficial EU Notice, only for orders containing goods from 4.9.0
… (PDF order confirmation), … (PDF invoice), … (delivery note)fromOrder documents
… (PDF QR invoice)fromonly for prepayment and invoice, and if “QR Invoice IBAN” is filled in
… (electronic invoice (XRechnung)), … (electronic invoice (ZUGFeRD))fromE-invoice
… (donation receipt)fromonly if a voluntary contribution is included in the order

Note regarding attachments

If documents are attached, the shop inserts a note at {PDF_ADVISE}, such as “Our Terms and Conditions and the right of withdrawal, which you can find in the attachment, apply,” along with a sentence on how to open PDF files. Remove: Delete {PDF_ADVISE} from the “Order Confirmation” template (and from “Order Status Change”). Modify or translate: see Languages.

Custom PDF

Do not attach your own file to the order confirmation. To attach a file to a status email, use the “Custom File” option in the order (recommended: PDF up to 2 MB). This can be done automatically after an order via a marketing event with the action “Send Email” and the “Attachment” field. XONIC Premium: Marketing / Automatisierungen & Künstliche Intelligenz

Other Emails

The store also attaches the privacy policy to emails regarding registration, tickets, and contracts. This cannot be disabled in the email options; please contact XONIC Support for assistance. In the order process, you can attach receipts using the buttons in the status email; see Status Emails.

Before disabling this feature: Customers must receive a contract confirmation containing the contract terms on a durable medium after placing an order; this includes the cancellation policy and the model cancellation form (Section 312f(2) of the German Civil Code (BGB)). Only disable these attachments if you are providing the texts in this manner through other means. By default, the store does not attach the Terms and Conditions: Verify that your customers receive them in text form through other means, and if in doubt, have this reviewed by legal counsel.

11. Emails not arriving?

First check the settings in the online store, then check the sender. In most cases, the issue is due to the SPF record of the sender’s domain or the use of a free email address as the sender.

  1. “Send Emails” in the email options is turned on.
  2. The recipient address in the customer account is spelled correctly. The store does not send anything to addresses containing “noreply.”
  3. “Email Spam Protection: Blacklist” in the email options does not include the address, not even via * as a placeholder.
  4. Recipient’sspam folder.
  5. Sender and SPF—see below.

SPF: Is your store authorized to send emails on behalf of your domain?

Receiving mail servers check the SPF record of the sender’s domain to verify whether the sending server is authorized to do so. The sender’s domain is the domain of the “shop operator’s email address.”

  • “Email Mode” = phpmail (default): The server on which your store runs sends the email. It must be listed in your domain’s SPF record.
  • “Email Mode” = smtp: Your email provider sends the emails. In this case, their SPF record applies, and you should use an address from that mailbox as the shop operator’s address.
  • Free email address as the operator address: Its SPF will not allow your shop server. Under “Shop Operator’s Email Address (SPF),” enter an address from your own domain.

You set the SPF record in your domain’s DNS through the provider that manages the domain. If your store is hosted by XONIC, their support team will help you with the correct entry. As a rule, a correct SPF record is sufficient. DKIM is an optional addition: The shop will only sign in SMTP mode if “Email DKIM Signature: Domain,” “Email DKIM Signature: Selector,” and “Email DKIM Signature: PrivateKey” are filled in (if the key is encrypted, also include “Email DKIM Signature: Passphrase”). You then enter the public key as a TXT record at <Selektor>._domainkey.<Ihre Domain>.

Switch to SMTP

In the email options, set “Email Mode” to smtp and enter the “SMTP Host,” “SMTP Port” (factory default 465), “SMTP Security Mode” (ssl or tls), “SMTP Username,” and “SMTP Password” for your email provider. Then send a test email from the Mail Manager. There is no setting to limit the number of emails sent.

Copy in the Sent folder

By entering “IMAP: Host,” “IMAP: Username,” “IMAP: Password,” and “IMAP: Sent Items Folder Name,” the store will place a copy of every sent email in this folder of your mailbox. This applies in both PHP Mail and SMTP modes. Exceptions include bulk emails such as newsletters and automated messages, as well as emails containing login credentials. from 4.9.133

Welcome email bounces back as undeliverable

Correct the email address in the customer’s account. If the email still does not arrive, use the “Generate Password Link” option in the drop-down menu on the customer’s profile page to create a link that allows the customer to set their password, and forward it to them via another method. The store does not send anything in this case. “Send welcome message including password,” on the other hand, sets a new password and sends it via email.


12. Placeholder Glossary

The store replaces placeholders in curly braces with actual values when sending emails, including in the subject line. To see which placeholders a template contains, select “Show Placeholders” in the Mail Manager.

PlaceholderIs replaced by
{STORE_NAME}“Shop Name” from the basic settings
{STORE_NAME_ADDRESS}“Shop address and contact information”; for in-store pickup, the store’s address
{STORE_OWNER_EMAIL_ADDRESS}The shop operator’s email address; if picking up at a store, the store’s address
{SHOP_BANK_OWNER}, {SHOP_BANK_IBAN}, {SHOP_BANK_BIC}, {SHOP_BANK_BANKNAME}"Store Bank Account..." fields from the basic settings
{link:shop}, {link:imprint}, {link:data_protection}, {link:conditions}, {link:withdrawal}, {link:shipping_and_payment}Store address, Legal Notice, Privacy Policy, Terms and Conditions, Right of Withdrawal, Shipping and Payment
{SALUTATION}Formal salutation, such as “Dear Ms. Samplewoman”; if gender is not specified, use “Dear Sir or Madam”
{SALUTATION_INFORMAL}“Hello” followed by the first name, such as “Hello Erika”
{orders:orders_id}Order number
{orders:date_purchased_formatted}Order date written out in full
{orders:customers_firstname}, {orders:customers_lastname}Customer’s first and last name
{orders:customers_email_address}Customer’s email address
{orders:billing_address}, {orders:delivery_address}Billing and shipping address
{orders:payment_method}, {orders_total:shipping_method}Payment method and shipping method
{orders_products:products}List of items with images and totals
{orders_total:total}Total amount
{orders:ship_track_nr}, {orders:ship_track_link}Shipping number and link to track shipment
{orders:orders_invoice_id}Invoice number
{orders:payment_left}, {orders:payment_term_date}Outstanding amount and payment terms from 4.9.17
{cms:cms_payment_email_footer}Footer text for the selected payment method; for prepayment $cms_vorkasse_email_footer
{PDF_ADVISE}Note regarding the PDF attachments
Please note: Enter placeholders exactly as specified, with curly braces. A typo will cause the placeholder to appear as text in the email. Placeholders with orders: only work in emails related to an order; they do not work in the welcome email, for example.

13. Texts in Multiple Languages

Maintain pages, modules, and email templates in separate tabs for each language. Edit short, fixed text that does not appear in any template in the language files.

Tabs per Language

There is one tab per language that has “Admin Status” under Settings → Languages / Currencies → Languages. If you leave a tab blank, the store will copy the text from the default language into it when you save. Subsequent changes to the default language will not affect this copy; in that case, you’ll need to update both tabs.

Translating with DeepL

If a key is entered under Settings → Interfaces → Translation Tools → DeepL → DeepL Authkey, a “DeepL” button appears next to the fields, which translates the text from the default language. Check placeholders and legal texts afterward.

Fixed Texts: xoLanguage

Under Tools → xoLanguage, you can edit individual texts for each language: Select the “Frontend” framework, choose a section, and enter the new text as a “custom value.” The store saves your values separately from the pre-installed texts.

Frequently Searched Texts in xoLanguage

Text in the email“default” section, key
“Or check your order details” (link to customer account)EMAIL_TEXT_LINK_TO_ORDER_INTRO, EMAIL_TEXT_LINK_TO_ORDER
“Delivery option: Full delivery” / “Partial delivery”TXT_DELIVERYOPTIONS, TXT_COMPLETEDELIVERY, TXT_PARTIALDELIVERY
“Our Terms and Conditions and the right to cancel apply…”TEXT_EMAIL_PDF_CONDITIONS_REORDER, TEXT_EMAIL_PDF_CONDITIONS, TEXT_EMAIL_PDF_REORDER
Text for opening PDF filesPDF_LINK_INFORMATION (for status emails in the “Backend” framework)
“Dear Ms. …,” “Hello …”SALUTATION_FORMAL, SALUTATION_FORMAL_FEMALE, SALUTATION_FORMAL_MALE, SALUTATION_INFORMAL

Order and status emails are sent in the language of the order. You can also change the name of a payment method, such as “Prepayment,” in xoLanguage; see Payment Methods.


Frequently Asked Questions

Where do I change the bank account information in the order confirmation for prepayment?

In the module $cms_vorkasse_email_footer, for each language. Open it under Settings → Checkout → Payment Methods for Prepayment by clicking “Edit” below the fields. The “Shop Bank Account …” fields from the basic settings appear there only as placeholders. All steps are under Order Confirmation and Bank Details.

How do I get a copy of every order, and why isn’t it arriving?

Enter your address in the email options under “Send order copy via email to”; a sample address is provided by default. The copy is sent with the customer listed as the sender. If your mail server rejects it for this reason or if it ends up in spam, enable “Sender is always the shop operator.”

Where can I find the text for the status emails and the shipping confirmation?

The “Order Status Change” template in the Mail Manager provides the framework; the text can be based on your comment in the order or a text block. See Status Emails.

How do I send the tracking number to the customer?

First, enter the number in the “Shipping” tab, then insert {orders:ship_track_nr} and {orders:ship_track_link} into the comment or text block, and send the status by clicking “Update” after selecting “Notify customer” and “Attach comments.”

Why doesn’t the billing email address receive a status email, and why are two emails sent when the invoice is sent?

The “Email Address (Invoice)” in the customer’s account only receives the status email if an invoice is attached—and it is sent as a separate email. That’s why, when an invoice is sent, the customer receives one email at their primary address and one at their billing address.

How do I attach the Terms and Conditions and Cancellation Policy, and how do I remove attachments?

Use the “Email Attachment…” buttons in the email options. The Terms and Conditions are disabled by default; the Right of Withdrawal, Sample Withdrawal Form, and Privacy Policy are enabled. Before disabling any of these, read the note under “Attachments.”

How do I remove or translate the note about the PDF attachments?

To remove: Delete “ {PDF_ADVISE} ” from the “Order Confirmation” template. To change or translate: Go to Tools → xoLanguage, select the “Frontend” framework, then the “default” section, and edit the keys in the table under “Languages.”

Can I see which emails a customer has received?

In the order history, a “Customer Notified” icon appears next to each status email, along with the attached documents. The store places a copy of each email in your Sent folder if the IMAP fields in the email options are filled out; see Sent Folder. With “Create Order Ticket Automatically” and “Order Ticket: Attach Order Confirmation as .eml” under Settings → General → Tickets & Tasks, the order confirmation is also attached to the order ticket.

Why can’t I change a page’s status toggle?

Pre-installed pages and blocks (IDs 2 through 999) have a locked toggle, except for the footer blocks and the SEO text on the home page. To hide a module, clear its content; to hide a page, remove its link from the footer. You can enable your own pages.

Where do I change the address, phone number, fax number, or business hours in the footer of emails?

Go to Settings → General → Basic Settings → Store Address and Contact Information. Enter the business hours in the “Free Field” and include <adds> in the “Default Output Format.” If business hours appear in the footer of a payment method, change them in the module …_email_footer.

Where do I change the year or the copyright line in the footer?

In the module $cms_footer, which comes pre-configured with the example “© 201x Your Company.”

Where can I find the partner terms and conditions?

In the CMS Manager, in the “ $cms_partner_agb ” module.

How do I disable the notification window for visitors, for example after a vacation?

Under Settings → General → Maintenance, turn off “Show notification box on the homepage.” You can change the text in the “ $cms_advice ” module.

Where do I change the text of the withdrawal confirmation?

Up to XONIC 4.9, go to Tools → xoLanguage, Framework “Frontend,” section “customer-order-withdrawal,” key starting with TEXT_WITHDRAWAL_EMAIL_. In future versions, it will be a separate template called “Withdrawal Confirmation” in the Mail Manager. from 4.10

How do I address customers by their first names, for example in the shopping cart reminder?

Use {SALUTATION_INFORMAL} (“Hello Erika”). {SALUTATION} results in “Dear Ms. Sample,” if the gender is specified in the account and “Gender” is enabled under Settings → Checkout → Customer Details; otherwise, it defaults to “Dear Sir or Madam.”

Can the order confirmation display an image of the selected color?

Yes, automatically: If a specific image is assigned to the selected attribute value for the item, the item list in the email will display that image instead of the main image.

How do I insert an automatically generated coupon code or a link to the item from the backend into an email?

Via marketing events: After the “Create Coupon” trigger, {marketing_created_coupon_code} inserts the code into the email sent by the “Send Email” trigger. For product-related events, {admin_product_link} links to the product in the backend. Learn more under Marketing & Automation. XONIC Premium: Marketing / Automatisierungen & Künstliche Intelligenz

Can I throttle email sending via SMTP?

No, there is no such setting. For large volumes, such as newsletters, use a service provider; see Newsletters.

Related guides

Stuck?

We can help with email templates, sender settings, SPF records, and setting up your legal notices.

Contact Support Now