Tokoman

Product

Everything between the data and the document

Tokoman is the part of your system that used to be a person with a Word template. Here is what it does, without the machinery.

Templates you own

HTML and CSS, with variables, conditions and loops. Static copy, banking details and legal text live in the template, so they never travel in a request.

Pages that add up

Declare which list should run over the page and how many rows fit. A statement with three lines and one with three hundred come from the same template.

Checked before it ships

Every payload is validated against the template's own schema first. A blank space in an invoice is worse than an error, because it gets sent.

Versions that never move

Every document remembers the version that made it. Change a template today and last year's invoice looks exactly as it did.

Webhooks, signed and retried

Each delivery is signed, carries a stable id, and is retried with backoff for an hour. A receiver that was down for a deploy still gets everything.

Realtime, if you want it

Open a live connection and generate without polling. Changes are pushed to you as they happen, filtered to what your key may see.

Your storage or ours

Documents live under your organisation's own prefix, behind time-limited links. On the Scale plan, they go straight into a bucket you own.

Two engines

A fast, proven engine for tables and letters, and a full browser engine for modern layouts and web fonts. Pick per template, or per document.

Priced per page, in rand

Plans include a monthly allowance; pages beyond it cost cents each. Or skip the plan, top up a wallet, and pay as you go.

Templates

Plain HTML, with the parts a document needs

Variables, conditions, loops and a short list of helpers for money, dates and numbers formatted the South African way. Pagination is declared in the template's settings, not coded by hand.

templates/invoice/index.html
<table class="lines">
  {{#each pages}}
    {{#each this.items}}
      <tr>
        <td>{{inc @index}}</td>
        <td>{{this.description}}</td>
        <td class="right">{{money this.total}}</td>
      </tr>
    {{/each}}
  {{/each}}
</table>
<p>Page {{pageNumber}} of {{pageCount}}</p>
A sealed document

Trust

Every document has a record

Who asked for it, from which template, at which version, with which reference, when it rendered, how many pages it made, and every time it was downloaded. The file can expire; the record does not.

  • Keys are scoped to what they may do, and revoking one takes effect on the next call.
  • Webhook deliveries are signed with a secret only you and Tokoman hold, and a stale delivery is refused by design.
  • Documents sit behind links that expire. A link in an old email does not open a customer's statement forever.
  • Data is stored in South Africa, and your payload is used to render your document and for nothing else.

Your first document is about a minute away

Sign up, copy a starter template, send it some data. The sandbox is free, needs no card, and gives you a hundred pages a month to build with.

A document with a cobalt wax seal