Update Order Billing Preferences: /orders/{order_id}/billing-preferences
Purpose
This endpoint updates the billing preferences of a specific order, including invoice settings, payment options, fulfillment rules, and consolidation behavior.
Use Case
The endpoint is used to change the billing preferences that how a specific order should be invoiced and paid. For example, if an admin wants to switch an order from manual to automatic billing, change the payment processor from cheque to cash or others, update the invoice term to "Net -7", this endpoint allows them to perform those updates dynamically.
Path Parameters
Parameter | Type | Description |
---|---|---|
order_id | String | Unique identifier of the order |
Query Parameters
No query parameters required for this endpoint.
Request Body
The request should include a new set of billing preference values under the order > properties object.
{
"ORDER": {
"PROPERTIES": {
"COMMUNICATION_PROFILE": "STRING_VALUE",
"INVOICE_MODE": "STRING_VALUE",
"INVOICE_TERM": "STRING_VALUE",
"BILLING_PERIOD": "STRING_VALUE",
"PAYMENT_PROCESSOR": "STRING_VALUE",
"PAYMENT_MODE": "STRING_VALUE",
"PAYMENT_TERM": "STRING_VALUE",
"PAYMENT_TERM_ALIGNMENT": "STRING_VALUE",
"FULFILLMENT_MODE": "STRING_VALUE",
"FULFILLMENT_TERM": "STRING_VALUE",
"PRO_RATA_PARTIAL_CHARGING_PERIOD": "BOOLEAN",
"PRO_RATA_PARTIAL_PRICING_PERIOD": "BOOLEAN",
"PRO_RATA_PARTIAL_UNIT": "BOOLEAN"
}
}
}
Attribute | Type | Description |
---|---|---|
communication_profile | String | Name of the communication profile. |
invoice_mode | String | Invoicing mode (MANUAL, AUTOMATIC). |
invoice_term | String | Terms of the invoice |
billing_period | String | Period for recurring billing |
payment_processor | String | Processor used to handle payments. |
payment_mode | String | Payment mode (MANUAL, AUTOMATIC). |
payment_term | String | Payment term . |
payment_term_alignment | String | Alignment rule for payment terms. |
fulfillment_mode | String | Mode of order fulfillment |
fulfillment_term | String | Term for fulfilling the order |
Response
The endpoint returns the updated billing preferences of the order, including both submitted and system-managed fields like consolidation settings. These preferences define how the order will be invoiced, paid, and fulfilled moving forward.
{
"ORDER": {
"PROPERTIES": {
"COMMUNICATION_PROFILE": "STRING_VALUE",
"INVOICE_MODE": "STRING_VALUE",
"INVOICE_TERM": "STRING_VALUE",
"BILLING_PERIOD": "STRING_VALUE",
"CONSOLIDATE_INVOICE": "BOOLEAN",
"CONSOLIDATE_KEY": "STRING_VALUE",
"PAYMENT_PROCESSOR": "STRING_VALUE",
"PAYMENT_MODE": "STRING_VALUE",
"PAYMENT_TERM": "STRING_VALUE",
"PAYMENT_TERM_ALIGNMENT": "STRING_VALUE",
"FULFILLMENT_MODE": "STRING_VALUE",
"FULFILLMENT_TERM": "STRING_VALUE"
}
}
}
Attribute | Type | Description |
---|---|---|
communication_profile | String | Updated communication profile used for this order. |
invoice_mode | String | Invoice generation mode . |
invoice_term | String | Terms under which the invoice is considered due. |
billing_period | String | Updated billing frequency for the order. |
consolidate_invoice | String | Whether invoices should be consolidated . |
consolidate_key | String | Identifier used for invoice consolidation grouping. |
payment_processor | String | Payment processor to use . |
payment_mode | String | Mode of payment execution . |
payment_term | String | Payment due terms. |
payment_term_alignment | String | Alignment for calculating payment terms. |
fulfillment_mode | String | How the order will be fulfilled . |
fulfillment_term | String | Timeline or terms for fulfillment . |