Atomia Billing Server

Product period of notice

2 views 0

How to configure Period of notice for products in Atomia Billing.


Atomia Billing Workflow has the option to credit renewal invoice if a subscription is terminated during the period of notice. Period of notice is defined as the period from the date of renewal subscription/invoice creation until the current subscription expiration date.

It is possible to activate this feature from Atomia Admin Panel plugin configuration page (Select > Plugin configuration). Period of notice can be configured:

  • globally for all products, or
  • per product category (which overrides global setting), or
  • per specific product (which overrides global and per-category setting).

The only configuration option that is available for all three levels above is EndDateOffset. All other configuration options are global configuration options.

Keep in mind

The EndDateOffset option is configured for specific product (which overrides global and per-category setting) by adding custom attribute for that product (Products > Products, Actions > Edit, section Other Data). Custom attribute name is the value of the NoticePeriodProductCustomAttributeKey global configuration option and the value is a number.

Plug-in configuration

Namespace: Atomia.Billing.Plugins.GenericWorkflowPlugin.EventHandlers.SubscriptionTerminationNoticePeriodHandler

Example configuration:


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

  • Enable Enable notice period.
  • SkipDelayedTermination Skip delayed termination of the product when it is terminated in the notice period.
  • PrepaidCreditArticleNumber Article number of Atomia prepaid credit product.
  • NoticePeriodProductCustomAttributeKey Custom attribute name for configuring notice period for the specific product.
  • DefaultProductCategory Name of default product category which applies to all categories with no configuration of their own.
  • PaidOptions[] Represents configuring of notice period when the invoice is paid.
  • PaidOptions[].Enable Credit paid invoice to remove invoice line(s) for deleted subscription(s). A new invoice will be reissued in case there are invoice lines left within the invoice.
  • PaidOptions[].KeepInvoiceDate In case a new invoice is reissued, keep the same invoice date as in the credited invoice.
  • PaidOptions[].KeepInvoiceDueDate In case a new invoice is reissued, keep the same invoice due date as in the credited invoice.
  • PaidOptions[].PayReissueInvoiceWithPrepaid In case a new invoice is reissued, use Atomia prepaid credits from customer balance to pay it.
  • NotPaidOptions[] Represents configuring of notice period when the invoice is not paid.
  • NotPaidOptions[].Enable Credit not paid invoice to remove invoice line(s) for deleted subscription(s). A new invoice will be reissued in case there are invoice lines left within the invoice.
  • NotPaidOptions[].KeepInvoiceDate In case a new invoice is reissued, keep the same invoice date as in the credited invoice.
  • NotPaidOptions[].KeepInvoiceDueDate In case a new invoice is reissued, keep the same invoice due date as in the credited invoice.
  • SubscriptionReactivationOptions[] Options to set for reactivation of subscriptions which are in notice period.
  • SubscriptionReactivationOptions[].KeepInvoiceDate In case a new invoice is reissued, keep the same invoice date as in the credited invoice.
  • SubscriptionReactivationOptions[].KeepInvoiceDueDate In case a new invoice is reissued, keep the same invoice due date as in the credited invoice.
  • Categories[] Represents the number of days for notice period specified by product category.
  • Categories[].CategoryName Name of the category this configuration applies to.
  • Categories[].EndDateOffset Number of days from the end of subscription date.

Schedule task configuration

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

Example configuration:

        "AdminEmail":"[email protected]"

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

  • ApprovedItemsCount Limit the number of invoices to be processed during one run. Zero means no.
  • RunCountLimitter[] Run count limit options for processing one invoice.  Run count limit means how many times will scheduled task try to process one task before marking the task as FAILED and sending a notification to Admin email.
  • RunCountLimitter[].RunCountLimitNumber Number of times which will schedule task run before it notifies Admin.
  • RunCountLimitter[].AdminEmail Set Admin email for notifying. Empty means it will use Reseller email.

Was this helpful?