What it is
Build → PDF templates: designed documents for your records — an invoice for a bill, a receipt for a payment.
A template lays out a page of paper: your logo and details, the record’s number and dates, a table of its line items, the totals. Each piece of data is one of the record’s fields, written as {{bill.total | money}}. Anyone who can open a record presses Download PDF and gets the file, filled in with that record.
Start from a design in the gallery, build one from nothing, or describe it to AI. A page can have several templates — an invoice and a delivery note — and one is its default.
Making a template
PDF templates → New template.
- Pick a starting point: a design from the gallery, Blank, or Build with your AI.
- Pick a look: the design drawn in each ready look (colours and fonts), or “As designed”. Change it any time in the designer — Themes, below.
- Pick the page it prints (Bills, Invoices, Payments…) and name it.
- For a gallery design, match what it shows to your fields — next section.
- It opens in the designer. The first template of a page becomes its default.
Matching your fields
A design prints “Total” and “Customer name”; your page calls them something else.
Each row is one thing the design shows, with our guess at your field beside it — from the names and the kind of field (a date for “Due date”, a number for “Total”). Change any guess, or leave it blank: a blank one prints nothing until you put a field there in the designer.
Line items come from rows inside the record (a list of items on the bill itself) or from another page whose records point at this one (Invoice items whose Invoice is this one). Pick which, then match the columns.
Business details
The project’s logo, address and contacts, a bank note, money and dates — set once, used by every template.
| Setting | What it does |
|---|---|
| Name, logo, address, phone, email, website, tax number | Printed with {{business.name}}, {{business.logo}}… |
| Note | Bank details or payment terms — {{business.note}}. |
| Currency | The symbol money shows, the word amounts in words end with (Taka, Dollars), decimals, and 1,234,567 or 12,34,567 grouping. |
| Date format | 13 Oct 2026, 13/10/2026… wherever a date is printed. |
| Time zone | Empty: each reader’s own. Set one so every copy shows the same day. |
Business details on the PDF Templates page, or Upload logo / Add address on the designer’s page, opens it. Upload logo picks from the media library, uploads a new one or takes a link. They’re the project’s own business details — Project settings shows the same ones; the bank note, money and dates belong to PDF templates.
Saved texts
Terms and conditions, a return policy — written once, printed by any template.
Business details → Saved texts. Name a text (Terms & conditions), write it, and every template prints it with its field — {{texts.terms_conditions}}; the copy button next to each gives it. Change the words once and every template printing them changes. **bold** and new lines work, and fields too: “Pay within 7 days of {{bill.issueDate | date}}” prints each record’s date. One click adds a ready one — Terms & conditions, Computer generated (“no signature is required”), Payment instructions, Return policy, Thank you.
Words that belong to one template only — a heading, “This invoice is computer generated” on just this design — are plain text blocks instead (see the designer).
The designer
A full-page tool: what to add on the left, the page in the middle, the selected block on the right.
- It fills the window: the sidebar folds away behind the menu button. One toolbar on top — undo / redo, what the page shows (a record or Sample data), Fields, zoom, Business details, Your AI, Preview, Real PDF and Save.
- Left: the Theme bar on top (Themes, below), then three tabs: “Blocks” — text, rows, table, columns, box, row, image, line, space, page break; “Ready-made” — pieces (Logo & business, Signature, Push to bottom, Computer note “…no signature is required”, Terms, Bank details, PAID stamp, Thank you) and your saved texts; a click puts it after the selected block. “Layers” — the blocks as a tree, like Figma’s: drag a row up or down (a line shows where it lands), onto the middle of a box, row or columns to put it inside (the row lights up), or onto a “Column 2” / “Inside” line or a part’s title; near the panel’s edge the list scrolls along. Tiles can also be dragged straight onto the page.
- Middle: the page. Click a block to select it; its bar on the page moves it up or down (left or right in a row), duplicates, copies or deletes it, and ↖ selects the block around it (the whole signature, not just its words). Drag blocks on the page to move them. A selected image or logo has a handle on each corner: drag one to make it bigger or smaller — it keeps its shape; hold ⇧ to change the shape too. Empty business details show as “+ Add phone”, “+ Upload logo” — click one to fill it in.
- Right: the selected block’s settings — or, with nothing selected, the document: its name, page, paper, look and lists.
- Sample data fills every field, like Preview; your business details and saved texts show as they are. Fields switches to which field goes where.
- Undo / redo (⌘Z, ⇧⌘Z), Delete removes the selected block, Esc unselects, ⌘S saves. Nothing changes for anyone until you save.
Blocks
| Block | Use it for |
|---|---|
| Text | Headings and paragraphs. **bold** inside; a new line is a new line. |
| Label + value rows | Invoice no. / Date / Due, and the totals: rows can be bold, big, a filled band or have a line above. “Hide rows with no value” drops empty ones. |
| Table | One row per line item or payment. Columns have a heading, a value ({{item.…}}), a width share and alignment. It can have its own font, like any text. Pick the heading’s fill and text colour, lines between rows or a grid, and the lines’ colour. Long tables carry on over pages, repeating their heading. |
| Columns | Blocks side by side; widths are shares (2 and 1 = two thirds and one third). |
| Box | A shaded or framed group, with padding and round corners. Its blocks sit one under another (a stack) or side by side (a row) — see Rows and filling space. |
| Row | A box with nothing drawn and its blocks side by side, each as wide as it needs — a logo and a title on one line, a signature on the right. |
| Image | A logo, a signature, an image field. |
| Line, Space, Page break | A rule, blank room (which can fill the free space), and “start a new page here”. |
The header and footer repeat on every page — put “Page {{page}} of {{pages}}” in the footer. The body flows over as many pages as it needs.
Rows and filling space
Boxes work like flexbox: a stack or a row, and blocks that take the room left.
Select a box and set Layout → Blocks to Row (or add a Row from Add). In a row every block is as wide as its content — text its longest line, an image its size — unless you change its Width in the row: Fill the free space or a Fixed width in pt. Label + value rows, tables, lines and columns have no width of their own, so they share the free width.
| Setting | What it does |
|---|---|
| Gap | The room between the blocks (pt). |
| Align | Top, middle or bottom of the row — or Stretch, so boxes in it are all as tall as the tallest. Each is an icon, like Figma’s; hover one to see what it does. |
| Spread | Where the blocks go when nothing fills: from the left, centred, to the right, or space between them. |
| Min height | The box is at least this tall; a block set to fill takes the height the others leave. |
A Space set to Fill the free space takes the room left: in a row it pushes what follows to the right (logo · space · INVOICE); in a box with a min height it pushes what follows down; in the body it takes the room left on the page, so what follows — a signature, the terms — sits at the bottom of the page. Push to the bottom in Add is exactly that. The header and footer have no spare room, so a Space there keeps its own size. In the designer a filling Space is hatched.
More for boxes: Top & bottom and Left & right padding (over the all-round padding), Lines on — a border on some sides only (a rule above and below, a bar on the left) — and, for a box sitting straight in the header, body or footer, Full-width background: its colour runs to the page’s edges (the header’s first block up to the top edge, the footer’s last down to the bottom edge) while what’s inside stays within the margins. Set the page’s top and bottom margins to 0 for bands that touch the edges — Invoice — Banner and Quotation — Modern in the gallery do.
In a Columns block each column has its own Top / Middle / Bottom and One under another or Side by side for the blocks in it.
Moving, copy and paste
Drag blocks on the page; copy one and paste it inside a box.
- Drag a block on the page: a line shows where it lands — above or below another block, left or right of one in a row, or inside a box or a column (an empty one lights up). The Add panel’s tiles drag onto the page too.
- Near a box’s edge the drop goes beside the box; further in, it goes inside.
- ⌘C copies the selected block, ⌘X cuts it, ⌘V pastes: inside the selected box (at its end) or columns block (its first empty column), otherwise after the selected block. The block bar has Copy and, on a box with something copied, Paste inside.
- What you copy is on your clipboard, so it pastes into another template too.
- Several at once, like Figma: ⇧ or ⌘ click more blocks (on the page or in Layers). Drag any of them and they all move — into a box or a column too. ⌘G puts them in a box, ⇧⌘G in a row side by side; ⌘C / Delete act on all of them.
- In Layers, drop a block on a box or columns row and it goes inside.
Placed freely
Like Canva: put a stamp, a signature or a watermark exactly where you want it.
- Select a block and press Place freely (under its name on the right) — it leaves the flow and stays where it was on the page. Or switch Add to Place freely and drop a tile anywhere on the page.
- Drag it anywhere. It snaps to the page’s edges, margins and middle, and to other placed blocks — pink lines show what it snapped to; hold ⌥ not to snap. Drag the small handle on its right to change its width; arrow keys nudge it 1pt, ⇧ 10pt.
- On the right: from the left, from the top, width, turn (degrees — a tilted PAID stamp), opacity, which page (first, every or last), and Behind the content for a watermark.
- Back into the flow puts it at the end of the body again.
- Tables, totals and anything that grows with the record belong in the flow: only the flow moves on to the next page when it runs out of room.
Fields in text
Any text can hold fields: “Bill to {{bill.client.name}}”.
The Field button beside a text box inserts the field where the cursor is, with a format guessed from it. Its menu goes in layers — this record, this row, a list, the business, a saved text, the page and date — and a linked record (Client) opens into its own fields; search looks through all of them. In the box a field shows as a chip in words (“Saved text · Invoice terms”); click a chip to change it. Turn on Keys to see and type the raw keys instead. The record is named after its page (bill for Bills — see Page → Record as); linked records open up: {{bill.client.address}}. In a table’s columns, {{item.…}} is the row and {{index}} its number; {{business.…}} are your details and {{today}} today’s date.
Formats
After the field, a | and a format: {{bill.total | money}}.
| Format | Prints |
|---|---|
| money | ৳86,250.00 — with your currency. money:$ for another symbol. |
| number, number:2 | 1,234 · 1,234.50 |
| date, datetime | In your date format; date:'DD/MM/YYYY' for another. |
| words | “Eighty Six Thousand Two Hundred Fifty Taka Only” |
| upper, lower, title | UPPER, lower, Title Case |
| default:'—' | What to print when the field is empty. |
| count, sum:amount, join | How many in a list, a list added up, a list joined with commas. |
| plus:, minus:, times:, divide: | Arithmetic with a number or another field: {{bill.total | minus:bill.paid | money}}. |
Lists from other pages
An invoice’s payments, a client’s orders — records of another page that point at this one.
In Page → Lists from other pages, add one: the page and the field there that points back, a short name (payments), an order and a limit. Show it in a table (One row per → payments) or in text: {{payments | count}}, {{payments | sum:amount | money}}. It’s only filled for people who can see that page.
Show only when
Print a block only for some records.
Every block has Show only when: a PAID band when the status is paid, a “Due date” row only when there is one. In the designer such a block is drawn faded when the record on screen doesn’t meet it.
Paper and look
Page → Paper: A4, Letter, Legal or A5, portrait or landscape, and the margins (72 points = 1 inch). Look: text size and line height, and the theme in use — fonts and colours are changed in the Theme view (next). Bangla text and the ৳ sign always print — characters a font doesn’t have use Noto Sans Bengali.
Themes: colours and fonts
One click changes the colours and fonts of the whole page — the Theme bar at the top of the designer’s left panel.
- Looks: twelve ready pairs of colours and fonts — Studio, Editorial, Heritage, Fresh, Tech, Mono, Warm, Bold, Forest, Royal, Calm, Ledger. A tick marks the one in use.
- Mix and match: Colours (twelve palettes) and Fonts (twelve pairings of a heading font and a text font) change on their own.
- Your own: the heading and text fonts, and each theme colour — Text, Muted, Accent, On accent (words on the accent), Soft (light panels), Dark (deep bands), Lines.
- In a block’s colour picker the theme’s colours are dots: pick one and the block follows the theme; a typed colour stays fixed. A text block’s Font can be “Heading font”.
- An older template, the first time it gets a look: the colours that play a part (accent, its tints, dark bands, white words on the accent) start following the theme, and big titles take the heading font.
| Fonts | Embedded in every PDF |
|---|---|
| Sans | Geist, Inter, DM Sans, Manrope, Montserrat, Poppins, IBM Plex Sans, Space Grotesk |
| Serif | Playfair Display, EB Garamond, Merriweather, Source Serif, Crimson Pro, IBM Plex Serif |
| Mono | Geist Mono |
| Built into PDFs | Helvetica, Times, Courier — not embedded, Latin-1 only |
Only the letters a PDF uses are embedded, so files stay small. Every font prints accented letters (Ł, Š, Ő…) and ₹ € £ ¥ in every weight, and its text copies out of the PDF.
Downloading
A template is a Draft or Published (the badge beside its name). New ones — blank, from the gallery, or a copy — start as drafts: you can design, preview and print a Real PDF in the designer, but the page doesn’t offer it. Press Publish in the designer to put it on the page’s Download PDF; Unpublish takes it back to a draft. Only published templates show anywhere a page downloads, the page’s default is the default among them, and a row menu’s Download PDF links one published template (a draft’s item is hidden until it’s published again).
- A record’s page: Download PDF beside Edit (a menu when the page has several published templates).
- A row’s menu: Pages → Table → Row menu → Download PDF — see the row menu.
- Several records at once: tick them, Print / PDF — each template is an option, one file with each record from a new page.
- Emailed by itself: an automation’s Send an email can attach it, printed for the record — the invoice to the customer when a bill is sent. See automations.
Build with your AI
Your own AI — Claude, ChatGPT, Cursor or any MCP client — builds templates for you once it’s connected (see Connect AI). Build with your AI writes the prompt to paste into it: pick the page, say what it should look like, copy. It reads the page’s fields, shows you its plan and saves the template; press Show what it made to see it in the list.
In the designer, Change with your AI does the same for the open template. Save your own edits first — your AI changes the saved copy — then press Load its changes.
Preview
The eye on a template’s card (yours or the gallery’s), or Preview in the designer, opens the PDF itself in a new tab with every field filled with sample data: a customer, three line items whose amounts add up to the total, paid and due, dates. Your business details and saved texts print where you have them; the empty ones get a stand-in (a “YOUR LOGO” badge), so you see the whole layout. From the designer it shows your unsaved changes. Download keeps the file. To see one of your own records instead, pick it above the designer’s page and press Real PDF.
The gallery
Designs to start from — invoices, receipts and quotations, with more added over time.
The gallery is browsed by category: Invoices (Classic, Modern, Minimal, Banner, Bill), Receipts(Receipt, Compact, Money receipt) and Quotations (Quotation, Quotation — Modern). Using a gallery design copies it into your project; change it as much as you like — later changes to the gallery don’t reach your copy. To print quotations, your project needs a page for them (a Quotations model with its items) — the template prints that page’s records.
Who can do what
| Who | Can |
|---|---|
| Anyone who can see a page | Download its records as PDFs, and see its templates. |
| People with Build | Make, change and delete templates, set the default, edit the business details. |
A template only prints what the reader could open anyway: passwords never print, and a list from a page they can’t see stays empty.
Troubleshooting
| Symptom | Why, and what to do |
|---|---|
| A field prints blank | Show fields: is it one of this page’s fields? Fix it with the Field button. Or the record has no value. |
| The logo doesn’t show | Use an https address of a PNG, JPG, WebP or SVG under 5 MB. |
| Dates are a day off | Set the time zone in Business details. |
| “This page has no PDF template yet” | Make one for that page. |
| The PDF looks a little different from the designer | The designer is a close drawing; Real PDF is exact. |