Hello,
I took some time to analyze the
Invoice Plugin, and found it to be missing 2 rather simple features:
- The ability for the site owner to manually upload invoices generated from external sources (e.g. professional billing software).
- A maintenance function, for deleting old invoices.
Now let me explain.
Point 1Many times, for busier Osclass installs that have a lot of transactions, the standard invoicing system becomes overwhelmed, and in this case you'll most likely have an external-dedicated billing software ERP, that manages your entire workflow.
This offers some other advantages like API access, optimized files (the invoices from my software are 55 kb each, wile the ones from the plugin are 100 kb+) etc.
Now, if you generate your invoices outside the plugin, there's no way to upload them into the system.
The fix:Add a new
Upload section in the plugin back-end, where the admin could upload invoices for users.
This section would contain the following parameters that can be manually filled in by the admin:
- Osclass User: Autocomplete field to find the user you want to attach the invoice to (Required Field).
- ID: Field to manually insert the invoice ID (Required Field).
- Header: The actual name of the uploaded invoice, pulled automatically from the file name.
- Date: The date the file was uploaded. Automatically added.
- Due date: Field to manually insert the Due Date. If none is specified, return -
- Amount: Field to manually insert the Amount (Required Field).
- Balance: Field to manually insert the Balance. If none is specified, return -
- Upload Button
So having this feature would eliminate any incompatibilities between the plugin and the individual requirements of each user/country billing, by allowing the admin to generate invoices in his own billing software, and upload them in the plugin for the users to download.
Point 2As most of Osclass installs will be on
shared hosting where there is a Inode limit, I suggest having a cleaner function (like the one in the
Instant Messenger Plugin), that allows us to delete generated/uploaded invoices older than X days (default 365).
The entry in the DB should remain, however the user would not be able to download his invoice, and will get a message in the button.
Adding these would be just mind-blowing!
Thanks!