Download PDF van facturen uit Teamleader

Met Teamleader kunnen dienstverlenende bedrijven eenvoudig hun verkoopprocessen stroomlijnen van offerte t/m factuur.

Met Invantive SQL is het eenvoudig mogelijk om de factuurgegevens door te kopiëren naar bijvoorbeeld een Azure SQL Server database zoals met:

create or replace table facturen@SqlServer
as
select *
from   Teamleader.V1.Invoices@tl

Hier is SqlServer de alias van een datacontainer voor SQL Server. De tl alias staat voor Teamleader, maar kan weggelaten worden als er maar één datacontainer zonder alias is, zoals wanneer rechtstreeks de standaard aangemaakt database gekozen wordt in het Query Tool bij het aanmeldscherm.

Voor elke gemaakte factuur, betaald of niet wordt een rij gemaakt in de tabel facturen.

Ook de factuurafdrukken in PDF-formaat zijn eenvoudig verder te verwerken. In dit topic leer je enkele van de mogelijke toepassingen om enkele of alle PDF facturen in één keer te exporteren naar schijf of te kopiëren naar een tabel.

Met een where clause kan gekozen worden tussen alle facturen in één keer of bijvoorbeeld alleen de nieuwe facturen of de facturen die nog niet betaald zijn via het filter paid = false. De volledige lijst van beschikbare velden over een factuur is op te vragen door de cursor in het Query Tool ergens in pdfinvoices te zetten en op F4 te drukken.

Teamleader PDF-facturen exporteren

Het volgende SQL statement haalt alle PDF facturen op en toont ze in het Invantive Query Tool:

select 'factuur '
       || to_char(date, 'YYYY')
       || ' - '
       || to_char(invoice_nr)
       || '.pdf'
       filename
,      content
from   pdfinvoices
order
by     invoice_nr

Met het volgende Invantive Script statement kunnen de PDF-bestanden aangemaakt worden op bijvoorbeeld de c-schijf:

local export documents in content to "c:\temp" filename column filename

Per factuur wordt een bestand aangemaakt. Teamleader nummert de facturen per jaar. Daarom krijgt elke factuur een bestandsnaam met daarin het jaar en het factuurnummer.

In het Query Tool ziet dat er als volgt uit:

Teamleader PDF-facturen Kopiëren naar Database Tabel

Het kopiëren van de facturen inclusief bijlage in PDF-formaat naar een database zoals SQL Server is nog eenvoudiger:

create or replace table facturen@SqlServer
as
select *
from   PDFInvoices@tl

Ook hier is SqlServer de alias van een datacontainer voor SQL Server en tl die van Teamleader. Hetzelfde mechanisme werkt helemaal identiek voor MySQL, PostgreSQL, Oracle en andere databases.

Voor de PDF wordt een kolom met het datatype blob of daarmee vergelijkbaar datatype gemaakt in de doeltabel.

Als het gaat om veel facturen en relatief weinig mutaties, dan kan ook het synchronize statement gebruikt worden zoals beschreven in Synchronize your Data with one Statement across multiple Applications.