Immediate Charge / Invoice

Dan Kamins's Avatar

Dan Kamins

17 Mar, 2011 11:50 PM

From January, 2010: http://support.cheddargetter.com/discussions/questions/97-instant-t... ...
Marc said: We have "one-time" invoice capability on our todo list but I can't give you a firm date.

From May 2010: http://support.cheddargetter.com/discussions/questions/172-ability-...
Marc said: There isn't a way to issue an immediate custom charge within CG yet. It's in development.

Now it's March 2011, over a year since the original thread above, and as far as I know it's still not possible (or did I miss it?)
Was this particularly tricky to implement, or was this feature de-prioritized?

We need this. If it's not going to happen, can you suggest a workaround? E.g. if we add a custom charge, then can we change the billing date to immediate to trigger a billing cycle? This seems extremely messy and error-prone, but perhaps our only workaround. If this is the only way, can you please provide a clear step-by-step walkthrough of how we would do this via API and CG Admin console?

Thank you.

  1. Support Staff 1 Posted by Marc Guyer on 18 Mar, 2011 02:03 PM

    Marc Guyer's Avatar

    Hi Dan --

    Was this particularly tricky to implement, or was this feature de-prioritized?

    A little of both. This is actually included in our next major release. However, it will be in two phases. The first phase will be included in the next release, the second in a subsequent release:

    1. "Parallel" one-time invoices. I use the word parallel because a subscriber must already exist. In other words, you can create an invoice full of charges/credits at any time for an existing subscriber and it will not directly affect the subscription.
    2. Non-recurring plan. This is a behavior that's already possible with one small difference. It's also the "workaround" you've suggested and I'll discuss below.

    We need this. If it's not going to happen, can you suggest a workaround? E.g. if we add a custom charge, then can we change the billing date to immediate to trigger a billing cycle? This seems extremely messy and error-prone, but perhaps our only workaround. If this is the only way, can you please provide a clear step-by-step walkthrough of how we would do this via API and CG Admin console?

    The current feature is exactly as you suggest and we will be extending the functionality in the near future. The action is simple: A subscriber has a "current" or "pending" invoice container which accepts input over time (credits, charges, item quantities). I'm sure you're familiar with this. As you suggest, you can change the billing date in order to execute that invoice at any time in the future or right now. Then, a new current invoice container is available with a billing date defaulted to one billing period after the execution of the last invoice.

    The expanded functionality will be "non-recurring" subscribers. Really, the only difference is that when the invoice container is created, it will not have a billing date. In other words, it will never automatically execute.

    Interaction via the API is logically the same as in the GUI. See the changeBillDate param in the API doc here: https://cheddargetter.com/developers#update-subscription

    In the GUI, simply change the bill date in the edit subscription modal. I've attached a screenshot.

  2. 2 Posted by Dan Kamins on 18 Mar, 2011 06:15 PM

    Dan Kamins's Avatar

    This workaround seems too messy and insufficient to capture tracked item overages properly.

    I'm not clear on the distinction of the two phases you describe, but we only need to add immediate charges to existing customers' accounts. E.g. just like https://cheddargetter.com/developers#add-charge but to apply immediately and let us know if the charge went through.

    Is this your first phase? It seems like an even simpler version, as you mentioned creating invoices and adding items, etc. All we really need is the basic ability to charge a customer via API without having to have our support reps open up our Authorize.net virtual terminal, find customers, make charges, and have those charges be tracked outside the scope of CG. This is a terrible workflow that could easily be addressed with a single API call from CG that passes a charge immediately through to the payment gateway.

    When do you think we might be able to do something like this? And what would it look like from an API and customer XML perspective (so our code doesn't get confused when looking for monthly invoices -- hopefully these invoices would be kepts in a separate container)?

    Thank you.

  3. Support Staff 3 Posted by Marc Guyer on 18 Mar, 2011 10:43 PM

    Marc Guyer's Avatar

    Is this your first phase?

    Yes

    When do you think we might be able to do something like this?

    2-3 weeks

    And what would it look like from an API and customer XML perspective (so our code doesn't get confused when looking for monthly invoices -- hopefully these invoices would be kepts in a separate container)?

    The new API call will be /invoices/new with a charges param not unlike in /customers/new. The one-time invoices will be in context chronologically in the same node (//subscription/invoices), however the value of the //invoice/type node will be different.

  4. 4 Posted by Dan Kamins on 19 Mar, 2011 01:31 AM

    Dan Kamins's Avatar

    Thanks for the explanation. This is an urgent feature for us, and we'll be using it right away (as I said to add immediate charges to existing customer accounts). If there is anything we can do to help get this out quickly, please let us know.

  5. Marc Guyer closed this discussion on 23 Mar, 2011 01:09 PM.

Discussions are closed to public comments.
If you need help with Cheddar please start a new discussion.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac

Recent Discussions

28 Mar, 2024 10:45 PM
24 Jan, 2024 08:33 AM
11 Jan, 2024 07:13 AM
30 Nov, 2023 02:07 AM
22 Nov, 2023 08:41 AM