Troubleshooting

This topic includes the following sections:

Data Verification

As part of your regular business processes, verify that data is being properly synchronized between Order Management and Salesforce B2C Commerce. Check a sampling of data to compare orders in B2C Commerce with corresponding orders in Order Management, and verify that synchronized values (such as prices) match.

Take the synchronization schedule and inventory holdback levels into account. Possibly, some recent data is not yet synchronized, depending on the amount of time since the last synchronization task.

Stuck Orders

If orders in B2C Commerce remain in Sending status for an excessive amount of time, follow these steps to investigate:

Note: Some pages referenced here are only visible to internal Salesforce users, such as Client Services.
  1. Select Merchant Tools > Ordering > Orders and click the Order Management Integration Status button. Check that the Configuration panel includes the following settings:
    • "order_push_enabled" : true
    • "order_push_suspended" : false
    If either setting is incorrect, update the connection settings in the B2C Commerce Integration Provider.
  2. Check the tenant realm ID in Utilities > Integration.
  3. Verify that the Connections Accepting Orders section in Utilities > Integration contains the correct base URL.
  4. Verify that the heartbeat job is communicating successfully:
    1. In Administration: Utilities > Add-In Jobs.
    2. In the search form, select Commerce from the Group dropdown and click Search.
    3. Select the heartbeat job. The job dialog opens.
    4. Check the History tab in the Details section. It lists successful runs.
    5. Click Show Details for the most recent run.
    6. Server, status, and version information appears after the Duration value. If any of this information is missing, it can indicate a communication problem.
  5. Verify that the order request job is communicating successfully:
    1. In Administration, open Utilities > Add-In Jobs.
    2. In the search form, select Commerce from the Group dropdown and click Search.
    3. Select the order request job. The job dialog opens.
    4. Check the History tab in the Details section. It lists successful runs.
  6. In Administration, open Utilities > Integration and click Sanity Check. Passed integration tests show a green check mark. If any do not:
    • Encryption Key Check: Check the private and public keys in the Digital Integration Provider. The private key includes the RSA header and footer, while the public key doesn't.
    • Create OAuth Token: Contact Support.
    • Validate OAuth Token: Contact Support.
  7. Open the B2C Commerce Integration Provider and verify that the connection is listed in the Connection Manager section, and that the private and public keys are correct. Click the Edit link for the connection to view the connection details. Ensure that its State is Active and that Accept Orders is selected.
  8. Try creating an order in B2C Commerce and see if it's sent to Order Management. If it works, wait 10 minutes and see if the system starts sending the stuck orders.
  9. If orders remain stuck at this point, contact Support.

Order Creation Failure: OrderItem Doesn't Resolve and UnknownItemBehavior Is Set to Error

This failure can occur when Order Management isn't properly configured to automatically create unrecognized items included in orders from B2C Commerce. To fix it, set the Catalog Sync setting in the Demandware Provider to one of the following (B2C Commerce as the catalog master):

More Than One Attribute Found with the Same Identifier

Order Management doesn't allow multiple attributes with the same identifier. The error message includes the conflicting identifier type (for example, IdKey) and value. Delete or change any duplicate attributes in Order Management.

Suppressing Synchronization Tasks

The Suppress Tasks setting in the Demandware Provider enables you to temporarily suppress certain synchronization-related tasks without adjusting your synchronization configuration. This setting prevents the types of data handled by the selected tasks from being synchronized between Order Management and B2C Commerce. Selecting a task in this setting prevents that task from running. De-selecting it restores the task to its normal setting as of its next scheduled execution.

This setting can prevent the transfer of bad data between B2C Commerce and Order Management, while allowing you to easily restore synchronization after fixing any problems. For example, if an incorrect Inventory update is made in Order Management, you can select Inventory Sync in the Suppress Tasks section of the Demandware provider. Suppressing this task prevents the incorrect inventory values from being exported to B2C Commerce. When the inventory data is corrected, you simply de-select Inventory Sync to restore normal inventory synchronization.