v51
⚠ Last pick may not have saved — tell your supervisor if this repeats. (tap to dismiss)
ArtzFolio · Vishnu Image Folio 📦 Scan-Pick-Pack
Tap 📷 to open camera — QR · Code 128 · Code 39 · EAN · UPC · ITF and more
1 PICK LIST
2 BIN
3 PRODUCT
📷 Camera Not Available Camera access was denied or is not supported.

💡 You can still scan without the camera: Use a Bluetooth barcode scanner gun connected to the phone, or type the code in the text box and press Enter.
📦 Multi-Item Order
Item 1 of ...
📱 Scan Pick List QR Code Tap 📷 and point at col H QR on the printed pick list
Scan a Pick List QR code to begin
🔍 Scan Either Barcode to Verify Product
SKU Barcode
OR
ASIN / Code 128
⚠ Live database not reachable right now. Movements cannot be recorded until this reconnects — check your internet connection.
📦 New Stock
↩ Returns
➕ Found
➖ Lost/Theft
🔧 QC Hold
🔓 QC Release

📦 New Stock In

Scan or type the SKU or ASIN barcode of the product being brought into stock, enter the quantity, then submit. This adds to live stock immediately.

💾 Bulk Upload (CSV)

For many rows at once. Download the template, fill it in Excel or Sheets, then upload it here. ACTION can be: INBOUND, RETURN_IN, FOUND, LOST, REJECTED, QC_HOLD, QC_RELEASE, or TRANSFER (needs both Bin and ToBin).
⚠ Live database not reachable right now. Showing no data until this reconnects.

📦 Bin Lookup

Type a SKU or ASIN to see every bin holding it, or a bin code to see everything in that bin. Bins are created automatically the first time you use them — there is no fixed list to be limited to.
⚠ 0 SKUs at or below reorder point

Live Stock (0)

Loading...

📜 Scan Log (0)

  • No scans yet
⚠ Live database not reachable right now. Dashboard data cannot be loaded until this reconnects.
⚠ 0 SKUs at or below reorder point
⚠ Negative stock detected

📊 Owner Dashboard

Loading...

👤 Today — Staff Breakdown

Loading...

📅 Last 14 Days — Staff Performance

Loading...
Active hours are estimated from scan activity, not shift records — use as a rough guide, not a precise measure.

📋 Daily Workflow

  1. In Excel: paste orders in 4. Order Entry (cols A–D only; Product & ASIN auto-fill from SKU Database)
  2. Run Step1 → Step2 → Step3_GenerateBarcodes → print 6. Print Picklist
  3. Open this app → tap the blue 📷 camera button → scan the Pick List QR (col H)
  4. Go to the bin → scan the Bin QR sticker on the shelf
  5. Scan the SKU barcode or the ASIN barcode on the product
  6. If Qty > 1: scan once per unit until all are confirmed
  7. Tap CONFIRM

📷 Camera — How to Open & Scan

  1. Tap the blue camera button inside the app (in the scan bar at the top)
  2. Tap Allow when Chrome asks for camera permission
  3. The camera overlay will open — point it at a barcode or QR code
  4. Supported formats: QR Code, Code 128, Code 39, EAN-13, EAN-8, UPC-A, UPC-E, ITF, DataMatrix, PDF417, Aztec
  5. Tap the floating button (top of the camera view) to close the scanner anytime; the phone's Back button now also safely closes the scanner instead of exiting the app
  6. If the camera button shows an error banner: use a Bluetooth scanner or type the code manually and press Enter

📱 Opening on Android Phone

  1. Send this HTML file to your phone (WhatsApp, USB, Google Drive)
  2. On the phone: open Files by Google app → find the HTML file → tap Open with Chrome
  3. Do NOT type a URL in Chrome's address bar — always use the Files app to open it
  4. Tap Allow when Chrome asks for camera permission
  5. If camera still fails: Chrome menu → Settings → Site Settings → Camera → Allow for this file

📚 Glossary

AF2 — ArtzFolio pick-list QR format. All pick-list QR codes start with AF2|
BIN — Physical shelf location. BIN QR stickers are on the shelf/rack. Bin QR data starts with BIN|
ASIN — Amazon product ID. Its Code 128 barcode on the product label is accepted at step 3 instead of the SKU barcode
Set Size — Pieces inside one sellable unit (e.g. Set of 10 = 10 pieces packed together)

🔄 MOVE / STOCK / Bulk Upload — Bin-Level Stock

  • MOVE tab — records one stock movement at a time (New Stock In / Returns In / Found / Lost-Theft / QC Hold / QC Release). A Bin is now required on every movement — the app auto-fills the SKU's usual bin, but you can always overwrite it (e.g. new stock landing in RECEIVING instead of the SKU's normal shelf).
  • QC Release — new 6th pill on the MOVE tab, previously only reachable via Bulk Upload (CSV). Releases stock that was QC-Held back into sellable count, using the same SKU/Bin/Qty/Note form as the rest of this tab.
  • Bulk Upload (CSV) — on the MOVE tab: download the template, fill it, upload. Same actions as the Excel bulk tool (INBOUND / RETURN_IN / FOUND / LOST / REJECTED / QC_HOLD / QC_RELEASE / TRANSFER), same per-row OK/FAILED result.
  • Bin-mismatch note — if the bin you use is different from that SKU's usual bin, the result still says OK (this is never blocked) but adds a short note so you can catch a typo, e.g. "OK (note: this SKU's usual bin is A12, this entry used B04)".
  • STOCK tab — live, read-only view of current quantities. Search by SKU, ASIN, or Bin to find where something is right now.
  • MOVE / STOCK / Bulk Upload all write to the SAME live database as this Excel file and the Admin Panel — there is no separate copy anywhere, and every write is tagged with which tool made it (visible to an admin as "entry_source").

🔧 Troubleshooting

  • Camera button does nothing / black overlay — Tap the blue button inside the app (not the Chrome address bar icon). On first use, wait 2–3 s for permission prompt
  • QR not scanning — Hold phone 15–25 cm from QR code, good light, keep still; the orange scanning line shows it is active
  • Product mismatch — Try scanning the ASIN barcode instead of SKU label (or vice versa)
  • Wrong bin scanned — Tap ← Back, go to the correct bin and scan again
  • CONFIRM not visible — Scroll down; all required qty scans must complete first
  • QR missing in Excel pick list — Re-run Step3_GenerateBarcodes in Excel

👤 Logged-In Employee

Not set

📊 Google Sheet Sync

Every confirmed scan is logged automatically to the ArtzFolio Google Sheet. This is preset and locked - staff cannot view or change the address.
✓ Google Sheet sync: LIVE (locked)
💡 In your Apps Script, set doPost(e) to parse JSON.parse(e.postData.contents). Fields: ts, empName, empCode, orderID, sku, channel, qty, bin, action.

📜 Audit Log

Stores up to 500 entries in this browser. Use the ↓ CSV button in the Log tab to export.
0 entries stored

🔄 Session Recovery

Your current pick session is auto-saved. If the app is refreshed mid-order, it will resume where you left off.
📦 ArtzFolio Scan-Pick-Pack v48
Soft Bin-Mismatch Note (MOVE + Bulk Upload, never blocks) • entry_source Audit Tag on Every Write • Bulk Upload from CSV (Inbound/Transfer/Found/Lost/Rejected/QC) • Live Bin Lookup (Single SKU / Single Bin / Bulk) • Dynamic Bins (auto-created, no fixed list) • Mandatory Bin on Every Stock Movement • Owner Dashboard (DASH) • 14-Day Staff Performance • Print Product/Bin Labels • QC Hold/Damage • Low-Stock Alerts • Daily Reconciliation • Admin PIN-Lock Unlock • Real Employee Login (PIN) • RBAC • Live Database (Supabase) • Admin-Secret-Gated PIN Recovery • Permanent Audit Log • Hardened Employee Writes (Admin-RPC-Only) • Call Timeouts & Error Handling (Performance Fix)
Point at the barcode or QR code
Loading scanner...

🔒 Employee Login

Enter your employee code and 4-digit PIN to begin.