the first place a discount will be applied to the cart is on the cart display page.
Create a recordset on this page to look up the discount amount, then use the eCart set session value server behavior to store it in a session. Set the trigger to before page loads. Set the name to "discountAmt", then click the lightning bolt next to value and select the recordset column.
When creating the discount in ecart, set the trigger to:
subtotal For any Column:
if the subtotal of column "Quantity" is ">" a value of "500"
then for the calculation use:
Based on Multiple of Column Subtotal:
subtotal of column "TotalPrice" "Times" "$_SESSION['discountAmt']" "Plus" "0"
for the free shipping, set the shipping rule trigger to:
Subtotal For any column:
If the subtotal of "TotalPrice" is "<" a value of "500"
this way shipping will only be applied if the subtotal is less then $500