CBSubs Stripe Sepa recurring payments and triggers

3 years 10 months ago #319095 by beat

activha wrote:

Your accounting department can then just use Stripe > Customers > Invoices (it even has Export functionality) for a full invoice record.


Unfortunately that's not doable as legally we need to have an ordering scheme in the invoices that we issue for our customers.
And some customers use Stripe while other use direct wire or even check.

This is legally compulsory to have invoices issued at the time where the service or product is delivered, not paid. So for services the triggering action for an invoice is the subscription not the payment.

We have dealt with this for years with CBSubs but that 's becoming crazy if we increase our number of customers. You should consider moving to a regular invoicing system which would either issue a global invoice with split regular payments or issue an invoice each time a subscription is recurred or renewed with the invoices marked as pending, and marked paid when the payment occurs.

Invoice manager from JoomlaThat is ok for all this but we would need a way to tell it that a recurring has occurred


Hi, and thank you for your heads-up. We plan to look very carefully into this when we will be writing the business processes manager for CBSubs (incl. orders and invoices separated) to take into account the various legal requirements of different parts of the world, but we want to base our design to comply with corresponding exact law articles.

To help us grip solid basis, could you please point us to a law article with URL for each of your statements ? E.g. for invoicing date having to be the delivery date. In most countries a notice of delivery ("bulletin de livraison") is required at the time of delivery, but the invoice can be after the delivery, as usual for most business services, or before delivery for prepayments. E.g. in Switzerland you can choose your accounting method between agreed-upon services ("Prestations convenues") and delivered services ("Prestations reçues"). Typically, the later one is usually applied for online services.

So thank you very much in advance for your exact references to articles of law with corresponding URL.

Beat - Community Builder Team Member

Before posting on forums: Read FAQ thoroughly -- Help us spend more time coding by helping others in this forum, many thanks :)
CB links: Our membership - CBSubs - Templates - Hosting - Forge - Send me a Private Message (PM) only for private/confidential info

Please Log in to join the conversation.

3 years 10 months ago #319104 by activha
Hi guys

Trying to help you on this subject. We already sent some links years ago regarding this but you did not take them into account.

For legal requirements have a look at www.economie.gouv.fr/files/files/directions_services/cepc/avis/Regles_relatives_date_emission_facture.pdf and www.impots.gouv.fr/portail/www2/precis/millesime/2017-2/precis-2017-chapter-9.5.3.html?version=20170701

The invoice has to be dated at the time of delivery. The delivery for our online services means that the invoice has to be dated at the time where the customer accesses the subscription. We can of course agree for a payment later on. Usually customers pay by SEPA STRIPE which means that each invoice has to be dated and sent at the date of the renewal.

For manual gateways that's not a problem as we go to the front end and trigger a basket with a payment slip. Thus the invoice is correctly dated and sent to the customer and they pay later on

But for automatic gateways such as STRIPE, the invoice is only generated once the payment has been acknowledged by STRIPE. This means usually 5 business days and went up to 20 business days during this crisis. STRIPE also sends back the result two or three days after the real debit (they use the money of course :-) ) As a result customers are often debited before that the invoice is triggered on CBSubs->Invoice Manager, and that makes some big conflicts to solve for our customer service, especially for big customers accounting departments used to have documents early for their tax declarations.

What is really needed is :
- the respect of the ordering invoicing scheme for all company invoices (for instance as we have also hikashop sales, we do need an external invoicing system such as INVOICE MANAGER to have a correct ordering scheme. Hikashop is already integrated in IM)
- the ability to issue an invoice at each renewal of the subscription (invoice marked as pending for instance and marked as paid once the payment is acknowledged). I must add that if the payment is reversed, the invoice is still valid and the invoicing should continue until the subscription has been cancelled. Then we have to act manually to ask for the payments of past unpaid invoices.


This was why I suggested that an integration with invoice manager from JoomlaThat was maybe to be considered ? We tried to do some ourselves trying to integrate both Affiliate Manager to replace Post Affiliate Pro which is way too complex to handle with joomla and Invoice Manager. I attached the different files that we use for this.
I know that this is not professionnally made as I did it myself, but it kind of works up to now. We would be ready to pay for custom dev and optimizations of course to make it more solid.

How far in advance do you need to be creating these invoices? One option is to create the next invoice when the current is paid. So for example when a recurring payment comes through you mark the previous invoice in your invoice system as paid then immediately create the next invoice, would that work? If that'd work you should be able to just do this on onCPayAfterPaymentStatusUpdateEvent. So for example if your recurring payment duration is 30 days you'd be creating the invoice on day 1 since you're creating it when the previous recurring payment is paid.


We have different subscriptions with different periods : one year and one month.
Ideally we do need to invoice one year and authorize monthly payments. But as CBSubs did not support this, we moved to a monthly subscription/payment even if our customers contract for one or two years on our tariffs.

So it could be possible to have a next invoice when the current is paid, or better, at each recurring time. But I don't see very well how to achieve this for two different periods. And of course a more standard invoicing model with different payments periods such as described above would be much welcome.

For now we use the attached files and autoactions acting on

what are your ideas about all this ?

File Attachment:

File Name: Archive_20...6-12.zip
File Size:3,401 KB
Attachments:

Please Log in to join the conversation.

3 years 10 months ago #319108 by krileon

what are your ideas about all this ?

For a right now solution your options are to use a 3rd party invoicing system and create the invoices using CB Auto Actions in that system. There's no other way to get what you're needing right now. To do this you'd need a Code auto action on the onCPayAfterPaymentStatusUpdateEvent trigger. I can't really provide any further details until you pick an invoicing system and provide a link to its API documentation so I can provide some example code for managing the invoices. This ideally is the best approach to continue to use even after CBSubs is improved since it sounds like you have multiple systems feeding into invoicing.

After reviewing the ZIP you supplied in your CBSubs invoice integration you just need to create the next invoice at the same time as you pay an existing invoice. This will cover your needs with invoicing in advance. Specifically during a $must_update state when a payment is officially completed. It shouldn't matter what the plans period is as you've access to the expiration date of the subscriptions in $subscriptions, which should be the "to be paid on" date for your invoice.


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Localization - CB Quickstart - CB Paid Subscriptions - Add-Ons - Forge
--
If you are a Professional, Developer, or CB Paid Subscriptions subscriber and have a support issue please always post in your respective support forums for best results!
--
If I've missed your support post with a delay of 3 days or greater and are a Professional, Developer, or CBSubs subscriber please send me a private message with your thread and will reply when possible!
--
Please note I am available Monday - Friday from 8:00 AM CST to 4:00 PM CST. I am away on weekends (Saturday and Sunday) and if I've missed your post on or before a weekend after business hours please wait for the next following business day (Monday) and will get to your issue as soon as possible, thank you.
--
My role here is to provide guidance and assistance. I cannot provide custom code for each custom requirement. Please do not inquire me about custom development.

Please Log in to join the conversation.

3 years 10 months ago #319125 by activha

This ideally is the best approach to continue to use even after CBSubs is improved since it sounds like you have multiple systems feeding into invoicing


Ok thanks for the right now :-)
If you develop a business system for invoicing, could you envisage to also add integrations with other components like Hikashop ? Invoice ordering is very important in France (and maybe other countries as well) and that would be great to be able to use CBsubs system integrated with others as Invoice Manager does.

After reviewing the ZIP you supplied...

I know that IM has no api and documentation to use outside its plugins but would you mind reviewing and adding the lines for us in this integration, so that we can use it correctly until your business manager is ready ?

We have not a lot of resources but can pay for this if it can be useful for the community

Thanks a lot in advance

Please Log in to join the conversation.

3 years 10 months ago #319126 by beat

activha wrote:

This ideally is the best approach to continue to use even after CBSubs is improved since it sounds like you have multiple systems feeding into invoicing

If you develop a business system for invoicing, could you envisage to also add integrations with other components like Hikashop ? Invoice ordering is very important in France (and maybe other countries as well) and that would be great to be able to use CBsubs system integrated with others as Invoice Manager does.


Thanks for the idea, but that is not planed now, and I don't see a reason to do it.

From what I have seen in other countries, laws are allowing to have multiple invoices numbers ordering, one per system and/or per department. How could companies and in particular large companies with many departments and invoicing systems handle it without having the possibility to have multiple numberings ?

Beat - Community Builder Team Member

Before posting on forums: Read FAQ thoroughly -- Help us spend more time coding by helping others in this forum, many thanks :)
CB links: Our membership - CBSubs - Templates - Hosting - Forge - Send me a Private Message (PM) only for private/confidential info

Please Log in to join the conversation.

3 years 10 months ago #319127 by activha
Well sorry I cannot answer this question but only state what is required in France.

We are used to deal with large companies and they all have this compulsory unique numbering system. I don't write the rules and would prefer simpler things also rather to loose time with all this.

:-)

Please Log in to join the conversation.

Moderators: beatnantkrileon
Time to create page: 0.326 seconds

Facebook Twitter LinkedIn