The Covex agent: ask about your operations in plain languageCovex agent: ask in plain languageRead more
TODODraft — to be reviewed by Covex before publication

Statuses are never set directly

Pale vertical profiled metal

Author

TODOAuthor

Published

Draft

Transitions instead of fields

In Covex nobody — not a user, an integration or the driver app — writes a status straight into a field. Instead a transition is triggered, and it can be rejected.

Illustrative example
-- A transition is requested — it can be rejectedselect request_transition(  shipment_id => '…',  to_status   => 'delivered',  source      => 'driver');

Everything is traceable

Every change is logged with who, when and from where: user, driver, job or API. The log can only be appended to, and it is written by the database itself, so nothing can change without leaving a trace.

Facts carry their basis with them, so it is always clear whether a figure is confirmed, extracted, derived or predicted.

Row-level access

Every table carries a tenant, and policies in the database decide access from the user's membership and role. It is the database that enforces who sees what — not just the interface.

  • Roles: dispatcher, finance, transport manager, driver, portal.
  • Two-factor sign-in with a code from an authenticator app.
  • Data retention with deadlines per data type, enforced daily.

The author

TODOAuthorTODORole

Help build Covex.

Transport management from enquiry to invoice — built so every figure can be explained.

A ribbed glass door with warm light behind

See Covex at work — from enquiry to invoice.

The quote, the order, dispatch, the trip, the driver, the invoice and the settlement in one system. No spreadsheets on the side, no double entry.

A ribbed glass door with warm light behind