You can create multiple payment terms, but only one payment term can be made default at a time. To make a payment term, default,the "IsDefault” valuein the payload must be set to True.
If there is only one payment term, Payment Term-1, in the org and the value IsDefault is set to True in the payload, it is automatically set as a default payment term.
If another Payment Term-2, is marked as default, Payment Term-1 ceases to be the default payment term.
Similarly, if Payment Term-3 is marked as default, Payment Term-2 ceases to be the default payment term, and so on.
To make Payment Term-1 a default payment term again, you must call the billing services endpoint.
When you create a payment term by entering the values in the Active and IsDefault fields, the following outcomes are expected for single and multiple records.
For single records:
If Active = True and IsDefault = True, the payment term is created in Active status and updated as Default.
If Active = True and IsDefault = False, the payment term is created in Active status but not updated as Default.
If Active = False and IsDefault = True, the payment term is not created and an error message is displayed.
If Active = False and IsDefault = False, the payment term is created but not Activated and is not updated as Default.
For multiple records:
If all have Active = True and one record has IsDefault = True, all payment terms are created in Active status, but the one with IsDefault = True is updated as Default.
If all have Active = True and no record has IsDefault = True, all payment terms are created in Active status, but none of them are updated as Default.
If all have Active = True and more than one record has IsDefault = True, payment terms are not created and an error message is displayed.
If all have Active = False and one record has IsDefault = True, payment terms are not created and an error message is displayed.
If all have Active = False and no record has IsDefault = True, all payment terms are created but not Activated and none of them is updated as Default.
When you update a payment term by entering the values for Active and IsDefault fields to the billing services endpoint, the following outcomes are expected for single and multiple records.
When updating one or more records whose IsDefault = false with Active = false, all the payment terms are marked Inactive.
When updating a record whose IsDefault = true, and is updated as Inactive, in this case, the default payment term is marked inactive.
Updating a record as IsDefault = True while there are one or more existing records whose IsDefault = True (regardless of their active status), the application updates the new payment term as Default and existing records as not Default.