✦ QR ATTENDANCE · SETUP GUIDE

Set up your attendance app, step by step.

Follow these pictures in order. You will create your Sheet, connect Apps Script, add staff, and get the app ready to use.

✓ Difficulty level: Easy

Everything is guided

You only need a Google account. Your Sheet remains yours and stores all attendance data. Take one step at a time—there is nothing technical to install.

01

Create your Google Sheet

Create one blank Google Sheet. At the bottom, add three tabs with these exact names: Members, Attendance, and Settings.

Google Sheet tabs named Members, Attendance and Settings
Create these three Sheet tabs first.
Members sheet column headers
Members headers: username, pin, device_id, active, created_at.
Attendance sheet column headers
Attendance headers: timestamp, date, username, arrival_time, difference_minutes, status, device_id, bssid.

Settings: use two headers only: key and value. Add one setting per row using the examples in the picture.
Example Settings tab with shop, time, QR token and Wi-Fi settings
Your Settings tab holds the shop name, opening time, timezone, QR text, and approved Wi-Fi BSSIDs.
QR setup: In qr_token, write any text or number you choose, for example Office_QR_for_Staff. Then use any QR generator to create a QR containing exactly the same text or number. Do not add spaces or line breaks.
Find your Wi-Fi BSSID: Install any free WiFi Analyzer app from your app store. Connect to the shop Wi-Fi, open the app, select the connected network, and copy its BSSID (also called the Wi-Fi MAC address). Do not copy the network name/SSID.
  1. Paste the BSSID into allowed_bssid_1 in Settings.
  2. If the shop has more access points, add them as allowed_bssid_2 and allowed_bssid_3.
  3. Use the colon format, for example B4:A7:C6:8A:9D:9D. The app and backend accept uppercase or lowercase, but this format is easiest to read.
Example showing where the Google Sheet ID appears in the address bar
Copy the Sheet ID—the text between /d/ and /edit in the Sheet address. Keep it ready for Step 2.
02

Open Apps Script and add the backend

Apps Script is Google’s built-in tool that safely connects your Sheet to the QR Attendance app.

  1. In your Google Sheet, select Extensions → Apps Script.
  2. A new Apps Script project opens with a file called Code.gs.
  3. Open the supplied Code.gs file below, copy it all, and replace the default code.
  4. Inside the code, replace PASTE_YOUR_SPREADSHEET_ID_HERE with the Sheet ID from Step 1.
Google Sheets Extensions menu with Apps Script highlighted
Open Extensions → Apps Script from your Sheet.
New Google Apps Script Code.gs editor
The new project opens with Code.gs.
Apps Script code showing where to add the spreadsheet ID
Paste the backend code, then enter your Sheet ID in APP_CONFIG.

Open Code.gs on GitHub ↗

03

Deploy and copy your app link

Deploying makes a private connection URL for your QR Attendance app.

  1. In Apps Script, click Deploy → New deployment.
  2. Choose Web app as the type.
  3. Run as yourself and set access so your staff can use the app link.
  4. Click Deploy, allow Google’s permission prompts, then copy the Web app URL ending in /exec.
Apps Script new deployment dialog with Web app selected
Choose Web app in the deployment window.
Apps Script deployment success screen with Web app URL
Copy the Web app URL. It ends with /exec.

This is the only link your employees need: they will paste it once when opening QR Attendance for the first time.
04

Managing Members

Keep your staff list accurate from the Members tab. Each row is one login account, and the first successful login connects that account to one phone.

Example Members tab with user records
Manage staff accounts in the Members tab using these columns: username, pin, device_id, active, created_at.

Add a member

  1. Add a new row.
  2. Enter a unique username.
  3. Enter a simple numeric pin.
  4. Leave device_id empty.
  5. Set active to TRUE.

Set or change a PIN

  1. Find the member’s row.
  2. Edit the number in the pin column.
  3. Give the new PIN to that member privately.
  4. No separate display name is needed.

Remove or pause access

  1. For a temporary block, change active to FALSE.
  2. To remove the account entirely, delete its whole row.
  3. Keeping old attendance rows preserves your records.
Member changed phones? Clear only that member’s device_id cell. Keep the username, PIN, and active = TRUE. Their next successful login will bind the replacement phone.
Need a fresh login on the same account? Delete the existing value in that member’s device_id cell, then have the member sign in again. QR Attendance will register the new phone automatically.
  1. Use one unique username per person.
  2. Use numeric PINs only, with no spaces.
  3. Do not type a phone’s device ID yourself—the app fills it after first login.
  4. Use FALSE instead of deleting a row when you may need the account history later.
05

Connect the QR Attendance app

You are ready. Give staff their username, PIN, and the Web app URL you copied in Step 3.

Before scanning: Each member/staff phone must connect to the shop Wi-Fi whose BSSID is listed in Settings. Turn on Location/GPS before scanning the QR code, because the phone needs it to read the current Wi-Fi BSSID. If the phone is on another network or Location is off, attendance will not be recorded.
  1. Open QR Attendance.
  2. Paste the Web app URL ending in /exec, then select Save and continue.
  3. Sign in using the username and numeric PIN from the Members tab.
  4. At the shop, connect to approved Wi-Fi and scan the printed QR code after the configured opening time.