Troubleshooting guide¶
Look up what's going wrong, and work through the checks in order.
Login issues¶
Can't log in — "Invalid credentials"¶
- Check your email address is typed correctly. It's the address your account was created with.
- Retype your password. Passwords are case-sensitive, so check that Caps Lock is off.
- 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".
- 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¶
-
Grant camera permission.
Device Where iOS Settings → Safari → Camera → Allow Android Settings → Chrome → Site Settings → Camera → Allow -
Check you're on a secure connection — the address starts with
https://and the browser shows a padlock icon. - Close and reopen the browser app. Clear the browser cache if the problem continues.
App running slowly on mobile¶
- Close other apps running in the background.
- Clear the browser cache.
- Check your internet connection speed.
- Restart your device.
- 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.
- Reach the dev server over
https://, starting it withVITE_ENABLE_HTTPS=true. - Or test on
localhoston the machine running the server. - 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.
- Go to Settings → Safari → Camera and set it to Ask or Allow.
- For a site-specific block, open Settings → Safari → Advanced → Website Data, remove the site's entry, and reload.
- Reload the page fully after changing the setting — an already-open tab keeps the old decision.
- 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.
- Fully close the tab or home-screen app and reopen it.
- Pull down to refresh.
- 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.
- Move somewhere with coverage.
- 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¶
- Improve the lighting on the barcode.
- Hold the device steady for 1–2 seconds.
- Center the barcode in the camera frame.
- Wipe the label if it's dirty or damaged.
- 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:
- Check the warehouse selector at the top of the screen.
- Search for the LPN number manually — if the search finds nothing, the container doesn't exist and needs creating.
- Use the manual LPN barcode lookup in the putaway selector to enter the number rather than scanning it.
- 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¶
- Run a cycle count for the affected location.
- Review recent transactions for the product.
- Check for pending receiving orders.
- Create an inventory adjustment with notes explaining the discrepancy.
- Contact your supervisor if the variance is large.
Can't find a product¶
- Search by SKU instead of name.
- Check whether the product is in a different warehouse.
- Confirm the product exists in the system.
- 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¶
- Review the pick list's completion state.
- Confirm every item is picked and confirmed.
- Check for pending picks still open.
- 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.
- Compare the Quantity, Allocated, and Available columns on the Inventory page.
- Find the orders holding the allocation and deallocate any that are stale or cancelled.
- 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.
- Check the location type of the stock in question.
- Move it to a normal storage location if it has been cleared for use.
- 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.
- Open the manual allocation view and read the per-lot cards — each shows its lot number, expiration date, and available quantity.
- Allocate from several lots deliberately rather than relying on the automatic pass.
- 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.
- Open the order and check each line for a received quantity.
- Resolve partially received lines — either receive the rest or record a shortage discrepancy.
- Cancel lines that will not arrive.
- 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.
- Confirm every line is received or cancelled and the order has actually completed.
- Verify the warehouse has available locations to put stock into.
- 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:
- Search for the serial to see where it already exists.
- Re-read the physical label carefully —
0/Oand1/Iare the usual culprits. - 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¶
- Run a speed test (
fast.com) to check your internet connection, and try a different network if one is available. -
Clear the browser cache.
Browser Where Chrome Settings → Privacy → Clear browsing data Safari Settings → Safari → Clear History and Website Data -
Close unused tabs — bookmark pages instead of keeping them open.
- Try a different browser (Chrome, Safari, or Edge), or update yours to the latest version.
- Contact IT if slow speeds are consistent.
Search is slow¶
- Give search a couple of seconds to finish loading.
- Use more specific search terms.
- Filter by warehouse first.
- 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¶
- Check for error messages at the top of the form.
- Confirm every required field is filled.
- Verify you have permission to make the change.
- Refresh the page and re-enter the changes.
API and integration issues¶
API returns 401 Unauthorized¶
Your access token is invalid or expired.
- Re-authenticate to get a new token.
- Check the token is included in the
Authorizationheader. - 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.
- Check your WiFi or cellular connection.
- Try accessing another website.
- Reconnect to the network.
- 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.
- Close the dialog and reopen it.
- Reload the page — a session that expired while the page was open causes this.
- Confirm your own account has permission to manage roles; without it the list can come back empty rather than as a clear error.
- 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?¶
- 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.
- 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.