copainfo / invoice-module
Module qui permet de généré des factures
Installs: 26
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Language:Hack
Requires
- php: ^8.1
- spipu/html2pdf: ^5.2
- squizlabs/php_codesniffer: ^3.7
Requires (Dev)
- fakerphp/faker: ^1.22
- phpro/grumphp: ^1.16
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.1
This package is auto-updated.
Last update: 2025-03-01 00:40:08 UTC
README
InvoiceModule est un générateur de facture au format PDF.
Ce générateur est en php 8.1.
Il s'appuie sur la librairie Html2Pdf qui permet de faire la conversion d'un code HTML 4.01 en PDF.
Configuration requise
InvoiceModule fonctionne avec PHP >8.1 et Composer.
Vous aurez également besoin d'avoir au minimum les extensions php suivantes :
- gd
- mbstring
Installation
Vous devez utiliser Composer pour installer InvoiceModule.
Si vous ne savez pas ce qu'est Composer :
-
Vous pouvez trouver la documentation sur https://getcomposer.org/doc/
-
Vous pouvez trouver tous les paquets disponibles sur https://packagist.org/
composer require copainfo/invoice-module
Utilisation
Pour la customisation des Factures il y a besoin de deux modifications de votre part :
Exemple
Template
Un exemple de template est disponible ici : Template
Ce template génère une facture sans paramètre ressemble à ce fichier : Pdf
Interface
Un exemple d'interface est disponible ici : Interface
Cette interface génère une facture qui ressemble à ce fichier : Pdf
Utilisation
Exemple d'utilisation avec l'interface d'exemple.
$detail = new DetailsTableExemple(); // On crée un Objet Qui implement l'interface $builder = new InvoiceBuilder($detail); // On crée un invoiceBuilder $detail->setProductList([ // On ajoute des produits au tableau des produits [ "product"=>"Product 1", "description"=>"first Product", "PUHT"=>100, "TVA"=>20, "quantity"=>2, ], [ "product"=>"Product 2", "description"=>"next Product", "PUHT"=>100, "TVA"=>20, "quantity"=>2, ] ]); $builder->setInvoiceInfo("1", "Test", new DateTime()); // On donne les informations de la facture $builder->setIssuerInfo( // On donne les informations de l'entreprise "Nom de l'entreprise", "25 rue de l'adresse ", "65214 VilleIci", "06 06 06 06 06", "900 367 004 00653", "SARL", "1000 €", "VilleIci", "900 367 004 00653", "900 367 004 00653" ); $builder->setCustomerInfo(// On donne les informations du client "Nom du client", "65 rue de l'adresse", "65214 VilleIci", "06 06 06 06 06", "mail@mail.com", ); $invoicePdf = $builder->getInvoice( // Ici, on crée la facture "TestTemplate", // avec le template : TestTemplate. ["LOGOSRC" => "./logo.png"] // on donne les valeurs des paramètres personnalisés );
La fonction méthode getInvoice permet de retourner le contenu du fichier PDF.