In Canopy, you will often have a set of general rules that applies to an entire category of accounts. For instance, you may want a group of accounts to have a six month zero-payment promotional period with 1 month-long cycles. The combination of this set of rules is a product into which you can enroll any account.
Once enrolled, the account will implement the policies of the product. Its statement cut dates will be scheduled per the one-month rule, its minimum payments will apply the six-month promotion, and so on. In addition, you may onboard the account with its own additional ruleset - such as an interest rate that makes sense for your risk-based pricing model.
As such, accounts enrolled in the same product can have different rules - they can have their own credit limits, interest rates, statuses, fee structure, and more.
In general, you create a product in Canopy just once, and you may enroll accounts into it on an ongoing basis thereafter.
Creating a product in Canopy is as simple as one API call; however, the parameters used in that API call will require some thoughtfulness as to what general product construct makes the most sense for your business call. You can find a full list of parameters and their descriptions in the products section of our API Reference.
Let's take a quick look through the API call structure.
You'll see four key sections
product_overview: These fields do not drive any logic within our SOR, but they are useful for categorizing and organizing products for reporting and UI rendering. As they are fairly self-evident, we will not explore them further in this walkthrough.
product_lifecycle_policies: These consist of a set of policies that will apply to the entire product lifecycle - regardless of whether the product is in a promotional period or not. These policies are further subdivided into
cycle_interval: Note - a
1 monthsetup will prioritize cutting the cycle in exactly the next month. So if the account is effective on the 15th, the statement will cut on the 15th of the next month. However, if this month's cycle cuts on the 31st, the next cycle will cut on the 30th (or 28th) to stay within the appropriate month window, sticking to the "last day of the month".
- Default Attributes, unlike the remainder of the policies, are default values that can be overridden for any accounts enrolled in the product.
promotional_policies: These consist of policies to be applied for a promotional period. One of these, of course, is the length of the promotional period. If the length is set to zero, none of these policies will apply to the product. The timer on the promotional period starts from the moment of account creation.
post_promotional_policies: These consist of post-promotional policies. At the end of the promotional period, the account will automatically roll into the post-promotional period.
Let's explore this setup deeper with a few examples.
- We want accounts created for this product to turn delinquent after two missed payments and charged-off after three. So we'll set
- We want our customers to have a five day late fee grace period before fees are incurred, so let's set
This is the most interesting section. Here, we define the core intervals that will drive the lifecycle of activity for accounts enrolled in this product.
We want our customers to get statements once a month, with payments due 5 days prior to cycle cut, so let's set
first_cycle_intervalfor this tutorial, as we do not want an introductory window before the regular billing cycle starts.
Let's use the default value for
Americas/New_Yorkmakes sense for our business. This lets Canopy understand exactly what time each day to cut the statement for accounts that have a statement cut on any given day and are enrolled in this product.
- We can use default values here for now
- Since we're plannning on overriding credit limit for each account through risk-based pricing, we can set any value as a default credit limit. Let's set
Let's set a
0 cycles since we're creating a basic installment program with no promotions. We can use defaults for the remaining parameters.
- Now, to the crux of our config, let's set
AM, which let's Canopy know to amortize the loan amount for this account, setting up a simple, traditional installment product.
- We can use the defaults for all remaining values, as we'll set implementation values such as interest rate for each account in real-time as we originate each new customer.
That's it! Our simple installment product has been created, and we are ready to start onboarding accounts.