FTP zwischen LINUX und ANDROID

Es ist eigentlich eine recht einfache Angelegenheit, Dateien von einem ANDROID-Gerät (Smartphone, Tablet) auf einen LINUX-PC zu übertragen, wenn man z.B. das ANDROID-Gerät über ein USB-Kabel mit dem LINUX-PC verbindet und einen Dateitransfer freigibt. Ich stand ursprünglich allerdings vor einem ganz anderen Problem, bevor ich mich mit dem Dateitransfer per FTP überhaupt befasste – aber der Reihe nach:

Das sogenannte Wachstumschancengesetz vom 27.03.2024 hat u.a. Auswirkungen auf den § 14 des Umsatzsteuergesetzes (UStG), nach dem ab 01.01.2025 Rechnungen zwischen inländischen Unternehmen nur noch in elektronischer Form auszustellen sind. Diese E-Rechnungen sind nach DIN EN 16931 besonders strukturiert und verfügen daher über ein maschinenlesbares Format, wobei mehrere Formate zugelassen sind, wie z.B. XRechnung und ZUGFeRD. Rechnungen können aber auch im PDF-Format ausgestellt sein, wenn der Rechnungsempfänger diese Dokumente korrekt interpretieren sowie auch elektronisch archivieren kann. Wenn man sich mit dieser Thematik näher befasst, wird klar, dass sich die Finanzämter die Arbeit bei der Ermittlung Steuer-relevanter Daten vereinfachen wollen, denn es geht darum festzustellen, wer hat wann mit wem welche Umsätze zu welchen Steuersätzen generiert …

Nun lassen ja die meisten Unternehmen je nach Größe ihre Buchhaltung von eigenen Fachkräften oder von Steuerberaterbüros erledigen, und einer meiner Kunden – ein Gastrobetrieb – bekam nun von seinem Steuerberater den Auftrag, fortan alle seine Belege über eine besondere Cloud im PDF-Format z.V. zu stellen. Die Steuerbüros verwenden in der Regel DATEV-Systeme und diese sind seit einiger Zeit bereits auf die Verwertung maschinenlesbarer Dokumente (auch von E-Rechnungen) ausgelegt. Kleinunternehmen verwenden für die eigene Buchhaltung u.a. auch Systeme von Buhl Data Service, LEXWARE und andere. Ich habe nun mal mit einem Programm von Buhl Data getestet, wie denn eigentlich PDF-Dokumente (Rechnungen, Kassenbelege) verarbeitet werden, und bin etwas ernüchtert: Es werden die Umsatzsteuer-relevanten Daten über eine automatisierte und eventuell auch KI-unterstützte Texterkennung (OCR) zumeist erkannt, eben aber auch nicht immer derart korrekt, dass eine manuelle Nachbearbeitung immer noch notwendig ist. Bringt das in einer automatisierten Buchhaltung wirklich die erhofften Zeitersparnisse ?

In einem Gastrobetrieb fallen nun überwiegend Kassenbelege und Tagesabrechnungen (sogenannte X- und Z-Bons) an. Wenn das Steuerbüro solche Belege auch im PDF-Format haben möchte, so müssten diese zuvor sehr aufwändig eingescannt werden, was darüber hinaus auch zu optischen Qualitätsverlusten führt. Dabei ist es egal, ob das Einscannen über ein Flachbettgerät oder über eine Smartphone-App (z.B. Genius Scan) erfolgt. Eine bessere Lösung wäre es daher, wenn man die Tagesabrechnungen gleich im PDF-Format erzeugen kann. Doch wie bekommt man diese PDF-Dokumente ins Backoffice (Büro) des Gastrobetriebes, um sie dann von dort aus gemeinsam mit anderen Dokumenten auf die Cloud des Steuerbüros zu laden … ?

Ich hatte also zunächst auf dem unter LINUX (UBUNTU) betriebenen Büro-PC das Druckerverwaltungssystem CUPS eingerichtet, das ab dann auch alle im System vorhandenen Drucker zur Verwendung im Netzwerk anzeigte, so auch den freigegebenen Generic PDF-Printer. Von der ANDROID-Kasse wurde dieser PDF-Drucker zwar gefunden, war aber grau unterlegt und nicht richtig ansteuerbar, d.h. die Druckbefehle „verpufften“ und die vermeintlich erzeugten PDF-Dateien waren nirgendwo auffindbar. Nun kam mir die Idee, einmal herauszufinden, wo denn die neu erzeugten PDF-Dateien überhaupt abgelegt werden, wenn der lokale PDF-Drucker (nicht der Netzwerk-Drucker) angesprochen wird, und siehe da – solche Dateien befanden sich auf dem ANDROID-Gerät immer im eigenen Download-Verzeichnis …

Damit zeichnete sich eine andere eventuelle Lösung ab: Die auf der ANDROID-Kasse erzeugten PDF-Belege könnten ja auch auf einem geeigneten Wege über das Netzwerk an den LINUX-PC übertragen werden ? Um’s also abzukürzen – diese Lösung bestand darin, den Datentransfer vom ANDROID-Kassen-PC zum LINUX-Büro-PC über eine FTP-Verbindung zu organisieren. Es gibt für den Betrieb von FTP-, SFTP– und ähnlichen Verbindungen je nach Betriebssystem diverse Host- und Client-Programme (z.B. FileZilla), aber LINUX macht es uns schon von Hause aus leicht, in den Dateimanagern (z.B. NAUTILUS oder NEMO) diverse FTP-Verbindungen einzurichten. Nun musste sich nur noch ANDROID auf einen FTP-Zugang einlassen, und dafür wird im Internet der Cx Datei Explorer empfohlen. Ich habe mittlerweile mehrere FTP-Verbindungen auf dieser Basis eingerichtet und erfolgreich getestet. Und so geht man nun vor:

1. Einmalige Vorbereitungen auf dem ANDROID-Gerät (Smartphone, Tablet, Kasse u.ä.):
1.1. Das ANDROID-Gerät muss im Netzwerk (LAN, WLAN) eingebunden sein 
1.2. Auf dem ANDROID-Gerät den Cx Datei Explorer installieren
1.3. Dort unter „Netzwerk“ -> „Remote“ (bzw. „Zugriff vom Netzwerk“) die FTP-Zugangsdaten (Adresse, Benutzer, Passwort) ermitteln und das Passwort gleich manuell (eventuell neu) festlegen – Beispiel:

Adresse und Port = 192.168.178.31:8869
Benutzer = pc
Passwort = 210220

Damit ist dann das ANDROID-Gerät als FTP-Server eingerichtet.

2. Einmalige Vorbereitungen am LINUX-PC (UBUNTU, DEBIAN u.ä.):
2.1. Im Datei-Exporer (z.B. NEMO) die obige Adress- bzw. Pfadleiste ständig eingeblendet halten
2.2. Im Datei-Exporer (z.B. NEMO) unter „Datei“ -> „Mit Server verbinden“ die FTP-Zugangsdaten eingeben, dabei im Feld „Ordner“ keine Veränderungen vornehmen – Beispiel:

2.3. Testverbindung zum ANDROID-Gerät herstellen – unter „Netzwerk“ wird bei Erfolg der neue Zugang angezeigt. Hier nennt sich das Ausgangsverzeichnis immer „device“, unter dem dann weitere ANDROID-typische und selber eingerichtete Unterverzeichnisse abgelegt sind 
2.4. Den in der obigen Adress- bzw. Pfadleiste angezeigten Zugang vorzugsweise als „Favorit“ abspeichern – Beispiel:

3. Anwendung auf dem ANDROID-Gerät (z.B. Kasse):
3.1. Auf der Kasse für die Belegausgabe den PDF-Druck auswählen
3.2. Die erzeugte PDF-Datei befindet sich dann im Ordner „Download“ bzw. im Pfad „…/device/Download“ 

4. Anwendung auf dem LINUX-PC:
4.1. Im Datei-Explorer (z.B. NEMO) wird über den eingerichteten Netzwerkzugang auf die Kasse zugegriffen
4.2. Im Download-Ordner befinden sich die zu übernehmenden (zu verschiebenden oder zu kopierenden) PDF-Dateien

Achtung: Der Cx Datei Explorer muss auf dem ANDROID-Gerät als FTP-Host bzw. -Server ständig aktiv sein, sonst kann vom LINUX-PC als FTP-Client aus nicht auf die Daten des ANDROID-Gerätes zugegriffen werden. Wurde das Passwort (wie unter 1.3. empfohlen) manuell, d.h. festgelegt, lässt sich eine zwischenzeitlich auch einmal durch das Abtrennen, Abschalten, Deaktvieren oder Stoppen inaktive FTP-Verbindung über das Starten ohne weitere Umstände wiederbeleben.