Minerva is an on-line invoicing application. The aim is to provide an complete standalone invoiceing system and provide invoicing functionality to other applications.
+++ General futures
Custom invoice types (proforma, invoice, delivery note, ...)
Custom invoice statuses (paid, unpaid, rejected..)
Recurrence, automatic periodic invoice generation
Export invoice in XML (single invoice or multiply)
Export invoice list in CSV file
Reseller, tracking resellers revenue and resellers
Email drafts
Bank accounts list
Invoice drafts
Send custom text document to all/selected clients
Print several invoices at once
Mass download (in a zipfile)
Mass status change
Detailed advanced serach
Api to provide invoices for other modules
Outcome
tracking of outgoing money from your company (when, to who...) display outcome dues in calendar
Bank accounts, track from which account the bill was paid
Statistics with graphs
Expired invoices, List and send notifications for expired invoices and send notify emails to client
Revenue, Calculate income and outcome in certain period confront the two calculation
Taxes, calculate taxes from selected invoices
Permissions
for every invoice type you can set edit, delete, show permission
for every invoice status you can set edit, delete, show permission
recurrence access and generation
Requirements
PHP 5.1
recent Horde CVS snapshot
Horde_Currencies from incubator
Horde_Taxes from incubator
Horde_Helper_* from incubator
Horde 4.0+
+++ Types
Additional to the default ones (proforma, invoice) you can create your own invoice/document type. For example if you manage goods. You first send items and wait delivery confirmation then issue the invoice. To track this, you can create a document type called delivery note. Send the created delivery note along with the items, and when the customer returns the signed paper, you just convert the delivery to the normal invoice with one click.
The first ordered one is the default.
All document types have his own counter, restarted every year. The next document id is passed to preference invoice_name to create document name (human redable unique id). You can provide an id offset if you did not start with zero.
+++ Statuses
Like for types, you can create your own invoice statuses (default are Pending and Paid). And assign them to different invoice types by the statuses matrix in the the status administration form.
+++ Tempaltes
Tempaltes are used to convert invoice data in a document pritable form. For every type there must be a corresponding template in /templates/convert/
You can have a file named footer.html and header.html which will be added on the top/bottom of the page. If header/footer fill be found, it will search for them in the main tempaltes folder. So you can have a general header/footer for all tempaltes.
+++ Permissions
You can assign access permission per ever status, type or outcome with the Horde Permission user interface. This allows you to limit the usage or access to different program parts or document statuses/types. For example you marketing department can create only proformas, but only the director can create the final invoice. Or for example your secretary can only update the status of the invoice to paid, but she can edit the invoice itself.
+++ Locks
When an invoice is edited, the invoice is locekd. The lock is hold for 30 minutes or till the editing user exits the invoice editing page.
+++ Recurrences
Recurrences has two main missons. The first is Favorites functionality. If you often create a new invoice whit the same articles etc. You not need to search it in the infoce list. You can just click the create new invoice button from the reoccurence list and you will be redirected to the new invoice forum filled with the old invoice data.
The second feature is automatic invoice creation by a recurrence.php script. This script should be added to your cron job.
+++ Clients
Minerva has not his own clients container. The invoice fields are free for typing everything you want.
But if Minerva detects the instalation of Turba Address book, you will see an Add client icon next to the client name filed. It will opens an pop-up with a simple browsing of your clients address book. Click on the client name, and the client data will fill the invoice form and the pop-up will close. The data are transferred to the invoice. And will remain unchanged, if you change or delete client data.
+++ Articles
Nearly the same as for clients, articles can be added directly in the invoice or in imported from any application that has the listCostObject method (Merk, Whups, Nag etc) The required fields are: name, price, tax. All the other fields are optional. You can add any article detail only by altering the template and add column in the database table. Minerva will automatically check the table structure and dinamicaly fix its queries.