Guides · How-to guides

An inventory app that works offline, and why most of them do not

Where the signal actually dies

The place you count stock is almost never the place with good reception. Stockrooms sit at the back of the building, behind a fire door, often below ground. Metal shelving is very good at stopping a signal. Loading docks are outside the walls but not inside the Wi-Fi. A market stall has whatever the network gives it that morning, and a delivery van has a different answer every few hundred meters.

This matters more than it sounds, because the moments that need recording are exactly these moments. A delivery arrives and it is short by two boxes. Somebody breaks a bottle. You are halfway down a shelf with a count in your head. If the app cannot take that now, it does not get written down at all, and the number in the system quietly becomes a guess.

Offline means three different things

Apps use the word for three arrangements that behave nothing alike, so it is worth knowing which one you are being sold.

What breaks when an app was not built for this

The symptom is always the same and it is always blamed on the phone. You tap save, a spinner turns, and it keeps turning. Sometimes it gives up with an error and the entry is gone. Sometimes it succeeds twenty minutes later when you are already at the register and you can no longer remember whether it went in once or twice.

The cause is usually that the app asks the server to agree before it accepts anything. That is a reasonable way to build software when the network is a given, and it is the wrong way when the user is standing next to a freezer. An app built for a stockroom writes the change locally first and reconciles afterwards, so a lost connection is a delay rather than a failure.

The two-minute test

Do not trust the marketing page, and do not test it by turning off Wi-Fi while still on cellular data. Put the phone in airplane mode, open the app, and try to do the real job: add a product, take five units out, do a short count, and write a note on a line that does not match.

Then watch what happens when you turn the signal back on. Everything you entered should still be there, it should appear on a second device within a few seconds, and nothing should have been recorded twice. An app that passes that will not let you down in a basement.

Doing it in Invenva

Invenva is local-first by design, and it was built that way because the people it is for work in exactly these places. Stock in, stock out, counts, notes, new products: all of it saves on the device the moment you tap, and syncs on its own when the connection comes back. There is no queue to remember and no button to press.

A quiet marker appears on the stock screen when you are offline, so you know the state without being interrupted by it. Nothing blocks, nothing shows a modal, and no work is lost if the app is closed before the signal returns.

Stock in and stock out are recorded as increments rather than as a new total, which is the detail that makes two people safe. If a colleague sells three units while you are underground removing five, both changes apply when the two devices meet, instead of the second one overwriting the first.

A few things do need a connection: adding a product photo, which has to upload, moving stock to another workspace, and team changes such as joining with a code or changing a role. That last one is deliberate, because there being certain matters more than being fast.

You can try the offline behavior without an account. Open the demo, put the device in airplane mode, and keep working.