Billing
Billing is where a delivered load turns into a bill the customer actually receives, and where the company watches, chases, corrects and banks the money that comes back.
From the Lanexa 2.0 capability register · version 2.0.37 · reviewed 2026-08-24
What happens on its own.
The work nobody does. These run in the database rather than the browser, which is why they still happen when someone forgets, closes the tab, or was never told they were supposed to.
Double-entry accounting posts itself
A trigger on both the invoices and the invoice-payments tables calls a re-posting routine after every insert, update and delete. For an invoice it deletes any previous postings for that document and — unless the invoice is DRAFT, CANCELLED
The load's journey timeline gets stamped
An event with the amount and currency is written on invoice insert, deduplicated by invoice id, and the whole thing is wrapped so a failure warns rather than blocking the invoice (). A separate trigger does the same for payments.
Everything is audited three ways
A change-log trigger records before and after states on invoices, invoice line items, invoice payments, factoring tables and detention charges. The payment routine writes an activity-log line naming the amount, the invoice and the resulting
The commit clock starts on its own
The first time an invoice leaves DRAFT, a trigger stamps the moment. Three days later a second trigger begins refusing changes to its financial fields ().
What you can do here.
Every item below is live in production today. Anything not yet built is listed further down rather than left out.
What we haven’t built here — by design.
Publishing this is the point. Billing ships 46 capabilities today; these 1 are not built yet, and you should know that before a sales call rather than after one.
| Capability | Status |
|---|---|
| Edit a frozen invoice with a reason | Not built |