Skip to content
UNI4C

It learns how your company counts

Every company means something different by revenue, by overdue, by an active project. The assistant writes yours down as it works: the correction you made, the way you compute a figure, the table the answer lives in. A second agent checks each entry, and the next answer uses it. Nobody has to build this layer first.

It writes the terms down as it works

When something gets settled in a conversation (a definition agreed, a correction made, a figure explained), the assistant proposes a term: what it means, when it applies, and often the exact query behind it. A reviewing agent checks it before it counts, and from then on it is part of every conversation it applies to. All of it sits on one page in the portal.

Shown: the AI knowledge page on its Semantic layer tab, with three current terms. Each was proposed by the assistant, is approved, and applies to any Business Central connection.

  • Customers over credit limit (Hvem er over kreditten). Read from the Customer table (table 18): field 59, Balance (LCY), and field 20, Credit Limit (LCY), where Credit Limit (LCY) is not 0, so customers with no limit set are left out. Keep those over their limit, with Over by = Balance (LCY) − Credit Limit (LCY), furthest over first. Applies when: someone asks which customers are over their credit limit, or who has used up their credit.
  • Receivables outstanding (Tilgodehavender). Read from the Customer table (table 18): field 59, Balance (LCY), for every customer where it is not 0, largest first. The figure is what customers owe today, in local currency. Applies when: someone asks what customers owe us, or how much is outstanding.
  • Hours on a job (Timer på sagen). Read from Job Ledger Entry (table 169). Sum field 9, Quantity, where Entry Type is Usage and Type is Resource, by Work Type Code. Sale entries are left out, so invoiced hours are not counted twice. Applies when: someone asks how many hours were posted to a job, in total or by work type.
The UNI4C portal's AI knowledge page, drawn in code. The terms, the person and the usage counts are demo data for a demo company.

The four states a term can be in

Awaiting review
Proposed in a conversation and not reviewed yet. It shapes no answer until it is approved.
Approved
In play. It is brought into any conversation its Applies when matches, on the connections its scope names. A daily sweep re-runs each stored query once a week and flags a term whose query stops returning data.
Denied
Turned down in review, with the reason. It never reaches an answer.
Superseded
Replaced by a newer term that says it more precisely. It stays on the list, so you can see what changed.

In the chat you see it at work: an answer says which term it was read as, which memory it applied, and which term it proposed and whether that was approved.

What it picks up

Two kinds of thing, and they behave differently on purpose.

  • The semantic layer

    A business term plus how to compute it. Always company scope, because a definition that is only true for one person is not a definition. An entry can carry the exact query that established a figure, so the next answer does not re-derive it. It replays it.

    Customers over credit limit

    A customer whose Balance (LCY) is above the Credit Limit (LCY) on its customer card. Customers with no limit set are left out.

    Keywords
    • credit limit
    • over limit
    • kreditmaksimum
    • over kreditten
    Stored recipe
    bc:read:18:7d2e90c4a1b3 · Customer (18) · Credit Limit (LCY) <> 0 · kept where Balance (LCY) > Credit Limit (LCY)
    Used
    used 14 times
  • Memory

    Lessons, preferences and corrections. Company scope for something true of the business, user scope for something true of one person's way of working. A user-scope memory learned inside a customer company is only ever retrieved back inside that company.

    Report currency

    This company reports in DKK even though several projects are invoiced in EUR. Convert before totalling across projects.

    Triggers on
    • currency
    • valuta
    • EUR
    Scope
    company · memory
    Used
    retrieved 41 times

Example entries. The counters show what the product records for each entry; the numbers here are illustrative.

Why the next answer is better than the last

An entry does not sit in a settings page waiting to be read. It arrives in the conversation that needs it, by one of four routes.

By name

A term appears, so its definition comes with it

A semantic entry whose title or one of its trigger keywords appears in the message becomes a candidate, and a reader decides whether it applies; at most six come in full. Beyond those, the assistant sees a list of at most thirty titles and can search for the rest.

By tool

An entry can attach itself to a result

An entry bound to a tool (Job Ledger Entry reads, any Outlook call) is attached to that tool's result the moment it is used, and stays on the session afterwards.

By meaning

Found by meaning, not by keyword

Each message is matched by meaning once, against memories and terms alike: the reader brings a close match in full and offers a weaker one as a title. Mid-answer, the assistant can search the knowledge itself with its search tool.

By connection

Scoped to where it is true

A binding can hold an entry to one company, one Business Central environment, or every connection of a kind, so a rule about one environment does not follow you into another.

What you control, and what it will not do

The layer is yours to steer, and it is built so that steering it is optional rather than required.

Moderation

A list, not a black box

Every entry is a row with a status, a scope and an owner. Read them, sort by how often each was actually used, edit one, delete one, restore one you retired, or write one yourself. A report query can be saved as a business term straight from the editor.

Who approves

The second agent, or a person

By default the reviewing agent's approval publishes an entry at once, and nobody is notified. Switch the policy to administrator review and a company-wide entry waits as a recommendation: your administrators are notified, and one of them confirms it.

Switching it off

Two separate toggles

Memory and the semantic layer switch on and off separately, per company, and each governs both what is proposed and what is brought back; personal memory follows the company's setting. Turning one off asks first and warns that answers get worse without it.

When it breaks

If it is down, you still get an answer

If the knowledge layer cannot be reached, the question is answered without it. A broken knowledge layer is never allowed to break an answer.

How long it lasts

Until it stops being true

Entries are not conversations and do not expire with them. A definition that is still correct should outlive the chat that produced it. You can set an expiry anyway, and you are warned first that still-true terms will go with it.

Ask it the same question twice, a month apart

Correct one figure and the next answer uses your definition. Start a trial to see the portal, or book a demo and watch it learn on a tenant set up like yours.

Or write to us at hello@uni4c.ai