Branded documents (PDFs)
Every PDF CleverOps produces — invoices, quotes, statements, payment receipts, and service-job reports — is drawn by one shared, branded document engine. That means a customer who receives a quote, then an invoice, then a statement sees a consistent, professional document set in your company's identity, not five different-looking print-outs.
You never configure this engine directly. Wherever you see a Preview PDF button, click it and the document opens in a new browser tab, ready to save or print.
Every document is drawn in exactly one place, whoever is looking at it. The PDF you preview in CleverOps, the PDF attached to the customer's email, and the PDF the customer downloads from their portal are the same document from the same code. There is no separate "customer version" that can drift out of step with yours.
Dates and times print identically for everyone, too — South African format, South African time — so a document does not read differently depending on which staff member generated it, or from which machine.
PDFs are rendered the moment they are asked for — nothing is saved to a file store. The underlying record (the invoice, the payment, the job) is always the official source of truth; the PDF is just a branded view of it at that moment. Change a line item and the next preview, download or email shows it straight away.
What every document shares
All five document types are built from the same components, so they share a common look:
| Element | What it is |
|---|---|
| Masthead | The top of the page: your logo (or a brand-colour monogram of your initial) with the company block beside it — company name, then the address, contact number, email and — when you're VAT-registered — your VAT registration number on a few compact lines — and a large document title on the right. A wide wordmark logo stacks the company block beneath it instead; a legal name is never clipped to make room. |
| Document title & status | A large title naming the document — TAX INVOICE (or INVOICE when your company isn't VAT-registered), QUOTE, STATEMENT, RECEIPT, or SERVICE JOB REPORT — with a colour-coded status pill beneath it (see below) on documents that have a lifecycle status. |
| Meta ribbon | A row of labelled cells under the masthead (number, issue/due dates, account…), ending — where it applies — in a filled brand-colour cell for the headline figure (Amount due, Total, Balance due). |
| Parties block | A Bill to card and a Site card, each on a soft outline with a secondary-colour keyline down the edge — customer legal name, billing address, contact, VAT number, account number, and the site address where relevant. The details are packed onto shared lines (address pieces together; Attn · email · phone; VAT · Reg · Account) so the cards stay short and the line items start high on the page. A document with no site (a pro-forma before onboarding, a quote to a lead) prints a single full-width Bill-to card instead — with the details in two columns once there are more than three lines — rather than an empty Site card. |
| Line-item table | A clean table with a brand-coloured header row, alternating row shading, and columns Item · Qty · Unit · Total. Each item can carry a smaller description line beneath its name. |
| Totals block | Right-aligned subtotal / VAT / paid rows, with the headline figure (Total, Balance due, etc.) in a soft brand-colour chip. The block is never split by a page break — if it doesn't fit under the last line item it moves to the next page whole, so a subtotal never closes one page with its VAT and total opening the next. |
| Document footer note | An optional closing note per document type — set under Settings → Branding → Document footers — printed in muted text after the last block of the body. |
| Footer | Your company name, email and contact number, your VAT number (or the generation date), and a Page X of Y count, above a thin brand accent band. |
Brand fonts and colours
The engine embeds your brand typefaces — Space Grotesk for titles and headings and Manrope for body text — and follows the brand colours set for your VCR (Settings → Branding → Brand colours). You choose a primary and an optional secondary; the engine derives the darker header shade, the soft tints and a legible text colour automatically — so the masthead, meta ribbon, table header and totals all match your identity, and text stays readable whether you pick a light or a dark colour. If you haven't set a colour, documents use the CleverCam rose default. If a font ever fails to load, the document falls back to a standard typeface rather than failing to render.
Status pill
Documents with a status carry a small colour-coded pill beneath the document title, coloured by what the status means:
| Colour | Status words | Used on |
|---|---|---|
| Green | PAID, ACCEPTED, SETTLED, COMPLETE | Paid invoices, accepted quotes |
| Red | OVERDUE, REJECTED, VOID, CANCELLED | Overdue/void invoices, rejected quotes |
| Amber | SENT, PENDING, PARTIAL, AWAITING, DUE | Sent or part-paid invoices, sent quotes |
| Grey | DRAFT | Draft invoices and quotes |
The pill shows the document's own status label, so a paid invoice reads PAID in green and a draft quote reads DRAFT in grey. An unpaid invoice past its due date (its issue date when it has none) reads OVERDUE in red, whether or not it was emailed — overdue is worked out when the PDF is made, so a copy saved before the due date keeps the status it had then. Job cards and service-job reports show their job status; receipts and statements don't carry a status pill.
Invoices
The invoice PDF (titled TAX INVOICE when your company is VAT-registered, or plain INVOICE when it isn't — the term "tax invoice" is reserved for registered vendors) is the engine's most complete document. On top of the shared elements it adds:
- Prices on your VAT display axis — the Unit and Total columns both print the way your control room reads prices, so the lines always add up to the totals block. On a VAT-inclusive control room (the default) both figures include VAT and the totals block opens straight at TOTAL, with a muted Includes VAT (15%) row beneath it. On a VAT-exclusive one both are ex-VAT and the block reads Subtotal (excl. VAT) → VAT (15%) → TOTAL. Either way the TOTAL is the same VAT-inclusive figure — what the customer actually pays. An invoice carrying no VAT at all opens with a plain Subtotal on both axes. See What the invoice PDF says about paying.
- Per-line VAT — when every VAT-bearing line carries the same rate the totals row names it (VAT (15%)) and the per-line tag is left off; lines are tagged individually only when rates differ, and mixed rates leave the totals row as a plain VAT. New lines default to your company's VAT rate only when you're VAT-registered; otherwise they default to 0% and the VAT row is hidden.
- Heading — the invoice description (and Ref: reference) prints as a heading above the line items; an invoice with neither goes straight from the parties to the table. When a line's description ends with the very period the heading already states — "Monitoring — September 2026" under a heading reading September 2026 — that repeated suffix is dropped from the line. A line for a different period, a pro-rata catch-up or an arrears month, keeps its suffix, because there it tells the reader something.
- Payment / banking block — a soft-shaded panel headed PAYMENT / BANKING carrying whatever the resolved deposit account holds — Account name (your accounts name when the account records no holder), Bank, Account no., Branch / code — with the invoice number as the Reference, so the customer knows exactly what to quote on their EFT. It sits beside the totals, on the same row, rather than beneath them. It prints only when all four of these hold: there is a balance owing; an account resolves for the invoice and carries a real bank name or account number; the invoice's document template keeps the Banking details block on (the built-in look does); and the customer is not on debit order. Fail any one and no panel is drawn at all — a bare account name with nothing to pay into asks for money and gives the payer nowhere to send it.
- Debit-order customers are told not to pay — an active debit mandate, or any subscription on the account whose payment method is Debit order, suppresses the banking block and replaces the closing note with "No action needed — this amount will be collected by debit order", naming the collection day when a subscription carries one. A document template that switches the invoice's Payment terms block off prints neither sentence — see What the invoice PDF says about paying.
- Balance totals — once payments are recorded, the totals show Paid and a final Balance due (or Settled when fully paid). Rejected/bounced payments are excluded. A credit note against the invoice shows as its own Credited row, so the totals never contradict the balance in the meta ribbon.
See Invoices & Payments for how invoices are raised, sent, and reconciled.
Quotes
The quote PDF (titled QUOTE) is the customer-facing proposal. It shows the quote heading and reason, the line items with their optional Why recommended notes, and a totals block that breaks out Subtotal → Discount → VAT → Total when the issuing entity is VAT registered — the headline Total is VAT-inclusive, so the figure a customer accepts is the figure the invoice bills, to the cent. Recurring lines print per cycle, also VAT-inclusive. A non-registered entity shows no VAT anywhere.
This holds whichever way your control room displays prices. On a VAT-exclusive control room the line prices and the subtotal are shown ex-VAT — the subtotal says so, Subtotal (excl. VAT) — the VAT is its own row, and the three add up to a TOTAL INCL. VAT. On a VAT-inclusive one the subtotal already contains the VAT and the amount is stated underneath as Includes VAT. Either way the last figure on the block is the same number: what the customer transfers into your bank account. The display setting changes how the working is shown, never what is owed. An Extra info on quote block prints the Extra info on quote text written for that quote — markdown, so it can carry bold, bullets, numbered lists and links, and a heading on its first line replaces the Extra info on quote label with your own. Your standing terms and conditions are not this: they are the quote document footer, which prints on every quote.
Sections, options and the deposit line
A quote whose lines are grouped into sections prints each block under a tinted full-width heading in your brand colour, closing with that block's own total, before the document's Subtotal / VAT / Total. That is the shape a supply-and-install quote wants: "Cameras & equipment — PCs and screens", its own total, then "Cameras & equipment — perimeter, LPR and general-view", its own total, then the document's.
Blocks that are options print their kind next to the name — Option (selected), Optional — not included — and an option the customer did not take prints muted, its total labelled "if taken". It is on the page because a choice you cannot see the price of is not a choice; it is in no total.
Two switches on the quote's Document options change the layout:
- Show unit prices off drops the
UNITcolumn, leavingDESCRIPTION / QTY / TOTAL. The remaining three columns share the width. On a 32-camera line the line total is the figure that matters. - A deposit above 0% prints a row directly under the TOTAL — "80% deposit due before work starts" with the amount, or your own wording. It is a percentage of the VAT-inclusive total, because that is the figure the customer transfers.
Acceptance block
Every quote closes with an Acceptance block: a wide rule to sign on and a shorter one for the date, side by side, captioned Signature and Date. It is the last thing on the document — drawn beneath the line items, the totals, the quote's extra info and your quote footer note — so a customer reading down the page meets it after everything they are agreeing to. It sits directly under the last of that text, not dropped to the foot of the page: being last in the document already makes it the closing act, and the band of blank paper the old layout left above it was simply blank paper. Once a customer has accepted online the block prints the name they accepted with, the actual acceptance date (not the date you re-download the PDF), and the signature they drew on the acceptance page, sitting above the signature rule. So the PDF you download, email or re-send after acceptance carries the signed record, not just a typed name.
The signature only ever prints on a quote that has actually been accepted — a quote still out with the customer prints an empty block to sign by hand. The image is fetched from private storage as the PDF is drawn; on the rare occasion it cannot be loaded the block still prints the name and date over a blank rule, so the document always renders.
Banking details (optional)
By default a quote carries no banking details — it is a proposal, not a demand for payment, and quotes get forwarded around far more freely than invoices do.
If you take a deposit off an accepted quote, tick "Also print banking details on quotes" under Billing → Config → Banking. Quotes then print a Banking details panel beside the totals, showing the same account an invoice for that customer would use (account name, bank, account number, branch code) with the quote number as the reference. The setting is per control room and off for everyone until somebody turns it on.
Statements
The customer statement (titled STATEMENT) is a full account ledger for a date range. Beyond the shared elements it adds three things the older statement never had:
- Ledger table — columns Date · Kind · Reference · Description · Debit · Credit · Balance, with a running balance down the page and opening / closing balances in the totals (Closing — owes, Closing — in credit, or Closing — balanced).
- Age analysis — a single-row table bucketing what's owed into Current · 1-30 · 31-60 · 61-90 · 90+ days, so you can see at a glance how overdue the account is.
- Remittance advice — a dashed tear-off slip at the foot of the page (Customer · Account no. · Reference · Amount due) the customer can return with payment.
Preview statement on the customer's edit form and the Preview PDF on their Billing tab produce the same document. See Statements.
Payment receipts
The receipt (titled RECEIPT) is generated from a recorded payment. It shows the amount, method, received date, the invoice it was applied to (or Payment on account (unallocated) for account credit), the reference, and the invoice's balance before and after the payment, closing with Thank you for your payment. Receipts carry no status pill — the payment record itself is the proof of receipt.
The payment form's footer has Preview receipt, Download receipt, Email receipt, and WhatsApp / SMS — emailing opens the standard recipient picker (contacts tagged Invoices & receipts arrive pre-ticked), attaches the receipt PDF, and includes a secure link to the customer's account portal.
WhatsApp / SMS texts the customer a link to the receipt instead. It only becomes available once the payment has been recorded: the text carries a link, and a link needs a saved payment to point at, whereas the email carries the document itself and can go out for a payment you are still capturing. A rejected (bounced) payment has no receipt at all — neither the link nor the PDF will render one, because a receipt is proof that money arrived.
Every document can be emailed
Wherever a branded PDF has an email action — invoices, quotes, statements, receipts, and service-job reports — the send dialog is the same recipient picker: To defaults to the billing email — or, when there is none, a contact tagged for that document type receives it instead — CC offers everything on file for the customer (billing email, contacts, CleverAlert app users on their sites), and tagged contacts arrive pre-ticked.
Those defaults are only a starting point. Clear empties the To address, Clear all drops every CC, and Only on any row sends to that one person and nobody else — see Sending to one person only.
The last suggestion, under Your address, is You — your own sign-in email, so copying yourself is one click on CC instead of typing the address. (It is not offered when you sign in with a code rather than a real mailbox.)
A mistyped address stops the send, and says so. The To and CC boxes refuse anything that is not a real email address as you enter it. If one still reaches the send — name@company.co.a, a trailing comma, quotes around the address — nothing is sent and the dialog names the address and whether it was the To or a CC. It is never quietly dropped, and a bad To is never quietly replaced with the billing email. When the email provider itself refuses a message, its reason is shown in the dialog word for word.
Every one of these emails carries the PDF as an attachment, and CleverOps draws that attachment itself rather than sending whatever your browser had on screen — so the document a customer opens is always the one the record says it should be. Invoice and quote emails additionally include a secure share link, so the customer can always open the live document — useful when the invoice has since been part-paid, or the quote is waiting to be accepted online. If a quote or invoice PDF cannot be generated for some reason, the email still goes out with its share link rather than failing.
The emails themselves are branded to match — the header band carries your company name in your primary brand colour (with a contrast-safe text colour), and the call-to-action button and links follow it too. This applies to every customer-facing email: invoice, quote and account-link sends, the statement/receipt/report emails, and the automated overdue-invoice, quote follow-up, and appointment reminders. Set the colour under Settings → Branding → Brand colours; without one, emails use the CleverCam default.
Every document can be texted
The same five documents — plus the account link — can also be sent by WhatsApp / SMS, from a button beside the email action on each one.
A text message cannot carry a file, so what the customer receives is a link to that document on the customer portal. There they read it on screen and tap Download PDF to save the very same branded document the email would have attached — it is rendered by the same engine, on demand, from the live record.
| Document | Where the button is | Portal page |
|---|---|---|
| Quote | Quote form | /q/… |
| Invoice | Invoice detail | /i/… |
| Statement | Statements | /s/… |
| Payment receipt | Payment form | /r/… |
| Service-job report | Service job | /jr/… |
| Account link | Customer page | /… |
Each link is opaque, expires on its own (30 days for statements and account links, which expose a whole account; 90 days for a single document), and can be revoked. WhatsApp is tried first and SMS is the fallback, per recipient — see Text documents for the recipient picker, the document tags, and how opt-outs are honoured.
A receipt and a service report can be emailed while you are still capturing them, because the email carries the document. They can only be texted once saved, because the text carries a link. The buttons stay disabled until then and say why.
Service-job reports
Open any service job and click Preview PDF to produce a SERVICE JOB REPORT — the field-work counterpart of the invoice. It pulls together:
- Work summary — one block per technician visit, with the work done, equipment used, and who signed it off.
- Checklist — a Checklist item · Result table of the job's checklist, so the customer sees exactly what was tested.
- Parts / items used — the job's priced line items in the same table style as the invoice, with a Job total when the work is billable (omitted entirely for internal-only jobs, so they print cleanly with no money section).
- Sign-off — separate Customer sign-off and Technician sign-off blocks, each with the captured signature image, name, and date.
It closes with a note pointing the reader to the Billing module for the formal invoice.
Other printable documents
The same engine also powers three documents outside the finance flow:
- Job card — the pre-dispatch brief a technician takes to site, opened with Job Card on a saved service job. Where the service report records what was done, the job card carries access instructions, who to call, a tickable checklist, parts to bring, and the site's equipment and recent-visit history.
- Schedule — the Schedule board's Print today / Print range run sheets.
- Billing report — the site/billing list export from the Performance page, printed landscape across as many pages as it needs.
All three reuse the branded header, table styling, and footer so they match the rest of your document set.