Neuigkeiten

Wie PawnCounter jeden Pfandhaus-POS-Export liest

Die Daten einer Pfandleihe kommen als LeadsOnline-Datei, als Visual-FoxPro-Tabelle, als kalifornische XML-Meldung oder als CSV, die niemand kennt. So liest ein einziger Reader alle diese Formate.

Das eigentlich Schwierige bei der Pfandhaus-Auswertung ist nicht die Auswertung selbst. Jede Filiale liefert eine andere Datei, und die meisten Inhaber können nicht sagen, welche. Deshalb legten wir als erste Regel für den Reader von PawnCounterfest, dass er die Filiale nie fragen darf, um welche Datei es sich handelt. Er erkennt sie anhand der Bytes.

Erkennung des Formats

Die Erkennung läuft über die ersten 64 KB der Datei, noch bevor etwas vollständig eingelesen wird. Einige wenige Prüfungen klären die meisten Fälle:

  • Ein DBF-Header bedeutet eine Visual-FoxPro-Tabelle, und so speichert WinPawn seine Daten. Der Tabellenname oder, falls dieser fehlt, die Spaltennamen zeigen, welche Tabelle es ist: Pfandscheine, Ware, Historie, Ratenkauf.
  • Ein XML-Wurzelelement verrät CAPSS, das kalifornische Meldeformat, abgesehen vom Ticket-Webservice von LeadsOnline.
  • Eine CSV, deren Kopfzeile nur die Spaltennamen enthält LeadsOnline verwendet (Ticket-Typ, Ticketnummer, die Felder für den Kundennamen, Artikelmarke), ist ein LeadsOnline-Export, unabhängig davon, welches POS ihn erstellt hat.
  • Eine Textdatei mit Pipe-Trennzeichen, deren Aufbau Pawn Trackerentspricht dem von Pawn Tracker.
  • Ein Waffenbuch, also eine CSV mit Erwerbs- und Veräußerungsdaten, hat eine eigene Signatur und einen eigenen Reader.

Jede dieser Regeln ist eine Signatur, die wir anhand einer echten Stichprobe aus dem jeweiligen System geprüft haben. Die Erkennung ist daher deterministisch, und jeder Zweig hat einen Test. Passt keine Regel, geht die Datei an den generischen Reader.

Die CSV, die niemand zuvor gesehen hat

Pawn Wizard, PawnSnap und ein Dutzend kleinerer Systeme exportieren CSV, und keines davon verwendet dieselben Spaltennamen. Statt eines Adapters pro Anbieter ordnet der generische Reader Spalten nach ihrer Bedeutung zu: Eine lange Liste von Aliasnamen, verglichen ohne Berücksichtigung der Groß- und Kleinschreibung sowie ohne Leerzeichen, Unterstriche und Bindestriche, entscheidet, welche Spalte die Kosten, welche den Verkaufspreis, welche das Eingangsdatum und welche die Beschreibung enthält. Eine Datei, die Artikel und Kosten beschreibt, ist Inventar; eine, die Pfandscheine beschreibt, ist ein Transaktionsprotokoll; manche sind beides, und dann werden beide erzeugt. Spalten, die sich nicht zuordnen lassen, werden ignoriert statt zum Abbruch zu führen, und alles, was geraten werden musste, erscheint als Warnung, die der Laden sehen kann. Das System muss nicht vorher bekannt gewesen sein, weshalb der Leitfaden „Andere POS-Systeme“ ist ein echter Weg und keine höfliche Absage.

Ein Artikelmodell

Egal welche Quelle, jeder Datensatz wird in dieselbe Form gebracht: ein Artikel mit Kategorie, Beschreibung, Kosten, Verkaufspreis, Ein- und Ausgangsdatum sowie dem Pfand- oder Verkaufsvorgang, zu dem er gehört. Regeln ergänzen, was ein Format nur implizit enthält, und ein Wiederherstellungsschritt verknüpft Tabellen, die denselben Artikel unterschiedlich beschreiben. WinPawn ist der Grund, warum dieser Schritt existiert: Seine Verlaufstabelle, die einzige mit einem realisierten Verkaufspreis, enthält eine Kategorie und keine Beschreibung. Dadurch käme jeder verkaufte Artikel als „Feuerwaffen“ oder „Werkzeuge“ an, während dieselbe Artikelnummer in der Warentabelle „Remington 870 Schrotflinte“ lautet. Die Verknüpfung über die Artikelnummer gibt dem Verkauf seine Beschreibung zurück und damit die Möglichkeit, Gleiches mit Gleichem zu vergleichen. Die Analysen sehen immer nur dieses eine Modell, daher gilt eine Korrektur der Abschreibungslogik gleichermaßen für einen WinPawn- und einen LeadsOnline-Laden.

Was es nicht lesen kann, offen gesagt

Bravo, das keinen Massenexport bietet, wird aus den Berichten gelesen, die ein Laden über die Bildschirme Report Preview oder Ad Hoc als CSV oder Excel speichert, mit Bravos eigenen Spaltenbezeichnungen (hinzugefügt September 2026). PawnMaster bietet einem Laden heute keinen Export, mit dem wir arbeiten können. Statt so zu tun, als wäre alles in Ordnung, sagt der PawnMaster Leitfaden das offen, erklärt, was vor einem Wechsel zu Bravo zu exportieren ist, und bewahrt diese Dateien für den Tag auf, an dem es einen Reader gibt.

Das Ergebnis ist das, was das Produkt auf seiner Seite hier: Behalten Sie Ihr bestehendes POS, senden Sie die Datei, die es bereits erzeugt, und erhalten Sie den Profit X-Ray zurück.