Fragen zu Integrationen und Import
Hier steht, welche Dateien und Fremdsysteme Nemix ERP entgegennimmt und wie du Daten hineinbekommst. Die Wege liegen auf getrennten Seiten: der Migrations-Assistent unter /imports, der Modul-Autobau unter /imports/build-module, der E-Rechnungs-Import im Einkauf, der GAEB-Import ebenfalls im Einkauf und die beiden Integrations-Seiten /integrations und /settings/integrations. Keiner dieser Punkte steht im Desktop-Menü.
Welche Dateien du hochladen kannst
| Weg | Adresse | Formate | Grenzen |
|---|---|---|---|
| Migrations-Assistent | /imports | .csv, .xlsx, .xls, .xlsm | 10 MB, 50.000 Zeilen |
| Neues Modul aus Datei | /imports/build-module | .xlsx, .xls, .csv | 10 MB. Zur Analyse gehen nur die ersten 200 Zeilen an den Server |
| E-Rechnung | /einkauf/eingangsrechnungen/import | XRechnung (UBL und UN/CEFACT CII), ZUGFeRD-XML | 5 MB für reines XML |
| GAEB | /einkauf/gaeb-import | DA83, DA84, DA86 als XML-Text | Kein Datei-Upload, der Inhalt wird eingefügt |
Der Hinweistext im Assistenten nennt nur „Unterstützte Formate: .csv, .xlsx — Max. 10 MB". Die Endungen .xls und .xlsm gehen trotzdem durch.
Bei CSV erkennt das Programm Komma, Semikolon und Tabulator selbst aus der Kopfzeile. Als Kodierung erkennt es UTF-8, UTF-8 mit BOM und Windows-1252. Alles andere liest es als Windows-1252, Umlaute können dann falsch ankommen. Aus einer Excel-Datei wird immer das erste nicht leere Blatt gelesen. Eine Blattauswahl gibt es nicht. Leg die Daten also auf das erste Blatt.
Stammdaten aus CSV oder Excel importieren
- Ruf /imports direkt auf. Die Kopfzeile heißt „Migrations-Assistent".
- Wähl unter „1. Was möchtest du importieren?" einen Reiter: „Automatisch erkennen", „Kunden", „Bestellungen", „Produkte", „Kontakte", „Lieferanten" oder „Rechnungen".
- Zieh die Datei in die Fläche „Klicken oder Datei hierher ziehen" oder klick sie an.
- Warte auf „Datei wird analysiert…". In diesem Schritt laufen Vorschau, Quellsystem-Erkennung, Typ-Erkennung und der Zuordnungsvorschlag.
- Prüf im Schritt „Quellsystem" die Zeile „Erkannt: " und stell bei Bedarf über „Importieren als:" um. Ein Wechsel startet den Zuordnungsvorschlag neu.
- Klick auf „Weiter zur Spalten-Zuordnung".
- Ordne unter „Spalten-Zuordnung bestätigen" jede Quellspalte einem Zielfeld zu. Nicht benötigte Spalten bleiben auf „— Ignorieren —". Pflichtfelder tragen ein Sternchen.
- Klick auf „Weiter zur Vorschau". Solange ein Pflichtfeld fehlt, ist der Knopf gesperrt.
- Klick auf den Knopf mit Anzahl und Typ, also zum Beispiel „842 Kunden importieren".
Geklappt hat es, wenn „Migration erfolgreich" mit Anzahl und Dauer erscheint, daneben „Weitere Datei importieren".
Der Import ist alles oder nichts. Erst werden alle Zeilen geprüft, dann wird geschrieben. Ein Fehler in einer Zeile verwirft den ganzen Lauf. Der letzte Schritt setzt mindestens die Rolle manager voraus. Vorschau und Erkennung sind für jeden angemeldeten Benutzer offen, deshalb bricht der Ablauf erst am Ende ab.
Der Auftrag lebt nur im Arbeitsspeicher und wird nach 30 Minuten verworfen. Lass den Assistenten also in einem Zug durchlaufen.
| Ziel | Pflichtfeld |
|---|---|
| Kunden | „name" |
| Bestellungen | „number" |
| Produkte | „sku" und „name" |
| Lieferanten | „name" |
| Rechnungen | „number", im Formular beschriftet als „Auftragsnummer" |
| Kontakte | keines |
Fünf Dinge im Assistenten überraschen regelmäßig:
- Die Vorschau-Tabelle und die Beispielwerte im Zuordnungsschritt bleiben leer, auch wenn die Datei in Ordnung ist. Verlass dich auf die Spaltennamen.
- Importierte Kontakte landen nicht in einer eigenen Tabelle. Sie werden als Kunden vom Typ Lead angelegt.
- Lieferanten ohne Lieferantennummer bekommen automatisch eine Nummer der Form
IMP-<Stempel>-<Index>. - Findet das Programm bei einer Rechnung keinen passenden Kunden, legt es die Rechnung trotzdem an, nur ohne Verknüpfung. Fehlende Beträge rechnet es aus den vorhandenen aus. Fehlt das Fälligkeitsdatum, nimmt es das Rechnungsdatum, sonst den heutigen Tag.
- Bei Lieferanten bietet die Auswahl ein Zielfeld „Adresse" an, das es serverseitig nicht gibt. Ein so zugeordneter Wert wird still verworfen. Nimm stattdessen Straße, Ort, PLZ und Land.
Eine einmal bestätigte Zuordnung merkt sich das Programm je Mandant für dasselbe Spalten-Set. Beim nächsten gleichartigen Import ist sie vorbelegt und du siehst „Zuordnung aus einem früheren Import übernommen — bitte prüfen." Die Reihenfolge der Spalten spielt dabei keine Rolle. Die Vorbelegung gilt mandantenweit, nicht je Benutzer.
Die ausführliche Anleitung steht unter Datenimport.
Meldungen beim Import
| Meldung | Was los ist | Was du tun kannst |
|---|---|---|
| Datei zu groß. Maximum: 10 MB | Die Prüfung läuft schon im Browser. | Datei aufteilen und in mehreren Durchgängen importieren. |
| Nicht unterstütztes Format. Bitte CSV- oder Excel-Datei verwenden. | Die Endung ist nicht csv, xlsx, xls oder xlsm. | Quelldatei als CSV oder Excel speichern. |
| Zu viele Zeilen. Maximum: 50.000 Zeilen | Die Datei hat mehr Datenzeilen als erlaubt. | In Blöcke zu höchstens 50.000 Zeilen teilen. |
| Pflichtfelder noch nicht zugeordnet | Mindestens ein Pflichtfeld hat keine Quellspalte. | Der genannten Beschriftung eine Spalte zuordnen oder das Ziel wechseln. |
| Zeile n hat die Prüfung nicht bestanden: | Aufschlüsselung des fehlgeschlagenen Laufs. Darunter steht je Feld der Grund. | Feld in der Quelldatei berichtigen. Häufig sind es E-Mail-Adressen, Länderkennzeichen mit mehr als zwei Zeichen oder Beträge unter null. |
| Es wurde nichts importiert — korrigiere die Datei und versuche es erneut. | Nach der fehlgeschlagenen Prüfung wurde keine Zeile geschrieben. | Datei korrigieren und den Assistenten von vorn durchlaufen. |
| Automatische Zuordnung nicht verfügbar — bitte manuell prüfen. | Der Zuordnungsvorschlag ist fehlgeschlagen. Alle Spalten stehen auf „— Ignorieren —". | Zuordnung von Hand setzen. Der Import läuft danach normal weiter. |
| AI-Vorschlag fehlgeschlagen, heuristische Zuordnung verwendet. | Der KI-Aufruf ist gescheitert, es greift eine Wörterbuch-Regel. | Die Vorschläge prüfen. Sie sind vorsichtig und lassen unklare Spalten leer. |
| import_job_not_found | Der Auftrag liegt nur im Arbeitsspeicher und ist nach 30 Minuten oder einem Neustart weg. | Den Assistenten von vorn durchlaufen und die Datei erneut hochladen. |
| Dafür fehlt die Berechtigung: erforderlich ist mindestens die Rolle „manager" | Der letzte Schritt ist auf manager und höher beschränkt. | Von einem Konto mit Rolle manager, admin oder owner importieren lassen. |
Mehr Fälle stehen unter Daten-Import-Fehler.
Aus einer Datei ein neues Modul bauen
Passt keine der sieben Zielarten, baust du dir ein eigenes Modul.
- Öffne /imports und klick auf „Keine passende Vorlage? Neues Modul aus der Datei bauen".
- Zieh die Datei in die Fläche „Datei wählen oder hierher ziehen".
- Prüf je Spalte den vorgeschlagenen Feldtyp. Zur Wahl stehen Text, Zahl, Datum, Auswahl, E-Mail, Telefon und Ja/Nein.
- Vergib Modulnamen und Kürzel. Das Kürzel muss klein geschrieben sein, erlaubt sind a bis z, 0 bis 9 und der Unterstrich, mindestens 2 Zeichen.
- Starte den Bau.
Geklappt hat es, wenn die Meldung „Modul erstellt" mit der Zahl der importierten Datensätze erscheint und der Link auf das neue Modul dasteht.
Anders als der Assistent bricht der Modul-Autobau nicht ab. Fehlerhafte und leere Zeilen werden übersprungen und gezählt, die ersten fünf Gründe erscheinen als Warnungen. Die genannte Zahl der Felder ist die angeforderte, nicht die tatsächlich angelegte. Ein nicht anlegbares Feld taucht nur im Protokoll auf. Ist das Kürzel vergeben, kommt „Ein Modul mit dem Kürzel existiert bereits — bitte anderes Kürzel wählen." Der Bau setzt mindestens die Rolle manager voraus.
E-Rechnung als Eingangsrechnung übernehmen
- Öffne /einkauf/eingangsrechnungen und klick auf „E-Rechnung importieren".
- Füg das XML in das Feld unter „XRechnung / ZUGFeRD-XML" ein oder klick auf „.xml-Datei wählen".
- Klick auf „Parsen".
- Prüf die Vorschau: Lieferant, „Rechnungsnr.", „Rechnungsdatum", „Fälligkeit", „Positionen" sowie Netto, Steuer und Brutto.
- Lies den Kasten mit den Hinweisen, falls die Datei Warnungen erzeugt hat.
- Klick auf „Als Eingangsrechnung übernehmen".
Geklappt hat es, wenn „Als Eingangsrechnung übernommen" erscheint und die Anwendung zurück auf die Rechnungsliste springt.
Die Rechnung wird im Entwurfsstatus angelegt. Gegen Doppelanlage ist sie geschützt: gleiche Belegnummer plus gleicher Lieferant wird erkannt und meldet „Eingangsrechnung bereits vorhanden". Scheitert das Lesen, nennt der Kasten den Grund. Bei einem nicht erkannten Format prüf, ob wirklich das XML eingefügt wurde und nicht das PDF. Mehr dazu steht unter Eingangsrechnungen.
GAEB-Leistungsverzeichnis einlesen
- Öffne /einkauf/gaeb-import und klick auf „GAEB importieren".
- Trag optional einen „LV-Titel (optional)" ein. Bleibt das Feld leer, kommt der Titel aus dem XML.
- Füg den vollständigen XML-Inhalt in das Feld „GAEB XML" ein. Ein Datei-Upload ist hier nicht vorgesehen.
- Klick auf „Vorschau / Parsen". Es erscheint „Geparst:" mit der Zahl der Positionen und dem Format.
- Klick auf „LV importieren".
Geklappt hat es, wenn „LV importiert" mit der Zahl der gespeicherten Positionen erscheint.
Erst wird der Kopf gespeichert, danach jede Position einzeln. Schlägt eine Position fehl, bleibt der Kopf bestehen und du bekommst ein Teilergebnis gemeldet. Findet der Leseversuch keine Positionsblöcke, steht dort „Keine Positionen erkannt — es wird nur der LV-Kopf angelegt." und du hast danach ein leeres Leistungsverzeichnis in der Liste. Beginnt der eingefügte Text nicht mit einer spitzen Klammer, kommt „Kein gültiges XML erkannt. Bitte vollständigen GAEB-XML-Inhalt einfügen." Der Export kann nur DA83. Mehr dazu steht unter Bau, LV und Aufmaß.
Eine Integration verbinden
Es gibt zwei Integrations-Seiten mit getrennten Katalogen. Der Hub unter /integrations listet 14 Einträge: DATEV, ELSTER, Shopify, WooCommerce, Amazon, DHL, DPD, Slack, Microsoft Teams, ZUGFeRD E-Rechnung, GAEB, Universal REST API, Webhook und n8n. Die Seite /settings/integrations zeigt nur vier Karten: Shopify, DATEV, Stripe und Slack.
- Öffne /integrations. Such über „Integration suchen…" oder filter über die Kategorien „Alle", „Buchhaltung", „E-Commerce", „Versand", „Kommunikation", „Bau" und „Custom".
- Klick auf der gewünschten Karte auf „Verbinden".
- Trag die Felder aus. Bei einer API-Key-Anbindung sind das „API-Key" und „API-Secret (optional)". Bei REST sind es „Base-URL", „Auth-Type", „Credentials" und „Endpoints (eine pro Zeile)".
- Klick auf „Verbindung testen". Erst nach einem grünen Ergebnis wird „Verbinden" anklickbar.
- Klick auf „Verbinden".
Geklappt hat es, wenn die Karte danach den Status „Verbunden" trägt.
Verbinden, Trennen und Synchronisieren setzen die Rolle admin voraus. Ohne diese Rolle kommt „verbinden fehlgeschlagen".
Beim Ergebnis dieses Ablaufs solltest du vorsichtig sein. Der Knopf „Verbindung testen" fragt die Gegenstelle nicht. Er wartet 1200 Millisekunden und meldet Erfolg, sobald ein API-Key oder eine Base-URL eingetragen ist. Ein grüner Test sagt also nur, dass ein Feld gefüllt ist. Auch der Knopf „KI-Mapping" analysiert nichts. Er schreibt nach 2 Sekunden ein festes Beispiel ins Feld und meldet „5 Felder erkannt und zugeordnet".
| Status | Wo | Bedeutung |
|---|---|---|
| Verbunden | Hub und Einstellungsseite | Es gibt einen Verbindungs-Datensatz |
| Nicht verbunden | Hub | Es gibt keinen Verbindungs-Datensatz |
| Pack erforderlich | Hub | Die Integration hängt an einem Branchenpaket |
| Getrennt | Einstellungsseite | Grundzustand, auch wenn die Statusabfrage nur gescheitert ist |
| Fehler | Einstellungsseite | Die Verbindung meldet einen Fehler |
Alle Einträge mit OAuth, also DATEV, Shopify, Amazon, Slack und Teams, lassen sich nicht verbinden. Ihr Knopf ist gesperrt und heißt „Bald verfügbar". Der Knopf „Alle verwalten →" unter „Verbundene Integrationen" ist dauerhaft gesperrt. Im hinterlegten Anbieter-Verzeichnis steht nur Shopify auf „live", DATEV, Stripe, Slack, Resend und Teams stehen auf „coming_soon". Die eigene Shopify-Seite unter /integrations/shopify ist an keine Schnittstelle angeschlossen und antwortet mit HTTP 404. Der Link „Dokumentation" auf den Karten führt auf eine Adresse außerhalb der Anwendung.
GAEB hängt am Branchenpaket für den Bau. Ohne dieses Paket steht auf der Karte „benötigt Pack" mit dem Zusatz, es zuerst zu aktivieren. Wie du Pakete aktivierst, steht unter Bau.
„Trennen" setzt den Status auf getrennt, die hinterlegten Zugangsdaten bleiben stehen. „Sync" setzt den Zeitpunkt der letzten Synchronisierung und reiht einen Auftrag ein. Die Rückmeldung „Alle Daten aktualisiert" quittiert nur diese Einreihung. Sie belegt nicht, dass Daten übertragen wurden.
DATEV und Bankumsätze
DATEV ist in Nemix ERP ein Export. Du bekommst ein ZIP mit EXTF-CSV-Dateien. Einen DATEV-Import über dieselbe Schnittstelle gibt es nicht. Wie du Belege und Buchungen an deine Kanzlei übergibst, steht unter Beleg-Export und unter DMS-Steuerberater-Export.
Für Bankumsätze im CAMT.053-Format ist eine Schnittstelle vorhanden, in der Oberfläche wird sie aber an keiner Stelle aufgerufen. Der Abgleich von Kontoumsätzen steht unter Bankkonten-Abgleich.