[{"data":1,"prerenderedAt":559},["ShallowReactive",2],{"content-/core-concepts/soft-delete-archive-and-restore":3,"docs-toc":331},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"type":10,"status":11,"applies_to":12,"last_reviewed":14,"related":15,"body":18,"_type":325,"_id":326,"_source":327,"_file":328,"_stem":329,"_extension":330},"/core-concepts/soft-delete-archive-and-restore","core-concepts",false,"","Soft delete, archive and restore","PropLink almost never deletes a record permanently. Archive hides it. Restore brings it back. Permanent deletion is a deliberate, audited choice.","concept","live",[13],"shared","2026-05-10",[16,17],"/core-concepts/the-audit-trail","/reference/permissions-reference",{"type":19,"children":20,"toc":314},"root",[21,29,50,57,62,68,73,79,84,96,121,126,132,152,161,173,179,219,224,230,235,275,289,295],{"type":22,"tag":23,"props":24,"children":26},"element","h1",{"id":25},"soft-delete-archive-and-restore",[27],{"type":28,"value":8},"text",{"type":22,"tag":30,"props":31,"children":32},"p",{},[33,35,41,43,48],{"type":28,"value":34},"PropLink prefers reversible actions over destructive ones. Most records can be ",{"type":22,"tag":36,"props":37,"children":38},"strong",{},[39],{"type":28,"value":40},"archived",{"type":28,"value":42}," (hidden from lists, kept in the database) and ",{"type":22,"tag":36,"props":44,"children":45},{},[46],{"type":28,"value":47},"restored",{"type":28,"value":49}," (returned to lists) without losing any history. Permanent deletion exists, but it is a separate, explicit action gated behind a separate permission and recorded in the audit log.",{"type":22,"tag":51,"props":52,"children":54},"h2",{"id":53},"why-this-matters",[55],{"type":28,"value":56},"Why this matters",{"type":22,"tag":30,"props":58,"children":59},{},[60],{"type":28,"value":61},"Property management deals in long-term records with legal weight, service charge accounts must be available to a leaseholder for six years, building safety records must be kept for the life of the building, audit history for arrears recovery must withstand a First-tier Tribunal. Allowing a single misclick to wipe a record permanently is not appropriate.",{"type":22,"tag":51,"props":63,"children":65},{"id":64},"the-three-states",[66],{"type":28,"value":67},"The three states",{"type":22,"tag":69,"props":70,"children":72},"glossary",{":items":71},"[{\"term\":\"Active\",\"definition\":\"The default. The record appears in lists, search, reports and exports.\"},{\"term\":\"Archived (soft-deleted)\",\"definition\":\"The record is hidden from default lists but kept in the database with a deletion timestamp. References to it from other records still resolve. You can find it by toggling \\\"Show archived\\\" on most list pages, or via search.\"},{\"term\":\"Permanently deleted\",\"definition\":\"The record is physically removed from the database. Only certain record types support this. The action requires a dedicated permission and is recorded in the audit log with the deleting user, the time and the reason.\"}]",[],{"type":22,"tag":51,"props":74,"children":76},{"id":75},"what-you-can-archive",[77],{"type":28,"value":78},"What you can archive",{"type":22,"tag":30,"props":80,"children":81},{},[82],{"type":28,"value":83},"Almost everything: sites, units, contacts, vendors, invoices (draft only), credit notes (draft only), tickets, work orders, issues, maintenance events, service agreements, files, ledger accounts (only if no transactions posted), users, roles, templates, workflows.",{"type":22,"tag":30,"props":85,"children":86},{},[87,89,94],{"type":28,"value":88},"Records you ",{"type":22,"tag":36,"props":90,"children":91},{},[92],{"type":28,"value":93},"cannot",{"type":28,"value":95}," archive once they are approved or posted:",{"type":22,"tag":97,"props":98,"children":99},"ul",{},[100,106,111,116],{"type":22,"tag":101,"props":102,"children":103},"li",{},[104],{"type":28,"value":105},"Approved invoices and receipts.",{"type":22,"tag":101,"props":107,"children":108},{},[109],{"type":28,"value":110},"Posted journals.",{"type":22,"tag":101,"props":112,"children":113},{},[114],{"type":28,"value":115},"Reconciled bank lines.",{"type":22,"tag":101,"props":117,"children":118},{},[119],{"type":28,"value":120},"Closed work orders that have associated bills.",{"type":22,"tag":30,"props":122,"children":123},{},[124],{"type":28,"value":125},"These are immutable for audit reasons. To \"remove\" them you either reverse them (issue a compensating entry) or void them (mark them void, keeping the original entry).",{"type":22,"tag":51,"props":127,"children":129},{"id":128},"how-archive-looks-in-the-ui",[130],{"type":28,"value":131},"How archive looks in the UI",{"type":22,"tag":30,"props":133,"children":134},{},[135,137,142,144,150],{"type":28,"value":136},"Most list pages have a ",{"type":22,"tag":36,"props":138,"children":139},{},[140],{"type":28,"value":141},"Show archived",{"type":28,"value":143}," toggle at the top. With it on, archived records appear with a faint strikethrough and a small ",{"type":22,"tag":145,"props":146,"children":147},"em",{},[148],{"type":28,"value":149},"Archived",{"type":28,"value":151}," badge. The detail page for an archived record adds a banner at the top:",{"type":22,"tag":153,"props":154,"children":155},"blockquote",{},[156],{"type":22,"tag":30,"props":157,"children":158},{},[159],{"type":28,"value":160},"This record is archived. It does not appear in default lists or reports.",{"type":22,"tag":30,"props":162,"children":163},{},[164,166,171],{"type":28,"value":165},"The banner has a ",{"type":22,"tag":36,"props":167,"children":168},{},[169],{"type":28,"value":170},"Restore",{"type":28,"value":172}," button if you have the permission.",{"type":22,"tag":51,"props":174,"children":176},{"id":175},"how-restore-works",[177],{"type":28,"value":178},"How restore works",{"type":22,"tag":180,"props":181,"children":182},"steps",{},[183],{"type":22,"tag":184,"props":185,"children":186},"ol",{},[187,198,203,214],{"type":22,"tag":101,"props":188,"children":189},{},[190,192,196],{"type":28,"value":191},"Find the archived record, toggle ",{"type":22,"tag":36,"props":193,"children":194},{},[195],{"type":28,"value":141},{"type":28,"value":197}," on the relevant list, or search for it directly.",{"type":22,"tag":101,"props":199,"children":200},{},[201],{"type":28,"value":202},"Open the record.",{"type":22,"tag":101,"props":204,"children":205},{},[206,208,212],{"type":28,"value":207},"Click ",{"type":22,"tag":36,"props":209,"children":210},{},[211],{"type":28,"value":170},{"type":28,"value":213}," in the banner.",{"type":22,"tag":101,"props":215,"children":216},{},[217],{"type":28,"value":218},"PropLink confirms, removes the deletion timestamp and restores the record to the lists.",{"type":22,"tag":30,"props":220,"children":221},{},[222],{"type":28,"value":223},"Restoring does not undo any actions that happened in between archive and restore. If a unit was archived for six months and a leaseholder was reassigned to another unit during that time, restoring the original unit does not undo the reassignment.",{"type":22,"tag":51,"props":225,"children":227},{"id":226},"how-permanent-deletion-works",[228],{"type":28,"value":229},"How permanent deletion works",{"type":22,"tag":30,"props":231,"children":232},{},[233],{"type":28,"value":234},"For the record types that support it:",{"type":22,"tag":180,"props":236,"children":237},{},[238],{"type":22,"tag":184,"props":239,"children":240},{},[241,246,258,270],{"type":22,"tag":101,"props":242,"children":243},{},[244],{"type":28,"value":245},"The record must already be archived.",{"type":22,"tag":101,"props":247,"children":248},{},[249,251,256],{"type":28,"value":250},"The deleting user needs the ",{"type":22,"tag":145,"props":252,"children":253},{},[254],{"type":28,"value":255},"Force delete",{"type":28,"value":257}," permission for that domain.",{"type":22,"tag":101,"props":259,"children":260},{},[261,263,268],{"type":28,"value":262},"On the archived record, ",{"type":22,"tag":36,"props":264,"children":265},{},[266],{"type":28,"value":267},"Permanently delete",{"type":28,"value":269}," appears as a secondary action under a confirmation prompt.",{"type":22,"tag":101,"props":271,"children":272},{},[273],{"type":28,"value":274},"PropLink asks for a reason, writes the action to the audit log and removes the record.",{"type":22,"tag":30,"props":276,"children":277},{},[278,280,287],{"type":28,"value":279},"Permanent deletion is rare and almost always associated with GDPR data-subject requests. See ",{"type":22,"tag":281,"props":282,"children":284},"a",{"href":283},"/contacts/gdpr-and-data-subject-requests",[285],{"type":28,"value":286},"GDPR and data subject requests",{"type":28,"value":288},".",{"type":22,"tag":51,"props":290,"children":292},{"id":291},"bulk-archive-and-restore",[293],{"type":28,"value":294},"Bulk archive and restore",{"type":22,"tag":30,"props":296,"children":297},{},[298,300,305,307,312],{"type":28,"value":299},"On most list pages you can select multiple rows and pick ",{"type":22,"tag":36,"props":301,"children":302},{},[303],{"type":28,"value":304},"Archive selected",{"type":28,"value":306}," or ",{"type":22,"tag":36,"props":308,"children":309},{},[310],{"type":28,"value":311},"Restore selected",{"type":28,"value":313}," from the bulk actions menu. The same permission rules apply per record.",{"title":7,"searchDepth":315,"depth":315,"links":316},3,[317,319,320,321,322,323,324],{"id":53,"depth":318,"text":56},2,{"id":64,"depth":318,"text":67},{"id":75,"depth":318,"text":78},{"id":128,"depth":318,"text":131},{"id":175,"depth":318,"text":178},{"id":226,"depth":318,"text":229},{"id":291,"depth":318,"text":294},"markdown","content:02.core-concepts:soft-delete-archive-and-restore.md","content","02.core-concepts/soft-delete-archive-and-restore.md","02.core-concepts/soft-delete-archive-and-restore","md",{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"type":10,"status":11,"applies_to":332,"last_reviewed":14,"related":333,"body":334,"_type":325,"_id":326,"_source":327,"_file":328,"_stem":329,"_extension":330},[13],[16,17],{"type":19,"children":335,"toc":550},[336,340,354,358,362,366,369,373,377,386,405,409,413,427,434,443,447,479,483,487,491,523,532,536],{"type":22,"tag":23,"props":337,"children":338},{"id":25},[339],{"type":28,"value":8},{"type":22,"tag":30,"props":341,"children":342},{},[343,344,348,349,353],{"type":28,"value":34},{"type":22,"tag":36,"props":345,"children":346},{},[347],{"type":28,"value":40},{"type":28,"value":42},{"type":22,"tag":36,"props":350,"children":351},{},[352],{"type":28,"value":47},{"type":28,"value":49},{"type":22,"tag":51,"props":355,"children":356},{"id":53},[357],{"type":28,"value":56},{"type":22,"tag":30,"props":359,"children":360},{},[361],{"type":28,"value":61},{"type":22,"tag":51,"props":363,"children":364},{"id":64},[365],{"type":28,"value":67},{"type":22,"tag":69,"props":367,"children":368},{":items":71},[],{"type":22,"tag":51,"props":370,"children":371},{"id":75},[372],{"type":28,"value":78},{"type":22,"tag":30,"props":374,"children":375},{},[376],{"type":28,"value":83},{"type":22,"tag":30,"props":378,"children":379},{},[380,381,385],{"type":28,"value":88},{"type":22,"tag":36,"props":382,"children":383},{},[384],{"type":28,"value":93},{"type":28,"value":95},{"type":22,"tag":97,"props":387,"children":388},{},[389,393,397,401],{"type":22,"tag":101,"props":390,"children":391},{},[392],{"type":28,"value":105},{"type":22,"tag":101,"props":394,"children":395},{},[396],{"type":28,"value":110},{"type":22,"tag":101,"props":398,"children":399},{},[400],{"type":28,"value":115},{"type":22,"tag":101,"props":402,"children":403},{},[404],{"type":28,"value":120},{"type":22,"tag":30,"props":406,"children":407},{},[408],{"type":28,"value":125},{"type":22,"tag":51,"props":410,"children":411},{"id":128},[412],{"type":28,"value":131},{"type":22,"tag":30,"props":414,"children":415},{},[416,417,421,422,426],{"type":28,"value":136},{"type":22,"tag":36,"props":418,"children":419},{},[420],{"type":28,"value":141},{"type":28,"value":143},{"type":22,"tag":145,"props":423,"children":424},{},[425],{"type":28,"value":149},{"type":28,"value":151},{"type":22,"tag":153,"props":428,"children":429},{},[430],{"type":22,"tag":30,"props":431,"children":432},{},[433],{"type":28,"value":160},{"type":22,"tag":30,"props":435,"children":436},{},[437,438,442],{"type":28,"value":165},{"type":22,"tag":36,"props":439,"children":440},{},[441],{"type":28,"value":170},{"type":28,"value":172},{"type":22,"tag":51,"props":444,"children":445},{"id":175},[446],{"type":28,"value":178},{"type":22,"tag":180,"props":448,"children":449},{},[450],{"type":22,"tag":184,"props":451,"children":452},{},[453,462,466,475],{"type":22,"tag":101,"props":454,"children":455},{},[456,457,461],{"type":28,"value":191},{"type":22,"tag":36,"props":458,"children":459},{},[460],{"type":28,"value":141},{"type":28,"value":197},{"type":22,"tag":101,"props":463,"children":464},{},[465],{"type":28,"value":202},{"type":22,"tag":101,"props":467,"children":468},{},[469,470,474],{"type":28,"value":207},{"type":22,"tag":36,"props":471,"children":472},{},[473],{"type":28,"value":170},{"type":28,"value":213},{"type":22,"tag":101,"props":476,"children":477},{},[478],{"type":28,"value":218},{"type":22,"tag":30,"props":480,"children":481},{},[482],{"type":28,"value":223},{"type":22,"tag":51,"props":484,"children":485},{"id":226},[486],{"type":28,"value":229},{"type":22,"tag":30,"props":488,"children":489},{},[490],{"type":28,"value":234},{"type":22,"tag":180,"props":492,"children":493},{},[494],{"type":22,"tag":184,"props":495,"children":496},{},[497,501,510,519],{"type":22,"tag":101,"props":498,"children":499},{},[500],{"type":28,"value":245},{"type":22,"tag":101,"props":502,"children":503},{},[504,505,509],{"type":28,"value":250},{"type":22,"tag":145,"props":506,"children":507},{},[508],{"type":28,"value":255},{"type":28,"value":257},{"type":22,"tag":101,"props":511,"children":512},{},[513,514,518],{"type":28,"value":262},{"type":22,"tag":36,"props":515,"children":516},{},[517],{"type":28,"value":267},{"type":28,"value":269},{"type":22,"tag":101,"props":520,"children":521},{},[522],{"type":28,"value":274},{"type":22,"tag":30,"props":524,"children":525},{},[526,527,531],{"type":28,"value":279},{"type":22,"tag":281,"props":528,"children":529},{"href":283},[530],{"type":28,"value":286},{"type":28,"value":288},{"type":22,"tag":51,"props":533,"children":534},{"id":291},[535],{"type":28,"value":294},{"type":22,"tag":30,"props":537,"children":538},{},[539,540,544,545,549],{"type":28,"value":299},{"type":22,"tag":36,"props":541,"children":542},{},[543],{"type":28,"value":304},{"type":28,"value":306},{"type":22,"tag":36,"props":546,"children":547},{},[548],{"type":28,"value":311},{"type":28,"value":313},{"title":7,"searchDepth":315,"depth":315,"links":551},[552,553,554,555,556,557,558],{"id":53,"depth":318,"text":56},{"id":64,"depth":318,"text":67},{"id":75,"depth":318,"text":78},{"id":128,"depth":318,"text":131},{"id":175,"depth":318,"text":178},{"id":226,"depth":318,"text":229},{"id":291,"depth":318,"text":294},1778601700218]