typst-business-templatesv0.3.0

Document types

The 21 templates, grouped by layout, with the function to call, how it takes its content and the schema of its data.

Each template is a folder in templates/ with a default.typ; the function has the same name as the folder and is exported from lib.typ. Shared parts — DIN 5008 address block, accounting header, totals, title pages, footers, date and money formatting — live in templates/common/.

Two calling conventions:

  • data — #invoice(data: json("…"), company: json("/data/company.json")). The content is a JSON file described by the linked schema. See Accounting documents.
  • show rule — #show: concept.with(title: …, company: …) followed by the text. See Documents in Typst.

Schemas are published at https://casoon.github.io/typst-business-templates/schema/<name>.schema.json.

Accounting layout

Letterhead with logo and a metadata box, DIN 5008 address block with return address line, and a four-column company footer (address, contact, tax data, bank account). Helvetica, German labels. Invoices additionally support seven languages, international layout, A4/US Letter and configured VAT or sales-tax components; see Invoice configuration.

Function Document Call Schema Contents
invoice Invoice data invoice Position table with sub-items, VAT breakdown, payment due date; totals check; ZUGFeRD with typstgen
offer Offer data offer Position table, validity date, terms; totals check
credit-note Credit note data credit-note Reference to the original invoice, reason, position table; totals check
reminder Payment reminder data reminder Dunning level 1–3, table of open invoices, fees, new deadline
delivery-note Delivery note data delivery-note Items with quantities, delivery address, shipping details, signature fields
order-confirmation Order confirmation data order-confirmation Order reference, expected delivery, position table; totals check
quotation-request Quotation request data quotation-request Requested items with specifications, requirements, response deadline
time-sheet Time sheet data time-sheet Daily entries with start and end times, hour totals, signatures
letter Business letter data letter Subject, your/our reference, text as Typst content (headings, lists, tables), page header from page 2, enclosures

Credentials

Function Document Call Schema Contents
credentials Access data data, plus locale: credentials Title page, confidentiality notice, one section per service with logins, ports and settings

The credentials sheet uses the document layout (title page, branding, translated labels) but takes its content as data.

Document layout

Title page with logo, title, document number, metadata and tags, then the content. Branding and labels follow company.json. Most have an optional table of contents (show_toc).

Function Document Call Contents
concept Concept show rule Project and client, version, status, authors
documentation Documentation show rule Subject, document type, code blocks, version and status
contract Contract show rule Contract type, parties, effective and termination date
protocol Meeting minutes show rule Date, time, location, participants, moderator, note taker
specification Specification show rule Version, last update, authors
proposal Project proposal show rule Budget, timeline, validity
sla Service level agreement show rule Provider, customer, effective date, review period
task-list Task list function call with categories: / tasks: Checklists with status, priorities, due dates, assignees, dependencies, subtasks

Handout

Function Document Call Contents
handout Teaching handout show rule Teacher sheet followed by student material; helpers aufgabe, hinweis, wichtig, kriterium, antwortfeld, textblock; German labels

Display options

The document-layout templates take show-title-page and show-footer (both true by default). The accounting templates read show_footer from metadata in the JSON.

Which ones you can see

The showcase shows a selection, each compiled from the example file shown next to it. All types have an example in examples/it-consultant/documents/, except the task list (in examples/digitalagentur/) and the handout (in examples/handout/).

Compact publications

Function Default size Content
publication A4 portrait, 210 × 297 mm Compact guides and printable intake forms, starting on page one
brochure A4 landscape, 297 × 210 mm Flowing compact overviews, with optional explicit page breaks

Both reuse the same frame, branding, language and metadata helpers. See Publications for printable components and layout limits.

Edit this page on GitHub · Docs for v0.3.0