Surveys and questionnaires¶
Surveys are questionnaires built with a drag-and-drop form builder and sent to contacts to answer. They are used for ad-hoc data gathering and for a standing supplier data-collection questionnaire (the DCQ). The feature is enabled per site (Questionnaires setting).
What a survey is¶
A survey has a name, description, an open window (start/end dates), and a form — a set of questions built from the available field types (text, textarea, number, radio, radio group, checkbox group, select, matrix, plus headings/paragraphs). The form definition is stored as JSON on the survey record.
Surveys have their own permissions (object type survey): view is open by
default, editing requires the admin role (and being a superuser or a
member of the survey's own company), and delete/admin default to
superusers.
Two kinds of survey¶
- Custom survey — you build the questions yourself in the form builder and invite recipients by hand.
- Data Collection Questionnaire (DCQ) — a standing supplier questionnaire built around matrix questions (one column per supplier), where recipients are derived automatically: contacts tagged for the DCQ whose company has a product profile in the chosen category. Its results use a dedicated supplier-comparison report rather than a plain per-question tally.
Recipients and responses¶
Invited contacts are tracked per survey (a "who was invited / who has responded" list). A contact has responded once they submit their answers, which are stored as JSON against their invitation — there is one row per respondent, holding both the invitation and the answers.
Two important behaviors, confirmed in code:
-
Inviting a recipient no longer emails them — the automatic invitation email was disabled; invitations are recorded but not mailed.
-
Reminders to non-responders are sent as in-app notifications, not emails.
- Anyone logged in can submit — the submit endpoint has no permission check and creates an invitation on the fly for a contact who wasn't pre-invited, so submission isn't limited to invited recipients. The "one response per person" guard is present but not implemented.
Results¶
The results view aggregates responses per survey. For the DCQ it renders a supplier matrix report — for each supplier, how members answered (do you use them, switchable spend, overall rating, reasons) — built from an indexed copy of the answers. Custom surveys show per-question results.
Why do survey results look off¶
- A survey shows no questions to answer — its open window has closed (past the end date); closed surveys show as finished.
- More responses than invitations — submission creates invitations for non-invited contacts, and repeat submissions aren't blocked.
- A DCQ's recipients aren't who you expected — they're derived from the DCQ tag plus product profiles in the selected category, not chosen by hand.
What surveys are not¶
- Not supplier reviews — the supplier scorecard/rating is a separate feature (Supplier reviews and scorecard) despite some shared "survey" wording.
- Not tenders — the tender feature reuses survey plumbing but is its own module.
- Not email campaigns — reminders are in-app notifications, not campaigns.
Related pages¶
- Creating a survey
- Supplier reviews and scorecard
- Site settings reference — the Questionnaires enable setting