Skip to content

Troubleshooting guide

Look up what's going wrong, and work through the checks in order.


Login issues

Can't log in — "Invalid credentials"

  1. Check your email address is typed correctly. It's the address your account was created with.
  2. Retype your password. Passwords are case-sensitive, so check that Caps Lock is off.
  3. Check with your administrator that your account is still Active. A deactivated account can't sign in, and the message you get is the same "invalid credentials".
  4. Ask your administrator to reset your password. They'll give you a temporary one, and you'll be asked to set your own the next time you sign in.

There's no self-service password reset

The sign-in screen has no "Forgot password?" link. An administrator resets your password for you — see Users. Your account is never locked by getting the password wrong repeatedly, so there's nothing to wait out.

Logged out unexpectedly

Your sign-in lasts 24 hours, then expires whether you've been using it or not. That's expected, not an error. Sign in again.


Mobile app issues

Camera not working for barcode scanning

  1. Grant camera permission.

    Device Where
    iOS Settings → Safari → Camera → Allow
    Android Settings → Chrome → Site Settings → Camera → Allow
  2. Check you're on a secure connection — the address starts with https:// and the browser shows a padlock icon.

  3. Close and reopen the browser app. Clear the browser cache if the problem continues.

App running slowly on mobile

  1. Close other apps running in the background.
  2. Clear the browser cache.
  3. Check your internet connection speed.
  4. Restart your device.
  5. Update your browser to the latest version.

Camera works in production but not on a development server

The camera API is only available in a secure context. Browsers treat https:// and localhost as secure, but a development server reached over the local network by IP address — http://192.168.x.x:5173 — is not, so the camera silently refuses to start.

  1. Reach the dev server over https://, starting it with VITE_ENABLE_HTTPS=true.
  2. Or test on localhost on the machine running the server.
  3. Accept the self-signed certificate warning on the device the first time.

This affects development only. Production is served over HTTPS.

iOS camera permission will not re-prompt

Safari asks for camera permission once. If it was dismissed or denied, the page can't ask again — it just fails to start the camera with no visible prompt.

  1. Go to Settings → Safari → Camera and set it to Ask or Allow.
  2. For a site-specific block, open Settings → Safari → Advanced → Website Data, remove the site's entry, and reload.
  3. Reload the page fully after changing the setting — an already-open tab keeps the old decision.
  4. Check that no other app is holding the camera; close it and retry.

Add to home screen changes the prompt

A page installed to the home screen is a separate context from the same page in the Safari tab, so it asks for camera permission again on first use. Granting it in Safari does not carry across.

Stale content after an update

The app caches itself so it can run offline, which means an open session can keep serving the previous version after a new one ships.

  1. Fully close the tab or home-screen app and reopen it.
  2. Pull down to refresh.
  3. Clear the site's cached data if the old version persists.

Work I did with no signal didn't save

It wasn't saved, and it can't be recovered — there's no offline queue and nothing syncs later.

The app can show you pages you already loaded when the signal drops, but recording anything needs a live connection. A receipt, pick, or adjustment submitted with no signal fails outright.

  1. Move somewhere with coverage.
  2. Re-enter the work.

Working a known dead spot

Load the pick list or receiving order before you walk in, do the physical work, then confirm it on the system once you're back in range.


Barcode scanning issues

Barcode won't scan

  1. Improve the lighting on the barcode.
  2. Hold the device steady for 1–2 seconds.
  3. Center the barcode in the camera frame.
  4. Wipe the label if it's dirty or damaged.
  5. Type the number below the barcode by hand if scanning still fails.

Wrong item appears after scanning

Possible cause What to check
The barcode was printed incorrectly Compare the printed barcode to the expected SKU
The label carries more than one barcode Scan only the primary barcode
The wrong barcode type is configured Check the barcode type setting with your administrator

Verify the barcode number matches the expected product SKU, and report incorrect barcodes to your administrator.

An LPN barcode scans but nothing is found

Barcode lookup is a two-step process: the code is read, then the system decides what it represents — a product, a location, or an LPN. A scan that reads cleanly and still finds nothing means the code is not registered as an LPN.

Possible causes:

  • The LPN was never created in the system, only printed
  • The label belongs to a different warehouse — LPNs are warehouse-scoped, and your active warehouse is set to another one
  • The LPN was consumed, shipped, or dissolved, so it no longer exists as an active container
  • The label is a carrier or supplier pallet tag rather than a Zora LPN

What to check:

  1. Check the warehouse selector at the top of the screen.
  2. Search for the LPN number manually — if the search finds nothing, the container doesn't exist and needs creating.
  3. Use the manual LPN barcode lookup in the putaway selector to enter the number rather than scanning it.
  4. Confirm the label is a Zora-generated LPN, not a third-party pallet tag.

The scanner reads the wrong code on a crowded label

Pallet labels often carry several barcodes. Cover the neighboring codes with your hand, or move closer so only the intended barcode is in frame.


Inventory issues

Inventory count doesn't match the physical count

  1. Run a cycle count for the affected location.
  2. Review recent transactions for the product.
  3. Check for pending receiving orders.
  4. Create an inventory adjustment with notes explaining the discrepancy.
  5. Contact your supervisor if the variance is large.

Can't find a product

  1. Search by SKU instead of name.
  2. Check whether the product is in a different warehouse.
  3. Confirm the product exists in the system.
  4. Check the spelling of your search term.

Order issues

Can't create a new order

Possible cause What to check
Insufficient inventory The error message names the shortfall
The product isn't assigned to your warehouse Confirm the product is assigned to the warehouse you're ordering from
A required field is missing Read the error message for the specific field

Order stuck in "Picking" status

  1. Review the pick list's completion state.
  2. Confirm every item is picked and confirmed.
  3. Check for pending picks still open.
  4. Contact your supervisor if you can't complete it.

Allocation issues

Allocation fails with insufficient inventory, but stock is visible

Allocation uses available quantity, not total on hand. Available is quantity minus what is already allocated to other orders, so a location can show plenty of stock and still have nothing free to commit.

  1. Compare the Quantity, Allocated, and Available columns on the Inventory page.
  2. Find the orders holding the allocation and deallocate any that are stale or cancelled.
  3. Check the warehouse selector — stock in another warehouse can't fill this order.

Stock exists but is never picked for orders

Stock in a quarantine location is deliberately excluded from automatic allocation and will not be selected no matter how much is there. Restricted and cycle-count locations behave the same way.

  1. Check the location type of the stock in question.
  2. Move it to a normal storage location if it has been cleared for use.
  3. Allocate manually if you specifically intend to pull from a restricted location.

A lot-tracked product will not allocate the quantity requested

Under FEFO, allocation works through lots in expiration order. A request can fail or come up short when no single lot holds enough and the order can't be split across lots the way you expect.

  1. Open the manual allocation view and read the per-lot cards — each shows its lot number, expiration date, and available quantity.
  2. Allocate from several lots deliberately rather than relying on the automatic pass.
  3. Check whether lots you expected to use are expired — these are flagged with a warning rather than silently used.

An allocation is flagged with an expiry warning

FEFO picks the earliest-expiring stock, which can include stock already past its expiration date. The platform flags this rather than blocking it, so a human decides.

Review the flagged lot. If it must not ship, deallocate it and adjust or quarantine the expired stock, then allocate again.


Receiving issues

Receiving order stuck in "In progress"

An order stays in progress until every line is resolved. A single line left untouched holds the whole order open.

  1. Open the order and check each line for a received quantity.
  2. Resolve partially received lines — either receive the rest or record a shortage discrepancy.
  3. Cancel lines that will not arrive.
  4. Complete the order once no line is outstanding.

Cannot generate putaway tasks

Putaway tasks are generated when receiving completes, so an incomplete receipt produces none.

  1. Confirm every line is received or cancelled and the order has actually completed.
  2. Verify the warehouse has available locations to put stock into.
  3. Refresh and retry.

Serial number rejected as already existing

Serial numbers must be unique, and they can't be edited once saved.

Possible causes:

  • The item was already received, possibly on another order
  • A digit was mistyped and collided with a real serial
  • The same shipment is being received twice

What to check:

  1. Search for the serial to see where it already exists.
  2. Re-read the physical label carefully — 0/O and 1/I are the usual culprits.
  3. If the item genuinely was received before, don't receive it again; raise it with your supervisor.

Cannot create a receiving order — "Warehouse required"

Select a warehouse before submitting. The warehouse can't be changed after the order is created, so check it's the right one.


Performance issues

Pages loading slowly

  1. Run a speed test (fast.com) to check your internet connection, and try a different network if one is available.
  2. Clear the browser cache.

    Browser Where
    Chrome Settings → Privacy → Clear browsing data
    Safari Settings → Safari → Clear History and Website Data
  3. Close unused tabs — bookmark pages instead of keeping them open.

  4. Try a different browser (Chrome, Safari, or Edge), or update yours to the latest version.
  5. Contact IT if slow speeds are consistent.

Search is slow

  1. Give search a couple of seconds to finish loading.
  2. Use more specific search terms.
  3. Filter by warehouse first.
  4. Contact support if it's consistently slow.

Data entry issues

Form validation errors

Error What it means Fix
A required field is missing A field marked with an asterisk (*) is empty Fill every marked field
Invalid format The value doesn't match the expected format Check the field hint (email format, number format)
Duplicate values SKUs and serial numbers must be unique Use a different value

Read the error message carefully and correct the field it names.

Changes not saving

  1. Check for error messages at the top of the form.
  2. Confirm every required field is filled.
  3. Verify you have permission to make the change.
  4. Refresh the page and re-enter the changes.

API and integration issues

API returns 401 Unauthorized

Your access token is invalid or expired.

  1. Re-authenticate to get a new token.
  2. Check the token is included in the Authorization header.
  3. Confirm the token hasn't expired — tokens last 24 hours.

API returns 403 Forbidden

Your account doesn't have permission for the requested operation. Contact your administrator to request access.

Bulk upload fails

Possible cause What to check
CSV format is wrong Download the CSV template and compare
A required column is missing Check the template's column list
A cell holds invalid data The error message names the row and column
A SKU or serial number is duplicated Search for the existing record

Download the CSV template, check the error message for the specific row and column, and try uploading a smaller batch to isolate the problem.


Error messages

"Network error"

Your internet connection was lost.

  1. Check your WiFi or cellular connection.
  2. Try accessing another website.
  3. Reconnect to the network.
  4. Contact IT if the network is down.

"Session expired"

You were logged in for more than 24 hours, or inactive for a while. Log in again.

"Insufficient permissions"

Your account doesn't have permission for this action. Contact your administrator to request access.

"Record not found"

The item was deleted or never existed. Verify the ID or SKU is correct, and check with your supervisor.


Permissions and access

A page is missing from the sidebar

Possible cause What it means
Your role doesn't have view permission for that module Ask your administrator to grant it
The module is feature-gated and not enabled for your organization Billing and several other modules are hidden entirely rather than shown disabled

Ask your administrator which applies.

The permissions dialog will not load or shows nothing

The role editor loads the full permission list separately from the role itself, so the dialog can open with an empty or partial list when that request fails.

  1. Close the dialog and reopen it.
  2. Reload the page — a session that expired while the page was open causes this.
  3. Confirm your own account has permission to manage roles; without it the list can come back empty rather than as a clear error.
  4. Check the browser console for a failed request if it persists, and include that detail in a support ticket.

Do not save a half-loaded permission dialog

If the dialog opens with permissions missing, close it rather than saving. Saving from an incompletely loaded list risks writing back a role with fewer permissions than it had.

A permission change has not taken effect

Permissions are read when a session establishes. A user signed in while their role changed keeps the old permissions until they sign out and back in.

Have the user sign out fully and sign in again, then re-check.

A user sees fewer records than expected

Data filters restrict a user to particular customers or warehouses, and apply across every page rather than one. A user who can open the Inventory page but sees almost nothing usually has a data filter, not a permissions problem.

Review the user's assigned data filters. See Roles & Permissions.


Still need help?

  1. Note the details: what you were trying to do, the exact error message, the steps to reproduce it, and a screenshot if you have one.
  2. Email support@zoratech.io with those details, your account email, and the time it happened.

You can also check the FAQ, the user guides, or the configuration guide.