Limio for Salesforce facilitates subscription management is centred around a Customer, which is represented as either a Contact or a Person Accounts within the Salesforce ecosystem. When processing orders, LFS retrieves customer information from the Contact record directly, or using the relationship connections between records, and incorporates it into the order payload.
Unlike Person Accounts, which have a one-to-one relationship with Contact records, Business Accounts exhibit a one-to-many relationship. This difference previously meant that only Account records classified as Person Accounts could be processed in LFS, as the customer details were always readily available from the associated Contact record. However, we have now introduced a method to specify exactly which Contact to use for an order. This enhancement enables the processing of orders for Business Accounts, thereby expanding the flexibility and applicability of our system.
How to provide a contact record to use as a customer details provider?
The Summary Screen, which is the final screen of every LFS flow, contains a Limio Order Summary component with a new property called Contact record, it expects a SF Contact record as an. input value. Here is an example configuration in the Acquisition Flow:
- Ensure that the flow is executed within the context of an Account.
- Check if it is a Person Account.
- If it is not a Person Account, display a picklist of the related contacts.
- Retrieve the selected contact record.
5. Pass the contact record into the Limio Order Summary component's property Contact record:
Can I omit specifying a Contact and still run an order on a Business Account?
In short, - yes, you can. This is now possible for all orders expect Acquisition that still requires to specify who exactly is a customer using the subscription. Any other orders triggered from the Manage Subscriptions are valid without customer details.
However, it is important to note that customer details will not appear on these orders, make sure you take this into account if there are any triggers dependant on this data on your side. If you want to include customer details, you will need to provide a Contact record through a new flow property on the Summary screen.
Example of a Cancellation Order run on a Business Account
{
"country": "GB",
"cancelDate": "2024-03-06",
"previewOrder": {
"currency": "GBP",
"amount": 0
},
"data": {
"reason": {
"id": "Too Expensive"
}
},
"recaptchaPayload": null,
"__spec_version": "2",
"change_type": "cancel_subscription",
"external_id": "CDFRFQ9AFTS",
"source": "salesforce",
"tracking": {
"accountId": "0018c000031lOBeAAM",
"userId": "0058c000007qUDCAA2"
},
"process_immediately": true,
"mode": "production",
"customerId": "cus-74d88305c8c239fbb5b33b53730a86b3",
"payment": {},
"customerDetails": {},
"subscriptionId": "sub-4f04c5960450f189710df03a3ea7efec",
"sourceDetails": {
"instance": "limio-dev-qa-dev-ed.my.salesforce.com"
},
"initiated_source": "salesforce",
"order_type": "cancel_subscription",
"orderDate": "2024-02-06T14:43:26.297Z"
}
This is a valid order that is successfully processed by Zuora. However, the customerDetails object is empty and the tracking does not include a contactId. Please keep this in mind if you have any triggers based on these attributes on Limio orders.
New
If a user attempts to submit a new order for a Business Account in the Acquisition Flow without previously selecting a contact record, an error message will be shown:
When a Contact is provided, customerDetails and contactId within a tracking object are populated with values from the contact:
{
"source": "salesforce",
"initiated_source": "salesforce",
"__spec_version": "2",
"process_immediately": true,
"mode": "production",
"tracking": {
"accountId": "0011D000015bWiMQAU",
"contactId": "0031D00000hC9rmQAC",
"caseId": "500001",
"userId": "005000000000000000",
"offers": ["/offers/LimioSubscription/New"],
"purchaseCountryCode": "GB"
},
"orderItems": [],
"total": {
"currency": "GBP",
"amount": 150.01
},
"customerDetails": {
"firstName": "Test",
"lastName": "Demo",
"email": "test-demo@limio-0211.com"
},
"country": "GB",
"sourceDetails": {
"instance": "https://sandbox.dev.limio.com"
}
}
Comments
0 comments
Please sign in to leave a comment.