TroubleshootingReviewed 2026-09-29

Files cannot be uploaded: storage is not configured, the file is too big or empty, or it went missing

Logos, stage files, signed copies and uploaded documents live in an object store set up for the installation; until it is configured uploads are refused while dates and records still save, a file must have content and stay within the size limit (25 MB for documents, 2 MB for logos), and an uploaded document can only be downloaded, not previewed.

Messages this explains

  • “File storage is not configured yet. Files can be attached once the object-storage settings are in place.”
  • “File storage is not configured yet, so files cannot be attached for now. Dates are recorded as usual.”
  • “Uploads need the object store; set S3_* in the environment”
  • “Save the letterhead first, then upload a logo.”
  • “The file is empty”
  • “Files are limited to <n> MB”
  • “The file is larger than the upload limit.”
  • “The uploaded file is no longer in the store”
  • “The files could not be uploaded.”
  • “"<name>" completed, but <n> files were not uploaded: <names>. Add them from the stage's Files.”
  • “<n> files were not uploaded: <names>”
  • “An uploaded document has no rendered HTML; download the file”

Files cannot be uploaded: storage is not configured, the file is too big or empty, or it went missing

You tried to attach a file, a letterhead logo, a completion certificate on a construction stage, a KYC paper on an allottee, a signed offer, and the app refused, or a file that was uploaded earlier will not open. Files are kept in an object store that the installation has to be set up with, and each upload has to be a real file within the size limit.

What you see

Storage not set up:

  • On Letterheads, Upload logo / Replace logo fails with "File storage is not configured yet. Files can be attached once the object-storage settings are in place."
  • On Construction Stages, the Completed and Attach file dialogs show "File storage is not configured yet, so files cannot be attached for now. Dates are recorded as usual." and Upload stays greyed out. A stage can still be marked completed with its date.
  • On the Allottee page (Upload under Documents) and when marking an offer signed with a file on Society & Tenants: "Uploads need the object store; set S3_* in the environment". In the Mark the offer signed dialog the file is uploaded first, so when the upload fails the offer is not marked signed either.

The file itself:

  • "Save the letterhead first, then upload a logo." on a new letterhead: the logo is stored against a saved letterhead, so Create first, then reopen it.
  • "The file is empty" for a zero-byte document upload on the allottee page or with a signed offer.
  • "Files are limited to <n> MB" for a document upload over 25 MB, and "The file is larger than the upload limit." when the whole upload is over the installation's request limit (also 25 MB unless the installation sets another) and is stopped before the app sees it.
  • A logo that is empty, over 2 MB or not an image is refused on the letterhead panel with only "Please correct the highlighted fields.", and no field is highlighted; the hint under the button, "PNG, JPEG, SVG, WebP or GIF up to 2 MB.", states the rule.
  • On a stage, a file that is empty or of a type that is not allowed is reported as not uploaded: the toast "<n> files were not uploaded: <names>" after Upload in the Attach files to <stage> dialog, or ""<name>" completed, but <n> files were not uploaded: <names>. Add them from the stage's Files." when the stage was marked completed but some of its files did not store (one file reads "1 file was"). When every file in the Attach files dialog fails, the dialog tries the first one again to show its reason, which for an empty or disallowed file is only "Please correct the highlighted fields."; "The files could not be uploaded." is the fallback when no reason can be shown.

A stored file:

  • "The uploaded file is no longer in the store" on Download of an uploaded document on Generated documents or a booking's Booking documents tab: the object was removed from the store outside the app.
  • "An uploaded document has no rendered HTML; download the file" on Preview of an uploaded document: only generated documents have an HTML preview.

Why it happens

Generated documents are rendered from templates and can always be produced again, but an uploaded file exists only as the bytes you gave the app. Those bytes are kept in an object store (a bucket) that belongs to the installation, and the app has no setting for it: the store's address, bucket and keys are part of the server set-up done by whoever runs the installation. While that is missing, the app refuses to accept a file it could not keep, rather than pretend. Dates, statuses and records that go with the upload (a stage's completion date, an offer's signed date) are still saved, so the paperwork can be attached later.

The size limit protects the server and the store: 25 MB per document, and 2 MB for a logo that is printed on every page. An empty file is refused because there is nothing to keep.

A file that was stored and is now "no longer in the store" was deleted or moved in the bucket outside the app, by someone with access to the store. Uploaded documents have no HTML because they were never rendered; Download gives you the file itself.

How to fix it

  1. Ask the person who runs your installation to configure the object store (or to check it). There is nothing to set inside the app. Meanwhile keep the files where they are; the records that need them are already saved.
  2. Once storage is set up, attach what was skipped:
    • a stage's files with the Attach file icon on the stage's row on Construction Stages (the Edit permission on Construction Stages; in the default roles the Administrator, the Project Manager, the Compliance Officer and the Site Engineer);
    • a logo with Upload logo on the saved letterhead (the Edit permission on Document Templates);
    • an allottee's papers or a signed offer copy with Upload on the Allottee page (the Create permission on Generated Documents).
    • to mark an offer signed before storage is ready, press Cancel in Mark the offer signed, open it again and press Mark signed without choosing a file; upload the copy later from the allottee page.
  3. Too big: compress or split the file (scan at a lower resolution, export the PDF at a smaller size) so it is under the limit the message states; a logo under 2 MB.
  4. Empty: the file you chose has no content; export or scan it again and choose the new file.
  5. Missing from the store: upload the file again with Upload on the allottee page (or the record's own upload) and, if the old row is no longer wanted, Void or Delete it on Generated documents (the Edit or Delete permission on Generated Documents).
  6. Cannot preview: press Download on the uploaded document and open the file on your computer.

Related

  • LetterheadsScreen

    Set up the branding wrapped around generated documents: logo, header and footer, page size, orientation, margins and page numbers, for the whole organization or for one project.

  • Construction StagesScreen

    Plan the project's construction stages (plinth, slabs, possession…) with their shares and dates, record commencement and completion, and keep the certificates and photos for each stage.

  • AllotteeScreen

    One society member, landowner or PAP tenant on a page: who they are, what they hold today, their co-owners, their offers on each project, the letters and files filed for them, their bank accounts and parking.

  • Society & TenantsScreen

    On a redevelopment project, link the society being redeveloped, keep its members and the project's landowners and PAP tenants, and give each of them an offer that allots new units and sets the benefits the developer pays.

  • Generated documentsScreen

    The organization-wide log of every document generated from a template or uploaded against a record, where you preview, download, email, void or delete them.

  • Booking documentsScreen

    The letters and agreements generated for one booking, such as the allotment letter, together with the receipts of its payments and the letters of its demands, with the button to generate another from a published template and the icons to preview, download, email, void or delete each one.

  • Email shows as logged or refused: the mail server is not configured or rejected the messageTroubleshooting

    Outgoing mail is sent through a mail server set up for the installation, not inside the app; while none is configured every email (document, campaign, workflow, invitation, verification) is only logged and reported as not delivered, and when the server refuses a message the recipient is marked failed; the person who runs the installation configures mail, then you resend.