Hi Beat,
Well of course I understand that you have priorities but this feature thing is really important as it is against french (and maybe European) regulations.
You cannot call basket = invoice and repeat the same invoice number for different payments, that’s agains the law.
I have noticed that when using Pro Forma invoice setting and SEPA payment with Stripe, the invoice number recorded in cbsubs_payment table invoice column is the pro forma one and not the definitive one.
This can be useful if we can use this table as the base one to generate invoice ??
You state that baskets = invoices, but that’s not what it looks like. CBsubs baskets do not look like invoices but look more like orders (pending or completed).
Invoices need to be unique and then cbsubs_payment table seems to record unique payments, so invoices should be linked to payment table and not basket table.
So could it be possible without too much hassle to :
- change wording from invoice to order in CBsubs languages, and change the name for last order column instead of invoice column in back end basket listing
- Add a front view based on payment table displaying invoices/payments with the same display as basket today and getting the substitutions from payment table and not basket table
- Add an invoice column in backend payment table linked to this view (same as what exists for basket table today)
That could be enough to have a decent invoicing feature with no heavy development and be compliant with our regulations.
I insist that it’s forbidden in France to have the same invoice number for different payments like CBsubs displays right now in the frontend.
Using payment table could be a quick way to enhance things.
I am sorry to insist on this but as CBsubs has no mean to link to an invoicing software, that would be a nice thing to do without too much changes.
For now we use a query field to display payments and help our customers keep track of their payments, but as this always displays the same basket, that really defeats the purpose.
Field is :
SELECT DATE_FORMAT( `time_completed_date`, '%d %b %Y' ) AS time_completed_date_formatted FROM `#__cbsubs_payment_baskets` WHERE `payment_status` = 'Completed' AND `user_id` = '[user_id]' ORDER BY time_completed_date DESC LIMIT 12
Display :
<div class="small col-sm-2">[column_time_completed_date_formatted]</div>
I kept this in this post as refund do not appear in figures in present invoices, which is also against rules. It is not enough to mention a partial or total refund, the amount has to be mentioned and the taxes also.
What do you think of this suggestion to mix proforma numbering use and payment table to display real invoices ?
Could it be done easily ?
Thanks for reading, we are all in the same boat, helping you to debug and enhance things, but also with real business needs of day to day uses.
Regards
Jean