WooCommerce & Fastbill API

Für alle die FastBill und WooCommerce mit WordPress nutzen wollen, hier ein Plugin welchen den Export nach FastBill übernimmt (auch mit einem Cronjob möglich).

Viel Spaß mit dem Plugin und ich freue mich auf eure Kommentare!

Download:

Change-Log:

== Changelog ==

= 1.1.4 - 11/03/2015 =

* Fix - VAT_PERCENT - export now the percent

= 1.1.3 - 05/03/2015 =

* Fix - CURL-Bug: error setting certificate verify locations:
* * curl_setopt($ch, CURLOPT_CERTINFO, FALSE);
* * curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

= 1.1.2 - 01/03/2015 =

* Add - price of the order
* Fix - export $_GET-Bug - mission ID

= 1.1.1 - 25/02/2015 =

* Fix - Cronjob
* Add - companyname output with companycheck($tabledata)
* Add - Option minlenght für companycheck
* Add - translation


= 1.1.0 - 23/02/2015 =

* Fix - export to fastbill validation

WordPress:

  • Optionen – Alles für die Schnittstelle
    • API-Einstellungen
      • API-Key von FastBill
      • API-E-Mail (Login-E-Mail) von FastBill
    • Rechnungseinstellungen
      • Rechnungs-Vorlage: Aus wahl der Templates aus FastBill (API-Live-Abruf)
      • Rechnungstyp: Entwurf / fertige Rechnung (vorsichtig!)
      • Rechnungs-Titel*: Dieser Titel wichtig, da dieser beim Export als Suchfeld dient.
        Bsp.: WooCommcerce Rechnung: %NUMBER%
      • Währung: EUR (wie in FastBill geschrieben)
    • Woocommerce Konfiguration
      • Woocommerce Auswahl-Filter: Status in WooCommerce welcher ausgelesen werden soll. (Export-Ansicht)
    • Zeitplan Ereignis
      • Zeitplan: Leer / deaktiviert / Stündlich / 12 Stunden / 24 Stunden
      • Woocommerce erste Export-ID: Filter für den Export der Rechnungen wenn der Cronjob läuft
  • Export – Übersicht der Einkäufe und die Möglichkeit für den Export
    • Bestellung (ID aus WooCommerce)
    • Infos (Name + Nachname der Besteller)
    • Bestelldatum
    • Link: In das Produkt selber
    • Optionen: Export (grau = unfertig / blau = fertig), Download (der PDF aus FastBill)

API-Infos:

  1. Export
    1. Sucht ob Kunde vorhanden ist
      • business (Suche nach Firmenname)*
      • consumer (Suche nach Nachname)*
      • Wenn nein: wird angelegt
      • Wenn ja: ID wird gespeichert
    2. Sucht nach Rechnung:
      • Rechnung Titel aus den Optionen + ID aus WooCommerce (%NUMBER%)
      • Wenn nein: wird angelegt (entwurfs-Rechnung)
      • Wenn ja: ID wird gespeichert
    3. Prüfung ob Rechnung finalisiert werden soll
      • Wenn ja: Rechnung wird als Bezahlt gesetzt -> Datum als WooCommerce
      • Rechnungs-URL wird abgefragt
    4. Speichern in der Datenbank
      • Rechnung wurde erstellt
      • PDF-URL der Rechnung (bei finaler Rechnung)

Daten aus WooCommerce

<?php function getBillingData($order_id) {     $address = array(         "FIRST_NAME"        => ucfirst(get_post_meta( $order_id, '_billing_first_name', true )),
        "LAST_NAME"         => ucfirst(get_post_meta( $order_id, '_billing_last_name', true )),
        //"SALUTATION"        => get_post_meta( $order_id, '', true ), // TODO create a function for wooCommerce
        "EMAIL"             => get_post_meta( $order_id, '_billing_email', true ),
        "PHONE"             => get_post_meta( $order_id, '_billing_phone', true ),

        "ORGANIZATION"      => get_post_meta( $order_id, '_billing_company', true ),
        "ADDRESS"           => get_post_meta( $order_id, '_billing_address_1', true ),
        "ADDRESS_2"         => get_post_meta( $order_id, '_billing_address_2', true ),
        "CITY"              => get_post_meta( $order_id, '_billing_city', true ),
        "STATE"             => get_post_meta( $order_id, '_billing_state', true ),
        "ZIPCODE"           => get_post_meta( $order_id, '_billing_postcode', true ),
        "COUNTRY_CODE"      => get_post_meta( $order_id, '_billing_country', true ),
    );

    return $address;
}

Screenshots:

9 Antworten auf „WooCommerce & Fastbill API“

  1. Desweiteren habe ich nun in den Code geschaut und gesehen das du unser FastBill API Script (Digitalschmiede/FastBill) von Github nutzt. Ich bitte dich das Copyright oben in der Datei auszutauschen gegen unseren! Du kannst es gerne erweitern dass du die Datei editiert hast. Ich werde ich einer Woche nochmal nachschauen.

  2. Hi Andisch,
    danke für deinen Hinweis. Hast du denn unter den Optionen auf “Woocommerce Auswahl-Filter” – Fertiggestellt ausgewählt?
    Weil danach wird ausgewählt was angezeigt ist, wenn nichts gewählt ist, zeigt er auch nicts.

    Hinweis zum Copyright:
    Ich hatte die Klasse als Inspiration genommen und teile kopiert, dass stimmt. Ich habe in den Kommentar den Hinweis aufgenommen, tut mir leid für das Versäumnis!!!!!!!
    * Model of class: https://github.com/Digitalschmiede/fastbill
    * Thanks to: Digitalschmiede

  3. Hallo Marc,
    ich habe gerade versucht, das Plugin einzurichten, verstehe aber nicht so genau, was ich machen muss.

    Wird die Rechnung weiterhin von woocommerce versendet oder direkt aus Fastbill? Wird die Rechnung dann in fastbill neu generiert oder wie funktioniert das?

    Wäre cool, wenn du mir ein paar Tipps zur Einrichtung und den Funktionen gibst.

    Gruß, Nico

  4. Hallo Nico,
    der gedanke wäre > Plugin installieren > Plugin einrichten (links im Menü zu finden)
    In den Einstellungen die API-Daten von Fastbill eintragen und dann kannst du enscheiden ob du selber die Rechnung nach Fastbill exportieren willst oder ob das der Cronjob machen soll.
    Wichtig ist aber, dass du vorher bestimmst ob es nur ein Entwurf oder eine richtige Rechnung ist.

    Generell wird aber aus Fastbill nichts versendet (jedenfalls nicht aktuell) — man könnte es aber erweitern. Ich habe das damals für meine Schwester geschrieben damit die selber einen Export machen kann ohne alles händisch zu übertragen.
    Es hat aber noch viel Potenzial nach oben zum erweitern 😉

  5. Hey Marc,

    vielen Dank für dein Feedback. Ich denke, dass habe ich auch alles gemacht. Bei mir ist die Export-Liste aber auch immer leer. Ganz egal, was ich im „Woocommerce Auswahl-Filter“ einstelle. Mach ich irgendwas falsch?

    So ein zwei Ideen für die API hätte ich. 🙂

    Gruß, Nico

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.