invent.sale
changelog

What changed in the platform

Changes visible in a client's daily work: the calculation counts differently, sends stopped going out blind, data can be pulled with your own key. Almost every one of them is the trace of a specific failure.

about the format

This is a platform log, not an API version history: formats and integration versions are documented during the engagement. Dates are given by month — an exact day explains nothing here.

  1. July 2026
    demand
    Write-offs no longer count as demand

    A write-off document from the store export was landing in sales history alongside receipts. Demand is now assembled from stock movements with an explicit operation type, and write-offs are excluded.

    Why: The error was quiet: the order looked justified while the network kept rebuying what it had just discarded. After the fix, ordering in two stores fell 16% and 7% at the same availability.

  2. July 2026
    demand
    The slow-mover cut-off was removed

    Items that failed to reach a minimum number of sales in the period never entered the calculation at all. The threshold is gone: goods on the shelf are computed even when they sell one at a time.

    Why: In a pharmacy chain, cosmetics and orthopaedics silently vanished from the report — whole groups where decisions were made with no data at all. Removing the threshold nearly doubled the number of items covered.

  3. July 2026
    supply
    Supplier price lists are read into one format

    Supplier files in different formats are merged into a single table: item, price, availability, lead time. Rows that failed to parse are shown as their own list.

    Why: A distributor holds dozens of price lists, compared by eye in a spreadsheet. The point is less the automated comparison than the fact that an unparsed row no longer disappears in silence.

  4. June 2026
    platform
    A public read key for your own data

    A client now has a separate key to its own data marts, stock and orders. The network owner issues and revokes it, and it grants no write access of any kind.

    Why: A network's data must come out without a “we will export it on request” conversation. Writing to the accounting system stayed with whoever owns it: we deliberately expose no write API.

  5. May 2026
    network
    Dedicated channels per product group

    Previously a supplier received one order covering its whole range. A narrow group — a single product line, say — can now go to its own channel, with its own schedule and recipient.

    Why: Different people at one supplier handle different orders. A single shared file meant one of them was not reading it, and a short-delivery complaint ran into “I never received it”.

  6. April 2026
    network
    A calculation with an empty warehouse is refused

    If the data snapshot holds no rows for a warehouse, the send stops: the owner gets an explanation instead of a file, and the supplier gets nothing at all.

    Why: An order once went out as an empty file: nothing was delivered, yet the system considered the send successful. An empty file looks like normal operation — the worst kind of failure.

  7. April 2026
    network
    An order send verified three hours later

    Three hours after sending, the system re-checks: the file was not empty, the recipient exists, a reply is there. The result shows in the order history, not only in a log.

    Why: Some channels had been “working” for months while the link to the supplier's chat was dead. A silent failure is worse than a miscalculation: a miscalculation is visible, a send that never happened is not.

  8. March 2026
    network
    One-tap supplier replies in the messenger

    A supplier answers right in the chat: accepted, partial, out of stock, plus a free-text note. The reply lands in the order history and is visible to the owner in the web app.

    Why: Confirmations lived in chat threads, so a discrepancy at receiving had nothing to argue against. A supplier's promise now carries a time and an author.

Where these entries come from

Almost every entry here follows a client-side failure: a write-off counted as a sale, an empty file at a supplier, a product group dropped from the calculation. How we handle outages is on the status page, and the data claims can be checked in the Trust Center.

Show us one critical process. We will show how it runs here.

We look at your cycle: how an order is assembled today, who decides, where time leaks and what the system takes over.

Start with one critical process

Connect replenishment, supplier ordering or another first workflow, then expand across one platform.

Changelog — invent.sale