Intégration : FileMaker add-on

Pour intégrer ABCinvoice.eu avec FileMaker, le plus simple est d’utiliser l’Add-on.

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 “Echeances”
     
  • 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. Pour l’instant, le plus simple est de « passer commande » (c’est gratuit) sur le site de 1-more-thing et de cliquer sur le lien reçu par email pour installer l’add-on.
  • Dans votre solution, passez en mode modèle et installez l’add-on (+ dans l’onglet Add-ons du volet de gauche). Sélectionnez l’add-on que vous venez de décompresser.
  • Glissez l’add-on sur un modèle.
  • Créez une relation entre votre table Factures et la table ABCinvoice_Attachment en utilisant idInvoice comme clef étrangère. (lien de la clef primaire de votre table Factures vers ABCinvoice_Attachment::idInvoice)
  • Créez une relation entre votre table Factures et la table ABCinvoice_LegalLiteral en utilisant idInvoice comme clef étrangère. Cochez la case permettant de créer des enregistrements liés depuis Factures. La table ABCinvoice_LegalLiteral vous permet d’ajouter des mentions légales à vos factures.
  • Optionnel : copiez la table externe du modèle ABCinvoice_LegalLiteral_Example vers le modèle de votre table Factures afin de faciliter la saisie de mentions obligatoires.
  • Optionnel : copiez la table externe du modèle ABCinvoice_Attachments_Example vers le modèle de votre table Factures
  • Configuration des champs
      • Copiez les champs de la table ABCinvoice_invoiceExample dans votre table Factures
      • Copiez le champ de la table ABCinvoice_invoiceLineExample dans votre table Lignes
      • Échéances (si vous gérez les échéances multiples) : copiez le champ de la table ABCinvoice_InvoiceDueDateExample dans votre table Echeances
      • Modifiez les champs de ABCinvoice_JSONrepresentation_{table} des tables Factures, Lignes, et, si vous gérez des échéances multiples, de la table Echeances.
          • Notes sur la configuration des champs JSONrepresentation:
              • Les dates sont passées en tant que nombres pour assurer la compatibilité entre tous les systèmes (client/serveur…). Par exemple le paramètre dateAsNumber de ABC_invoice_JSONrepresentation_invoice doit être passé comme : ObtenirNombre ( Facture::dateDeFacture )
              • Les tableaux de données liées doivent être passés ainsi : ;[ « invoiceLinesAttributes » ; JSONMakeArray ( List ( Lignes:: ΩABCinvoiceJSONrepresentation_invoiceLine ) ; ¶ ; JSONObject ) ; JSONArray ]
      • Pour la ou les date(s) d’échéance, vous pouvez :
        • Si vous ne gérez pas les dates d’échéance multiples, utiliser le paramètre dueDateAsNumber
        • Si vous les gérez dans une table séparée, utilisez le paramètre proposé dans l’exemple.
  • Configurez le script ABCinvoice_Config
  • Réglages
    • Créez un compte sur ABCinvoice et obtenez une clef d’API
    • Depuis l’interface (l’add-on que vous avez glissé sur le modèle), renseignez la clef d’API ainsi que votre pays (le pays depuis lequel seront émises les factures). Mettez à jour la bibliothèque de mentions légales en cliquant sur Update legal literals.
  • Supprimez les éléments non utilisés, qui ne sont là que pour vous aider à configurer
    • Les tables comprenant le mot Example ainsi que leurs occurrences de table (ABCinvoice_InvoiceExample, ABCinvoice_InvoiceLineExample, ABCinvoice_DueDateExample)

Partie 2 – Adaptation de vos scripts

Attachements : tous les documents qui figurent dans la table ABCinvoice_Attachment seront uploadés avec votre facture.

ATTENTION : une fois uploadée, une pièce jointe ne peut être supprimée ! Vous pouvez ajouter des pièces jointes tant que la facture n’est pas envoyée.

  • Si vous souhaitez joindre un PDF de votre facture à la facture électronique, enregistrez le comme pièce jointe (table ABCinvoice_attachment) avec le script ABCinvoice_sample_AddAttachment avec les paramètres : idInvoice = la clef primaire de votre table Factures et isInvoice = True
  • Enregistrez les autres documents tels que CGV, décompte (solde client)… comme pièces jointes (table ABCinvoice_attachment) avec les paramètres : idInvoice = la clef primaire de votre table Factures et isInvoice = False
  • 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 ne comportent pas de gestion d’affichage des erreurs. Il faudra les dupliquer et les adapter afin qu’ils correspondent à votre flux de gestion des erreurs.
  • Il vous suffit d’ajouter, dans la section ———– FIND YOUR INVOICE ———–, la navigation vers la facture à créer, puis de modifier les paramètres optionnels si nécessaire dans la section ———–✏️ DEFINE OPTIONAL VALUES ———–. Vous pouvez dupliquer les scripts d’exemple pour les adapter à vos besoins.
  • Ne modifiez pas les scripts présents dans le dossier « ABCinvoice (private) »
  • L’addon est livré avec des listes de valeurs pour vous assister. Toutes ces listes sont préfixées par ABCinvoice.eu

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) et ABCinvoice_Create_RTAX (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 factures entrantes.
        • 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 serveur pour exécuter le script ABCinvoice_GetReceivedInvoices – Scheduled script à intervalle régulier (par exemple une fois par jour)

        Partie 4 – Modèles d’exemple

        • Deux modèles d’exemple sont fournis avec des tables externes prêtes à l’emploi pour vos propres modèles : ABCinvoice_Legal_Example pour les mentions légales, ABCinvoice_Attachment_Example pour les pièces jointes. Vous pouvez copier et modifier ces tables externes si nécessaire. 

        Besoin d’aide ou d’un conseil ?