Pour intégrer ABCinvoice.eu avec FileMaker, le plus simple est d’utiliser l’Add-on ABCinvoice.
Webinaire du 14/10/2025 : Apprendre à intégrer l'add-on FileMaker
Partie 1 – Configuration de l’Add-on
Notes sur cette documentation :
- On suppose que vous avez déjà une table factures (ci-dessous « Factures »), liée à une table lignes de factures (ci-dessous « Lignes »).
- Si vous gérez des échéances multiples dans une table à part, cette table sera surnommée ci-dessous « Échéances ».
- Assurez-vous que votre version de FileMaker Pro est au minimum 21 (2024). Vous pouvez toujours télécharger la version la plus récente ici : pour macOS, pour Windows.
- Téléchargez l’Add-on. Passez une commande (c’est gratuit) sur le site de 1-more-thing, puis cliquez sur le lien reçu par email pour installer l’Add-on.
- Quittez et relancez FileMaker Pro.
- Dupliquez votre solution afin d’en garder une sauvegarde (on ne sait jamais).
- Dans votre solution, ouvrez un modèle de facture (votre formulaire où vous éditez vos factures, pas un modèle d’impression).
- Passez en mode modèle.
- Installez l’Add-on (+ dans l’onglet Add-ons du volet de gauche). Sélectionnez l’Add-on que vous venez de télécharger (« ABCinvoice »).
- Toujours en mode modèle, glissez l’Add-on sur le modèle de facture.
- Problème connu potentiel : avec des fichiers anciens, au moment de glisser l’Add-on, un message peut apparaître indiquant qu’aucune clé primaire n’est détectable.

Solution : ajoutez temporairement à votre table Facture une rubrique définie par un numéro de série et une validation « unique ». Validez et glissez à nouveau l’Add-on. À l’étape suivante (graphique des liens), remplacez la rubrique temporaire par votre vraie clé primaire, puis supprimez-la. - Vérifiez dans le graphique des liens que les relations ont bien été créées entre votre table Factures et les tables ABCinvoice_Attachment et ABCinvoice_LegalLiteral. Si ce n’est pas le cas, créez-les manuellement (liaison de la clé primaire de votre table Factures vers ABCinvoice_Attachment::idInvoice et ABCinvoice_LegalLiteral::idInvoice).
- Dans les options de lien, désactivez la création d’enregistrements liés depuis votre table Factures (vous pouvez laisser la suppression, qui est logique).
- Configuration des champs (rubriques)
- Copiez tous les champs de la table ABCinvoice_invoiceExample dans votre table Factures.
- Recommandé : modifiez les options de stockage des rubriques de type conteneur pour un stockage externe.
- Faites de même pour le champ conteneur de la table ABCinvoice_Attachment : modifiez le stockage de la rubrique file.
- Copiez le champ de la table ABCinvoice_invoiceLineExample dans votre table Lignes.
- Échéances : si vous gérez des échéances multiples, copiez le champ de la table ABCinvoice_InvoiceDueDateExample dans votre table Échéances.
- Modifiez les rubriques ABCinvoice_JSONrepresentation_{table} des tables Factures, Lignes, et Échéances (si applicable).
- Les dates doivent être passées en tant que nombres pour assurer la compatibilité entre tous les systèmes (client/serveur). Par exemple :
ObtenirNombre ( Facture::dateDeFacture ) - Les tableaux de données liées doivent être passés ainsi :
; [ "invoiceLinesAttributes" ; JSONMakeArray ( List ( Lignes::ΩABCinvoiceJSONrepresentation_invoiceLine ) ; ¶ ; JSONObject ) ; JSONArray ]
- Les dates doivent être passées en tant que nombres pour assurer la compatibilité entre tous les systèmes (client/serveur). Par exemple :
- Pour la ou les dates d’échéance :
- Si vous ne gérez pas d’échéances multiples, utilisez le paramètre dueDateAsNumber.
- Si vous les gérez dans une table séparée, utilisez le paramètre proposé dans l’exemple.
- Concernant l’identification du destinataire de la facture, un tableau des codes d’identification fiscale (TIN) est disponible ici.
- Configurez le script ABCinvoice_Config :
- Définissez la variable $config en précisant la clé primaire de votre table Factures et en pointant les rubriques que vous venez d’ajouter.
- Indiquez un modèle de travail (dans l’action de script Activer modèle). Ce modèle doit représenter l’occurrence de table correspondant aux rubriques définies dans $config. Il est recommandé d’utiliser un modèle vide, en mode formulaire, sans déclencheurs de scripts.
- Réglages
- Créez un compte sur ABCinvoice.eu et obtenez une clé API.
- Depuis l’interface (l’Add-on installé sur le modèle), renseignez la clé API ainsi que votre pays (celui d’émission des factures). Mettez à jour la bibliothèque de mentions légales en cliquant sur Update Legal Literals.
- Nettoyage
- Supprimez les éléments non utilisés, qui ne servent qu’à la configuration initiale : les tables contenant le mot Example et leurs occurrences de table (
ABCinvoice_InvoiceExample,ABCinvoice_InvoiceLineExample,ABCinvoice_DueDateExample).
- Supprimez les éléments non utilisés, qui ne servent qu’à la configuration initiale : les tables contenant le mot Example et leurs occurrences de table (
Les mentions légales (Legal Literals)
Depuis les réglages, vous venez de télécharger une bibliothèque de mentions légales
correspondant à votre pays, stockée dans la table ABCinvoice_LegalLiteralLibrary.
Les mentions légales figurent sur les factures (en bas, dans la version lisible).
Depuis le popover Legal Literals, vous pouvez accéder à la bibliothèque de mentions
et la modifier. Par exemple, dans certaines applications, certaines mentions peuvent être inutiles
et peuvent donc être supprimées.
En Belgique, deux jeux de mentions sont téléchargés : en français et en néerlandais.
Si vous êtes en Wallonie, vous pouvez supprimer les mentions en néerlandais ; si vous êtes en Flandre,
celles en français. À Bruxelles, vous pouvez conserver les deux.
Les mentions peuvent être marquées comme obligatoires,
par exemple la mention des conditions d’escompte (même s’il n’y a pas d’escompte).
D’autres peuvent être marquées comme par défaut, ce qui signifie qu’elles seront
automatiquement ajoutées à chaque facture lors de l’ouverture du popover Legal Literals.
Enfin, certaines mentions comportent le texte {},
qui peut être remplacé par une valeur personnalisée.
Pour cela, vous pouvez soit modifier le texte par défaut de la mention légale
(par exemple, si vous n’accordez jamais d’escompte, remplacez simplement le texte par
« Aucun escompte »), soit modifier le calcul auto-entré de la rubriqueABCinvoice_LegalLiteral::text, comme indiqué dans le commentaire de ce calcul.
Cette approche vous permet de remplacer la balise {}
par l’information de votre choix, en fonction du code de la mention.
Partie 2 – Adaptation de vos scripts
Attachments : tous les documents figurant dans la table ABCinvoice_Attachment seront uploadés avec votre facture.
Attention : une fois uploadée, une pièce jointe ne peut pas être supprimée ! Vous pouvez toutefois en ajouter tant que la facture n’est pas envoyée.
-
Ajout de pièces jointes
-
Un script ABCinvoice_sample_AddAttachment est fourni à titre d’exemple,
mais gardez en tête qu’il vous suffit d’ajouter des documents liés à votre facture
dans la table ABCinvoice_Attachment.
Par exemple, si votre solution stockait déjà les PDF de vos factures, il vous suffit de modifier votre script original pour qu’il enregistre le PDF dans cette table liée. -
Important : dans cette table Attachment,
le champ isInvoice détermine si la pièce jointe représente la facture
(le PDF de la facture). Si c’est le cas, définissez la valeur du champ à
1(True). Si ce n’est pas le cas – par exemple pour ajouter les conditions générales ou un décompte client –, définissez la valeur du champ à0(False). L’interface proposée par l’Add-on permet également de cocher la case correspondante.
-
Un script ABCinvoice_sample_AddAttachment est fourni à titre d’exemple,
mais gardez en tête qu’il vous suffit d’ajouter des documents liés à votre facture
dans la table ABCinvoice_Attachment.
-
Plusieurs scripts d’exemple sont fournis dans le dossier
« ABCinvoice – integration example »,
par exemple le script ABCinvoice_sample_CreateInvoice,
qui permet de créer une facture électronique.
Ces scripts affichent des boîtes de dialogue en cas d’erreur ;
il faudra les adapter pour qu’ils correspondent à votre flux de gestion des erreurs.
Important : avant d’adapter ces scripts et de les utiliser, il est recommandé de dupliquer ce dossier, afin de faciliter une éventuelle future mise à jour de l’Add-on. - Ne modifiez pas les scripts présents dans le dossier « ABCinvoice (private) ».
- L’Add-on est livré avec des listes de valeurs pour vous assister. Toutes ces listes sont préfixées par ABCinvoice.
Partie 3 – Réception de factures
Si vous avez déjà une table de factures entrantes :
-
Duplication et adaptation des scripts :
- ABCinvoice_GetReceivedInvoices – Scheduled script
- ABCinvoice_GetReceivedInvoicesDetails
- ABCinvoice_Create_RINL (invoice)
- ABCinvoice_Create_RDUEDATES (invoice)
- ABCinvoice_Create_RTAX (invoice)
- ABCinvoice_Create_RECEIVED_ATTACHMENTS (invoice)
- Les modèles pour la liste des factures entrantes et l’affichage de leur détail se trouvent dans le dossier ReceivedInvoicesLayouts de l’add-on.
- Les scripts permettant de récupérer les factures entrantes sont également inclus et ne nécessitent pas de modification de votre part si vous n’avez pas de table de factures entrantes. Pour recevoir régulièrement les factures fournisseurs, reportez-vous à la Partie 4 – Scripts serveur.
Partie 4 – Scripts serveur
Si votre fichier FileMaker est hébergé sur FileMaker Server ou FileMaker Cloud, ouvrez la console d’administration de votre serveur et configurez un programme (Schedule) pour exécuter les scripts suivants :
- ABCinvoice_GetReceivedInvoices – Scheduled script, afin de recevoir régulièrement les factures fournisseurs dans votre solution.
- ABCinvoice_GetInvoicesState – Scheduled script, qui met à jour le statut des factures.
Une fréquence quotidienne est recommandée.