Dynamic intake → automated estimate → contract → invoice
Turn blocks on/off, drag the handle to reorder, and tap a block to edit it. Placeholders like [[panels]], [[brand]], [[total_due]] fill in from the estimate automatically — the "Reads as" line shows the final text.
[[panels]]
[[brand]]
[[total_due]]