Ok instead of waiting and since the customer email is being received in the in input data I created this function to get the address
public Address GetCustomerAddressByEmail(string customerEmail)
{
if (string.IsNullOrEmpty(customerEmail))
{
return null;
}
var addressCollection = PXSelectJoin<Address,
InnerJoin<Customer, On<Address.addressID, Equal<Customer.defBillAddressID>>,
InnerJoin<Contact, On<Customer.bAccountID, Equal<Contact.bAccountID>>>>,
Where<Contact.eMail, Equal<Required<Contact.eMail>>>>
.Select(new PXGraph(), customerEmail);
if (addressCollection == null || addressCollection.Count == 0)
{
PXTrace.WriteError("No address found with the specified email.");
return null;
}
PXTrace.WriteInformation($"add typo: " + addressCollectionn0].GetType());
var address = addressCollectionn0].GetItem<Address>();
return address;
}