Module UltimateInvoice FR: Difference between revisions

Jump to navigation Jump to search
Undo revision 66800 by Grandoc (talk)
No edit summary
Tags: Reverted 2017 source edit
(Undo revision 66800 by Grandoc (talk))
Tag: Undo
Line 1: Line 1:
=Summary=
=Sommaire=
[[Category:Add-on modules]]
[[Category:Modules complémentaires]]
[[Category:Ultimateinvoice]]
[[Category:Ultimateinvoice]]
{{TemplateDocDev}}
{{TemplateDocDev}}
Line 10: Line 10:
|webbuy={{LinkToPluginDownloadDoliStore|keyword=ultimateinvoice}}
|webbuy={{LinkToPluginDownloadDoliStore|keyword=ultimateinvoice}}
|status=stable
|status=stable
|prerequisites=''Invoices'' module enabled - PHP 7.4 minimum
|prerequisites=Module ''Factures'' activé - PHP 7.4 minimum
|minversion=23.0.x - 24.0.x
|minversion=23.0.x - 24.0.x
|note=
|note=
''[[#Summary|⬆ Back to summary]]''
''[[#Sommaire|⬆ Retour au sommaire]]''
}}
}}


=Features=
=Fonctionnalités=
UltimateInvoice replaces the native Dolibarr PDF template for '''invoices''' with a fully customisable template named '''<code>ultimate_invoice</code>'''. A true Swiss army knife for PDF invoices, it lets you define your own graphic identity (logo, colours, margins, page background, column widths), choose exactly what is printed on the document, append your GSC or additional PDF files, add barcodes and QR codes, and '''digitally sign''' the generated file.
UltimateInvoice remplace le modèle PDF natif de Dolibarr pour les '''factures''' par un modèle entièrement personnalisable, nommé '''<code>ultimate_invoice</code>'''. Véritable couteau suisse de la facture PDF, il permet de définir votre charte graphique (logo, couleurs, marges, fond de page, largeurs de colonnes), de choisir précisément ce qui s'affiche sur le document, d'y joindre vos CGV ou des PDF annexes, d'y ajouter des codes-barres et QR-codes, et de '''signer numériquement''' le fichier généré.


'''UltimateInvoice is the lightweight edition of the [[Module_Ultimatepdf_EN|UltimatePDF]] module''': it covers invoices only. For proposals, orders, contracts, shipments, expense reports, interventions, projects, products/BOMs or supplier documents, the full UltimatePDF edition is required.
'''UltimateInvoice est la version allégée du module [[Module_Ultimatepdf_FR|UltimatePDF]]''' : elle couvre uniquement les factures. Pour les devis, commandes, contrats, expéditions, notes de frais, interventions, projets, produits/nomenclatures ou documents fournisseurs, la version complète UltimatePDF est nécessaire.


===Two levels of configuration===
===Deux niveaux de configuration===


The module is built around two notions that should not be confused<span> </span>:
Le module s'articule autour de deux notions à ne pas confondre<span> </span>:


*The '''Design''' (''Models'' tab) defines '''what the document looks like'''<span> </span>: colours, margins, logo, company alias, page background, column widths. Several Designs can coexist, only one is active by default (<code>ULTIMATE_DESIGN</code> constant), and a selector at the top right of the application lets you switch instantly.
*Le '''Design''' (onglet ''Modèles'') définit '''à quoi ressemble''' le document<span> </span>: couleurs, marges, logo, alias société, fond de page, largeur des colonnes. Plusieurs Designs peuvent coexister, un seul est actif par défaut (constante <code>ULTIMATE_DESIGN</code>), et un sélecteur en haut à droite de l'application permet d'en changer instantanément.
*The '''Options''' and '''Invoices''' pages decide '''what is shown''' on the document<span> </span>: visible columns, address blocks, legal mentions, printed signatures, and so on. They do not affect the graphic design.
*Les pages '''Options''' et '''Factures''' décident '''ce qui s'affiche''' sur le document<span> </span>: colonnes visibles, blocs d'adresses, mentions légales, signatures imprimées, etc. Elles ne touchent pas à l'habillage graphique.


===Graphic customisation (Designs)===
===Personnalisation graphique (Designs)===


*'''Page background'''<span> </span>: background image or background PDF (pre-designed letterhead), with transparency and X/Y positioning.
*'''Fond de page'''<span> </span>: image de fond ou PDF de fond (papier à en-tête déjà maquetté), avec transparence et positionnement X/Y.
*'''Header'''<span> </span>: logo height and width, second logo (partner, certification), sender block width with drag-and-drop preview and a '''French postal standard window envelope''' preset.
*'''En-tête'''<span> </span>: hauteur et largeur du logo, second logo (partenaire, certification), largeur du bloc expéditeur avec aperçu glisser-déposer et préréglage '''enveloppe à fenêtre norme postale française'''.
*'''Company alias'''<span> </span>: prints a company name, address, share capital or VAT number different from the actual legal entity — useful for a trade name or a subsidiary.
*'''Alias société'''<span> </span>: permet d'afficher sur le document une raison sociale, une adresse, un capital ou un n° de TVA différents de l'entité juridique réelle — utile pour une marque commerciale ou une filiale.
*'''Margins and columns'''<span> </span>: PDF margins and the width of each column of the lines table (reference, image, date, type, project, VAT, unit price, quantity, unit, discount), each one resizable with the mouse on a graphic preview.
*'''Marges et colonnes'''<span> </span>: marges du PDF et largeur de chaque colonne du tableau de lignes (référence, image, date, type, projet, TVA, PU, quantité, unité, remise), chacune redimensionnable à la souris sur un aperçu graphique.
*'''Footer'''<span> </span>: font size, height reserved for free text, text and background colours.
*'''Pied de page'''<span> </span>: taille de police, hauteur réservée au texte libre, couleurs du texte et du fond.
*'''Font'''<span> </span>: document font selection (DejaVuSans for extended or Cyrillic character sets).
*'''Police'''<span> </span>: choix de la police du document (DejaVuSans pour les jeux de caractères étendus ou cyrilliques).


Every block of the form has its own '''Save''' button<span> </span>: you validate block by block without losing your input in the others.
Chaque bloc du formulaire possède son propre bouton '''Enregistrer'''<span> </span>: vous validez bloc par bloc sans perdre votre saisie sur les autres.


===Invoice content===
===Contenu de la facture===


*Line columns<span> </span>: numbering, product photo, unit price excl. tax, discount, unit price after discount, quantity, weight and total weight, unit.
*Colonnes de lignes<span> </span>: numérotation, photo produit, PU HT, remise, PU après remise, quantité, poids et poids total, unité.
*Address blocks<span> </span>: recipient, customer and sales representative details, professional IDs (company registration numbers...), intra-community VAT number, vertical stacking of contact blocks.
*Blocs d'adresses<span> </span>: coordonnées destinataire, client, commercial suiveur, identifiants professionnels (SIRET...), n° de TVA intracommunautaire, empilement vertical des blocs de contacts.
*Layout<span> </span>: header not repeated on every page, folding mark, text next to the date, paper format.
*Mise en page<span> </span>: en-tête non répété sur chaque page, repère de pliage, texte associé à la date, format de papier.
*Invoice specific<span> </span>: linked shipments, payment terms, situation invoice, online payment link, customer outstanding amount, amount in words, total incl. tax line, generation without the VAT column.
*Spécifique factures<span> </span>: expéditions liées, conditions de paiement, facture de situation, lien de paiement en ligne, encours client, montant en toutes lettres, ligne de total TTC, génération sans colonne TVA.
*'''Printed''' signatures<span> </span>: manager signature on the document and sales representative signature in the note. These are '''images''' added to the PDF, not to be confused with the cryptographic signature described below.
*Signatures '''imprimées'''<span> </span>: signature du responsable sur le document et signature du commercial suiveur dans la note. Ce sont des '''images''' ajoutées au PDF, à ne pas confondre avec la signature cryptographique décrite plus bas.


===PDF merging and GSC===
===Fusion de PDF et CGV===


*'''GSC'''<span> </span>: a general sales conditions PDF file is uploaded from the ''Options'' page and appended to the invoice, with an optional default preselection.
*'''CGV'''<span> </span>: un fichier de conditions générales de vente est téléversé depuis la page ''Options'' puis ajouté à la suite de la facture, avec présélection par défaut possible.
*'''Additional files'''<span> </span>: once the matching option is enabled on the ''Invoices'' page, one or several arbitrary PDF files can be merged into the document straight from the invoice card.
*'''Fichiers additionnels'''<span> </span>: après activation de l'option correspondante sur la page ''Factures'', un ou plusieurs PDF quelconques peuvent être fusionnés au document depuis la fiche de la facture.


===Electronic signature of invoices (PAdES)===
===Signature électronique des factures (PAdES)===


UltimateInvoice can apply a '''digital signature''' to the PDF as it is generated. It guarantees authenticity to the recipient (the document really comes from you) and integrity (it has not been modified since). Adobe Acrobat Reader shows it in its ''Signatures'' panel, and a '''visible signature box''' is drawn at the bottom right of the last page.
UltimateInvoice peut apposer une '''signature numérique''' sur le PDF au moment de sa génération. Elle garantit au destinataire l'authenticité (le document vient bien de vous) et l'intégrité (il n'a pas été modifié depuis). Adobe Acrobat Reader l'affiche dans son panneau ''Signatures'', et un '''cadre de signature visible''' est dessiné en bas à droite de la dernière page.


{| class="wikitable"
{| class="wikitable"
! Aspect !! Detail
! Aspect !! Détail
|-
|-
| What the feature does || Detached PKCS#7 cryptographic signature, equivalent to '''PAdES-B-B''', natively embedded in the PDF, with a visible and clickable box
| Ce que la fonctionnalité fait || Signature cryptographique PKCS#7 détachée, équivalent '''PAdES-B-B''', intégrée nativement au PDF, avec cadre visible et cliquable
|-
|-
| What it does not do || No qualified timestamp (RFC 3161), no LTV/long-term archiving, '''no qualified eIDAS legal value'''
| Ce qu'elle ne fait pas || Pas d'horodatage qualifié (RFC 3161), pas de LTV/archivage long terme, '''pas de valeur probante eIDAS qualifiée'''
|-
|-
| What it does not replace || Neither electronic invoicing (Factur-X / PDF-A3), nor a qualified signature issued by a trust service provider
| Ce qu'elle ne remplace pas || Ni la facturation électronique (Factur-X / PDF-A3), ni une signature qualifiée délivrée par un prestataire de confiance
|}
|}


Accepted certificate formats<span> </span>: '''<code>.pem</code>, <code>.crt</code>, <code>.p12</code>, <code>.pfx</code>'''. The file must contain '''both the certificate and the private key'''. It is stored in the Dolibarr ''documents'' directory, outside the module web folder<span> </span>: it therefore cannot be downloaded from a browser.
Formats de certificat acceptés<span> </span>: '''<code>.pem</code>, <code>.crt</code>, <code>.p12</code>, <code>.pfx</code>'''. Le fichier doit contenir '''le certificat et la clé privée'''. Il est stocké dans le répertoire ''documents'' de Dolibarr, hors du dossier web du module<span> </span>: il n'est donc pas téléchargeable depuis un navigateur.


'''Important limitation'''<span> </span>: merging additional files rewrites the PDF after it has been generated, which would break the signature. On an invoice where files are merged, the signature is therefore '''automatically skipped''' (a warning is written to the Dolibarr log) rather than produced invalid. GSC merging, on the other hand, remains compatible.
'''Limite importante'''<span> </span>: la fusion de fichiers additionnels réécrit le PDF après sa génération et casserait la signature. Sur une facture où des fichiers sont fusionnés, la signature est donc '''automatiquement ignorée''' (un avertissement est écrit dans le journal Dolibarr) plutôt que produite invalide. La fusion des CGV, elle, reste compatible.


===Barcodes, QR codes and Swiss QR-bill===
===Codes-barres, QR-codes et QR-facture suisse===


*'''Barcodes''' for products (EAN13 with check digit, CODE128, CODE39) and for third parties, at the top or at the bottom of the page.
*'''Codes-barres''' produits (EAN13 avec clé de contrôle, CODE128, CODE39) et codes-barres tiers, en haut ou en bas de page.
*'''QR codes''' for the company (MyCompany), the third party, or the invoice.
*'''QR-codes''' société (MyCompany), tiers, ou facture.
*'''SEPA payment QR code''' (EPC069-12 standard) and '''Swiss QR-bill''', including the full payment slip on a dedicated page. Please note<span> </span>: both settings belong to the '''Dolibarr core''' (''Home - Setup - PDF - Specific parameters tab'', ''Invoices'' section) and not to the module, which simply honours them when generating the document.
*'''QR-code de paiement SEPA''' (norme EPC069-12) et '''QR-facture suisse''' (Swiss QR-bill), y compris le bulletin de versement complet sur une page dédiée. Attention<span> </span>: ces deux réglages appartiennent au '''cœur de Dolibarr''' (''Accueil - Configuration - PDF - onglet Paramètres spécifiques'', section ''Factures'') et non au module, qui se contente de les respecter lors de la génération.


For the full Swiss payment slip, the payment mode must be '''bank transfer''', a bank account must be set on the invoice, your company address must be complete and the IBAN valid (QR-IBANs are not supported yet). The electronic signature box is deliberately drawn on the last page of the invoice, '''before''' the slip is appended, since the slip layout is normative.
Pour le bulletin de versement suisse complet, le mode de règlement doit être le '''virement bancaire''', un compte bancaire doit être renseigné sur la facture, l'adresse de votre société doit être complète et l'IBAN valide (les QR-IBAN ne sont pas encore gérés). Le cadre de signature électronique est volontairement dessiné sur la dernière page de la facture, '''avant''' l'ajout du bulletin, dont la mise en page est normative.


===Compatibility with the Milestone module===
===Compatibilité avec le module Milestone===


UltimateInvoice recognises the milestone lines of the [[Module_Milestone_EN|Milestone]] module (<code>product_type = 9</code>)<span> </span>: they are not handled as regular product lines when computing the line weight and the unit price after discount, and they keep their own formatting in the PDF.
UltimateInvoice reconnaît les lignes jalons du module [[Module_Jalon_FR|Milestone]] (<code>product_type = 9</code>)<span> </span>: elles ne sont pas traitées comme des lignes produit classiques dans le calcul du poids de ligne et du prix unitaire après remise, et conservent leur mise en forme propre dans le PDF.


===Built-in user guide===
===Guide d'utilisation intégré===


A complete guide, in French and in English, can be read directly from the module setup, '''User guide''' tab. It is updated with every release and details every option.
Un guide complet en français et en anglais est consultable directement depuis la configuration du module, onglet '''Guide d'utilisation'''. Il est mis à jour à chaque version et détaille chaque option.


''[[#Summary|⬆ Back to summary]]''
''[[#Sommaire|⬆ Retour au sommaire]]''


==Prerequisites==
==Prérequis==
'''Dolibarr<span> </span>:'''  Supported versions<span> </span>:
'''Dolibarr<span> </span>:'''  Versions supportées<span> </span>:


*'''23.x'''
*'''23.x'''
*'''24.x'''
*'''24.x'''


'''PHP<span> </span>:''' version 7.4 minimum. The full Swiss payment slip on a dedicated page requires PHP 8.1 or later.
'''PHP<span> </span>:''' version 7.4 minimum. Le bulletin de versement suisse complet en page dédiée nécessite PHP 8.1 ou supérieur.


'''Dolibarr modules<span> </span>:''' the '''Invoices''' module must be enabled.
'''Modules Dolibarr<span> </span>:''' le module '''Factures''' doit être activé.


=⚙️ Installation procedure=
=⚙️ Procédure d'installation=


===⚙️ Manual installation===
===⚙️ Installation manuelle===


#'''Download''' the module archive file (.zip).
#'''Télécharger''' le fichier archive du module (.zip).
#'''Put''' the file into the Dolibarr root directory.
#'''Placer''' le fichier dans le répertoire racine de Dolibarr.
#'''Unzip''' the file with the command<span> </span>:
#'''Décompresser''' le fichier zip avec la commande<span> </span>:


<code>unzip module_ultimateinvoice-X.0.0.zip</code>
<code>unzip module_ultimateinvoice-X.0.0.zip</code>


#'''Check''' that the correct module location is<span> </span>:
#'''Vérifier''' que l'emplacement correct du module est<span> </span>:


<code>htdocs/custom/ultimateinvoice</code>
<code>htdocs/custom/ultimateinvoice</code>


#'''The module is now available''' and can be enabled from Dolibarr.
#'''Le module est maintenant disponible''' et peut être activé depuis Dolibarr.


''[[#Summary|⬆ Back to summary]]''
''[[#Sommaire|⬆ Retour au sommaire]]''
=Setup=
=Configuration=
To use this module, you must first enable it. To do so, once logged in with an administrator account,
Pour utiliser ce module, il vous faut d'abord l'activer. Pour cela, après s'être connecté avec un compte administrateur,
go to the "'''Home - Setup - Modules'''" page.
allez sur la page "'''Accueil - Configuration - Modules'''".
The module appears in the "'''Atoo-Net'''" tab, click on "Enable".
Le module apparait dans l'onglet "'''Atoo-Net'''", cliquez sur "Activer".
An icon appears at the end of the module line, click on it to reach the setup pages specific to this module.
Un pictogramme apparait à la fin de la ligne du module, cliquez dessus pour accéder aux pages de paramétrage spécifiques à ce module.


All the administration pages of the module are protected by the <code>ultimateinvoice -> config</code> permission<span> </span>: only users holding this permission (usually administrators) can access them. Other users simply see the <code>ultimate_invoice</code> template appear in the "Models" dropdown list of the invoice card.
Toutes les pages d'administration du module sont protégées par le droit <code>ultimateinvoice -> config</code><span> </span>: seuls les utilisateurs disposant de ce droit (généralement les administrateurs) peuvent y accéder. Les autres utilisateurs voient simplement le modèle <code>ultimate_invoice</code> apparaître dans la liste déroulante "Modèles" de la fiche facture.


The setup consists of five tabs<span> </span>: '''Models''', '''Options''', '''Invoices''', '''User guide''' and '''About'''.
La configuration se compose de cinq onglets<span> </span>: '''Modèles''', '''Options''', '''Factures''', '''Guide d'utilisation''' et '''À propos'''.


==Models tab (Designs)==
==Onglet Modèles (Designs)==


This is where you build the graphic identity shared by all your documents.
C'est ici que se crée l'habillage graphique commun à tous vos documents.


[[File:slide_01_invoice.png|800px]]
[[File:slide_01_invoice.png|800px]]


  - The list shows every existing Design<span> </span>: label, description, border type, colours, status and a "Default" badge for the one currently in use.
  - La liste affiche tous les Designs existants<span> </span>: libellé, description, type de bordure, couleurs, statut et badge "Défaut" pour celui actuellement utilisé.


  - Click on '''Add a design''' to create a new one, or on the pencil to edit an existing design.
  - Cliquez sur '''Ajouter un design''' pour en créer un nouveau, ou sur le crayon pour modifier un design existant.


[[File:slide_02_invoice.png|800px]]
[[File:slide_02_invoice.png|800px]]


  - Fill in block by block<span> </span>: template information and font, page background, header and logos, company alias, central block, margins and column widths, footer. '''Each block has its own Save button.'''
  - Renseignez bloc par bloc<span> </span>: informations du modèle et police, fond de page, en-tête et logos, alias société, bloc central, marges et largeurs de colonnes, pied de page. '''Chaque bloc dispose de son propre bouton Enregistrer.'''


  - A disabled Design no longer appears in selection lists. The "Master template" and the default Design cannot be deleted, so that document generation can never be broken.
  - Un Design désactivé n'apparaît plus dans les listes de sélection. Le "Modèle maître" et le Design par défaut ne peuvent pas être supprimés, afin de ne jamais casser la génération de documents.


'''Important'''<span> </span>: after modifying a Design, if the generated document does not seem to have changed, check that this Design is the one carrying the "Default" badge.
'''Important'''<span> </span>: après modification d'un Design, si le document généré ne semble pas avoir changé, vérifiez que c'est bien ce Design qui porte le badge "Défaut".


==Options tab (global settings)==
==Onglet Options (réglages globaux)==


These settings apply to every document, whatever the chosen Design<span> </span>: logos, address blocks and professional IDs, page background, line content, GSC, bank details, signing certificate, paper format.
Ces réglages s'appliquent à tous les documents, indépendamment du Design choisi<span> </span>: logos, blocs d'adresses et identifiants professionnels, fond de page, contenu des lignes, CGV, coordonnées bancaires, certificat de signature, format de papier.


[[File:slide_03_invoice.png|800px]]
[[File:slide_03_invoice.png|800px]]


Most settings are on/off switches applied immediately<span> </span>; the paper format and the professional IDs are validated with a dedicated '''Save''' button.
La plupart des réglages sont des interrupteurs on/off appliqués immédiatement<span> </span>; le format de papier et les identifiants professionnels se valident avec un bouton '''Enregistrer''' dédié.


===Uploading the GSC===
===Téléversement des CGV===


In the dedicated block, select your general sales conditions PDF file and send it. It will then appear in a dropdown list next to the '''Generate''' button of the invoice card, and can be preselected by default.
Dans le bloc dédié, sélectionnez votre fichier PDF de conditions générales de vente et envoyez-le. Il apparaîtra ensuite dans une liste déroulante près du bouton '''Générer''' de la fiche facture, et peut être présélectionné par défaut.


===Setting up the electronic signature===
===Mise en service de la signature électronique===


In the '''Signing certificate''' block, at the bottom of the Options page<span> </span>:
Dans le bloc '''Certificat de signature''', en bas de la page Options<span> </span>:


#'''Upload''' your certificate file (<code>.pem</code>, <code>.crt</code>, <code>.p12</code> or <code>.pfx</code>) containing both the certificate and the private key.
#'''Téléversez''' votre fichier certificat (<code>.pem</code>, <code>.crt</code>, <code>.p12</code> ou <code>.pfx</code>) contenant le certificat et la clé privée.
#'''Enter the reason''' for the signature (free text shown in the PDF signature properties, for instance "Invoice certified true").
#'''Renseignez le motif''' de la signature (texte libre visible dans les propriétés de signature du PDF, par exemple "Facture certifiée conforme").
#'''Enter the password''' of the private key if it is protected, then save.
#'''Renseignez le mot de passe''' de la clé privée si elle est protégée, puis enregistrez.
#'''Turn on''' the "Electronically sign the invoice PDF" switch.
#'''Activez''' l'interrupteur "Signer électroniquement le PDF de facture".
#'''Generate an invoice''' and open it in Acrobat Reader<span> </span>: the ''Signatures'' panel must show the signature and the visible box appears at the bottom right of the last page.
#'''Générez une facture''' et ouvrez-la dans Acrobat Reader<span> </span>: le panneau ''Signatures'' doit afficher la signature et le cadre visible apparaît en bas à droite de la dernière page.


Only one certificate at a time is taken into account<span> </span>: delete the old one before uploading a new one.
Un seul certificat à la fois est pris en compte<span> </span>: supprimez l'ancien avant d'en téléverser un nouveau.


For '''testing''', a self-signed certificate is enough<span> </span>:
Pour '''tester''', un certificat auto-signé suffit<span> </span>:


<code>openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout signature.key -out signature.crt</code>
<code>openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout signature.key -out signature.crt</code>
Line 173: Line 173:
<code>cat signature.crt signature.key > signature.pem</code>
<code>cat signature.crt signature.key > signature.pem</code>


Acrobat will then display the signature as "present but not trusted"<span> </span>: this is expected, since the authority is not recognised. In production, use a certificate issued by a certification authority.
Acrobat affichera alors la signature comme "présente mais non fiable"<span> </span>: c'est normal, l'autorité n'étant pas reconnue. En production, utilisez un certificat délivré par une autorité de certification.


'''To know before deploying'''<span> </span>: the private key password is stored in clear text in the Dolibarr constants table, as there is no native secret vault. Restrict access to the database and to backups accordingly, and apply strict file permissions on the certificate storage directory.
'''À savoir avant de déployer'''<span> </span>: le mot de passe de la clé privée est stocké en clair dans la table des constantes de Dolibarr, faute de coffre-fort de secrets natif. Restreignez l'accès à la base et aux sauvegardes en conséquence, et appliquez des droits fichiers stricts sur le répertoire de stockage du certificat.


==Invoices tab==
==Onglet Factures==


This page gathers the settings specific to the invoice content<span> </span>: addresses, barcodes and QR codes, linked project, header and layout, line columns, printed signatures, PDF merging and invoice specific settings (linked shipments, situation invoice, online payment link, customer outstanding amount, amount in words...).
Cette page regroupe les réglages propres au contenu de la facture<span> </span>: adresses, codes-barres et QR-codes, projet lié, en-tête et mise en page, colonnes de lignes, signatures imprimées, fusion de PDF et réglages spécifiques aux factures (expéditions liées, facture de situation, lien de paiement en ligne, encours client, montant en toutes lettres...).


[[File:slide_04_invoice.png|800px]]
[[File:slide_04_invoice.png|800px]]


==User guide tab==
==Onglet Guide d'utilisation==


Displays the complete module guide in the language of the interface (French or English). It is the reference documentation, more detailed than this page.
Affiche le guide complet du module dans la langue de l'interface (français ou anglais). C'est la documentation de référence, plus détaillée que cette page.


[[File:slide_05_invoice.png|800px]]
[[File:slide_05_invoice.png|800px]]


''[[#Summary|⬆ Back to summary]]''
''[[#Sommaire|⬆ Retour au sommaire]]''


=Usage=
=Utilisation=


  - Open the '''invoice''' card, then, in the '''Documents''' block at the bottom of the card, choose the '''<code>ultimate_invoice</code>''' template in the "Models" dropdown list and click on '''Generate'''.
  - Ouvrez la fiche de la '''facture''', puis, dans le bloc '''Documents''' en bas de fiche, choisissez le modèle '''<code>ultimate_invoice</code>''' dans la liste déroulante "Modèles" et cliquez sur '''Générer'''.


  - The PDF appears in the list of attached files<span> </span>: it can be downloaded, previewed or sent by e-mail.
  - Le PDF apparaît dans la liste des fichiers joints<span> </span>: il peut être téléchargé, prévisualisé ou envoyé par e-mail.


  - '''Switch Design quickly'''<span> </span>: use the dedicated selector in the menu at the top right of the application, without going back to the full setup.
  - '''Changer de Design rapidement'''<span> </span>: utilisez le sélecteur dédié dans le menu en haut à droite de l'application, sans repasser par la configuration complète.


  - '''Append the GSC'''<span> </span>: select the GSC file in the dropdown list next to the Generate button.
  - '''Ajouter les CGV'''<span> </span>: sélectionnez le fichier CGV dans la liste déroulante située près du bouton Générer.


  - '''Merge an additional PDF'''<span> </span>: once the option is enabled on the ''Invoices'' page, select the file(s) to merge from the invoice card. On those invoices, the electronic signature is automatically skipped.
  - '''Fusionner un PDF annexe'''<span> </span>: après activation de l'option sur la page ''Factures'', sélectionnez le ou les fichiers à fusionner depuis la fiche de la facture. Sur ces factures, la signature électronique est automatiquement ignorée.


==Troubleshooting==
==Dépannage==


{| class="wikitable"
{| class="wikitable"
! Symptom !! Likely cause
! Symptôme !! Cause probable
|-
|-
| The <code>ultimate_invoice</code> template is missing from the list || The UltimateInvoice module or the ''Invoices'' module is not enabled
| Le modèle <code>ultimate_invoice</code> n'apparaît pas dans la liste || Le module UltimateInvoice ou le module ''Factures'' n'est pas activé
|-
|-
| The document does not reflect the changes made to a Design || This Design is not the one carrying the "Default" badge
| Le document ne reflète pas les modifications d'un Design || Ce Design n'est pas celui qui porte le badge "Défaut"
|-
|-
| No signature and no visible box on the PDF || No certificate uploaded, or unrecognised extension
| Aucune signature ni cadre visible sur le PDF || Aucun certificat téléversé, ou extension non reconnue
|-
|-
| Log<span> </span>: ''skipped: additional files merging is active'' || Additional files are merged into this invoice, both features are mutually exclusive
| Journal<span> </span>: ''skipped: additional files merging is active'' || Des fichiers additionnels sont fusionnés à cette facture, les deux fonctions s'excluent
|-
|-
| Acrobat shows "signature not valid" || Self-signed certificate<span> </span>: expected while testing, use a certificate from a recognised authority in production
| Acrobat affiche "signature non valide" || Certificat auto-signé<span> </span>: normal en test, utilisez un certificat d'une autorité reconnue en production
|-
|-
| Log<span> </span>: ''Error getting private key'' || Private key password missing or wrong, or file without the private key
| Journal<span> </span>: ''Error getting private key'' || Mot de passe de la clé privée absent ou erroné, ou fichier sans clé privée
|-
|-
| The Swiss payment slip does not show up || See the <code>SwissQr*</code> messages in the Dolibarr log<span> </span>: payment mode other than bank transfer, non compliant address or IBAN, QR-IBAN not supported
| Le bulletin de versement suisse n'apparaît pas || Voir les messages <code>SwissQr*</code> dans le journal Dolibarr<span> </span>: mode de règlement autre que le virement, adresse ou IBAN non conformes, QR-IBAN non géré
|}
|}


The Dolibarr log ('''Home - Setup - Other - Logs''') traces every generation and every signature attempt.
Le journal Dolibarr ('''Accueil - Configuration - Autres - Journaux''') trace chaque génération et chaque tentative de signature.


''[[#Summary|⬆ Back to summary]]''
''[[#Sommaire|⬆ Retour au sommaire]]''

Navigation menu