A SharePoint-to-EDMS migration is complete when the receiving team can retrieve the right document version, understand its status and retained history, and enforce the intended access. Copying the latest files is only one possible transfer scope. Decide what the records must preserve before selecting an export tool or importing a library.
This procedure is for life-sciences teams moving an identified document population from SharePoint into a controlled destination. It is a planning and acceptance workflow, not a tested connector tutorial. It does not assume that SharePoint is unsuitable for controlled records or that the destination provides every required control by default.
The deliverables are a source inventory, approved mapping, reconciliation record and cutover decision. The worked example shows why matching document counts can still hide a wrong revision. Use authorized access and a permitted test environment; do not discover your retention or approval requirements by experimenting on the only available source.
1. Define which records move and which remain authoritative
Start with named sites, libraries and document families. Identify the product, project or quality process they support, the accountable owners and the destination's intended use. Record exclusions explicitly. A project can move current authoring work while keeping a controlled historical archive elsewhere, provided that arrangement meets the relevant requirements and remains usable.
Separate documents, versions, renditions and supporting records in the inventory. One logical document may have several file versions, an approved PDF and workflow evidence held outside the file itself. A count of100 current files cannot establish that100 complete record histories were transferred.
State the disposition of each source population: migrate with required history, migrate selected content with defined retained references, retain in the source environment, or exclude under an approved rationale. An unresolved retention or authority question should remain open. Do not translate an excluded migration item into permission to delete it.
For computerized systems used in relevant EU GMP activities, Annex11 section4.8 addresses preserving data value and meaning during migration. That supports checking the interpreted record, not only transfer success. It does not prescribe one migration architecture for all repositories. EU GMP Annex11, revision1.
2. Inventory the actual SharePoint configuration
Capture the library's versioning configuration, content types, columns, workflow relationships, access model and relevant retention arrangements. Identify customized behavior and external services. A description of standard SharePoint capabilities does not establish how this library has been operated.
Microsoft documents that version retention depends on service and configuration, and that previous versions may be retained for a finite period. Inspect what actually remains available before promising a complete historical export. Missing history is a source gap to assess, not something a new EDMS can reconstruct from the latest file. Microsoft Graph v1.0: list versions.
Use identifiers that distinguish the tenant/site, library or drive, item and selected version as appropriate to the extraction method. Preserve a retrievable source reference alongside the destination ID. Filenames and folder paths help users, but similar names and renamed folders make them an insufficient sole reconciliation key.
Record which evidence is in the file and which is elsewhere. Approval information may be represented by configured columns, workflow records or a separate service. A file's modified timestamp is not automatically its approval time. If the authoritative basis for a status cannot be found, route that item for assessment rather than importing it as approved.
3. Agree the mapping before importing a pilot
Have the document owner, destination administrator and relevant quality/records owners review the mapping together. Each decision needs an explanation, an accountable owner and acceptance evidence. The following worksheet is a proposed migration artifact, not a Microsoft or regulator-mandated form.
| Source element | Destination decision | Acceptance evidence |
|---|---|---|
| Stable item identity | Preserve original identity and assign destination ID | Bidirectional source-to-target cross-reference |
| Selected file versions | Import as supported history or retain in an agreed archive | Required revisions retrievable with their source relationship |
| Source version label | Preserve as provenance; distinguish target version scheme | Reviewer can identify source3.0 even if target numbering differs |
| Document state | Map only supported meanings and evidence | Approved source does not become effective by assumption |
| Content type and metadata | Map to the intended controlled vocabulary and fields | Values retain meaning; unmapped values remain exceptions |
| People and event times | Preserve source identity and actual historical times as evidence | Migration account/time does not impersonate the original action |
| Approval or signature evidence | Retain required records and link them to the assessed revision | Imported file is not presented as newly signed by the old approver |
| Permissions and sharing | Implement reviewed target roles and access boundaries | Authorized and denied-role checks pass |
| Linked documents and workflows | Preserve or replace relationships with controlled references | Links resolve to the intended record and version |
| Retention and holds | Apply reviewed record obligations and custody decisions | Required records remain available; disposal is separately authorized |
| Source location after cutover | Define read-only, retained or retired use and ownership | Users know where new editing and historical retrieval occur |
Unknown values must not silently become a convenient default. If a source state called “Final” could mean author complete or formally approved, leave the destination release status unresolved until the owner establishes the intended meaning and evidence.
Do not rewrite historical approval events into the destination's live approval workflow. The migration can retain evidence that an approval occurred in the old system while recording that a migration account performed the import today. Keeping those facts distinct avoids manufacturing a misleading audit history.
4. Verify the extraction method against every required artifact
Ask the implementation team to show how it obtains current content, selected historical versions, metadata and required supporting evidence. A connector's “SharePoint integration” label does not establish a complete migration scope. It might synchronize current files without importing version history or workflow records.
Microsoft Graph provides separate operations for listing versions and retrieving a version's content. Its historical-version content endpoint explicitly does not retrieve current-version content; the current file uses the drive-item content operation. A migration implementation must handle the appropriate paths and their results, rather than assume one successful download covers every version. Microsoft Graph: download a driveItemVersion.
Define how the job records failures, retries and partial transfers. Each retry should reconcile to the same intended target relationship or be identified as a new attempt; it should not quietly create another authoritative document. Keep an exception list that distinguishes inaccessible content, missing source evidence, unsupported mapping and actual transfer failure.
For unchanged binary transfers, a suitable integrity check can verify that the transferred bytes match. For a generated rendition or transformed metadata, use checks appropriate to the transformation. Equal hashes do not prove correct approval status, access or applicability, while legitimately transformed files will not necessarily retain the source hash.
5. Rebuild access intentionally and test denied users
Map users, groups and external participants to the intended destination roles. Evaluate inherited and direct sharing and any links in scope. Do not reproduce an old overbroad permission simply because it was easy to export; obtain an explicit decision about the target access policy.
Microsoft's sharing-permissions API documentation explains that the information returned depends on the caller, and that permissions can originate directly or through ancestors. An export run under an inadequately scoped identity can therefore leave the reviewer with an incomplete view. Ask the team to demonstrate the coverage of its actual inventory method. Microsoft Graph: list sharing permissions.
Use representative roles for the pilot: document author, approver, ordinary reader, external collaborator and a user who must not see the record. Check the destination's search, direct links, previews and exports as applicable. A successful administrator retrieval does not prove that the intended reader has access or that another program is excluded.
Keep permission exceptions visible. If an old account no longer exists, establish the historical identity needed for retained evidence separately from granting current access. The destination does not need to reactivate a former employee merely to preserve attribution of an old action.
6. Run a pilot that can fail meaningfully
Choose examples covering the mapping's difficult cases, not only recent PDFs with simple names. Include multiple versions, duplicate filenames in different locations, an unusual content type, a restricted item, an external reference and a record with unresolved source status. State what the reviewers expect before importing them.
The following fictional pilot contains three logical documents and six required file versions. Its source labels are deliberately simple; they are not an assertion about every library's numbering convention.
| Source record | Required versions and selected use | First import result | Decision |
|---|---|---|---|
| ItemA, SOP-100 | Source1.0,2.0,3.0 retained;3.0 is selected approved baseline | Three target files exist, but operational view points to2.0 | Fail selected-version mapping |
| ItemB, REP-200 | Source1.0 and2.0 retained;2.0 selected for review | Both versions and their relationship reconcile | Pass this record's version check |
| ItemC, SPEC-300 | Source1.0 required; approval evidence unresolved | File imported with target state Approved | Fail state mapping; source approval remains Unknown |
The importer reports three documents and six versions. Those counts are correct, yet the pilot fails. ItemA presents the wrong baseline, and ItemC converts missing evidence into an approval claim. A100% transfer count cannot compensate for either defect.
Correct ItemA's mapping and demonstrate that ordinary readers retrieve3.0 while authorized historical retrieval still reaches1.0 and2.0. For ItemC, preserve the received file in the approved restricted intake or migration-exception state. Obtain the missing evidence or have the responsible owner decide its appropriate disposition; do not simply rename the state to make the report green.
Repeat the affected checks and neighboring mappings. If ItemA's failure came from treating the first returned version as the approved version, other multiversion records may share the defect. Microsoft lists versions newest-first, but the selected approved baseline still needs its own evidence; newest is not synonymous with approved. Microsoft version-list behavior.
If the procedure permits ItemC to remain outside operational scope while its issue is resolved, record that exclusion and its effect on the release decision. Otherwise, it remains a blocking item. The project owner cannot infer either outcome from the imported-file count.
7. Reconcile changes between inventory and cutover
Define when source editing stops or how changes made during migration are captured. A long-running inventory of a changing library is not automatically a consistent cutoff. Record the agreed cutoff and which system accepts new edits at each stage.
For implementations using Microsoft Graph delta, the documentation distinguishes the latest state of an item from a complete sequence of every change. Items can appear more than once, and the documented resynchronization path matters when an old token can no longer supply changes. Require the implementation team to demonstrate its handling of these cases. A delta feed is not automatically the historical audit evidence you need to retain. Microsoft Graph driveItem delta.
Reconcile the final population after the agreed cutoff: new items, changed versions, moves, deletions and relevant access changes. A detected source deletion should be assessed against the approved record disposition; it is not blanket authorization to destroy a retained target record.
Prevent uncontrolled dual editing. If both systems must temporarily accept work, identify the permitted scope, conflict owner and reconciliation procedure. A rollback plan must explain how changes created in the destination will be preserved and handled; restoring an old snapshot while ignoring new work is not a complete recovery plan.
Exercise: the import passed before the source stopped changing
Extend the fictional pilot with this small cutover packet. All times are UTC on the same day. The approved plan, CUT-01, allows source edits until 12:00 and requires reconciliation through that cutoff. RUN-07 completed at 11:00 with REP-200 source 2.0. Source event EV-08 records REP-200 source 3.0 saved at 11:40; its review status is Draft. The operator's release note says “three documents reconciled” and references RUN-07 alone.
The release note fails CUT-01: its evidence ends before an allowed change. Matching three logical documents does not resolve the missing revision. The migration lead must account for 3.0 under the approved scope, retain its Draft meaning and repeat the affected reconciliation. Do not promote 3.0 into an approved operational baseline merely because it is newer. If the permitted destination use remains 2.0 for review, the receiving reviewer should see that use clearly and locate 3.0 in the agreed authoring or retained-history location.
Now remove EV-08 from the packet and leave only a source owner's report that “someone may have edited the file.” The cutoff coverage is Unknown, not a demonstrated transfer defect or a Pass. The migration lead obtains the relevant source evidence and a completed final reconciliation before release. Record the cutoff, last reconciled run, affected item/version, disposition, reviewer and remaining exception in the release record. This exercise tests evidence coverage; it does not claim that a delta feed supplies the missing approval or historical audit records.
8. Accept the destination and retain the evidence
The release record should identify the source cutoff, mapping version, extraction/import runs, reconciled population, unresolved exceptions, retrieval/access results and approving owners. Keep the evidence traceable to the document population actually being released. An earlier pilot approval does not cover an untested later mapping change.
Ask an independent receiving reviewer to retrieve one current document, one historical revision and one exception. The reviewer should establish their identities and permitted use without relying on the migration operator's memory. For the pilot above, the reviewer should find SOP-100 source3.0 in the operational path and understand why SPEC-300 is still excluded or unresolved.
Our computerized system validation guide provides the broader intended-use planning context. Migration reconciliation is part of that evidence; it does not by itself approve every destination workflow or satisfy every applicable record obligation.
After cutover, communicate where to edit, where to retrieve historical records and whom to contact about an exception. Retain the agreed source environment or export until the authorized owners approve its disposition. Do not delete the source merely because a supplier marks the transfer job complete.
Assyro publishes this guide. If evaluating its regulatory document-management workflow, use the pilot to establish the offered import and history scope. A storage connection does not prove migration of every SharePoint record relationship. Discuss a representative migration packet with the required versions, approval evidence and access boundaries clearly identified.
About the author
Assyro Team
Expert regulatory operations consultants helping pharmaceutical companies navigate complex compliance challenges.

