• ****
  • 214 posts
Invoice Plugin - Global Coverage and Cleaner
« on: February 04, 2022, 12:46:51 PM »

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 1
Many 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. :P

Point 2
As 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! :o



MB Themes

Re: Invoice Plugin - Global Coverage and Cleaner
« Reply #1 on: February 04, 2022, 01:25:30 PM »
Thanks for feedback, will put it on list ;)
  To get fast support, we need following details: Detail description, URL to reproduce problem, Screenshots



  • ****
  • 214 posts
Re: Invoice Plugin - Global Coverage and Cleaner
« Reply #2 on: February 04, 2022, 03:05:08 PM »
As a complementary note, the Upload section should also include a notification on the page, with something like: In order to avoid any possible mismatches, you should use only one system for invoice generation - by plugin, or external upload.

Also, taking into consideration that the invoicing system is critical for a company, the cleanup button should contain a:
Code: [Select]
onclick="return confirm('Note that deleting old invoices is permanent! Make sure you have backups for future reference. Are you sure you want to continue?');"This will prompt the admin to double check if he has backups of the invoices in the local billing/ERP system (most countries require you to keep them for at least three years), and prevent any loses. :-X

Update: And a note in the Reports section, with something like:

Thank you!
« Last Edit: February 04, 2022, 03:14:39 PM by Tango »