Creating payment plans

Use the following endpoint to create a payment plan:

  • POST /admin/v1/payment-plans

The minimum criteria for creating a payment plan depends on whether the plan uses a down payment, an out-of-sequence first installment, or neither.

Minimum creation criteria: down payments

Field Value Comments
accountLevelBillingInvoiceItemPlacementCutoffType A value from the InvoiceItemPlacementCutoffType typelist

In the base configuration, this can be set to:

  • invoicebilldate
  • invoiceduedate
currencies An array of values from the Currency typelist
daysBeforePolicyExpirationForInvoicingBlackout integer
daysFromReferenceDateToDownPayment integer
daysFromReferenceDateToFirstInstallment integer
daysFromReferenceDateToOneTimeCharge integer
downPaymentAfter A value from the PaymentScheduledAfter typelist

In the base configuration, this can be set to:

  • chargedate
  • chargeeffectivedate
  • chargeeffectivedateplusoneperiod
  • policyeffectivedate
  • policyeffectivedateplusoneperiod
downPaymentPercent string that expresses a decimal greater than 0.​00 and less than or equal to 100.​00
downPaymentSecondInstallment A value from the DownPaymentSecondInstallment typelist.

For payment plans with down payments, this must be set to:

downpayment

effectiveDate datetime
equityBuffer integer Required if equity warnings are enabled and, for this plan, reporting is set to false. Invalid if equity warnings are disabled.
equityWarningsEnabled Boolean Required if equity warnings are enabled and, for this plan, reporting is set to false. Invalid if equity warnings are disabled.
firstInstallmentAfter A value from the PaymentScheduledAfter typelist

In the base configuration, this can be set to:

  • chargedate
  • chargeeffectivedate
  • chargeeffectivedateplusoneperiod
  • policyeffectivedate
  • policyeffectivedateplusoneperiod
invoicingBlackoutType A value from the InvoicingBlackoutType typelist

In the base configuration, this can be set to:

  • billed
  • due
maximumNumberOfInstallments integer
name string This value cannot be used by any other payment plan.
oneTimeChargeAfter A value from the PaymentScheduledAfter typelist

In the base configuration, this can be set to:

  • chargedate
  • chargeeffectivedate
  • chargeeffectivedateplusoneperiod
  • policyeffectivedate
  • policyeffectivedateplusoneperiod
periodicity A value from the Periodicity typelist

In the base configuration, this can be set to:

  • monthly
  • everyweek
  • everyotherweek
  • twicepermonth
  • everyothermonth
  • quarterly
  • everyfourmonths
  • everysixmonths
  • everyyear
  • everyotheryear
policyLevelBillingBillDateOrDueDateBilling A value from the BillDateOrDueDateBilling typelist

In the base configuration, this can be set to:

  • BillDateBilling
  • DueDateBilling
reporting Boolean If equity warnings are enabled for BillingCenter and this is set to false, equityWarningsEnabled is required.
skipFeeForDownPayment Boolean

Minimum creation criteria: out-of-sequence first installments

Field Value Comments
accountLevelBillingInvoiceItemPlacementCutoffType A value from the InvoiceItemPlacementCutoffType typelist

In the base configuration, this can be set to:

  • invoicebilldate
  • invoiceduedate
currencies An array of values from the Currency typelist
daysBeforePolicyExpirationForInvoicingBlackout integer
daysFromReferenceDateToFirstInstallment integer
daysFromReferenceDateToOneTimeCharge integer
daysFromReferenceDateToSecondInstallment integer
downPaymentSecondInstallment A value from the DownPaymentSecondInstallment typelist

For payment plans with out-of-sequence first installments, this must be set to:

secondinstallment

effectiveDate datetime
equityBuffer integer Required if equity warnings are enabled and, for this plan, reporting is set to false.
equityWarningsEnabled Boolean Required if equity warnings are enabled and, for this plan, reporting is set to false.
firstInstallmentAfter A value from the PaymentScheduledAfter typelist

In the base configuration, this can be set to:

  • chargedate
  • chargeeffectivedate
  • chargeeffectivedateplusoneperiod
  • policyeffectivedate
  • policyeffectivedateplusoneperiod
invoicingBlackoutType A value from the InvoicingBlackoutType typelist

In the base configuration, this can be set to:

  • billed
  • due
maximumNumberOfInstallments integer
name string This value cannot be used by any other payment plan.
oneTimeChargeAfter A value from the PaymentScheduleAfter typelist

In the base configuration, this can be set to:

  • chargedate
  • chargeeffectivedate
  • chargeeffectivedateplusoneperiod
  • policyeffectivedate
  • policyeffectivedateplusoneperiod
periodicity A value from the Periodicity typelist

In the base configuration, this can be set to:

  • monthly
  • everyweek
  • everyotherweek
  • twicepermonth
  • everyothermonth
  • quarterly
  • everyfourmonths
  • everysixmonths
  • everyyear
  • everyotheryear
policyLevelBillingBillDateOrDueDateBilling A value from the BillDateOrDueDateBilling typelist

In the base configuration, this can be set to:

  • BillDateBilling
  • DueDateBilling
reporting Boolean If equity warnings are enabled for BillingCenter and this is set to true, the equityBuffer and equityWarningsEnabled properties are required.
secondInstallmentAfter A value from the PaymentScheduledAfter typelist

In the base configuration, this can be set to:

  • chargedate
  • chargeeffectivedate
  • chargeeffectivedateplusoneperiod
  • policyeffectivedate
  • policyeffectivedateplusoneperiod
skipFeeForDownPayment Boolean

Minimum creation criteria: no down payment or out-of-sequence first installment

Field Value Comments
accountLevelBillingInvoiceItemPlacementCutoffType A value from the InvoiceItemPlacementCutoffType typelist

In the base configuration, this can be set to:

  • invoicebilldate
  • invoiceduedate
currencies An array of values from the Currency typelist
daysBeforePolicyExpirationForInvoicingBlackout integer
daysFromReferenceDateToFirstInstallment integer
daysFromReferenceDateToOneTimeCharge integer
downPaymentSecondInstallment A value from the DownPaymentSecondInstallment typelist

For payment plans with no down payment or out-of-sequence first installment, this must be set to:

none

effectiveDate datetime
equityBuffer integer Required if equity warnings are enabled and, for this plan, reporting is set to false.
equityWarningsEnabled Boolean Required if equity warnings are enabled and, for this plan, reporting is set to false.
firstInstallmentAfter A value from the PaymentScheduledAfter typelist

In the base configuration, this can be set to:

  • chargedate
  • chargeeffectivedate
  • chargeeffectivedateplusoneperiod
  • policyeffectivedate
  • policyeffectivedateplusoneperiod
invoicingBlackoutType A value from the InvoicingBlackoutType typelist

In the base configuration, this can be set to:

  • billed
  • due
maximumNumberOfInstallments integer
name string This value cannot be used by any other payment plan.
oneTimeChargeAfter A value from the PaymentScheduleAfter typelist

In the base configuration, this can be set to:

  • chargedate
  • chargeeffectivedate
  • chargeeffectivedateplusoneperiod
  • policyeffectivedate
  • policyeffectivedateplusoneperiod
periodicity A value from the Periodicity typelist

In the base configuration, this can be set to:

  • monthly
  • everyweek
  • everyotherweek
  • twicepermonth
  • everyothermonth
  • quarterly
  • everyfourmonths
  • everysixmonths
  • everyyear
  • everyotheryear
policyLevelBillingBillDateOrDueDateBilling A value from the BillDateOrDueDateBilling typelist

In the base configuration, this can be set to:

  • BillDateBilling
  • DueDateBilling
reporting Boolean If equity warnings are enabled for BillingCenter and this is set to true, the equityBuffer and equityWarningsEnabled properties are required.
skipFeeForDownPayment Boolean

Example of creating a payment plan

For example, the following creates a new payment plan that uses down payments:

POST /admin/v1/payment-plans

{
  "data": {
    "attributes": {
        "accountLevelBillingInvoiceItemPlacementCutoffType" : {
            "code" : "invoiceduedate"
        },
        "currencies": [
            {
                "code": "usd",
                "name": "USD"
            }
        ],
        "daysBeforePolicyExpirationForInvoicingBlackout": 30,
        "daysFromReferenceDateToDownPayment": 7,
        "daysFromReferenceDateToFirstInstallment": 7,
        "daysFromReferenceDateToOneTimeCharge": 7,
        "downPaymentAfter": {
            "code": "policyeffectivedate"
        },
        "downPaymentPercent": "10.00",
        "downPaymentSecondInstallment": {
            "code": "downpayment"
        },
        "effectiveDate": "2020-12-31",
        "equityBuffer": 30,
        "equityWarningsEnabled": true,
        "firstInstallmentAfter": {
            "code": "policyeffectivedate"
        },
        "invoicingBlackoutType": {
            "code": "due"
        },
        "maximumNumberOfInstallments": 10,
        "name": "Cloud API Payment Plan 2",
        "oneTimeChargeAfter": {
            "code": "policyeffectivedate"
        },
        "periodicity": {
            "code": "monthly"
        },
        "policyLevelBillingBillDateOrDueDateBilling": {
            "code": "DueDateBilling"
        },
        "reporting": false,
        "skipFeeForDownPayment": true
    }
  }
}