Skönto · the deduction engine

Every line shows its working

For every order and invoice line, Skönto answers four questions — which trade terms apply, at what rate, which survive, and where the result is booked. Then it writes the answer down, so your auditors read it too.

skönto — resolution trace · INV/2026/00347

Specimen — one line, resolvedVerified behavior · engine test suite

The mechanics

Four questions, answered per line

01

Which terms apply?

Entitlements are collected for the line along both axes — who is buying and what is being bought — from customer to buying group, product to brand.

02

At what rate?

Each term carries its rate source: a fixed rate, a quantity ladder stepped by ordered volume, or a brand-tier rate card resolved per line and per customer.

03

Which survive?

Overlapping terms compete only within one axis, and resolve by the rule you chose — add up, best rate, lowest rate, most specific, or broadest.

04

Booked where?

Discounts reduce the price inline. Every other type books as its own deduction line to its account — target entity first, then attribution, then default.

The correctness property

Two axes that compose, never compete

Terms attach along two independent axes — who is buying and what is being bought. Terms from different axes both apply; competition happens only within one axis. A negotiated customer rebate can never be silently dropped because an unrelated product rule was “more specific.” That class of margin leak simply cannot occur.

Customer axis — who is buying

  1. Head office · Browns Group
  2. Branch · Browns Appliances, Thames
  3. rebate 15% — attributed here

Product axis — what is bought

  1. Brand · Ethos
  2. Category · Hearth & Flue
  3. bonus 10% + discount 5% — attributed here

Invoice line · F-2210

Both axes apply: 15% + 10% compose, 5% hits the price — each recorded, each booked.

Reconciliation

When terms overlap, you choose the rule

sum

All apply — rates add up. The default.

max

The highest rate survives.

min

The lowest rate survives.

most specific

The closest agreement wins — a branch beats its head office.

broadest

The widest agreement wins — the head-office term rules them all.

Specificity ranks by level, tie-break by tree depth — a child category beats its parent, a branch beats its head office

Rate sources

Where the percentage comes from

Fixed

15%

A flat rate on the term — with an optional individual amount per entitlement, for the one customer who negotiated harder.

Quantity ladder

Stepped rates by ordered quantity — the ladder climbs with the order, per line.

Brand-tier rate card

T1T2T3
Ethos2%5%8%
Hatiba1%3%6%
EXA2%4%

The rate for the line's brand at the customer's tier — own tier, else the category's, else the brand's public rate.

Attribution

Negotiate once, at any level

  • customer
  • delivery address
  • buying group
  • customer category
  • customer tag
  • product
  • product category
  • brand
  • payment term

Exactly one target per attribution — a payment term may ride along with another. Skönto applies the term automatically everywhere below it: branch roll-ups where the head office is invoiced, and cooperative groups where members share a category's terms.

The guarantee

Order and invoice agree by construction

Quotation, order and invoice run the same calculation engine — a shared applier — so they cannot diverge. Each line records the entitlements applied, the percentage each contributed, and the resulting amount.

1 shared engine0 driftevery line audited

“Skönto is specifically designed for provisioning… The system is highly flexible and can meet every requirement.”

Mark Coory, CEO of Capisco Aust PtyMark Coory — CEO, Capisco Aust Pty

Under the hood — boring, proven technology

  • PostgreSQL logo
  • Python logo
  • C# logo
  • JavaScript logo
  • Debian logo
  • Odoo logo

Watch it resolve your terms

Bring your gnarliest agreement — the tiered one with the year-end true-up. We'll trace it live on a personal demo instance.