Superstar Sales Tracker

All submissions are securely captured, transmitted, and stored in a centralised Google Sheets backend database.

Premium
SUPERSTAR
CIGARETTES
📋 Sales Form
1
Select your name from the dropdown
2
Select your region and enter customer details
3
Enter bundles sold — value auto-calculates at KES 1,650/bundle
4
Click SUBMIT — entry goes straight to Google Sheets

⚠ Make sure all data is accurate before submitting!

* Indicates required field

👤

Sales Rep & Region

Select your name and the region you are covering
Select your name from the list
Select the region you are currently covering
🏪

Customer Details

Enter the customer and location information
Enter in Proper Case — e.g. "Jane Stores"
Enter in Proper Case — e.g. "Kutus Town"

Superstar Sales Data

Enter bundles sold — value auto-fills at KES 1,650 per bundle
Select the Superstar product variant sold
Value auto-fills at KES 1,650 per bundle
Auto-calculated — edit manually if needed
Tap to select date from calendar
Any additional notes or comments (optional)

✅ Sale entry submitted and recorded in Google Sheets!

⏳ Submitting to Google Sheets, please wait...

❌ Submission failed. Please check your setup and try again.

⚙️ Connect to Your Google Sheet

Follow these steps once to link this form to your Superstar Daily Sales Reporting System Google Sheet — open your sheet here ↗:

  1. Open your Google Sheet → Extensions → Apps Script
  2. Delete existing code and paste the script below
  3. Click Deploy → New deployment → Web app
  4. Set Execute as: Me & Who has access: Anyone
  5. Click Deploy, authorise, then copy the Web app URL
  6. Paste the URL below and click Save & Connect

Apps Script to paste (WebApp.gs):

// ================================================================
//  SUPERSTAR DAILY SALES — WebApp.gs
//  Column mapping (A:I) — matches SuperstarSheetFormatter:
//    A=ENTRY DATE  B=SALES REP  C=REGION  D=CUSTOMER
//    E=LOCATION    F=PRODUCT    G=BUNDLES H=VALUE(KES)
//    I=REMARKS ✅
//  Data rows start at row 4
// ================================================================

function doPost(e) {
  try {
    var data  = JSON.parse(e.postData.contents);
    var ss    = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getSheetByName("Superstar.Sales.Tracker")
             || ss.getSheetByName("Superstar Sales Tracker")
             || ss.getSheets()[0];

    if (!sheet) {
      return ContentService
        .createTextOutput(JSON.stringify({status:"error",message:"Sheet not found."}))
        .setMimeType(ContentService.MimeType.JSON);
    }

    var nextRow = Math.max(sheet.getLastRow() + 1, 4);

    var parts     = (data.entryDate || "").split("-");
    var entryDate = (parts.length === 3)
      ? new Date(parseInt(parts[0]), parseInt(parts[1])-1, parseInt(parts[2]))
      : new Date();

    var bundles = Number(data.bundles) || 0;
    var value   = Number(data.value)   || bundles * 1650;

    sheet.getRange(nextRow, 1).setValue(entryDate);
    sheet.getRange(nextRow, 2).setValue((data.repName  || "").toUpperCase());
    sheet.getRange(nextRow, 3).setValue(data.region    || "");
    sheet.getRange(nextRow, 4).setValue(data.custName  || "");
    sheet.getRange(nextRow, 5).setValue(data.location  || "");
    sheet.getRange(nextRow, 6).setValue((data.product  || "").toUpperCase());
    sheet.getRange(nextRow, 7).setValue(bundles);
    sheet.getRange(nextRow, 8).setValue(value);
    sheet.getRange(nextRow, 9).setValue(data.remarks   || ""); // ✅ Remarks

    var fillColor = (nextRow % 2 === 0) ? "#E3EDF7" : "#F8FBFF";
    sheet.getRange(nextRow, 1, 1, 9).setBackground(fillColor);

    sheet.getRange(nextRow, 1, 1, 9)
         .setFontFamily("Arial").setFontSize(10).setFontWeight("normal")
         .setFontColor("#B32C11").setVerticalAlignment("middle")
         .setBorder(true,true,true,true,true,true,
                    "#B32C11",SpreadsheetApp.BorderStyle.SOLID);

    sheet.getRange(nextRow, 1).setNumberFormat("dd/mm/yyyy").setHorizontalAlignment("left");
    sheet.getRange(nextRow, 7).setHorizontalAlignment("right");
    sheet.getRange(nextRow, 8).setNumberFormat("#,##0").setHorizontalAlignment("right");
    sheet.setRowHeight(nextRow, 21);

    SpreadsheetApp.flush();

    return ContentService
      .createTextOutput(JSON.stringify({status:"success",row:nextRow}))
      .setMimeType(ContentService.MimeType.JSON);

  } catch(err) {
    return ContentService
      .createTextOutput(JSON.stringify({status:"error",message:err.toString()}))
      .setMimeType(ContentService.MimeType.JSON);
  }
}

function doGet(e) {
  return ContentService
    .createTextOutput(JSON.stringify({status:"ready"}))
    .setMimeType(ContentService.MimeType.JSON);
}

Column mapping (row 3 = headers, data starts row 4):

A: Entry Date  |  B: Sales Rep Name  |  C: Region  |  D: Customer Name
E: Location  |  F: Product Name  |  G: Bundles Sold  |  H: Value (KES)  |  I: Remarks ✅

Paste your Web App URL here:

✅ Connected — form will submit to your Google Sheet

Sale Recorded!

Your entry has been securely submitted and stored in the Google Sheets database.