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: