Acumatica · Gi

Acumatica GI Self-Service Configuration

Acumatica GI Self-Service Configuration sits at the intersection of three forces: what the user wants to see, what the database can deliver, and what the platform will let you.

John Kihiu12 min read

"Self-service config" GIs are the ones I build so that end users — often non-technical department leads, not ERP admins — can adjust a report's scope themselves through ordinary GI parameters, instead of filing a ticket every time the definition of "recent" or "my team" changes. It is less about the Self-Service Portal specifically (covered elsewhere) and more about designing any GI so a business user can safely reconfigure its output within guardrails you set once.

Parameters are the entire self-service surface

A GI has exactly one mechanism for end-user-driven configuration without touching the designer: parameters. Anything you want a department lead to be able to adjust without calling you needs to be a parameter, not a hardcoded condition — the inverse is equally true, anything that should never be user-adjustable (row-level security scoping, for instance) must stay a hardcoded condition, never a parameter, because a parameter is by definition something the user can change.

SELF-SERVICE VS LOCKED SCOPE
-- Self-service: user-adjustable, exposed as a parameter with a default
@MinDaysOverdue   Default: 30   -- department lead can widen/narrow this

-- Locked: never a parameter, always enforced
SOOrder.BranchID  Equals  =[AccessInfo.BranchID]   -- hardcoded condition

Designing parameters non-technical users will actually use correctly

The gap between "technically a parameter exists" and "a department lead can use it without calling me" is mostly about types and labels:

Document what is and is not configurable

The recurring support ticket on self-service GIs is not "I can't configure it" — it is "I didn't know I could" or the opposite, "I changed something and now it's wrong and I don't know what I changed." A short description directly on the GI (the Description field, or a callout on the dashboard hosting it) listing the two or three parameters a user is expected to touch, in plain language, cuts this dramatically. I treat that description as part of the deliverable, not an afterthought — a self-service GI without a one-line "you can adjust the date range and minimum amount here" note is not actually self-service, it is just a GI with hidden knobs.

"Remember last value" can mask a stuck bad filter

Many GI configurations persist the last-used parameter values per user. That is usually a good default-experience feature, but it means a user who once entered an odd filter (a typo'd branch, an accidental huge date range) keeps getting that same broken view on every subsequent visit, with no obvious way to reset short of re-entering correct values. Make sure your defaults documentation also tells users how to get back to the intended default state, not just how to change it.

Wrapping up

Self-service configuration in a GI is entirely a parameter design exercise: expose only what should be user-adjustable as a parameter, keep everything else as a hardcoded condition, favor selectors over free text, and document the configurable surface in plain language as part of the deliverable — not as a follow-up nobody gets around to.

John Kihiu
Acumatica ERP Developer · Laravel Engineer

Independent software engineer in Nairobi specialising in Acumatica customisations, Laravel backends, and tax fiscalisation integrations across East and Southern Africa.