Ship To Contact and Sold To Contact fields
This topic highlights the behavior of Ship To Contact and Sold To Contact fields when the Flexible Billing Attributes is enabled.
Behavior of Sold To Contact field
When Flexible Billing Attributes is enabled, different subscriptions or order line items on the same invoice can have different Sold To contacts. The effective Sold To contact for these charges is stored at the invoice-item level. The account-level Sold To contact must not be interpreted as the Sold To contact for every invoice item.
The Sold To contact used for each invoice item remains available through the invoice item and is used for the applicable tax calculation and invoice presentation logic.
This is because a single invoice can consolidate items from multiple subscriptions, each with different Sold To contacts. The reasons are as listed below:
-
Bill To Contact is a grouping attribute. All items on an invoice share the same Bill To, so it can be stored at the invoice header level.
-
Sold To Contact is not a grouping attribute. So, different subscriptions on the same invoice can have different Sold To contacts.
The billing rule Copy billing attributes from accounts to billing documents when no attributes are specified on subscriptions does not control whether Sold To is stored at the invoice or invoice-item level. When Flexible Billing Attributes is enabled, Sold To remains an item-level attribute for subscription- and order-generated invoices.
Access Sold To Contact field
To retrieve Sold To contact information for invoices with Flexible Billing Attributes, use the following approach:
Query tax calculation outputs
Tax engines use subscription-level Sold To addresses appropriately for calculations. Access tax engine outputs to retrieve the Sold To address used for each item:
)
If you need to display a Sold To contact on invoice PDFs, you can retrieve and display one of the Sold To contacts from the invoice items. However, when invoice items have different Sold To contacts, only one can be displayed at the invoice header level, which may not accurately represent all items on the invoice.
UI display behavior for invoices with multiple subscriptions
When Flexible Billing Attributes is enabled, the Invoice Detail page includes a Sold To column in the Invoice Details table. The column is hidden by default and can be enabled through Custom View. Each cell displays the Sold To contact associated with the invoice item. Hover over a contact name to view the contact's email address and address details.
If Invoice.SoldToContactId is populated, the invoice header displays the invoice-level Sold To contact. If it is null, the invoice header displays a dash and guidance to view the item-level Sold To values in the Invoice Details table. The account default Sold To contact can be displayed separately for reference and does not replace the item-level Sold To values.
When Flexible Billing Attributes is disabled, the existing invoice header behavior remains unchanged.
For reporting and data analysis, use taxation item which contain subscription-level address information.
For invoice presentation:
-
Invoice template customization: Modify invoice templates to display Sold To at the line item level, displaying each subscription's Sold To contact alongside its charges.
-
Invoice grouping strategy: Configure invoice grouping (through Configurable Invoice Grouping feature) to separate subscriptions with different Sold To contacts into separate invoices.
Ship To Contact Behavior
The Invoice.ShipToContactId field follows the same pattern as the Sold To Contact field:
-
It is not stored at invoice header level when an invoice may contain items with different Ship To contacts.
-
Retrieved at subscription or invoice item level.
-
Invoice UI may display account-level Ship To for the same reasons as Sold To.