Turn a quote into a PDF
A quote that goes out as a spreadsheet export or a plain email does not read like an offer. Morfee takes the HTML design you already have, or the one below to start from, and turns it into a finished PDF with one customer's numbers in it: one API call per quote, no layout engine to learn.
A worked example, already built
Morfee ships a real quote template you can open right now, no account needed: the HTML and the JSON it was built against. It has the shape almost every quote needs: a number and a date, who it is to and who it is from, a table of lines, and a totals block.
{
"number": "QUO-2026-0148",
"customer": { "name": "Example Gardens Ltd", "address": "1 Example Street" },
"lines": [
{ "description": "Oak table 220 x 100", "quantity": 1, "unitPrice": 1895, "total": 1895 },
{ "description": "Dining chair, black frame", "quantity": 6, "unitPrice": 189, "total": 1134 }
],
"totals": { "subtotal": 4190.5, "vat": 880.01, "grand": 5070.51 }
}
Paste your own quote's HTML into the builder instead, and Morfee reads a table like this one against
data like this and offers to repeat the row for you: see how it works for the
clicking-and-pointing part. The totals here are sent as part of the data rather than calculated by Morfee;
if you would rather have the API work out the VAT from a rate, the math helper in
the documentation does one operation on one number, which is what a deposit or a VAT
line needs.
The API call
Once the template is saved you have a templateId that never changes. Every
quote after that is one request:
POST /api/render?format=url
X-Api-Key: mrf_your_key_here
Content-Type: application/json
{
"templateId": "quote-a3f9c1",
"data": { "number": "QUO-2026-0149", "customer": { "name": "..." }, "lines": [...] }
}
?format=url answers with a JSON object holding a download link instead of the PDF bytes,
which is the shape almost every workflow tool wants: a link survives being passed between steps, bytes do
not. Calling this from Power Automate specifically, including the exact HTTP action settings, is on its
own page: PDF documents from Power Automate.
Questions people ask about quotes specifically
Can a quote have a variable number of lines?
Yes. That is what the repeating row is for: point Morfee at one row and it repeats it once per item
in your lines array, however many there are.
Do you support optional lines, like a discount that is not always there?
Yes, with a condition on the element: "show this only if a field is filled in." The documentation covers the condition helper.
Can I re-use the same template for a different currency or language?
Only by saving a second template. Morfee stores the HTML exactly as it went in and does not translate or convert anything, so a Euro quote and a Dollar quote are two templates, each pointed at its own data.
See the whole API
This page covers one document type. The documentation covers everything Morfee does: templates, folders, versions, and the full set of error codes to branch on.