[cvs] [Wiki] created: MinervaModule

Duck duck at obala.net
Wed Jan 3 22:20:40 PST 2007


duck  Wed, 03 Jan 2007 22:20:39 -0800

Created page: http://wiki.horde.org/MinervaModule

+ Minerva 

Minerva is an on-line invoicing application. The aim is to provide an complete billing system that runs alone or as a supporter for other application that needs invoicing.

+++ Document types

Additional to the default ones (“proforma”, “invoice”) you can create your own invoice or better say document type. For example if you manage goods and you must first send items and wait delivery confirmation, you can create a type “delivery” or “delivery note”. Send the created “delivery note” to the client and when he return you the signed paper, just convert the delivery to the normal invoice.

The first ordered one is the default.

All document types have his own counter. By default is reseted at every now year. The next document id is passed to preference “invoice_name” to retreive its name. When you create a new type you can supply the counter offset from where to start counting. So if you set your offset to 11, and the preference name is set default, your next invoice name would be “12/2007”. Minerva checks that the invoice name is unique in every type.

+++  Document Drafts

Drafts are used to convert invoice data in a document form. For every type there must be a corresponding template in /templates/convert/<typeID>.html. Is supposed that every draft has at least one html file, which is passed and filled by Horde_Template. This file must be named <typeID>.html.  

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 draft folder. So you can have a general header/footer for all drafts.

+++ Document statuses

Like for types, you can  create your own invoice statuses. And assign them to different invoice types by the statuses matrix in the the status administration form.

+++ Permissions

You can assign permission per ever status, type or outcome by the Horde Permission user interface. This allows you to limit the usage or access to different program parts or document statuses. 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.

+++ Locks

When open an invoice id denied if the invoice is opened by another user. The lock is hold for 30 minutes or till the editing user exits the invoice editing page.

+++ Recurrences

Recurrences has two main features. The first is something like “Favorites” for invoicing.  If you often create a new invoice whit the same articles etc, you can just click “the create new invoice” button and you will be redirected to the new invoice forum filled with the old invoice data.

The second feature is automatic invoice creation. A invoice can be automatically repeated form the supplied starting date. And it can occurs till the ending date or till the number of recurrences. The batch will automatically change the publishing date. The service date is calculated from supplied intervals. For more information check the “recurrence.php” script int the Minerva scripts directory. This script should be added to your periodical command scheduler (cron).

+++ 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, will add an “Add client” icon next to the client name filed. Using it, will open 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

Neary the same as for clients, articles can be added directly in the invoice or in imported from any
application that has listCostObject method (Merk, Whups, Nag) 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 update the columns receives from the invoice form.

+++ 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
* Invoice drafts
* Print several invoices at once
* Mass download (in a zipfile)
* Mass status change 

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
* 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


More information about the cvs mailing list