- Open Google Sheets → create a spreadsheet named "STS Inspections"
- Extensions → Apps Script → paste code below → Deploy → New deployment → Web App → Anyone → Deploy → copy URL
- Paste the URL below and Save Config
📋 Apps Script code
function doPost(e) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var data = JSON.parse(e.postData.contents);
if (sheet.getLastRow() === 0) {
sheet.appendRow(["Form ID","Date","Customer Code","Customer Name",
"Service Start","Service End","Part Number","Serial Numbers",
"Lot Numbers","Mfg Date","Inspected","Approved","Rejected",
"Reworked","Defect Summary","# People","Total Hours","Notes","Submitted By"]);
}
sheet.appendRow([data.formId,data.submitDate,data.customerCode,
data.customerName,data.serviceStart,data.serviceEnd,data.partNumber,
data.serialNumbers,data.lotNumbers,data.mfgDate,data.inspected,
data.approved,data.rejected,data.reworked,data.defectSummary,
data.numPeople,data.totalHours,data.notes,data.submittedBy]);
return ContentService.createTextOutput(JSON.stringify({result:"ok"}))
.setMimeType(ContentService.MimeType.JSON);
}| # | Part Number * | Part Description | Defects |
|---|
| # | Part Number | Mfg Date | Serial Number | Lot & Batch # | Defect Description | OK | NOK | |
|---|---|---|---|---|---|---|---|---|
| Totals | 0 | 0 | ||||||
| # | Name / Employee ID | Role | Time IN | Time OUT | Hours |
|---|
Upload photos of parts, defects, or any visual evidence. Photos are embedded directly in this session and the PDF — they are never saved to your device.
or drag & drop images here · JPG, PNG, HEIC
Customer info stays filled. Admin can download PDF from Overview.
Operator (STS) — Sees only STS jobs. Submits inspections, edits own reports. No delete.
Operator 2 (SLI) — Same as Operator but sees only SLI jobs.
Client — Read-only portal. Sees reports grouped by Month → Job → Submission. Only available after admin releases.
STS042026 = Company + Month (MM) + Sequence + Year (YYYY).Sequence resets every month. Each company (STS / SLI) counts independently.
Admin creates jobs — operators just pick from the list. One job per company per sequence number, no duplicates.
2. Operator logs in → selects their job → customer info auto-fills → form is hidden.
3. Operator fills Part Info, Defects, Personnel, Photos → submits.
4. Admin reviews in Master List → search or click a Quote's 📊 Summary for totals on that service.
5. Admin goes to Clients tab → finds the client → clicks Release to Client.
6. Client logs in and sees their reports organized by Month and Job.
portal.stslaredo.com → opens in new tab.Option 2 — iFrame embed: Add Elements → Embed & Social → iFrame → paste portal URL. Set width 100%, height 900px.
• Submissions are linked to jobs. Deleting a job does not delete its submissions.
• The Clear All Data function has been removed for safety. Contact your developer to delete records.
• Client portal is always in Spanish. Admin/Operator portal is in English.
A estos correos les llega un aviso cada vez que alguien registra su entrada o salida, o lo intenta fuera de la zona permitida.
El tiempo extra se paga sobre las horas que pasan de 48 en la semana. Un día con más de 9 horas no genera pago extra por sí solo si la semana todavía no llega a 48 horas — los días marcados en rojo son solo un aviso visual de jornadas largas, no un cálculo aparte.
| Empleado | Vie | Sáb | Dom | Lun | Mar | Mié | Jue | Total semana | Horas extra a pagar (>48h) |
|---|---|---|---|---|---|---|---|---|---|
| Cargando… | |||||||||
Los usuarios ahora se manejan con login real (Supabase Auth). Para agregar, quitar o cambiar la contraseña de alguien, pide que se haga desde la base de datos — ya no está en este archivo.