Ein Wirtschaftssystem kann leicht mit verschiedenen Systemen verbunden werden, und eines der gängigsten sind Online-Shops. In diesem Lernprogramm werden wir uns ansehen, wie man das macht.
Dieses Tutorial richtet sich an Programmierer, die die Verbindung implementieren, und sie sollten mit den Grundlagen der API vertraut sein (zumindest ein Beispiel in PHP).
Im Allgemeinen besteht eine Verbindung aus den folgenden Teilen:
Katalog-Export
Anlegen eines Auftrags
Preisgestaltung
Zusätzliche Informationen zum Produktkatalog
Andere Zifferblätter
Mehrwertsteuerangelegenheiten
Katalogexport aus Flexi
Der Katalog kann auf zwei Arten verknüpft werden:
online - jedes Mal, wenn ein Client Flexi besucht, wird eine Abfrage gestellt und die Anfrage verarbeitet (kombiniert mit Caching)
Synchronisation - der E-Shop hat eine eigene Datenbank, in die der Katalog regelmäßig hochgeladen wird
In diesem Tutorial werden wir uns die erste Variante ansehen. Dies kann manchmal dadurch realisiert werden, dass der eshop in einer Nacht den gesamten Katalog herunterlädt und dann die Anfragen gegen seine Kopie bearbeitet.
Exportieren des Katalogs
Zuerst lesen wir die Liste der Waren:
curl -u winstrom:winstrom -f -L "http://demo.flexibee.eu:5434/c/demo/cenik/(exportNaEshop=true).xml?detail=custom:name,code,groupCost,sumConditionMj,priceNoCost,mj1,priceZaklWithoutDph,priceZaklVcDph,guarantee,mjGuaranteesK,description,priceUnit,eanCode,shortDescription,callLead,techParam,deliveryLhuta,mjDeliveryLhuta&relations=fees,attachments,accessories,attributes,similar-goods&limit=0"
Wenn Sie nur Artikel anzeigen möchten, die auf Lager (oder vergriffen) sind, verwenden Sie dies:
curl -u winstrom:winstrom -f -L "http://demo.flexibee.eu:5434/c/demo/cenik/(exportNaEshop=true und (sumStavMj gt 0 oder stock=false)).xml?detail=custom:name,code,skupZboz,mj1,priceZaklBwithoutDph,priceZaklVcDph,szbDph,warranty,mjGuaranteesK,shortDescription,callLead,techParam,deliveryLhuta,mjDodaciLhuta&relations=fees,attachments,attachments,attributes,like-goods&limit=0"
Hinweis: In dieser Ansicht werden Waren aus allen Lagern übernommen, Sie können über die Lagerkarte auch nur auf bestimmte Lager beschränken.
Auf diese Weise können Sie gleichzeitig auch verwandte Objekte wie Gebühren, Anhänge, Attribute und ähnliche Waren abrufen. Stellen Sie nur Anhänge ein, wenn diese mit exportNaEshop=true
gekennzeichnet sind. Sie können auch alle Anhänge so laden:
curl -u winstrom:winstrom -f -L "http://demo.flexibee.eu:5434/c/demo/prilohy/(exportNaEshop=true and price list is not empty).xml?detail=full&limit=0"
Wenn Sie mit einer Baumstruktur der Preisliste arbeiten wollen, holen Sie sich zuerst die Baumknoten:
curl -u winstrom:winstrom -f -L "http://demo.flexibee.eu:5434/c/demo/strom/(tree='code:STR_CEN').xml?limit=0&detail=full"
und dann die Position der Preislistenelemente in der Baumstruktur:
curl -u winstrom:winstrom -f -L "http://demo.flexibee.eu:5434/c/demo/strom-cenik.xml?limit=0&detail=full"
Anlegen eines Auftrags
Nachdem der Kunde den Auftrag erteilt hat, müssen Sie das Dokument in Flexi erstellen. Die grundsätzliche Frage ist, ob ein Auftrag, eine Zahlungsanforderung (Nicht-Steuer-Beleg) oder eine Rechnung (Steuer-Beleg) erstellt werden soll. In Online-Shops wird immer der Begriff Bestellung verwendet. In Flexi kann ein Zahlungseingang jedoch nicht direkt einer Bestellung zugeordnet werden, daher werden Bestellungen in Flexi in der Regel nicht für Online-Shops verwendet.
In der Regel wird keine Rechnung direkt erstellt, sondern nur eine Zahlungsanforderung. Der Grund dafür ist, dass Sie die Mehrwertsteuer auf der Rechnung auch im Falle einer Nichtzahlung abführen müssen. Darüber hinaus müssen Sie in der doppelten Buchführung auch unbezahlte Rechnungen als Einnahmen versteuern.
Üblicherweise wird bei Vorkasse und Nachnahme eine Rechnung, bei Überweisung eine Zahlungsaufforderung erstellt.
Wenn Sie die Daten einer Zahlungsaufforderung, eines Vorsteuerbelegs, einer Gutschrift, einer Belastungsanzeige oder einer Rechnung importieren, handelt es sich immer um eine ausgestellte Rechnung.
Was sie unterscheidet, ist der Dokumententyp, der die Art des Dokuments bestimmt.
Wenn eine Firma (Datenbank) neu gegründet wird, werden mehrere grundlegende Dokumenttypen erstellt. Die Belegart bestimmt, ob es sich um einen buchhalterischen oder nicht-buchhalterischen Beleg handelt, aber auch, welcher Nummernserie
der Beleg zugeordnet wird (Übersicht der Belegartenoptionen).
Die Buchung des Beleges wird über die Buchungsregel gesteuert (diese kann auch in der Belegart angegeben werden, die Zahlungsanforderung muss jedoch nicht gebucht werden).
Einstellen des Dokumenttyps 'Zahlungsaufforderung'
Damit es sich um einen Zahlungsaufruf handelt, müssen Sie die folgenden Informationen einstellen:
Wählen Sie den Typ "Proforma"
Abbrechen "Dokument ist Buchhaltung"
Auswählen oder Anlegen einer neuen Dokumentenserie
Abkürzung: wird beim Erstellen des Dokumenttyps verwendet
Titel: wird als Titel des Dokuments verwendet
Es ist möglich, weitere Punkte wie Konto, Zahlungsart, Fälligkeitsdatum, ... einzustellen.
Wenn Sie eine Rechnung erstellen, müssen Sie sich über ein paar Dinge im Klaren sein:
Preislistenposition oder mit Preis und Menge? Beim Anlegen eines Beleges können Sie einen Artikel aus der Preisliste verwenden, diesen aber auch aus dem Bestand nehmen, den Standardpreis (einschließlich verschiedener Rabatte für Partner) verwenden oder einen künstlichen Artikel anlegen.
Währung: wird es in CZK oder Währung sein
Empfänger: wird der Empfänger aus dem Adressbuch verwendet oder wird er nur für diese Rechnung aufgeführt?
Kundenidentifikation
Flexi enthält ein Kundenverzeichnis. Für einige Online-Shops verwenden wir es, für andere nicht. Die erstellte Rechnung kann mit dem Adressbuch verknüpft werden, oder es können alle Daten direkt ohne Verknüpfung aufgelistet werden. Die Entscheidung hängt von den Präferenzen des Online-Shop-Betreibers ab. Die Umsatzanalyse verwendet die Verknüpfung mit dem Verzeichnis, und bei deren Fehlen ist eine Analyse nach Unternehmen oder Unternehmensgruppen nicht möglich.
Anlegen eines Verzeichnisses, wenn es nicht vorhanden ist
<?xml version="1.0"?>
Zur Identifizierung können ID (Primärschlüssel), ID-Nummer oder Code (mehr über Bezeichner) verwendet werden.
Beispiel-XML
Also erstellen wir jetzt ein neues Dokument:
<?xml version="1.0"?>
Nun werden wir die Rechnung wie folgt erstellen (mehr zum Kommandozeilenaufruf):
curl -u winstrom:winstrom -f -L http://demo.flexibee.eu:5434/c/demo/faktura-vydana.xml -T invoice.xml
Das resultierende Dokument muss an den Kunden gesendet werden (entweder manuell oder über Flexi).
Weitere Kontaktinformationen
Manchmal müssen Sie zusätzliche Kontaktinformationen auf dem Dokument angeben. Dazu werden die folgenden Dokumenteinträge verwendet:
KontaktName
kontaktEmail
kontaktEmail
contactPerson
- Verweis auf die Liste der Kontaktpersonen. Es ist nicht notwendig, diese zu verwenden. Wenn es verwendet wird, werden die anderen Felder ausgefüllt.
Preisgestaltung
Für jede Preislistenposition wird ein Preis ohne MwSt. und mit MwSt. angegeben. Wenn Sie beim Erstellen eines Auftrags/einer Rechnung einen Preis angeben, wird dieser von Flexi beachtet. Wenn Sie es nicht angeben, berechnet Flexi den Preis automatisch gemäß der erweiterten Preisgestaltung. Normalerweise muss der dem Kunden angezeigte Preis auch auf der Rechnung eingehalten werden.
Individuelle Preisgestaltung für B2B
Wenn Sie eine erweiterte Preisgestaltung verwenden und möchten, dass der Online-Shop diese verwendet (in der Regel im Fall von Großhandelsverkäufen, wenn Sie B2B wünschen). Für diese Zwecke haben wir individuelle Preise erstellt.
curl -u winstrom:winstrom -f -L "http://demo.flexibee.eu:5434/c/demo/individualni-cenik.xml?limit=0&detail=full"
Mehr Informationen zum Produktkatalog
Grundlegende Attribute, die für Online-Shops relevant sind:
Attribute
Attribute ermöglichen parametrische Informationen über das Element (z. B. Diagonale in Zoll). Diese kann dann zum Vergleich herangezogen werden.
Ähnliche Waren
Eine Liste von Waren, die eine Alternative für die aktuelle Ware darstellt (z. B. von einem anderen Hersteller).
Zubehör
Eine Liste von Waren, die die aktuellen Waren ergänzen (z. B. Verbrauchsmaterialien, Zubehör).
Bausätze und Sets
In einigen Fällen wird ein kompletter Satz (z. B. Rad + Pumpe) zu einem reduzierten Preis verkauft. Wenn Sie einen Bausatz bestellen, werden die einzelnen Komponenten entfernt.
Liste der Preislistenpositionen
Manchmal möchten Sie einen Artikel als neu, im Angebot oder im Ausverkauf markieren. Daher kann es mehrere Zustände für ein Element geben, denen Sie eine Bedeutung geben können.
Andere Zifferblätter
Art des Transports
curl -u winstrom:winstrom -f -L "http://demo.flexibee.eu:5434/c/demo/forma-dopravy.xml?limit=0&detail=full"
Form der Bezahlung
curl -u winstrom:winstrom -f -L "http://demo.flexibee.eu:5434/c/demo/forma-uhrady.xml?limit=0&detail=full"
Mehrwertsteuerangelegenheiten
Flexi selbst listet die Mehrwertsteuersätze auf und enthält für jeden Artikel die Information, ob es sich um einen ermäßigten oder einen Standardsatz handelt. Wenn Sie ein Dokument ins Ausland ausstellen, wird die Mehrwertsteuer auf dem Dokument automatisch ermittelt (EU-Mehrwertsteuerzahler ist mehrwertsteuerfrei, EU-Nichtsteuerzahler ist mehrwertsteuerpflichtig, ...), basierend auf dem Land des Empfängers.
Wenn das Unternehmen in mehr als einem Land für die Umsatzsteuer registriert ist, wenden Sie sich an den technischen Support von Flexi.