Home Customisation

A new report,
before lunch.

Every ERP claims to be flexible. Here is how ZakERP does it, with one real report as the example.

9 kinds of definition No restart Real files, not illustrations

1. The idea

In most business software, the things you see — a screen, a report, a chart, an approval route — are written in the programming language the product is built in. Changing one means a developer, a build, a test cycle and a release window. That is why "add a column" costs three weeks.

In ZakERP those things are declarations instead: short text files that describe what you want rather than how to fetch it. The engine reads them at runtime. Save the file, refresh the browser, and the change is live — nothing is compiled, nothing is restarted, and nobody using the system is logged out while it happens.

2. What you can build

Together these cover almost everything a company asks for after go-live.

Screens

A record screen — list, form, fields, validation rules, buttons and permissions.

Reports

A report: columns, filters, a period bar, sorting, export and email.

Charts

A chart with its own filters and date range.

Dashboards

A dashboard composing charts and KPI tiles.

Approvals

An approval flow: states, levels, actions, notifications.

Calendars

A calendar with layers drawn from different sources.

Dialogs

A dialog, such as the leave application form.

Home pages

A role's home page: KPI tiles, columns and widgets.

ID cards

A printed ID card, laid out in millimetres.

A standard installation ships 88 screens, 77 reports, 24 charts, 5 dashboards, 8 approval workflows and 17 print templates — all written this way. The product is its own best evidence that the mechanism is enough to build a real ERP with.

3. A report

This is a complete, working report definition. Not an extract — the whole file.

Late arrivals report
search lateArrivals
    table   attendance
    select  "active = 1"
    order   date desc
    rows    31
    search
    paginate
    export

    columns staff, date, in_time, out_time, status
    headers "Staff","Date","In","Out","Status"

    daterange date
        caption "Period"
        default month
    end daterange

    filter status
        caption "Status"
        pick "Late,Late & Early Leave"
    end filter
end search
  • A period bar with Today, This Week, This Month, Last Month, This Year, All time and a custom range — opening on the current month.
  • A keyword box and a status filter that combine with the period.
  • Sortable headings and paging that survive as you move between pages.
  • Export to CSV, Excel and PDF of exactly what is on screen.
  • A place in the menu, visible only to the roles you allow.

Twenty lines. No SQL joins to hand-write for the paging, no export code, no email code, no permission check to remember. Those come from the engine, which is why they behave identically on all 77 reports.

4. A chart

The same idea gives you charts. A few lines produce an interactive chart with zoom, export, a date range and filters whose options come from the data itself. Defined once, it can sit on a dashboard or on somebody's home page.

5. An ID card

This is the example that usually settles the argument, because it is the kind of thing people expect to need a designer and a developer for. It is a printed employee badge — double-sided, in millimetres, with bleed and safe margins for the print shop.

  • Print-ready PDFs at the right physical size, with bleed, for a commercial printer.
  • Batch printing for a whole department, from the employee list.
  • A self-verifying QR code — scanning a badge opens a page that confirms whether it is genuine.
  • Company details pulled from your own settings, so a change of phone number does not mean re-laying-out the card.

6. An approval chain

Approval routes are the thing companies change most often and the thing most systems make hardest to change. In ZakERP the route is a ladder you edit on a screen.

Level 1 · Supervisor Level 2 · Head of Department Level 3 · Head of HR Level 4 · Managing Director

Edited on the Approval Matrix screen. Each level carries a condition, so a level that does not apply to a particular applicant is skipped — and the skip is written to the history. Four different routes through one ladder, as data.

Adding a fifth level, giving a level a stand-in for the holiday season, or changing which manager signs are all edits on a screen: no developer, no release.

7. Without typing anything

You do not have to write these files. The built-in Customisation Studio is a point-and-click builder that writes them for you: add a field to a screen, build a report, make a chart, compose a dashboard.

It also does the parts people forget — it shows you what a change will do before it does it, keeps versions so a change can be rolled back, and exports a set of changes as a bundle you can import on another server. That is what makes "test it first" practical rather than aspirational.

Who actually does this in practice. Not developers, and not everybody. It is typically one or two people — often the person who already builds the company's spreadsheets. Give them a day's training and most requests stop being requests.

8. Getting it live safely

Fast to change and safe to change are different problems. The recommended path:

  1. Build it on a test installation

    The same product, on any spare machine, restored from a copy of your database.

  2. Confirm it does what you meant

    Against real data, not three invented rows. This is where most surprises surface, and they are cheap there.

  3. Export it as a bundle and import it on the live server

    A copy, not a retype — which removes the class of mistake where the live version differs from the tested one by a typo.

  4. Refresh the browser

    That is the deployment. No restart, no maintenance window, nobody logged out.

9. What your team changes

Most requests after go-live are configuration that your own trained staff do in hours.

Configuration — hours

  • New reports, charts and dashboards
  • New fields and new screens
  • Validation rules and mandatory fields
  • Approval routes, levels and stand-ins
  • Document numbering, menus, roles and access
  • Home pages, printed cards and PDF layouts

The useful question to ask any vendor is not "can it be customised" — everyone says yes. It is "show me the last change you made for a customer, and tell me how long it took." We will answer that on a call, with the file open.