Export der offenen Posten aus InvoicePlane

Im Normalfall hilft es die offenen Posten zunächst bereit zu stellen für einen späteren Abgleich. Auf der InvoicePlane Installation hilft uns dabei ein View auf die Daten für den Export, hier wird ein Custom Feld beim Client client_custom_custno für die Kundennummer verwendet:

CREATE OR REPLACE
  VIEW ip_client_balance_combined
   (invoice_id, invoice_number, invoice_date_created, client_id, invoice_balance, client_custom_custno)
    AS 
    SELECT    i.invoice_id, i.invoice_number, i.invoice_date_created, c.client_id, ia.invoice_balance, cc.client_custom_custno
        FROM  ip_invoices AS i
        JOIN  ip_invoice_amounts AS ia ON ia.invoice_id = i.invoice_id
        JOIN  ip_clients AS c ON c.client_id = i.client_id
        JOIN  ip_client_custom AS cc ON cc.client_id = i.client_id
        WHERE i.invoice_status_id=2
        AND   ia.invoice_balance > 0
        AND   c.client_active = 1 
        ORDER BY i.invoice_date_created,i.invoice_number;
SELECT * FROM ip_client_balance_combined;

Die Ausgabe des mysql Client wird mit dem Parameter --skip-column-names in einen Bereich des Webauftrittes, der kennwortgeschützt ist, als TAB separierte CSV in einem Verzeichnis ip_exporter als open_balance.csv bereitgestellt. Bei uns ist das Bestandteil eines Skripts welches, cron gesteuert, jede Nacht eine neue Version bereitstellt.