DoConure

Common mistakes

SymptomCauseFix
The PDF shows {{ customer.name }} as textWord split the placeholder internally, because it was edited mid-tagDelete the whole placeholder and retype it in one go, with no corrections in the middle
The PDF shows [[!NAME!]] or {NAME}The template uses another product's syntax (PDF Butler, Portwood)It needs converting. Our syntax is always {{ }}
A value is blank in the PDFThe template reads a field your JSON does not have — possibly a misspellingOpen the generation's Details page: sent but never read lists the typo. Or use Test with JSON, whose pre-filled payload shows every field the template expects
The table repeats only onceThe {%tr for %} / {%tr endfor %} pair is missing, or both sit in the data rowThey belong in two rows of their own, one above and one below the data row
From page 2 the table has no headersThe header row is not marked as repeatingTable properties → Row → Repeat as header row
NO_ACTIVE_VERSION with a correct idNo version of the template is activeOpen the template here and press Activate on the version you want
None appears in the PDFA field is null and gets printed instead of hiddenWrap it in {% if field %}…{% endif %}
A whole section is missingIts condition came out falseThe generation's Details page names the condition and the value it saw, e.g. invoice.total (800) > 1000 is false
A value is cut off with a …A :::l code on that placeholderRaise the number, or drop the code if the space was bigger than you thought
The table is shorter than the data sentA :::max on the loopRaise it. The generation's page says how many items were left out
The PDF uses a different font from the Word file, or a line breaks in another placeThe server has free fonts only: a font it does not have is replaced by a similar oneUpload tells you which fonts are replaced. Use Arial, Times New Roman, Courier New, Calibri or Cambria to keep the layout exactly: Fonts in your Word template
A Word checkbox does not print, or sits on the next wordThe box glyph came from a font without a proper one (fixed in 1.3)Nothing to change in the template: the boxes are now drawn in DejaVu Sans
A formatting code did nothingThe code is misspelled — unknown codes are ignored rather than failing the documentValidate lists every unknown code with the ones it knows

Placeholder basics: Writing a template. Repeating rows: Lists and repeating rows. Conditions: Conditional parts. Formatting codes: Making a value fit the space you left for it.