Zuora : Dunning Workflow

Dunning Process:

The subscription model requires the customers to pay again-and-again for the services for which they have subscribed. Often times the business that sells subscription services face a problem where some customers do not pay on time. Personally I do have a dual role in the subscription model. For my day job of Zuora Professional, I look at the periodic payment from the perspective of the entity that is collecting the money.

However, I take role of a customer from time-to-time, where I pay for the subscription!! ... Well ... I'm a subscriber of NetFlix, and T-Mobile, and Worden. (BTW Worden is the Data Vendor I use to get the OHLCV - open-high-low-close-volume data for all the securities traded on US Exchanges for performing my algorithmic trading.) And to be punctual at making payments that I personally owe, I tend to use "autopay" with my service providers !!

So ... What's the solution for the non-payment?

Drastic measure is the terminate the service for such customers, and to send over the accounts for 'collections'. A gentle solution is to remind the customer that the payment is owed, and to ask for the payment periodically. Perhaps something like send payment reminders when the payment is overdue by 10 days / 20 days / 30 days etc. (That's the Dunning process.)
Invetopedia has material about Dunning.

ORACLE R12 (Oracle EBS Suite) has the process of Dunning Letters to be sent out to customers whose accounts have outstanding unpaid balance, and so does Zuora. In my experience the Dunning Process of sending reminder letters to customers is very straightforward and intutive in Zuora.

I'm giving below a Workflow of Dunning Process in Zuora.

This is the picture of the overall Workflow.

It identifies the Invoices that are unpaid for 1 day past the due date, and sends out email notification to the Bill-To work email address.





The following picture shows various objects+fields that are to be selected for processing of the WorkFlow.





The following picture shows the condition used to identify the matching invoices. Key criterion is: Invoice.DueDate = 'today - 1 days'





The following Iteration over Account object.





The "refetch" iterates over eavery Customer Account for which the Dunning Email is to be sent. The purpose is to collect the fields that are to be used in the header/body of the Dunning Email.





The "refetch" condition is shown is following window. The conditon ensures that only the unpaid invoices for the flagged accounts are being fetched. (There is a possibility that Invoices Payment is uneven - e.g. Customer might pay Invoices for Jan, Apr, but the invoices for Feb, Mar, May, Jun might be unpaid.)





This is the 'header' of the Dunning Email.





The following window shows the 'body' of the Dunning Email sent out. The various fields selected are referenced using the Syntax of enclosing field in double-curly-braces.




Copyright © 2019 Salil V Gangal, All Rights Reserved.