De eenvoudigste manier om ABCinvoice.eu met FileMaker te integreren, is de ABCinvoice-add-on.
Webinar van 14/10/2025: de FileMaker add-on leren integreren
Deel 1 – Configuratie van de add-on
Opmerkingen bij deze documentatie
- We gaan ervan uit dat u al een facturentabel hebt (hieronder “Facturen”), gekoppeld aan een tabel met factuurlijnen (hieronder “Lijnen”).
- Beheert u meerdere vervaldagen in een aparte tabel, dan noemen we die hieronder “Vervaldagen”.
Installatie
- Zorg ervoor dat uw versie van FileMaker Pro minstens 21 (2024) is. De recentste versie kunt u altijd hier downloaden: voor macOS, voor Windows.
- Download de add-on. Plaats een bestelling (gratis) op de website van 1-more-thing en klik daarna op de link die u per e-mail ontvangt om de add-on te installeren.
- Sluit FileMaker Pro af en start het opnieuw.
- Dupliceer uw oplossing om een back-up te bewaren (je weet maar nooit).
- Open in uw oplossing een factuurlay-out (het formulier waarin u uw facturen bewerkt, geen afdruklay-out).
- Schakel over naar de lay-outmodus.
- Installeer de add-on (+ in het tabblad Add-ons van het linkerpaneel). Kies de add-on die u net hebt gedownload (“ABCinvoice”).
- Sleep de add-on, nog steeds in de lay-outmodus, op de factuurlay-out.
Mogelijk bekend probleem: bij oudere bestanden kan bij het slepen van de add-on een melding verschijnen dat er geen primaire sleutel gevonden wordt.
Oplossing: voeg tijdelijk aan uw tabel Facturen een tekstveld toe met een serienummer en een validatie “uniek”. Bevestig en sleep de add-on opnieuw. Vervang bij de volgende stap (relatiediagram) het tijdelijke veld door uw echte primaire sleutel en verwijder het daarna.
Relatiediagram
- Controleer in het relatiediagram of de relaties tussen uw tabel Facturen en de tabellen
ABCinvoice_AttachmentenABCinvoice_LegalLiteralwel aangemaakt zijn. Zo niet, maak ze dan handmatig aan (van de primaire sleutel van uw tabel Facturen naarABCinvoice_Attachment::idInvoiceenABCinvoice_LegalLiteral::idInvoice). - Mogelijk bekend probleem: FileMaker herkent automatisch wat op een primaire sleutel lijkt, maar kiest soms het verkeerde veld! Controleer goed of het juiste veld in de relaties gebruikt wordt. Als de herkende primaire sleutel van uw tabel Facturen bovendien van het type Getal is, verandert FileMaker op eigen houtje het type van
ABCinvoice_Attachment::idInvoiceenABCinvoice_LegalLiteral::idInvoicenaar Getal. Zet ze dan terug op Tekst. - Schakel in de relatieopties het aanmaken van gerelateerde records vanuit uw tabel Facturen uit (het verwijderen mag u laten staan, dat is logisch).
Veldconfiguratie
- Kopieer alle velden van de tabel
ABCinvoice_invoiceExamplenaar uw tabel Facturen. - Aanbevolen: stel bij de containervelden externe opslag in.
- Doe hetzelfde voor het containerveld van de tabel
ABCinvoice_Attachment: wijzig de opslag van het veldfile. - Kopieer het veld van de tabel
ABCinvoice_invoiceLineExamplenaar uw tabel Lijnen. - Vervaldagen: beheert u meerdere vervaldagen, kopieer dan het veld van de tabel
ABCinvoice_InvoiceDueDateExamplenaar uw tabel Vervaldagen. - Pas de velden
ABCinvoice_JSONrepresentation_{tabel}van de tabellen Facturen, Lijnen en Vervaldagen (indien van toepassing) aan:- Datums moeten als getallen doorgegeven worden, voor compatibiliteit tussen alle systemen (client/server). Bijvoorbeeld:
GetAsNumber ( Factuur::factuurdatum ) - Arrays met gerelateerde gegevens moeten zo doorgegeven worden:
; [ "invoiceLinesAttributes" ; JSONMakeArray ( List ( Lijnen::ΩABCinvoiceJSONrepresentation_invoiceLine ) ; ¶ ; JSONObject ) ; JSONArray ] - Voor de vervaldag(en): beheert u geen meerdere vervaldagen, gebruik dan de parameter
dueDateAsNumber; beheert u ze in een aparte tabel, gebruik dan de parameter uit het voorbeeld.
- Datums moeten als getallen doorgegeven worden, voor compatibiliteit tussen alle systemen (client/server). Bijvoorbeeld:
- Voor de identificatie van de bestemmeling van de factuur is een tabel met fiscale identificatiecodes (TIN) beschikbaar hier.
Script ABCinvoice_Config
- Stel de variabele
$configin door de primaire sleutel van uw tabel Facturen op te geven en te verwijzen naar de velden die u net hebt toegevoegd. - Geef een werklay-out op (in de scriptstap Ga naar lay-out). Die lay-out moet gebaseerd zijn op de tabelinstantie die overeenkomt met de velden in
$config. We raden een lege lay-out aan, in formulierweergave, zonder scripttriggers.
Instellingen
- Maak een account aan op ABCinvoice.eu en vraag een API-sleutel.
- Vul in de interface (de add-on op de lay-out) de API-sleutel en uw land in (het land van waaruit de facturen uitgereikt worden). Werk de bibliotheek met wettelijke vermeldingen bij door op Update Legal Literals te klikken.
Opruimen
- Verwijder de onderdelen die enkel voor de eerste configuratie dienen: de tabellen met het woord Example en hun tabelinstanties (
ABCinvoice_InvoiceExample,ABCinvoice_InvoiceLineExample,ABCinvoice_DueDateExample).
De wettelijke vermeldingen (Legal Literals)
Via de instellingen hebt u net een bibliotheek met wettelijke vermeldingen voor uw land gedownload, opgeslagen in de tabel ABCinvoice_LegalLiteralLibrary.
De wettelijke vermeldingen staan op de facturen (onderaan, in de leesbare versie).
Via de popover Legal Literals kunt u de bibliotheek openen en aanpassen. In sommige toepassingen kunnen bepaalde vermeldingen bijvoorbeeld overbodig zijn en dus verwijderd worden.
In België worden twee reeksen vermeldingen gedownload: in het Frans en in het Nederlands. In Wallonië kunt u de Nederlandse vermeldingen verwijderen, in Vlaanderen de Franse. In Brussel kunt u beide behouden.
Vermeldingen kunnen als verplicht gemarkeerd worden, bijvoorbeeld de vermelding van de kortingsvoorwaarden (ook als er geen korting is).
Andere kunnen als standaard gemarkeerd worden: die worden dan automatisch aan elke factuur toegevoegd bij het openen van de popover Legal Literals.
Sommige vermeldingen bevatten ten slotte de tekst {}, die door een eigen waarde vervangen kan worden.
Daarvoor kunt u ofwel de standaardtekst van de vermelding aanpassen (geeft u bijvoorbeeld nooit korting, vervang de tekst dan gewoon door “Geen korting”), ofwel de automatisch ingevoerde berekening van het veld ABCinvoice_LegalLiteral::text aanpassen, zoals uitgelegd in de commentaar van die berekening.
Zo kunt u de tag {} vervangen door de informatie van uw keuze, op basis van de code van de vermelding.
Deel 2 – Uw scripts aanpassen
Attachments: alle documenten in de tabel ABCinvoice_Attachment worden samen met uw factuur geüpload.
Opgelet: een geüploade bijlage kan niet meer verwijderd worden! U kunt er wel bijlagen aan toevoegen zolang de factuur niet verstuurd is.
- Bijlagen toevoegen: er is een voorbeeldscript ABCinvoice_sample_AddAttachment, maar onthoud dat u gewoon documenten die bij uw factuur horen in de tabel ABCinvoice_Attachment moet zetten. Bewaarde uw oplossing al de PDF’s van uw facturen, pas dan gewoon uw oorspronkelijke script aan zodat het de PDF in die gerelateerde tabel opslaat.
- Belangrijk: in de tabel Attachment bepaalt het veld isInvoice of de bijlage de factuur zelf is (de PDF van de factuur). Is dat zo, zet het veld dan op 1 (True). Zo niet – bijvoorbeeld voor algemene voorwaarden of een klantenoverzicht – zet het op 0 (False). In de interface van de add-on kunt u ook het bijbehorende vakje aanvinken.
- In de map “ABCinvoice – integration example” vindt u verschillende voorbeeldscripts, bijvoorbeeld ABCinvoice_sample_CreateInvoice, waarmee u een e-factuur aanmaakt. Deze scripts tonen dialoogvensters bij fouten; u zult ze moeten aanpassen aan uw eigen foutafhandeling. Belangrijk: dupliceer deze map voordat u de scripts aanpast en gebruikt, zodat een toekomstige update van de add-on makkelijker verloopt.
- Wijzig de scripts in de map “ABCinvoice (private)” niet.
- De add-on wordt geleverd met waardelijsten om u te helpen. Ze beginnen allemaal met ABCinvoice.
Deel 3 – Facturen ontvangen
Hebt u al een tabel voor inkomende facturen, dupliceer en pas dan deze scripts aan:
- ABCinvoice_GetReceivedInvoices – Scheduled script
- ABCinvoice_GetReceivedInvoicesDetails
- ABCinvoice_Create_RINL (invoice)
- ABCinvoice_Create_RDUEDATES (invoice)
- ABCinvoice_Create_RTAX (invoice)
- ABCinvoice_Create_RECEIVED_ATTACHMENTS (invoice)
De lay-outs voor de lijst met inkomende facturen en hun details staan in de map ReceivedInvoicesLayouts van de add-on.
De scripts om inkomende facturen op te halen zijn ook inbegrepen en hoeven niet aangepast te worden als u geen tabel voor inkomende facturen hebt. Om regelmatig leveranciersfacturen te ontvangen, zie Deel 4 – Serverscripts.
Deel 4 – Serverscripts
Wordt uw FileMaker-bestand gehost op FileMaker Server of FileMaker Cloud, open dan de Admin Console van uw server en stel een schema in om de volgende scripts uit te voeren:
- ABCinvoice_GetReceivedInvoices – Scheduled script, om regelmatig leveranciersfacturen in uw oplossing te ontvangen.
- ABCinvoice_GetInvoicesState – Scheduled script, dat de status van de facturen bijwerkt.
Een dagelijkse frequentie wordt aanbevolen.
