Invoices
Keep invoices on your clients' records — numbered, totalled by formula and marked paid — and chase what's due with a workflow.
In klerc, an invoice is a record on an object you design. It carries exactly the fields your business needs, links to the client and the job it bills, and works with everything else: lists, workflows, dashboards and AI. The demo workspace keeps 33 invoices this way, from registration-fee receipts to success-fee invoices.
Create the Invoice object#
Go to Settings → Objects → New object and create an object called Invoice. Its records get readable, auto-numbered IDs — the demo's invoices read INV-2026-000033. Then add fields. The demo's Invoice object has these:
| Field | Type | What it's for |
|---|---|---|
| Type | Select | Fee receipt, success-fee invoice — whatever you bill |
| Customer | Lookup to People | Who the invoice is for |
| Case or project | Lookup | The job it bills — the demo links each invoice to a claims case |
| Date | Date | When it was raised |
| Amount | Currency | The fee before tax |
| GST | Currency | The tax — or a formula, below |
| Total | Formula | Amount plus tax, worked out for you |
| Payment mode | Select | Online, UPI, cash, bank transfer |
| Payment status | Select | Whether it's been paid |
| Paid on | Date | When the money arrived |
| Invoice / receipt | File | The document you issued |
| Notes | Long text | A receipt number, a reminder, anything else |
Add anything else your business needs — a due date, payment terms, a discount — like on any object. See Objects and fields.
Let a formula do the maths#
Make Total a formula field, so it's always right:
amount + gstUse your own fields' names. To work the tax out rather than type it, make GST a formula too — at 18%, amount * 0.18. Formula fields are computed when the record is read, so a changed amount shows up everywhere at once.
Track what's paid#
When the money arrives, set Payment status and Paid on, record the Payment mode and attach the receipt. To see what's outstanding, filter the Invoices list to invoices whose status isn't Paid — or group the list by status or type. See Records.
Chase what's due with a workflow#
A scheduled workflow can do the chasing for you:
Trigger Run on a repeating schedule · every day at 10:00Find Invoices whose payment status isn't Paid, dated 7 or more days agoFor each Send the WhatsApp template "Payment reminder" Create a task for the owner · call about the invoiceKeep the condition on Payment status, so paid invoices are left alone, and test the workflow before you switch it on.
See revenue on a dashboard#
Create a report on Invoices — the sum of Total, grouped by month — and another grouped by Type, then add both to a dashboard. The demo's Commission & Revenue dashboard does the same for commission, by insurer, by category and by month. See Reports and dashboards.
Payment and accounting apps#
Stripe, Razorpay, QuickBooks and Xero are in the integrations catalogue. See Integrations for connecting them.
Through the API#
Invoices are records, so they use the record endpoints: list them with GET /objects/{objectId}/records, create one with POST /objects/{objectId}/records and update one with PATCH /objects/records/{id}. Reading needs objects:view; changes need objects:use. See Working with records.