I want to use uc_recurring for a billing application. Everybody here builds websites & applications with drupal but no one seems to do the billing for hosting services with it.
Just if someone missed it. A nice project working to a similar use case seems to be this one:
http://groups.drupal.org/node/90504
He wrote in another thread that he probably will use uc_recurring for the recurring billing. So we are not alone... Actually there a are a lot of threads & issues regarding recurring billing. But i didn't found any working solution...
I would like to start with a simple system with no payment integration. Just recurring invoices send to the customers.
Some issues i think have to be solved for a basic billing application / invoicing system:
#961368: Orders created manually do not create recurring fees
#980342: Recurring fees and invoices? (this one is the most annoying at the moment because multiple invoices are send at the moment)
I'm new to ubercart but i would love to invest some time and a some money (we are poor don't expect much) to realize the functionality. If some people join i think a basic billing system could be realized pretty fast.
To be complete in another thread i was asking this:
"@univate: uc_recurring duplicates the orders but is it also possible to automatically send the invoices?"
And think i found a fix for this question using conditional actions. uc_recurring adds triggers but i still need to test it.
| Comment | File | Size | Author |
|---|---|---|---|
| #6 | uc_end.tar_.gz | 8.28 KB | hedley |
| #6 | uber_order_date.tar_.gz | 1.87 KB | hedley |
Comments
Comment #1
univate commentedIn ubercart invoice are generated and emailed via conditional action. This modules doesn't send invoice itself, it lets ubercart do that as normal.
Comment #2
hedley commentedI've actually been developing a module to do exactly this - recurring invoice generation and billing using Ubercart & uc_recurring as I re sell web hosting and domain names. I also need to ability to enter orders which are backdated as I have lots of accounts already I want to manage. I've managed to get most of the way there so I'll try to post up the code I've written in the next couple of day (on laptop away from office at the moment).
The basic idea of my module is to apply a start and end date to orders, then have uc_recurring generate a new order when the end date is reached. The next stage will be to have to orders generated before the end date so an invoice can be generated and sent to the client before the renewal is due.
I also am planning to allow clients to log-in to check over previous invoices / orders.
Comment #3
univate commentedOne of the ideas I have had is to try and disconnect the renewal with the payment. So uc_recurring would have two dates, the renew date when the order gets generated and the payment date when the order is actually. In some application this could be the same, while you could change a setting in uc_recurring to separate the renewal and payment by 12hours or 3 days (what every you want)
This actually solves another problem and that is when an order fails to process the payment it remains on the site as a 'pending' order and on the next attempt a new order is created. By separating these dates we could just change the next payment attempt date and try and charge the same order.
This change is actually not that hard since we now have the uc_recurring_order database table where we can add extra fields to record these dates and all the status of recurring orders.
Comment #4
pixelsweatshop commentedsub
Comment #5
sin commentedSubscribing.
I need to generate invoices and track payments based on various support plans. We support websites, webservers, office computers/users, office LAN and servers etc. We also provide hosting and domain names. I'm trying to model our Service Level Agreements online as a set of products in Ubercart recurring orders. Our payments are separated from service renewal. Most of our clients pay using bank transfer based on our invoices and we track payments manually but instant payments are planned. We require monthly payments and do not interrupt the service most of time. Our clients prepay for SLA and postpay some extra working hours or services. I'm gonna try to automate our billing using online money balance system: our customers should maintain positive balance by themselves.
I'm trying uc_store_credit + balance_tracker + uc_recurring right now and already stumbled upon #961368: Orders created manually do not create recurring fees.
Issue #766210: Merging multiple orders under a single recurring fee is not so important in my case as we can combine several services in one order to get single invoice when needed.
I'm also considering to generate a single invoice for negative balance sum instead of per order invoice as an option. In this case an invoice should be a separate object optionally independent from an order as in our offline accounting system.
Comment #6
hedley commentedHere's the module I've made. There's some views integration and a view with colour coded rows to show what's been paid and what hasn't. I've also started on token and conditional actions integration to send emails when orders are nearing their end date.
There is still a lot of work to be done, and I'm sure a lot could be done in better ways, I wrote to module more as a learning experience but I think the idea has potential to be useful to a lot of people.
There's another module uber_order_date attached which allows orders created date to be edited. Both these modules work in combination so past orders can be entered, and each past renewal will be generated automatically (both modules also works nicely with date_popup module).
Comment #7
bochenn commentedsubscribe
Comment #8
rpsusubscribe