InvoiceReport
Contents |
Principe
La facturation sous ofbiz utilise la technologie xsl-fo couplé avec la technologie ftl ce qui permet des possibilités de création de facture très complexes, mais ce révèle tous aussi complexe pour de modification simple.
Afin de palier à ce problème Néogia propose une deuxième solution basé sur la technologie jasperReport. Cette dernière est moins permissive qu'xsl-fo mais à l'avantage de permettre des modifications rapidement à travers l'interface iReport. Dans la pluspart des cas l'utilisation de jasperReport suffit amplement et permet d'obtenir une facturation personalisée très rapidement.
Séléction du mode de rendu de la facture
L'appel à l'impression se fait par la requête accounting/control/invoice.pdf?invoiceId=${invoiceId}.
Lors de cet appel, Néogia va interroger la variable report.accounting.invoice.type afin d'obtenir le moteur de rendu à utiliser. Par défaut jasperReport sera utilisé.
Facture par XSL-FO
- Initialisation des données : applications/accounting/webapp/accounting/WEB-INF/actions/invoice/editInvoice.bsh
- Fichier du report : applications/accounting/webapp/accounting/invoice/viewInvoiceN.fo.ftl
Le report traite à la volée les données donc il y a un mélange entre le rendu du report et le traitement des informations. Actuellement le report échoue si la facturation n'est pas issue d'une commande
Facture par JasperReport
- Initialisation des données :
- neogia/accounting/src/org/ofbiz/accounting/report/developed/InvoiceJR.java
- service : invoiceReport
- Fichier du report : neogia/accounting/webapp/accounting/report/developed/Invoice.xml
Actuellement les entrées de report sont :
Information de la facture invoiceId numéro de facture invoiceDate date de la facture invoiceTitle titre de la facture (Facture ou Avoir) dueDate date d'échéance de la facture companyLogo chemin du logo de l'entreprise companyName nom de l'entreprise companySlogan solgan de l'entreprise amountApplied Montant des paiements déjà perçu pour cette facture
Information des Acteurs partyId Référence du client de la facture shippingCustomer nom du client à livrer shippingAddress1 adresse de livraison shippingAddress2 adresse de livraison suite shippingCity ville de livraison shippingPostalCode code postal de livraison shippingCountry pays de livraison billingCustomer nom du client facturé billingAddress1 adresse du client facturé billingAddress2 adresse du client facturé suite billingPostalCode code postal du client facturé billingCity ville du client facturé billingCountry pays du client facturé
Texte textHeader Texte d'entête de facture textHeader2 Texte présent avant la liste des lignes de facturation textFooter1 Texte en bas de facture (présentation des conditions) textFooter2 Texte en bas à gauche (condition de paiement) textFooter3 Texte présent en dessous des taxes
Résumé des taxes induites taxAmountO Montant total des taxes fixes taxAmount1 Montant total du premier type de taxe taxAmount2 Montant total du deuxième type de taxe taxAmount3 Montant total du troisième type de taxe taxAmount4 Montant total du quatrième type de taxe taxNameO Code de la première taxe fixe taxName1 Code de la première taxe taxName2 Code de la deuxième taxe taxName3 Code de la troisième taxe taxName4 Code de la quatrième taxe taxDescription1 Description de la première taxe fixe taxDescription1 Description de la première taxe taxDescription2 Description de la deuxième taxe taxDescription3 Description de la troisième taxe taxDescription4 Description de la quatrième taxe taxBaseCalcul1 Quantité de taxe fixe taxBaseCalcul1 Base de cacul pour la première taxe taxBaseCalcul2 Base de cacul pour la deuxième taxe taxBaseCalcul3 Base de cacul pour la troisième taxe taxBaseCalcul4 Base de cacul pour la quatrième taxe
Information par ligne de facturation invoiceItemSeqId Numéro de séquence de la ligne productId Code du produit ou de la promotion ou de la taxe si ces deux dernières ne sont pas appliqué à une ligne particulière description Description de la ligne de facturation quantity Quantité de la ligne de facturation amount Montant de la ligne de facturation amountPromo Montant des promotions associées à la ligne de facturation amountTax Montant des taxes associées à la ligne de facturation amountFixTax Montant des taxes fixes associées à la ligne de facturation value Valeur de la ligne (quantity*amount-amountPromo)


