Wiki/Scanner & Mobile/Mobile Photo Capture: A QR Code, A Phone, A Set of Photos
02Scanner & Mobile3 min read

Mobile Photo Capture: A QR Code, A Phone, A Set of Photos

How the phone camera becomes the warehouse camera, why the QR code is a shortcut and not a key, and where the photos actually end up.

Asset photos need to land on the asset, not in somebody’s phone roll, inbox, or forgotten thread. The mobile capture flow links the phone camera to the record, so a future defect question has evidence attached where the team expects it.

The flow

On a desktop, General > Photo capture shows a QR code. The operator points the phone camera at it and lands on /mobile/capture in the phone’s browser. The QR code is nothing more than that address — a shortcut that saves typing a URL on a touch keyboard. The phone still needs a normal login to the platform; there is no token in the code and no side entrance. A phone that isn’t signed in sees the login screen, exactly as a laptop would.

Once in, the operator types or scans an identifier to find the target, or opens the page through a direct link that already carries the target. Then they shoot. Each photo uploads as it is taken, can get a caption, and the photo count on the target ticks up. Done with one device, on to the next.

Four kinds of target

Capture attaches photos to an asset, a receiving session, an outbound order or a pallet. That covers the moments a warehouse actually takes pictures: the state of a device on the bench, the pallet as it came off the truck, the load as it left the dock. The photo carries the link, so it surfaces on that record and in the tenant-wide photo library. Photo capture replaces neither receiving nor testing. It is the camera, not the whole clipboard.

Compression and storage

Photos compress in the browser before upload: the longest edge is resized to 1920 pixels and the image is re-encoded as JPEG. A file that is already a small JPEG is left alone. The platform generates a thumbnail at upload for grids and tiles. Originals live in private, tenant-isolated Supabase Storage and are served through short-lived signed links, never a public URL. A photo of a serial-number sticker is data, and it is treated like data.

Deleting a photo

A photo taken in the current session can be deleted from the phone, but not blindly. The platform first shows a server-side preview of what the photo is linked to, then asks for a reason. The same guard protects photo deletion in the desktop library and on asset detail.

One photo, two audiences

A photo on an asset also feeds the gallery of the Market listing or auction lot that asset ends up in: one upload links the image to the Core asset and to the sellable item. The seller picks a cover per listing or lot; buyers see the images without the internal captions. Shoot once at receiving, sell with it later.

Language on the phone

The capture header carries the same language choice as the other mobile screens. Choosing Dutch there changes the account preference, so the desktop follows.