cogApplication to manage invoices
Developed by

Thomas Mortagne

Active Installs5
0 Votes
LicenseGNU Lesser General Public License 2.1

Installable with the Extension Manager


Application to manage invoices


  • create invoices
  • create reimbursements
  • unique generated invoice number
  • support several products per invoice
  • wiki users customers
    • customers that also are wiki users can see their invoices in their profile
    • users can customize the information automatically filled in the invoices
    • users can indicate another user which are supposed to deal with their invoices (i.e. pay for them)
    • invoices are automatically sent by mail attached as PDF





Customize seller address and mail

Modify application home page with object editor.

Customize Mail template

Modify document InvoicesCode.MailTemplate.

Customize Invoice displayer

Modify document InvoicesCode.InvoiceSheet.

Technical details

Everything is in wiki pages, part of it could have been cleaner in a Jar but this application is also an experiment on how to do a complex application with script service and listeners fully in wiki.

  • InvoicesCode.InvoiceSheet: invoice displayer
  • InvoicesCode.InvoiceClass: invoice class
  • InvoicesCode.ServiceInitializerListener: contains most of the application logic as groovy code triggered by a wiki listener (the part that would usually be in Java)

Tested on

This extension has been tested with the following configurations.

Extension VersionXWiki FlavorNotes
1.3XWiki Enterprise 7.4.1

Prerequisites & Installation Instructions

We recommend using the Extension Manager to install this extension (Make sure that the text "Installable with the Extension Manager" is displayed at the top right location on this page to know if this extension can be installed with the Extension Manager). Note that installing Extensions when being offline is currently not supported and you'd need to use some complex manual method.

You can also use the following manual method, which is useful if this extension cannot be installed with the Extension Manager or if you're using an old version of XWiki that doesn't have the Extension Manager:

  1. Log in the wiki with a user having Administration rights
  2. Go to the Administration page and select the Import category
  3. Follow the on-screen instructions to upload the downloaded XAR
  4. Click on the uploaded XAR and follow the instructions
  5. You'll also need to install all dependent Extensions that are not already installed in your wiki

Get invoices in user profile before XWiki 12.2

Edit XWiki.XWikiUserSheet document and add the following line:

  #set($discard = $categories.add({'id':'invoices', 'sheet':'InvoicesCode.XWikiUserInvoicesSheet', 'glyphicon': 'list-alt'}))

where you can find others similar entries.

Release Notes



Updated translations.


Updated translations.







  • Set the right action in the XWikiContext when exporting in PDF
  • Disable PDF header/footer (only works since XWiki 7.4.1)


  • Multi language invoice displayer
  • Make invoice footer configurable
  • Make seller address configurable (an object in the application home page)
  • Allow having several products in the same invoice
  • Add support for Servlet 3.1 based application server
  • Various improvements and bugfixes


Dependencies for this extension (org.xwiki.contrib.invoices:application-invoices 1.7):


Get Connected