5.4. Importmode JSON Schnittstelle

QRK JSON-Schnittstelle im Importmodus

QRK bietet eine JSON-Schnittstelle, die im sogenannten „Importmodus“ in einem definierten Verzeichnis auf Dateien wartet. Es gibt zwei Arten von JSON-Dateien, die verarbeitet werden können: R2B (Rechnung zu Bon) und Receipt (direkter Bon-Druck).

R2B (Rechnung zu Bon)

Dieser Modus wird verwendet, wenn mit einem anderen Programm, z.B. Fakturama, eine Rechnung erstellt wird und QRK für die Barzahlung den Bon erstellen und signieren soll. Die JSON-Dateien sollten eine eindeutige Benennung verwenden
(z.B. R2BRE001.json, R2BRE002.json, … , R2BRE010.json) und den folgenden Inhalt enthalten:

{"r2b":[
  {"receiptNum":"RE12345", "gross":"27.00", "payedBy":"3", "customerText":"Optionaler Kunden Text", "given":"10.0", "secondPayedBy":"0" }
 ]
}
Felder im R2B-JSON:
  1. receiptNum: Die Rechnungsnummer
  2. gross: Bruttobetrag der Rechnung
  3. payedBy: Bezahlmethode (0 = Bar, 1 = Bankomat, 2 = Kreditkarte, 3 = Gutschein bei PRO und Gastro)
  4. customerText: Optionaler Text für den Kunden auf dem Bon
    #
  5. given: Optional, gegebener Betrag für Barzahlungen; bei Bankomat und Kreditkarte wird dieser Wert ignoriert
  6. #secondPayedBy: Optional, zweite Bezahlvariante bei Mischzahlungen (1 = Bankomat, 2 = Kreditkarte, 3 = Gutschein bei PRO und Gastro)
Hinweis:

Da der Steuersatz immer 0 ist und mit der Rechnung angemeldet wird, wird kein Steuersatz im JSON-Format angegeben.

Receipt (direkter Bon-Druck)

Im Receipt-Modus wird von QRK ein vollständiger Bon erstellt, einschließlich aller Artikel und Preise, vergleichbar zur Nutzung von QRK als Kasse. Die JSON-Dateien sollten eindeutig benannt sein (z.B. REC_A001.json, REC_A002.json, …, REC_A010.json) und haben das folgende Format:

{"receipt":[
  {"customerText": "Customer Text",
   "payedBy": "3",
   "given": "100.0",
   "secondPayedBy": "0",
   "items":[
    { "count": "3", "name": "Kupplung", "gross": "122,70", "tax": "20", "discount": "10" },
    { "count": "1", "name": "Bremsbeläge", "gross": "32,30", "tax": "10" },
    { "count": "2", "name": "Benzinschlauch", "gross": "17,80", "tax": "20" },
    { "count": "1", "name": "Ölfilter", "gross": "104,50", "tax": "13" }
   ]
  }
 ]
}
Felder im Receipt-JSON:
  1. payedBy: Bezahlmethode (0 = Bar, 1 = Bankomat, 2 = Kreditkarte, 3 = Gutschein bei PRO und Gastro)
  2. customerText: Optionaler Text für den Kunden auf dem Bon
  3. given: Optionaler Betrag bei Barzahlungen; bei Bankomat und Kreditkarte wird dieser Wert ignoriert
  4. secondPayedBy: Optional, zweite Bezahlvariante bei Mischzahlungen (1 = Bankomat, 2 = Kreditkarte, 3 = Gutschein bei PRO und Gastro)
  5. count: Anzahl der Artikel
  6. name: Bezeichnung des Artikels
  7. gross: Bruttobetrag des Artikels
  8. tax: Steuersatz
  9. discount: Optionaler Rabatt in % für den Artikel
Hinweise zur Dateibenennung

Verwenden Sie eindeutige Dateinamen mit fortlaufenden Nummern, wie in den Beispielnamen gezeigt. Die Original-Rechnungsnummer kann in den Dateinamen integriert werden. Wiederverwendete Dateinamen sind zu vermeiden, da sie zu Fehlern im Kassensystem führen können.