Collection Modules


Root offers the flexibility to fully configure your premium collection strategies and payment provider integration to meet your business requirements using Collection Modules.

On Root, the term "collection module" refers to the set of configurable features that are tied to a specific premium collection strategy. Collection Modules can be fully customised to meet unique business needs, such as adjusting collection schedules, responding to collection failures, and integrating with collection systems or payment providers of your choice.

You can configure your collection module using the Root Workbench. Workbench enables insurance businesses to easily configure, test, and deploy their collection modules, ensuring effective management of the collection lifecycle.

Collection modules comprise of customised logic which should be written in Typescript, responding to:

  • Policy lifecycle events
  • External events (listening to external webhooks)


Setup and code sharing: Collection modules vs. product modules

Collection modules have a node-esque setup with import/export syntax to share variables and functions with other files. This is different from Product modules where all code files ‘magically’ share everything.

Collection modules allow creating directories to order code files, for example "utils", "types" or "provider".

Collection Module Definition

A collection module definition acts as the blueprint for managing premium collections throughout the lifecycle of a policy. When a policy is issued, it is linked to a specific collection module definition, which dictates the handling and processing of all related collections. Modifying your collection module (for example, by adjusting collection mechanisms or reacting to events using the Workbench CLI) results in a new collection module definition. It is crucial to note that such changes will impact only those policies linked to the newly updated definition.

Live vs. draft version of a collection module definition

Collection modules have a single draft version. Every time a new change is pushed to a collection module, the draft version of the collection module definition is updated.

When draft changes to a collection module are published to live, this creates a new live version of a collection module. The live version of a collection module is used in production, while the draft version will contain pending changes before they are published to live.

The draft collection module definition allows you to test any changes before they are published to live in the sandbox environment.

See Publish a collection module version for more details on how to publish a collection module.

What’s Next