Welcome to our FAQ page! Here you’ll find answers to the most common questions about our products and services. This page is designed to provide you with quick and helpful information to support you in using our platform. Whether for setup, troubleshooting, or tips for optimal use, our FAQs offer comprehensive support.
The old reporting module is technically outdated and can no longer handle the high data demands, often leading to system slowdowns. Additionally, it is no longer actively maintained. Part of the old module is being replaced by a new API that is better suited to your needs. For the new, powerful reporting module (based on entirely new infrastructure), we charge an additional fee to ensure its long-term operation.
Along with new infrastructure and active maintenance, the module provides all customers with the ability to create modern no-code reports, use a full SQL editor, and access reliable, well-designed report templates.
The old legacy reporting module will remain unchanged until the end of 2024. Starting in January 2025, we will introduce initial restrictions to gradually phase down traffic on this module (new reports cannot be created, and existing reports will be read-only). Currently, the plan is to sunset the module by the end of June 2025. We recommend familiarizing yourself with the new reporting module (or alternatively the API) early on to avoid unnecessary pressure in Q2 2025.
The entire infrastructure used for the new reporting module is outside your Xentral instance. Here, all data is consolidated and can be efficiently retrieved without putting a load on your own database. Therefore, data must be regularly synchronized between your database and our analytics platform. This usually happens once a day, between 10 p.m. and 4 a.m. Orders or other data you import during the day will therefore only be visible the following day.
We synchronize the data nightly between your Xentral database and our analytics platform, which powers the entire new Xentral reporting module. See "Why don’t the orders I just imported into Xentral appear on the dashboards? Why are they not showing up in the reports?" This means, for example, that on the 1st of each month, data for the current month is usually not yet available. If you want to compare the current month’s sales with the previous month, this is usually only possible the next day.
For near-real-time synchronization, we offer the Unlimited Plan. We will assess your requirements for synchronization intervals (hourly to near-real-time), data volumes, and query complexity to determine the additional infrastructure costs. Please understand that we must pass these costs directly on to you.
If the rest of the metrics on the dashboard are current, it’s most likely because you haven’t entered the necessary data for this metric in Xentral or there is no data available for the selected period. Generally, the more data we have about your business, the more and better analyses we can offer you. For more information about individual metrics, hover over the question mark icon at the top right of the metric. The tooltips provide information about how we calculate the metric and what data we need for it.
If you’ve purchased our Premium Add-on, you’ll have access to many filter options. Try changing the time intervals; there may be no data for the selected period.
If you are a new customer, it’s essential to understand that we need to collect data over some time, especially for warehouse analysis, to display certain metrics.
To keep the complexity of the new data model low, we initially only provided certain tables (specifically, those necessary to recreate 98% of the 13,200 custom reports).
Additional tables and fields can be added upon customer request if needed for reporting (and not solely to cover functionality of the missing Xentral API endpoints).
Xentral typically stores the currency of an entry explicitly. When preparing your data for the new reporting module, we normalize everything to your system currency (by default, this is EUR). This reduces complexity when creating reports because, for example, in a revenue analysis, you can simply aggregate over all entries without having to convert each individually. If you want to know which currency we are using for you, query the "settings" table. If you want to convert specific monetary amounts into another currency, use the "exchange_rates" table in your query.
Exportierte Daten werden im Standardformat CSV bereitgestellt. In den Berichtseinstellungen lässt sich festlegen, welches Trennzeichen verwendet werden soll. Probleme beim CSV-Export und dem Import in Excel treten häufig auf, wenn das gewählte Trennzeichen auch innerhalb der Datenwerte vorkommt.
Ein Artikelname wie „Schraube, M3“ kann beispielsweise zu Formatierungsfehlern führen, wenn ein Komma (,) als Trennzeichen verwendet wird.
Zur Lösung des Problems kann entweder ein alternatives Trennzeichen gewählt oder die Datenwerte in der SQL-Abfrage bereinigt werden, z. B. mit der Funktion REPLACE.
Im neuen Berichtswesen werden Zahlen in den Ergebnistabellen standardmäßig ohne Tausendertrennzeichen und mit Punkt (.) als Dezimaltrennzeichen dargestellt.
Beispiele:
-
Eintausend wird als 1000.00 ausgegeben.
-
Zehntausendfünfhundert als 10500.00.
Felder mit dem Typ „numeric“ im Datenkatalog sind standardmäßig auf sechs Nachkommastellen gerundet (z. B. 123.456789).
Falls ein anderes Zahlenformat erforderlich ist – beispielsweise eine bestimmte Anzahl von Nachkommastellen, Tausendertrennzeichen oder ein Komma als Dezimaltrennzeichen – kann dies direkt im SQL-Ausdruck angepasst werden.
Beispiel für Redshift:
Soll das Feld net_price auf zwei Nachkommastellen gerundet und gleichzeitig mit Tausenderpunkten sowie Komma als Dezimaltrennzeichen ausgegeben werden, kann in Redshift folgender Ausdruck verwendet werden:
REPLACE(REPLACE(REPLACE(TO_CHAR(net_price, 'FM999G999G999D00'), ',', '#'), '.', ','), '#', '.')
Note
Bei dieser Formatierung darf der numerische Wert im Feld net_price maximal neun Stellen vor dem Komma enthalten.
Erklärung der Bestandteile:
-
TO_CHAR(...) formatiert den numerischen Wert
-
'FM' unterdrückt führende Leerzeichen
-
'G' steht für das Tausendertrennzeichen
-
'D' steht für das Dezimaltrennzeichen
-
REPLACE(..., '.', ',')
Geldbeträge werden im neuen Berichtswesen standardmäßig in Euro angezeigt. Möchtest du in eine andere Währung umrechnen, ist das Datum, an dem der Betrag erzeugt wurde, ausschlaggebend. Informationen zu den Umrechnungskursen der verschiedenen Währungen für beliebige Daten findest du in der exchange_rates Tabelle.
Beispiel: Umrechnung net_revenue von EUR in USD.
SELECT so.net_revenue AS "net_revenue in EUR", so.net_revenue / COALESCE(er.rate, 1) AS net_revenue_usd FROM sales_orders so LEFT JOIN exchange_rates er ON so.date = er.date AND er.start_currency = 'EUR' AND er.target_currency = 'USD'
Das alte Modul verwendete MySQL, um Berichte zu erstellen.
Im neuen Berichtswesen wird der SQL-Dialekt von Amazon Redshift verwendet, der wiederum eine leicht abgewandelte Form von PostgreSQL ist. Die wichtigsten Änderungen im Überblick:
-
Primärschlüssel-Benennung: Es gibt keine generischen id-Felder mehr. Der Primärschlüssel einer Tabelle heißt nun {tabellenname_im_singular}_id. Beispiel: invoice_id anstelle einfach id in der Tabelle invoices.
-
JOINS werden eindeutiger: Durch die geänderte Benennung der IDs sind JOINs nun meist symmetrisch aufgebaut:
FROM invoices AS i LEFT JOIN invoice_items AS ii ON i.invoice_id = ii.invoice_id
Es gibt jedoch wenige Ausnahmen von dieser Regel.
-
Frühestes Datum: Anstelle von '0000-00-00' im legacy Modul ist das frühestmögliche Datum nun '0001-01-01'.
-
Booleans: Boolean-Felder sind nun echte Booleans (TRUE/FALSE) und nicht mehr 0 oder 1. Beispiel: artikel.geloescht = 0 wird zu products.is_deleted = FALSE. Alle Boolean-Felder beginnen mit is_ oder has_.
-
GROUP BY Verhalten: Redshift folgt dem ANSI-SQL-Standard. Das bedeutet: Alle nicht-aggregierten Spalten müssen in der GROUP BY-Klausel enthalten sein. Die MySQL-Einstellungen im legacy Modul waren hier weniger streng, was zu inkonsistenten Ergebnissen führen konnte.
-
Groß-/Kleinschreibung: In MySQL ist die WHERE-Klausel standardmäßig case-insensitive. In Redshift hingegen müssen Filter exakt dem Wert im Datensatz entsprechen. Beispiel: WHERE groups.group_type = 'Gruppe' funktioniert nicht, wenn der Eintrag gruppe lautet.