When a subscription starts (first connection from the client to the code) it takes the Subscription period in days and works out the subscription expiry date and fills out this field).
This expiry date is only updated if its null for the codes in question then it will recalculate it from the Current Date + the Subscription Period.
So if you want to adjust the length of the current subscription on a license code then you can just modify the subscription expiry date, as modifying the Subscription Period will only take effect if the subscription end date is null and you have a valid subscription period.
So if you want to reset a subscription to say 10 days from an original 365 days, you will need to set the subscription period to 10 and then blank out the subscription end date by passing in <subscriptionenddate></subscriptionenddate>.
Then when the next client connects to the Zentitle Servers with this modified license code, the expiry date is calculated "NOW + Subscription period" to give the new subscription end date.