Skip to content

Sales questionnaire — Word / Excel generator

Generates a branded, per-client Word and Excel version of any questionnaire from ../ using a small YAML metadata file. The markdown documents stay the single source of truth; the generator just formats them with the client's details on the cover and one question per row / paragraph ready to be filled in.

How to produce a pack for a new client

  1. Copy the template metadata file:
cp sales/templates/clients/_template.yaml sales/templates/clients/acme-hotels.yaml
  1. Edit acme-hotels.yaml — fill in client name, contacts, deal lead, quote reference, NDA status, etc. Anything left blank in the YAML renders as a blank line in the output (intentional: blanks are for live capture in the workshop).

  2. Run the generator:

sales/templates/.venv/bin/python sales/templates/generate.py acme-hotels

Outputs land in sales/templates/out/acme-hotels/: - Eidos-Global_RAG-Discovery_Acme-Hotels.docx — for emailing / printing / filling in offline. - Eidos-Global_RAG-Discovery_Acme-Hotels.xlsx — same questions as a grid, useful when several stakeholders share one file.

  1. Send to the client with the proposal cover note. After the discovery call, save the returned file alongside the YAML so the pack is reproducible.

What the generator does (and does not)

It does:

  • Read the metadata YAML for the client.
  • Read ../rag-chatbot-client-questionnaire.md and parse it into sections and numbered questions.
  • Produce a Word file with a branded cover page (deal metadata, contacts, NDA / confidentiality, "what happens next"), a section per questionnaire section, and a numbered question with an answer space underneath each one.
  • Produce an Excel file with one row per question (section, number, question text, Answer column, Notes column) and a separate "Cover" sheet for the metadata.

It does not:

  • Pre-fill answers from previous clients.
  • Submit answers anywhere — this is the offline / email channel. The n8n form (planned) will be the async channel.
  • Style the Word doc beyond legible defaults. If you want a heavily branded look (logos, colour blocks), open the .docx in Word and apply the Eidos Global template afterwards — that's faster than fighting python-docx styles.

Outputs are gitignored

sales/templates/out/ is gitignored; per-client filled questionnaires should land in the deal's proper home (CRM, deal folder, etc.), not this repo. The YAML files under sales/templates/clients/ are tracked so the input side of each pack is reproducible.

When to add new questionnaire types

The generator is parameterised by markdown filename. To add a new questionnaire (e.g. for a future offering), drop the new sales/<offering>.md and pass --questionnaire <offering> to the script. Section / question parsing follows the same ## Section N — and numbered-list convention used in the RAG questionnaire.