BoardMark
Docs

Quotations, billing notes & receipts as PDF

Issue quotation, billing note and receipt PDFs in Thai and English from a Sales & Billing deal, on every plan. Automatic numbers. A receipt is not a tax invoice.

Which documents can I issue?

From a deal card in a project that uses the Sales & Billing template you can issue three kinds of PDF for your customer. It works on every plan — Free, Pro and Premium — with no upgrade wall.

DocumentIssued fromNumberWhat it writes back
QuotationThe deal card — one per dealQT-YYYY-NNNNThe deal's quote_no = the quotation number
Billing noteAn installment row — one per installmentBN-YYYY-NNNNThe installment's invoice_no = the billing note number and invoiced_at = today (the installment goes from Not yet to Invoiced)
ReceiptAn installment that is already PaidRC-YYYY-NNNNNothing — the installment is already Paid

A receipt is not a tax invoice

BoardMark issues no tax invoices. Every receipt carries the line “This is not a tax invoice” (in Thai and English). A tax invoice has specific legal requirements: a VAT-registered company must still issue it from its own accounting system when it is paid. BoardMark gives you quotations, billing notes and receipts only.

One-time setup: your letterhead

The seller on every document is the company's tax profile: name, address, tax ID and head office / branch. It must be complete first. If it is not, the issue button takes you to Company settings to fill it in — BoardMark never prints an empty letterhead.

Company admins set the rest in Company settings → Sales documents (every member can see the values; only admins change them):

  • Logo (optional) — a PNG or JPG up to 256 KB, at least 64 px on the short side and at most 2000 px. It sits at the top right of the document
  • Your company name and address in English, phone and email — used in the English file (left empty, the Thai text is used)
  • Bank account for transfers — bank, account name, account number, branch
  • Signer — name and title
  • Number prefixes — QT, BN and RC by default; you can change them (2–6 characters, capital A–Z and digits, starting with a letter)
  • Accent colour — the one colour of the document
  • Default VAT — prices include 7% VAT, 7% VAT added on top, or no VAT

Settings are in the web app only.

Issue a quotation from a deal

  • Open the deal card and press Issue quotation in the Documents section
  • The dialog has the form on the left and a live A4 preview on the right; switch between the TH and EN file
  • Enter the customer's name, address, tax ID and branch (the name is filled from the customer field), add the lines of goods or services, choose the VAT mode and write a note
  • The customer's name, address and note in English are optional; left empty, the EN file uses the Thai text
  • Payment terms, the valid-until date (valid_until) and the installment table come from the deal card
  • Press Issue quotation — you get the number QT-YYYY-NNNN at once, written into the deal's quote_no

Issue a billing note from an installment

  • In the deal card's installment table, press Issue billing note on the row of that installment
  • The installment amount is locked to the installment table. The billing note refers to the quotation number and shows the billing date, the due date and the bank-transfer block
  • On issue the installment's invoice_no is written as BN-YYYY-NNNN and invoiced_at as today; the installment goes from Not yet to Invoiced

Issue a receipt from a paid installment

  • Only an installment that is already Paid (paid_at and paid_amount set) can have one; before that the button tells you to record the payment first
  • The receipt refers to the billing note and the quotation, shows the date received, the payment method and a reference, and always prints “This is not a tax invoice”
  • Issuing a receipt changes nothing on the installment or the deal

Numbers and revisions

  • Numbers are automatic, in the form QT-YYYY-NNNN, BN-YYYY-NNNN and RC-YYYY-NNNN (company admins can change the prefix), counted per company and per kind
  • They restart every year, by the calendar year of the issue date (Thailand time): QT-2026-0007, then QT-2027-0001
  • If the deal changes after a quotation (price, lines, customer) the card shows a banner offering a revision. It keeps the number and adds -R2, -R3; the earlier one stays in the list and the latest is the current one
  • A number that was issued is never reused, even after a void

Where are the two PDF files?

  • One issue produces two files: Thai (TH) and English (EN). You choose which one to download or send to your customer
  • They are stored as attachments of the deal card (counted in the company's storage). The card's Documents section lists every document with TH / EN download buttons
  • The look is its own modern, minimal design with your logo and one accent colour — no BoardMark branding or patterns
  • The data on a document is a snapshot taken at the moment you issue it: changing the deal later does not change files already issued

Voiding a document

The person who issued a document, a project admin or a company admin can void it from the card's Documents section. A voided document shows the status void with its number struck through, and both PDF files are removed from the card's attachments, but the number stays taken and is never reused. You can then issue a new one. Voiding does not touch the quote_no or invoice_no already written on the card, and an AI agent cannot void (web app only).

For AI agents: issuing a document

  • list_sales_documents lists a deal's documents, newest first, with latest, status and the two PDFs. stale means the deal changed since the quotation: offer a revision (revise_of)
  • issue_sales_document issues a quotation, billing note or receipt (kind, customer, lines, vat_mode, and installment_key for a billing note or receipt). Always ask the user first for the customer's name, address and tax ID, the lines and the VAT mode — never invent them — and show them before issuing
  • A billing note marks the installment Invoiced; a receipt only works once the installment is Paid (409 installment_not_paid). On 409 seller_incomplete a company admin must complete the tax profile in the web app
  • The result returns the attachment_id of the TH and EN files: pass it to get_download_url to download. A number, once issued, is permanent
  • There are no tax invoices: tell the user to issue those from their accounting system. Company settings and void are web-app only
Example tool calls (parameter names come from the tool's schema)
list_sales_documents  { project_key: "SALE", issue_key: "SALE-12" }
issue_sales_document  { project_key: "SALE", issue_key: "SALE-12", kind: "billing_note", installment_key: "SALE-14",
                        customer: { name, address, tax_id }, lines: [ { ... } ], vat_mode: "add" }

For deals and installments see the Sales & Billing page, and for AI agents see agents.md.