Our old system allowed us to generate invoices X number of days in advance. So each day we would process all invoices due in the next 60 days. This is good, right? Our customers have some notice that their subscriptions are coming up for renewal. This system ignored auto credit card accounts and processed those on the due date, but for all others it generated invoices that we were able to send to our customers. And our customers like it. Gives em time to submit payment, especially in the cases where they have to submit it up the food chain to corporate accounting or whatever cause that can take time.
With infusionsoft, we can't do that any more. Bummer. So we are giving up 60 days of income this year. That sucks! Which won't work for us and besides the model of notifying your customers in advance seems to be pretty universal anyway. Anyone that pays by check or you need permission to charge a credit card needs time to submit payment. And isn't it better to give them that time before they are past due? This is an important piece of missing functionality and one we don't feel we can live without.
So after complaining and pressing for a built-in solution (none found) I tackled this with the API. It took a few days but I was able to create my own invoices. They look nice too. The include start and end dates for the renewal period which is something we don't get from regular infusionsoft invoices. I was also able to include the discount if they have one. We also feel it is important to let your customers know they are receiving a discount if they are receiving one. Infusionsoft doesn't provide a way to do that on their invoices. So perfect, right? I am creating beautiful invoices and emailing them out 60 days in advance. Our customers are happy and several pay rather quickly. They want it to go on this years budget. Check payments, no problem. WE apply the payment as a credit to their account. When infusionsoft creates the invoice it will use the credit instead of charging their card. Some reports will probably be messed up, especially until the credit is applied and maybe even when that happens, but we are able to take the payment and move on.
Not so with Credit cards. You cant process a real time credit card payment without a "due" invoice to apply it to. So close and still no dice. Crap! So I am on a webinar with the genius that is Brad Martineau and I ask a question around all this and even though he isn't really a developer (that's what he says) he mentions something that get's me moving on. From inside infusionsoft you can't move the next bill dates of subscription more than 30 days. I'm not exactly sure what the limitation is but I know we can't change the bill date on these subscriptions we want to charge early to today, and then just move the next bill date back out accordingly. Won't work, although I did have tech support tell me a workaround was to move it 30 days at a time. Anyway, back to Brad. He mentioned that he didn't think the API had that restriction and I may be able to move that nextbilldate all over theplace via the api. So he said I could do that and maybe create a one-time order or something. That got the wheels spinning and I dove right in to creating a one time invoice thingy in infusionsoft.
It didn't take long. As part of creating the invoices as mentioned above I stored the information from those invoices into local tables in my database. So it was easy to get the information and using the invoiceservice API create a one time order with all the necessary orderitems. Man was I stoked! During all this time I had been pretty vocal about my problems on twitter and infusionsoft had been awesome responding. But even though the responded well, they couldn't do anything for me. I had a call with Joe, the social media guy that was responding, then an account manager and then they even set me up with a product manager. I appreciated this effort and I felt like they were going out of their way to try and help me. But the bottom line is they gave me all the emotional support in the world but their product couldn't do (out of the box) what I wanted it to.
But I'm cruising now. I am easily creating one time orders which list all the subscriptions and even though I have to put today's date so I can run the credit card charges it is working. I would rather leave the due date to match the actual renewal date but I can't run the charges if I do that. So now I think I won't have to create my own invoices and store them locally I can just create these one time orders and email those out and receive payments against them. As I create them I plan to manually move the nextbilldate for the corresponding subscriptions forward to the appropriate date. So the financial reporting will be off at least as far as tracking income by subscription but we are getting the money in and applying it in a way that keeps the accounts correct. Then a few let downs. For some silly reason the price of the subscriptions that I am passing into the orderitems are being listed 3 times on each line. They add the price to the title, then they add it to the unit price and to the total. Now, given the total will be different if you change the quantity (we never do cause you don't need 2 subscriptions to the same thing) but why put that stupid thing in the header. I guess I could almost handle that EXCEPT that the information in my description field is being truncated! Arrrggggg. So after I add the subscription begin and end dates, the discount (if they have one) and our already fairly long description you aren't getting even 70% of the whole thing and it's confusing. I am not even going to talk about how bad I wan't to remove the quantity field and pass a different value to the unit price(I want that to reflect the default price, before discounts). But I have almost 0 control over that invoice. I can customize some stuff and create an invoice template, but I can't do anything with those line items which means it doesn't do any good to mess with the headers. I could throw some fields and other stuff up there but they aren't nearly as important as these things I am discussing.
- Please allow me to send out invoices x number of days in advance. Or at least let me apply charges to an invoice that isn' actually due yet. Other than subscriptions that bill automatically with credit card customers need notice and time to submit payment. Right?
- Don't put the price in the header for orderitems on one-time invoices or at least let me have the option to leave it out.
- Give me more space for the description for each orderitem. In fact, who cares if I want it to scroll 3 or 4 lines, why truncate it?
- Can I please have some control over that orderitems table layout for those one time invoices.
- For your built-in invoices will you please list the begin and end dates for subscription line items, and also list any discounts or give me the option to have this stuff listed or not. it is important.
- I was able to easily program via the API a system that notifies customers of upcoming renewals at 30, 10, and 1 day intervals so we don't have irate people issuing chargebacks. This should be built in. My system works awesome but I was surprised there was not a way to do it inside the program.