Scanlog

Count the shelf.
Export the difference.

Every scan adds a unit. Paste in what the system says you should have. Scanlog gives you back the gap, line by line, as a spreadsheet you can send to whoever asks.

Get Scanlog on the App Store

FreeiPhoneNo accountWorks offline

Scanlog counting into a stock count: a running total of 3, the last code added, and a stop button.

What you walk away with

The variance, not a pile of codes

Most scanner apps export a log of what you scanned. That leaves the actual work, reconciling it against what should have been there, in a spreadsheet you build by hand afterwards.

Scanlog does the reconciliation on the phone, while you're still standing in front of the shelf. Short, over, missing and unexpected are decided before you walk away.

main-storeroom-2026-09-13.csv
code,name,location,counted,expected,variance
9781593070205,Analysis Handbook,Room 1,4,4,0
9780385669764,Field Guide 2e,Room 1,2,3,-1
5012345678900,Filter cartridge,Aisle 3,11,8,3
5012345678917,Hose clamp 25mm,Aisle 3,0,6,-6
4006381333931,Marker pen black,Desk store,14,14,0

A count in Scanlog with totals, export, expected-list, merge and close actions, and a counted line with quantity steppers.

During the count

Hands stay on the stock

Scan the same item three times and the line reads three, with no tapping between items, no duplicate rows to clean up later. Scanlog buzzes once for another unit, twice for a new item, and says the running total out loud so you never have to look at the screen.

Name an item once and it's named in every count from then on. Tag lines with an aisle, bin or van when one storeroom isn't the whole picture. Two people can count different halves on separate phones and merge the results at the end.


The scanning itself

It reads what the code actually says

A barcode is a sentence, not a serial number. Scanlog reads the grammar, and tells you when a scan can't be trusted.

Retail
EAN-13, EAN-8, UPC-A, UPC-E, ITF-14. Check digits verified on every scan, UPC-E expanded to its full form, GS1 prefix resolved to the region where the brand registered the code.
Logistics
GS1-128, GS1 DataMatrix and GS1 QR broken into their element strings: GTIN, SSCC, batch, serial, best-before and expiry dates, net weight, purchase order, GLNs.
Books
ISBN-13 with its ISBN-10 equivalent and a direct link to the Open Library record.
QR payloads
Wi-Fi logins, contact cards, calendar events, email, SMS, phone, map locations, each with the action it deserves. Two-factor setup codes are recognised, and their secret is never displayed or stored.
Everything else
Aztec · Data Matrix · PDF417 · Code 39 · Code 93 · Code 128 · Codabar · plain text · JSON
Warnings
An invalid check digit is called out rather than silently saved, so a misread doesn't become bad stock data. Links are inspected before you tap: plain http, lookalike domains built from international characters, bare IP addresses, and the "@" trick used to hide a real destination.

The other direction

It writes them, too

Sixteen formats from typed data, with missing check digits completed for you and invalid input explained in words rather than rejected in red. Bin labels, shelf tags, a Wi-Fi code for the office wall, a contact card for the back of a business card.

Show it full screen at full brightness for someone else's scanner to read off the glass, share it as a PNG, or save it to Photos.

The Create tab in Scanlog generating a QR code from a typed web address.

The app has nowhere to send your data.

No account, no analytics, no advertising, and no network calls of any kind: not a lookup, not a crash report. Counts and scan history live in a database on your phone. They leave it when you export them, and not before. Delete the app and they're gone with it.