> ## Documentation Index
> Fetch the complete documentation index at: https://docs.msportal.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Upload and share deliverable documents

> Attach project files, control each document’s client visibility, download a copy, and remove outdated files.

**Audience:** MSP staff with permission to edit project collaboration content. Company users [download files that have been shared](/user-guides/projects/read-project-deliverables).

Open **Projects > select a project > Deliverables**, then expand the intended output. If it does not exist, [create the deliverable first](/user-guides/projects/manage-project-deliverables).

<Warning>
  **Known issue:** Editing a deliverable after attaching documents can remove its attachments. This was reproduced when changing **Client Visible**. Keep original copies, finish the deliverable’s fields and visibility before uploading, and avoid editing the containing deliverable while files are attached. If you need to change it, retain the originals and contact support before proceeding.
</Warning>

## Upload a document

<Steps>
  <Step title="Prepare the deliverable first">
    Finish the title, description, status, dates, and **Client Visible** setting before attaching files. If you intend to share documents, make the deliverable client-visible now. New files still start internal until you explicitly share them.
  </Step>

  <Step title="Open Documents">
    Find **Documents** inside the expanded deliverable and select **Upload**. Choose one file from your device. Selecting it starts the upload; there is no later Save step.
  </Step>

  <Step title="Wait for the result">
    The file must be nonempty, use an accepted extension, and be no larger than **4 MB**. Wait for the upload result and the file to appear in Documents. A successful upload starts **internal only**, even if the deliverable is already client-visible.
  </Step>

  <Step title="Check the correct file is attached">
    Review its name, upload date, size, and uploader where shown. Use **Download** to check the content. Uploading another file with the same name adds another attachment; it does not replace the first or create a version history.
  </Step>
</Steps>

| File category                | Accepted extensions                                    |
| ---------------------------- | ------------------------------------------------------ |
| Documents and text           | `.pdf`, `.doc`, `.docx`, `.odt`, `.rtf`, `.txt`, `.md` |
| Tables and spreadsheets      | `.csv`, `.xls`, `.xlsx`, `.ods`                        |
| Presentations                | `.ppt`, `.pptx`, `.odp`                                |
| Images                       | `.png`, `.jpg`, `.jpeg`, `.gif`, `.webp`, `.svg`       |
| Archives and structured text | `.zip`, `.json`, `.xml`                                |

If upload fails, check size, extension, file contents, editing access, and that the deliverable still exists. Reopen the deliverable and check for an already-added file before retrying; an unclear result is not proof that no upload occurred.

## Share a document with Company users

<Steps>
  <Step title="Check the deliverable was prepared for sharing">
    Check that **Client Visible** was enabled before upload. While the deliverable is internal, individual document-sharing switches are disabled. If files are already attached to an internal deliverable, retain the originals and contact support before changing it because of the known removal issue.
  </Step>

  <Step title="Share the intended file">
    <img src="https://mintcdn.com/msportal/qpdBpWGevPXfju6k/images/product/project-document-sharing-blocked.png?fit=max&auto=format&n=qpdBpWGevPXfju6k&q=85&s=3f73e2d6e6b556587fffebd987a6e470" alt="MSP tooltip explaining that an internal deliverable prevents any of its documents reaching the client" width="902" height="68" data-path="images/product/project-document-sharing-blocked.png" />

    This tooltip explains the disabled switch while the containing deliverable is internal.

    Next to the document, enable **Share with client**. Wait for the success message. Review each file separately; sharing one does not share its neighbors.
  </Step>

  <Step title="Verify the intended audience">
    Company users also need access to the project. The file is available only when the project, deliverable, and document are all available to them. Sharing does not send an email, assign a review, or grant project permissions.
  </Step>
</Steps>

Turn a document's **Share with client** switch off to make that file internal again. Use this per-file switch to stop sharing that document. Avoid toggling the containing deliverable while attachments exist because of the known removal issue.

Changing visibility does not recall downloaded copies. A download link already issued for a new upload is temporary, so do not use it as the lasting way to share a project document.

## Download or remove a file

Select the file's **Download** control to open or download it. New uploads use links that expire after approximately five minutes. Return to Documents and select Download again if an old link expires; older externally linked documents may behave differently.

To remove one file, select **Delete** on that document, check its name in the confirmation, and confirm. Wait for the result and reopen the deliverable to verify the file is gone. Use the document control, not the deliverable row's Delete control. Removing a file does not remove the deliverable, and it does not recall copies already downloaded.

## FAQs

<AccordionGroup>
  <Accordion title="Why can the client see the deliverable but not my uploaded file?">
    New uploads are internal. Enable Share with client for that document after checking the deliverable's Client Visible setting and the user's project access.
  </Accordion>

  <Accordion title="Why is Share with client disabled?">
    The containing deliverable is internal, or a file operation is still running. Set Client Visible before uploading. If documents are already attached to an internal deliverable, retain the originals and contact support before changing its visibility.
  </Accordion>

  <Accordion title="Why did my document disappear after editing its deliverable?">
    A known issue can remove attachments when the containing deliverable is edited; changing Client Visible reproduced this problem. Keep the original file, contact support, and avoid repeating the deliverable edit. Per-file sharing was verified separately on a deliverable prepared before upload.
  </Accordion>

  <Accordion title="Can I upload a file larger than 4 MB or an executable?">
    No. The file must fit the 4 MB limit and an accepted extension. Executable formats are not in the accepted list.
  </Accordion>

  <Accordion title="Does uploading the same filename replace the previous version?">
    No. It adds another attachment. Verify the new content, set its intended visibility, and explicitly remove any outdated file.
  </Accordion>

  <Accordion title="Does sharing a document notify the client?">
    No. Sharing changes portal visibility. If you need an assigned response, use a separate [project decision or action](/user-guides/projects/manage-project-actions) and its explicit notification controls.
  </Accordion>

  <Accordion title="Can I remove just one file without deleting the output?">
    Yes. Use Delete on that document and confirm its name. Deleting the deliverable row removes the entire output instead.
  </Accordion>
</AccordionGroup>
