I'm developing an ERP type application that predominately does create/read/update/delete operations against a SQL database. Sometimes it not possible to delete a record from the database as it would break the referential integrity of the database, but as the user has a desire to remove the record I want to offer them the option "discontinuing" the record. The intention is that the "discontinued" record is no longer available for use within the application, however where there is another record in the application that references the "discontinued" record the associated information is still available and the referential integrity is maintained.
If a user tries to create a record with the same name as the "discontinued" record the application will inform the user that the record cannot be created but the previously "discontinued" record can instead be "reactivated". The user would also be able to "reactivate" the record if it had been "discontinued" accidentally or the circumstances have changed and there is now a desire to make the record available within the application whilst maintaining all of the associated history.
The issue I've got is that I'm unsure whether the terms "discontinued" and "reactivate" are the most appropriate from a user experience perspective. I would also like to have a consistent set of terms across the whole application hence why my description in the previous paragraphs was rather generic.
I appreciate that this functionality could be described as "soft delete", however I'm not convinced that is the most appropriate term either as it brings to mind the idea that the records will be permanently deleted at a later point in time.
Another term I've considered is "active" and "inactive" but these are terms already in use by some on the record types in the application and therefore have a different meaning.
My question is from a user experience perspective are "discontinued" and "reactive" the most appropriate terms for what I'm trying to achieve or would another term be better suited?