Dymico, the platform i3 builds and runs client software on

A finance lead asked for one rule on Monday. It was live by Tuesday afternoon.

This page follows that one change from the email to the audit trail. Nothing about it is unusual, and that is the point: on Dymico, a change like this is an ordinary afternoon's work rather than a project.

Change Second sign-off on large invoices Client A distribution company An illustrative example of our everyday work
Mon 09:12The ask

An email, not a ticket.

The auditors had flagged large invoices approved by one person. The finance lead wrote to the developer who looks after their system.

From: Thandi, finance leadRe: invoice approvals

Can we make invoices over R50 000 need a second sign-off? Ideally before month-end.

Sent to their i3 developer

Why it starts here. The person who asked is the person who will approve it. No backlog, no change-request form in between.

Mon 11:40Read first

Everything needed was already there.

Invoices, users, roles and the approval screen all live in the same application. The developer read the real invoice code and its history, not a diagram of it, and found the one place the rule belongs.

What Dymico did. Code, data and version history sit in one place, so nothing had to be integrated or exported to answer the question.

Mon 14:30The change

A few lines, added to what exists.

No new system, no new screen. The rule sits next to the invoice it protects, with a test that proves it.

invoice · approval ruledraft
// large invoices need two different approvers
beforeApprove: { session ->
    if (total > 50000 && approvers.unique().size() < 2)
        throw new Exception('Needs a second sign-off')
}

On AI. An assistant may draft a change like this. A named person reads it, saves it and owns it, and the record says who.

Tue 10:05Tried safely

Tested on its own branch while the live system carried on.

The finance team kept working in the live app. The change ran on a separate branch, where the developer and Thandi could both try it.

checksbranch: invoice-sign-off
  • 10:02Rule test: R49 999 needs one approverpassed
  • 10:02Rule test: R50 001 needs two approverspassed
  • 10:03Existing invoice testspassed
  • 10:05Thandi tried it on the branchlooks right
Tue 16:40Live

Approved, then live. Nobody was logged out.

There was no release window and no weekend deploy. Once Thandi approved it, the live app ran the new rule, and users saw it on their next invoice.

history · invoiceevery save is a version
  • 16:38Approved by Thandifinance
  • 16:40Live: second sign-off over R50 000version kept
Wed 08:15Second thoughts

They changed their mind. That is allowed.

Overnight, the threshold turned out to catch too many routine orders. Finance asked for R100 000 instead. The developer went back to Monday's version in one step, then changed the number.

history · invoicenothing is lost
  • 08:15Second sign-off over R50 000rolled back
  • 08:22Second sign-off over R100 000approved, live

What Dymico did. Going back is a normal step, not an incident. The rolled-back version stays in the history.

Wed 08:30The audit

The auditor's question has already been answered.

Who asked, who changed it, who approved it, when it went live and when it was rolled back: every step on this page is in the record, with a name and a time against it. Nobody had to write a report.

Under the hood

What made that ordinary.

Live on save
An approved change runs as soon as it is saved. No build step, no release window, no downtime.
A version for every save
Each change has a name and a time against it, and any earlier version is one step away.
Branches for trying things
Changes are tested on their own branch while people keep working in the live app.
Encrypted records
Data is encrypted at rest with a key per record, and the keys stay under your control.
Access down to the record
Roles decide who can see and change what, all the way down to single records.
Web and mobile from one codebase
The same application serves the browser and the iOS and Android apps.
Background work that finishes
Scheduled jobs and sync tasks survive restarts and retry by themselves.
Search and reporting included
Full-text search and summaries run on the data you already hold, with no separate BI tool.

To be clear

What Dymico is not.

Not a no-code tool

i3 developers write and own the changes. You get software built properly, without having to learn a builder.

Not just hosting

We build what we ship, run it and look after it for as long as you want us to.

Not a rip-and-replace

It connects to the accounting, CRM and identity systems you already use. Start where the value is.

30-minute walkthrough

What change have you been waiting for?

Tell us the rule, report or screen you have been asking for. We will show you how it would go on Dymico, from email to audit trail.

i3 designs, builds and looks after everything we put on the platform.