Delivery Address Not Set Correctly in Sales Order

To resolve the issue of the delivery address not being set correctly in Sales Orders, ensure the Override checkbox is explicitly set to false when creating a Sales Order (SO).

let shipaddrSubrecord = salesOrder.getSubrecord({ fieldId: ‘shippingaddress’ });

shipaddrSubrecord.setText({

  fieldId: ‘country’,

  value: shipTo?.Address[“@attributes”]?.isoCountryCode

});

shipaddrSubrecord.setValue({ fieldId: ‘attention’, value: ” });

shipaddrSubrecord.setValue({

  fieldId: ‘addressee’,

  value: Array.isArray(shipTo.Address.PostalAddress.DeliverTo)

    ? (shipTo.Address.PostalAddress.DeliverTo[0][“#text”] || ”)

    : (shipTo.Address.PostalAddress.DeliverTo[“#text”] || ”)

});

shipaddrSubrecord.setValue({

  fieldId: ‘addr1’,

  value: Array.isArray(shipTo.Address.PostalAddress.Street)

    ? (shipTo.Address.PostalAddress.Street[0][“#text”] || ”)

    : (shipTo.Address.PostalAddress.Street[“#text”] || ”)

});

shipaddrSubrecord.setValue({

  fieldId: ‘addr2’,

  value: Array.isArray(shipTo.Address.PostalAddress.Street) && shipTo.Address.PostalAddress.Street[1]

    ? (shipTo.Address.PostalAddress.Street[1][“#text”] || ”)

    : ”

});

shipaddrSubrecord.setValue({

  fieldId: ‘city’,

  value: shipTo?.Address?.PostalAddress?.City[“#text”]

});

shipaddrSubrecord.setValue({

  fieldId: ‘zip’,

  value: shipTo?.Address?.PostalAddress?.PostalCode[“#text”]

});

shipaddrSubrecord.setValue({

  fieldId: ‘override’,

  value: false

});

let billaddrSubrecord = salesOrder.getSubrecord({ fieldId: ‘billingaddress’ });

billaddrSubrecord.setText({

  fieldId: ‘country’,

  value: billTo?.Address[“@attributes”]?.isoCountryCode

});

billaddrSubrecord.setValue({ fieldId: ‘addressee’, value: ” });

billaddrSubrecord.setValue({ fieldId: ‘attention’, value: ” });

billaddrSubrecord.setValue({

  fieldId: ‘addr1’,

  value: Array.isArray(billTo.Address.PostalAddress.Street)

    ? (billTo.Address.PostalAddress.Street[0][“#text”] || ”)

    : (billTo.Address.PostalAddress.Street[0][“#text”] || ”)

});

billaddrSubrecord.setValue({

  fieldId: ‘addr2’,

  value: Array.isArray(billTo.Address.PostalAddress.Street) && billTo.Address.PostalAddress.Street[1]

    ? (billTo.Address.PostalAddress.Street[1][“#text”] || ”)

    : ”

});

billaddrSubrecord.setValue({

  fieldId: ‘city’,

  value: billTo?.Address?.PostalAddress?.City[“#text”]

});

billaddrSubrecord.setValue({

  fieldId: ‘zip’,

  value: billTo?.Address?.PostalAddress?.PostalCode[“#text”]

});

billaddrSubrecord.setValue({

  fieldId: ‘override’,

  value: false

});

With this update, the Override checkbox is now explicitly set to false for both shipping and billing addresses, ensuring the correct delivery address is applied in Sales Orders.

Leave a comment

Your email address will not be published. Required fields are marked *