Atomia Billing Server

Renewal Process

20 views 0

Configuration description

Namespace:Atomia.Billing.Plugins.GenericWorkflowPlugin.ScheduledTasks.SubscriptionRenewalScheduledEventHandler

This process will create (and send if by email) the renewal invoice for subscriptions which are about to expire.

Example configuration:

            {
               "ApprovedItemsCount":0,
               "ScheduleItemsCount":0,
               "ApplyToSubresellers":true,
               "AdditionalOffset":3,
               "AutoApprove":true,
               "IncludeSuspendedSubscriptions":false,
               "Offsets":[
                  {
                     "Key":"Default",
                     "Value":{
                        "DefaultOffsetValue":30,
                        "MonthlyInvoices": false,
                        "MonthlyInvoicesForAll": true,
                        "MontlyInvoicesOffsetValue": 0,
                        "RenewalPeriodsConfiguration":[
                            {
                               "RenewalPeriodUnit": "month",
                               "RenewalPeriodValue": "1", 
                               "OffsetValue": "15"
                            },
                            {
                               "RenewalPeriodUnit": "month",
                               "RenewalPeriodValue": "3", 
                               "OffsetValue": "20"
                            }
                         ]
                     }
                  },
                  {
                     "Key":"Domain",
                     "Value":{
                        "DefaultOffsetValue":38,
                        "MonthlyInvoices": false,
                        "MonthlyInvoicesForAll": true,
                        "MontlyInvoicesOffsetValue": 0,
                        "ArticleNumbersConfiguration": [
                            {
                               "ArticleNumber": "DMN-INFO",
                               "OffsetValue": "15"
                            }
                        ],
                        "RenewalPeriodsConfiguration":[
                            {
                               "RenewalPeriodUnit": "month",
                               "RenewalPeriodValue": "1", 
                               "OffsetValue": "20"
                               "ArticleNumbersConfiguration":[
                                   {
                                      "ArticleNumber": "DMN-COM",
                                      "OffsetValue": "10"
                                   }
                               ]
                            }
                         ]
                     }
                  },
                  {
                     "Key":"DomainTransfer",
                     "Value":{
                        "DefaultOffsetValue":38,
                        "MonthlyInvoices": false,
                        "MonthlyInvoicesForAll": true,
                        "MontlyInvoicesOffsetValue": 0,
                        "RenewalPeriodsConfiguration":null
                     }
                  }
               ],
               "SendOnPreviousWorkingDay":true,
               "SendOnWorkingDayOnly":true
            }

Renewal Process specification:

  1. Subscription renewal is a process that will automatically send renewal invoices for subscriptions that are about to expire.
  2. The invoice is sent several days ahead of renewal/expiration date. The actual number of days is specified by the configuration and can be different for different product categories. Also, within one product category it can be different for different renewal periods and article numbers.
  3. The process will put all subscriptions’ renewal fees for one customer to a single invoice.

Renewal options are specified by JSON structure with the following entries:

  • ScheduleItemsCount Limit the number of subscriptions to be scheduled for renewal during one renewal run. Zero means no limit.
  • ApprovedItemsCount Limit the number of subscription renewal tasks to be auto-approved during one renewal run. Zero means no limit.
  • ApplyToSubresellers If set to true and this configuration is reseller specific then it also applies reseller’s sub-resellers.
  • AutoApprove Should the renewals be automatically or manually approved (true/false).
  • IncludeSuspendedSubscriptions Should suspended subscriptions be invoiced (true/false).
  • SendOnWorkingDayOnly Will the invoices be sent on work days only (true/false).
  • SendOnPreviousWorkingDay If SendOnWorkingDayOnly=true, should the invoice be sent on previous (true) or next work day (false).
  • Offsets[ ] Offsets is JSON based configuration of how many days in advance should the invoice be sent. It allows specifying different number of days for different categories and within each category, different number of days for each subscription renewal period.
  • Offsets.Key The name of the product category to be used. “Default” can be used to specify the options that apply to all categories with no specific options in the Offsets section.
  • Offsets.Value This section defines when the invoice is sent. Each entry in this section is a configuration for one product category.
  • Offsets[ ].Value.DefaultOffsetValue For a given category (specified by Offsets.Key) defines how many days in advance the invoice will be sent. This can be overridden by the value of RenewalPeriodsConfiguration and ArticleNumbersConfiguration.
  • Offsets[ ].Value.MonthlyInvoices If this is set to true, then monthly invoicing is enabled. Who gets monthly invoices is controlled by the MonthlyInvoicesForAll option.
  • Offsets[ ].Value.MonthlyInvoicesForAll This option only takes affect when MonthlyInvoices is enabled. If this is set to false, only customers with IsInvoicedMonthly set to true will be invoiced monthly. The default value for this setting is true
  • Offsets[ ].Value.MontlyInvoicesOffsetValue When Offsets[ ].Value.MonthlyInvoices is enabled this offset will specify how many months ahead in time the invoices should be generated.
  • Offsets[ ].Value.RenewalPeriodsConfiguration[ ] Allows you to specify an alternative value for how many days in advance the invoice will be sent, for certain renewal periods. (For example you might want to send invoice 60 days in advance for yearly subscriptions, while for monthly subscriptions you might want to send it 15 days in advance). This can be overridden by the value of ArticleNumbersConfiguration.
  • Offsets[ ].Value.RenewalPeriodsConfiguration[ ].RenewalPeriodUnit The unit of a renewal period in question (can be “month” or “year”).
  • Offsets[ ].Value.RenewalPeriodsConfiguration[ ].RenewalPeriodValue The renewal period (in units specified by RenewalPeriodUnit).
  • Offsets[ ].Value.RenewalPeriodsConfiguration[ ].OffsetValue How many days before renewal to send the invoice for the specified renewal period.
  • AdditionalOffset Specify additional days in advance to create an invoice. This number is added on top of the number calculated by the Offsets configuration.
  • Offsets[ ].Value.ArticleNumbersConfiguration[ ] Allows you to specify an alternative value for how many days in advance the invoice will be sent, for certain article numbers. (For example, you might want to send an invoice 15 days in advance for a product with article number DMN-INFO). It can be combined with product categories and renewal periods.

Was this helpful?