
Your team works in grids full of order lines, PO lines and bill lines — and somewhere in there is the one that costs you money. Lumi colors it red, amber, green or blue as you work, using rules your own people write in minutes. No code, no developer, no report to run.
15 Acumatica screens · 40+ ready-made rules · nothing to implement
Every order screen in Acumatica is hiding the line that costs you money. Here is how that story usually goes.
Red — it already happened
An order went out below margin. One line, priced too low, nobody noticed. Your bottom line did.
A must-have item never shipped. Nobody saw at order entry that the stock wasn't there — your customer found out before you did.
Amber — you've tried to fix it
More reports. Another spreadsheet. “Please double-check before you save.” All after the fact — all relying on someone noticing.
Green — you found Lumi
Lumi colors the line while the order is being entered. Stock short? Red. Margin thin? Red. Lumi runs the cross-checks in the background — your team just sees the color and fixes it before they hit Save.
No code. No developers. Your own team writes the rules in minutes — and every rule explains itself in plain English.
| Inventory ID | Line Description | Warehouse | Qty | Unit Price | Disc % | Unit Cost | Margin % |
|---|---|---|---|---|---|---|---|
| AACOMPUT01 | Acer Laptop Computer | RETAIL | 1.00 | 500.00 | 0.000000 | 250.00 | 47.37 |
| AAMACHINE1 | Injection molding machine | WHOLESALE | 5.00 | 26,000.00 | 0.000000 | 20,000.00 | 19.03 |
| AM350WINDO | 350 Series Window | WHOLESALE | 1.00 | 0.00 | 0.000000 | 0.00 | — |
| ADVERT | Advertising | 1.00 | 200.00 | 50.000000 | 0.00 | — |
Rules that fired
LUMI-SO-INSTOCK — the whole open quantity can be shippedLUMI-SO-MARGINREVIEW — margin between 10% and 20%LUMI-SO-NOSTOCK — no stock available to ship the lineLUMI-SO-NOPRICE — line has not been pricedLUMI-SO-NOCOST — cost information is missingLUMI-SO-DISCOUNT — discount over the permitted thresholdLUMI-SO-NOWHSE — warehouse missing on a stock itemCritical · Red
A value or line that is wrong, or must not proceed — a missing cost, a negative margin.
Warning · Amber
Something to look at before acting — a thin margin, a large discount, a date that has slipped.
Good · Green
Confirmed as it should be — a healthy margin, a line that can be shipped in full.
Info · Blue
Worth noticing, but neither good nor bad — a manual price, a return, a direct invoice.
The meaning of a color never changes. Only how loudly it is stated.
A sales order with forty lines looks exactly the same whether every line is in stock or none of them are. The usual way to find out is to check all forty, one at a time. Your team already knows what a good transaction looks like — Lumi applies that judgment to every line, automatically, so the exceptions surface themselves.
Zero-priced lines, missing costs, over-receipts, unbalanced journals, negative margins. Lumi flags them on screen while someone is still looking at the document and can still fix it — not in a variance report three weeks later.
A rule is four answers on one Acumatica screen: which grid, what has to be true, which documents, what it should look like. Lumi writes the plain-English summary as you build, so you can read back exactly what it will do before you save. No formulas, no scripting, no developer.
Sales orders, shipments, purchase orders, receipts, bills, invoices, journals, reconciliations and the processing screens where documents get released in bulk. Red means the same thing on all of them.
That is the whole model. Everything else is detail on those four answers — which is why a business user can build one in ten minutes and read it back a year later.
Which screen and which grid?
Screen ID and View. Some screens have more than one grid Lumi can color — on Sales Orders you can write rules against the lines, the shipments or the payments, independently.
What has to be true?
The Conditions tab, evaluated against each row in the grid. Different lines on the same order give different answers — which is why some go amber and others do not.
Which documents does this apply to?
The Document Scope tab, evaluated against the document on screen. Customer, customer class, vendor, vendor class, document type. Same answer for every line on the order.
What should it look like?
A preset — a meaning and an intensity — or your own background and text colors, with a live preview and a contrast check.

Presets are not one flat list of colors. They are built from three choices, which is what keeps a hundred rules across a dozen screens legible to someone who did not write them.
Four meanings — the color
Two targets — the scope
Row
Shades the whole line. Carries the overall verdict.
Cell
Deeper, so it stands clear of a row already shaded.
Three intensities — the volume
A preset is named for all three: Row Signal Warning, Cell Beacon Critical. Row Signal Warning and Row Beacon Warning are both amber — one whispers, the other shouts. Change the Target and Lumi remaps your preset to the matching one, so you keep the meaning and intensity you chose.

Same order, same rules — only the volume changes. The meaning of a color never does.
Custom colors, with a guard rail
Override any preset with your own hex values. Set a background and leave the text color empty and Lumi suggests a readable one; set both and it checks the contrast ratio and warns you below 4.5:1. Grid text is small and users scan it quickly — take the warning seriously.
Lumi ships with more than forty ready-made rules covering the common exceptions on each supported screen. Activate the ones that fit, move the thresholds to your business, switch off the rest. They are worth reading even if you write your own, because they show the pattern for each screen.
SO301000
LUMI-SO-NOSTOCKLUMI-SO-LOWMARGINLUMI-SO-DISCOUNTLUMI-SO-PARTIALLUMI-SO-MARGINREVIEWLUMI-SO-PASTDATELUMI-SO-INSTOCKLUMI-SO-MANUALPRICE…plus NOPRICE, NOCOST, NOWHSE, NOPOLINK and PRICECLASS.
PO301000
LUMI-PO-NOCOSTLUMI-PO-LATEPROMISELUMI-PO-NOPROMISELUMI-PO-OVERRECEIPTLUMI-PO-NOWHSEPO302000
LUMI-PR-ZEROQTYLUMI-PR-OVERRECEIPTLUMI-PR-QTYVARLUMI-PR-NOWHSELUMI-PR-RETURNSO302000
LUMI-SH-NOLOCATIONLUMI-SH-OVERSHIPLUMI-SH-UNDERSHIPLUMI-SH-BACKORDERAP301000
LUMI-AP-NOACCOUNTLUMI-AP-ZEROAMOUNTLUMI-AP-COSTVARLUMI-AP-UNMATCHEDGL301000
LUMI-JE-NOACCOUNTLUMI-JE-DRCRLUMI-JE-EMPTYLINEIncluding the processing screens, where a bad document is easiest to release by accident.
Is the revenue account missing?
Is the document a refund?
Is the document a refund?
Is this line still unreconciled?
Is the vendor missing?
A direct invoice, with no shipment or order behind it?
Is this document a credit memo?
Activation happens once per installation on Lumi License Server (LM101000). Paste the key, click Activate, and the License State section fills in with the status, the expiry and the enabled modules. Refresh License picks up a renewal without re-entering anything; Deactivate releases the key so it can be used on different hardware.
$1,200 a year. Unlimited users, unlimited rules.
Non-production tenants are free. Pioneer pricing runs to 31 December 2026.
Your data never leaves your tenant. Lumi runs entirely inside Acumatica. The license heartbeat sends identifiers, version numbers, license status and counts of rules and enabled screens — and the disclosure text on the activation screen says so in full. No transaction data is sent, ever.
Set this expectation with your team early. It saves a great many support questions.
It never blocks anything
Lumi does not stop a user saving a document, releasing a batch or shipping an order. It colors rows. If the license lapses, the colors stop and Acumatica behaves exactly as it did before.
It is a screen aid
Colors do not appear in Excel exports, on printed forms and reports, or in the Acumatica mobile app. If someone needs the same information outside the screen, that is a generic inquiry or a report — not a Lumi rule.
Modern UI, entry and processing screens
Lumi works on Acumatica's modern user interface. A screen still set to the classic UI will not color. Generic inquiries are out of scope — they have their own style rules built into Acumatica.

If you want to know what happens after the demo — the full condition set, how competing rules resolve, every screen covered, and how a proven rule set moves into production — it is all here.
What keeps Lumi useful after the demo is everything below.
Any field. Case-insensitive.
Numbers, dates, amounts. Is Between takes two values and is inclusive.
Searching descriptions, IDs and codes.
Whether a field is filled in at all. No value needed.
Measured against the Acumatica business date, not a hard-coded date.
Alongside every standard field on the grid, Lumi adds its own. They come with the product — nothing to install, nothing to switch on — and they are what make the availability and classification rules possible in the first place.
A value is not always the useful comparison. Set Compare To to Another Field and the condition tests one column against another — available quantity against open quantity, promised date against required date, received against ordered.
Conditions combine with And/Or in the order they are listed, and bracket columns let you say what plain left-to-right ordering cannot — status is Open, and either the amount is over 10,000 or the customer is on hold. Brackets have to balance, or the rule will not validate.

Color the whole line, or a single cell. The pattern that works: one row rule carrying the overall verdict, then cell rules marking the specific values that are wrong — the unit price, the discount, the margin. Cell presets are deeper than row presets, so a flagged cell still stands clear of a line the row rule has already shaded.
Rules are evaluated in ascending priority order — lower number, considered earlier. The default is 100. Give every rule on a screen a distinct priority, and number them 10, 20, 30 rather than 1, 2, 3 so you can slot a new one between two existing rules later without renumbering everything.
When a rule matches and Stop If Matched is set, evaluation ends there and no lower-priority rule is considered for that row. It is on by default, and for most rules that is what you want.
This is the distinction that matters most. Is this line's available quantity below its ordered quantity? That is a condition. Is this order for a customer in the WHOLESALE class? That is document scope — the same answer for every line, so it decides whether the rule runs on that document at all. Applies When narrows; Except When removes.

Analyze Rule tells you what will actually happen
Save a rule and run Analyze Rule. The Conflict Check tab lists every rule that overlaps this one, most severe first, and for each one it says what is happening, which rule wins given the priorities and Stop If Matched settings, and how to fix it. Overlap is not automatically a problem — banded traffic-light sets are built on it. What you are looking for is an overlap where the winner is not the rule you intended.
Entry screens and processing screens across sales, purchasing, inventory movement, payables, receivables, cash and the general ledger.
| Screen ID | Screen | Grids you can color |
|---|---|---|
| AP301000 | Bills and Adjustments | Lines |
| AP501000 | Release AP Documents | Documents |
| AR301000 | Invoices and Memos | Lines |
| AR501000 | Release AR Documents | Documents |
| CA302000 | Reconciliation Statements | Transactions |
| GL301000 | Journal Transactions | Details |
| PO301000 | Purchase Orders | Lines |
| PO302000 | Purchase Receipts | Lines |
| PO505000 | Create Purchase Orders | Fixed Demand |
| SO301000 | Sales Orders | Lines · Shipments · Payments |
| SO302000 | Shipments | Lines · Orders · Packages |
| SO303000 | Invoices | Lines |
| SO501000 | Process Orders | Orders |
| SO503000 | Process Shipments | Orders |
| SO505000 | Process Invoices and Memos | Documents |
Rules belong to the tenant they were created in. Export writes a rule, its conditions and its document scope rows to a single XML file; import reads it back in another tenant, with an explicit choice about whether an existing rule of the same ID may be replaced.
Save the rule, click Export Rule, and Lumi writes LumiRule-<Rule ID>.xml to your machine. A rule must be saved before it can be exported, so the file always matches the rule.
Import Rules from one tenant to another, options are in place to prevent existing rules being overwritten.
Process Lumi Rules (LM501000) lists every rule in the tenant with its screen, view, target, preset and priority, and activates or deactivates a whole set in one action. Then run Check Conflicts on each affected screen.

No publish step, no downtime. A saved, active rule takes effect the next time the target screen loads. A screen already open in someone's browser keeps showing the old result until it is refreshed.
To log a support ticket email support@acugenconsulting.com.
Thirty days, your own Acumatica environment, your own data, no credit card. The trial clock starts when you activate — not when you sign up.
$1,200 a year for unlimited users and unlimited rules, direct or through your Acumatica VAR. Try before you buy — that is why the trial is a full thirty days in your own environment. See the full price list.
Lumi is an Acugen Consulting product for Acumatica ERP. Not affiliated with, endorsed by, or sponsored by Acumatica, Inc.