📥 Download fields

Download fields allow you to make files from onOffice directly available for download to the person filling in the form — e.g. a tenancy agreement, the current property brochure, handover reports or a collection of owner documents. This field type is the counterpart to the file upload field and can also be combined with it.


Contents


Use cases

  • Tenant documents: Landlord clicks link → form displays all tenant documents (ID card, payslips) for download
  • Owner status page: Owner opens link → views current property brochure PDF + activity report
  • Reservation confirmation: Buyer opens link → can download signed reservation agreement as a PDF
  • Draft contract download: Notary/seller opens form → receives current draft purchase contract
  • Bulk download: Multiple files from a tab are offered bundled as a ZIP file

Set up field

  1. Form Editor → Add field → Special type “Download file”
  2. Assign field name (e.g. “Download draft contract”)
  3. Select file source (see next section)
  4. Optional: Configure selector (newest / oldest / all / filtered)
  5. Optional: Enable “Hide field if no file found” — prevents empty buttons

---

File sources

For each download field, you select where the file should come from:

Source Purpose Where does propform find the file?
Document attribute Standard workflow for structured documents “Files” tab of the address / property, filtered by document attribute
File name pattern If no attribute is to be assigned “Files” tab, “File name contains …” filter
File type (e.g. cover image) Specific onOffice file type “Files” tab, filter by onOffice file type
All files from tab Entire tab content as bulk download Complete file tab inventory
PDF property description on-the-fly Current property description always freshly generated propform requests property description via onOffice API, forwards as download
Fixed URL External link (e.g. Terms and Conditions on own website) Static URL entry in field

> 💡 Combining multiple sources: “Document attribute AND filename contains 2024” → returns only the 2024 version of the selected document.

---

Selectors: which file?

If multiple files match the source (e.g. three versions of a contract), the selector decides:

Selector Returns
Newest (default) File with the most recent upload date
Oldest File with the oldest upload date
All All matching files (see ZIP bundling below)

Additionally: “File name contains string” filter — e.g. only files with “contract” in the name.


## Multi-file → ZIP bundling

If the selector returns multiple files:

  • propform automatically packs them into a ZIP file
  • The ZIP filename can be configured (using macros, e.g. Unterlagen_<Vorname>_<Nachname>.zip)
  • On mobile browsers, the ZIP is downloaded like any other file (default behaviour)

Hybrid: Upload + Download in the same field

A file upload field can also be given a download function — useful for “download contract document, sign, upload again” workflows.

Setup:

  1. Existing file upload field → Field settings
  2. Set mode to “Change + Download” (instead of “Upload only” or “Download only”)
  3. Both source configurations are available (upload destination + download source)

In the form, the user sees:

  • Download button for the existing file
  • Upload area for a new/replacement file

## Activity on download

Optionally, you can create an activity in onOffice for every download — for audit trails and reporting:

  • Configurable like other activities (action type, action category, custom text)
  • Optional: Record file hash — proves that exactly this file version was downloaded
  • Can be combined with “Activity on form call” (see Form Settings) — then you will have both “User opened document” and “User downloaded document” in the history

Limitations

File fields in the onOffice form

Files located in file fields of the address/property form (i.e. directly within the record, not in the “Files” tab) are not accessible via the onOffice API — see FAQ: File upload fails.

Consequence:

  • For the Property module: only files originally uploaded via propform are accessible (with File ID reference)
  • For the Addresses module: all files from the “Files” tab are accessible (the API is complete here)

File size limit

  • Per file: 128 MB (corresponds to the upload limit on the nginx side)
  • ZIP bundles: no hard limit, but performance is slow with very large numbers of files (>100)

Security

Download fields should always be combined with additional security measures:

  • UUID requirement (see Form protection) — prevents URL tampering
  • Filter per form (see FAQ: Filter per form) — restricted to specific data records
  • Optional IP whitelist or form key

Related