Wednesday, September 10, 2025

Pivot Expense Split: Posting Unlimited Offline Transactions

Previously, Pivot Expense Split relied on a simple Google onEdit trigger, which only runs for up to 30 seconds. That wasn’t enough to handle offline expenses when your device came back online.

Now, Pivot Expense Split uses smart installable triggers that run one after another until all your offline transactions are fully posted. This means you won’t have checkboxes remain in Input tab when back to online.

The use of installable trigger requires new authorization which has been approved by Google today.

Wednesday, August 27, 2025

To-do List Plugin: Logging the Date When the User Checks the Box to Mark a Task as Done

Inside the TDL log, Google’s history records the date when a task was logged. For users who want to analyze trends, it is more useful to store this date in its own column. Therefore, the date when the user checks the box to mark a task as done is now added to the log.

Please update your TDL log header as follows:


Date – the original task date
Repeat On – the updated task date based on the frequency code
Completion – the date when the user checked the box to mark the task as done

Saturday, August 2, 2025

Comfort Attendance: Support for Multiple Attendance Statuses

You can configure custom statuses starting with the default Absent and Present. Additional statuses like Picked Up can be added to suit your needs.

Clicking a name will cycle through the statuses and loop back to the beginning. Alternatively, you can open a dropdown list to select a specific status.


You can fully customize the status code, label, color, and icon to fit your needs.

Each status has the following attributes, listed in quotes and separated by commas:

  • Valid code on the sheet

  • Label, color, and icon, which are displayed on the web app page for that status code



The web app will update Google attendance sheet and dashboard accordingly.




Setup instructions and details in Comfort Attendance Setup > Option 2.


Sunday, July 6, 2025

One Link Sign-up: Enhanced Web App Setup Flow

The Set Up Web App function has been enhanced to support both Automatic and Manual deployment options.

Automatic Deployment: Quickly deploy with default settings for a fast and hassle-free setup.

Manual Deployment: For technical users who want full control over deployment configurations.

This enhancement gives you flexibility to choose the method that best fits your needs.



Friday, July 4, 2025

Comfort Attendance: Enhanced the Web App Setup Flow

The Set Up Web App function has been enhanced to support both Automatic and Manual deployment options.

Automatic Deployment: Quickly deploy with default settings for a fast and hassle-free setup.

Manual Deployment: For technical users who want full control over deployment configurations.

This enhancement gives you flexibility to choose the method that best fits your needs.




Tuesday, June 10, 2025

To-do List Plugin: Supports the "Format → Convert to Table" Feature

🆕 To-do List Plugin Now Supports the "Format → Convert to Table" Feature

The plugin now works seamlessly with Google Sheets' "Convert to table" format.

  • You can add a new table row by clicking the ➕ icon.

  • As a result, an extra blank row is no longer required.

  • If you prefer not to have a blank row automatically inserted, simply uncheck "Insert task when blank is filled" in the configuration sidebar below.


Friday, June 6, 2025

To-do List Plugin: Template with Calendar View

Getting Started

  1. Get the Template if you haven't done it
    Download a copy from:
    👉 https://ko-fi.com/s/221bf4dca6

  2. Install the To-do List Plugin
    From the Google Workspace Marketplace:
    👉 https://workspace.google.com/marketplace/app/todo_list_plugin/1001006504533

  3. Set Up Your Copy

    • Open your copied spreadsheet and move to where you like

    • Rename it as you like.

    • Go to File > Settings and update the Locale to match your region.

    • Go to Extensions > To-do List Plugin > Plug in to initialize.

📩 Need Help?
Feel free to contact us at spcsoft.solutions@gmail.com for any questions.







Sunday, May 11, 2025

To-do List Plugin: New User Preferences

Configuration has been enhanced to support user preferences.


If "Move completed task to log sheet" is checked, completed tasks will automatically be transferred to the log sheet.


Thursday, May 1, 2025

One Link Sign-up: Potluck Sign-up Customization Steps

One Link Sign-up web application retrieves data based on column letters defined in the configuration. Therefore, all column header names can be customized. Please follow the steps below to set up the potluck sign-up web app:

1. Update Your Sheet Name

    The sheet name (e.g., Potluck Sign-up Example) will be shown in:


    and all page titles within the web app

2. Define Sign-Up (Sign-up Tab)

    Use the Sign-up tab to specify the potluck sign-ups.


    Required Columns:
  • Date: Date and time of the potluck (multiple potlucks can be created)

  • Dish: Name of disk

  • Sign-up: This field is automatically updated by the web app when people sign up

  • I will bring: This is a customizable column—delete or add to collect additional information during sign up. All columns will be shown in the sign-up page.         

 3. Define Potluck Dish Details (Item Tab)

    Use the Item tab to provide the potluck dish details.    

    
      Required Columns:
  • Item: Must match the Dish name in the Sign-up tab in order to provide the details to sign-up.

  • Needed: Number of the dishes needed. If blank, only one will be displayed for sign up.

  • Contact ID: Email address of the potluck host. Host view via the “Set up web app” function will ensure the sign-on user which has Email address defined in this column can access.

  • Input (optional): Specify what fields are displayed for people to input during sign up. This column must be defined in the configuration. If no input field, the input column in configuration must be blank.

  • Contact: Name of the potluck host

4. Set Up Signer Information (Signer Tab)

    Update the Signer tab to define the information required from people signing up.
    


   Required Columns:
  • ID: Email address of the signer (used to access the web app)

  • Name: Name of the signer (entered during sign-up)

  • Mobile No.: This is a customizable field—add or rename fields to collect additional information. All columns will be shown in the sign-up page.



5. Configure the Web App

Go to Extensions > One Link Sign-up > Configure web app to set up and customize the web app configuration.


    Field Definitions:

  • Sheet names: Names of the sheets (tabs) in your sign-up spreadsheet

  • Columns: Column letters corresponding to data fields in the Sign-up, Item and Signer tabs

  • Delimiter in view definition: Delimiter used to separate column headers in different views and the optional input sign-up fields (e.g., ;)

  • Host view: Columns displayed in the host view (e.g., Date;Item;Name;I will bring;ID;Mobile No.;Contact)        


  • Sign-up view: Columns shown to users when signing up (e.g., Date;Item;Name;I will bring;Food allegies;Contact)

Tuesday, April 8, 2025

One Link Sign-up: Event Sign-up Customization Steps

One Link Sign-up web application retrieves data based on column letters defined in the configuration. Therefore, all column header names can be customized. Please follow the steps below to set up the event sign-up web app:

1. Update Your Sheet Name


    The sheet name (e.g., Event Sign-up Example) will be shown in:
    and all page titles within the web app

2. Define Sign-Ups (Sign-up Tab)

    Use the Sign-up tab to specify when and how often each post is available.


    Required Columns:

  • Date: Date and time the post is available (multiple entries can be created for the same post)

  • Post: Name of the post. Details will be defined in the Post tab.

  • Sign-up: This field is automatically updated by the web app when users sign up

3. Define Available Posts (Post Tab)

    Use the Post tab to list the roles or tasks details.    

    


      Required Columns:
  • Post: The name of the post (must match the name used in the Sign-up tab)

  • No. of hours: Duration of the post. Default is 1 hour

  • No. of slots: Number of available sign-up slots for the post

  • Contact ID: Email address of the post host. This is used to access the host view via the “Set up web app” function

  • Contact: Name of the post host

4. Set Up Signer Information (Signer Tab)

    Update the Signer tab to define the information required from individuals signing up.
    
    

   Required Columns:
  • ID: Email address of the signer (used to access the web app)

  • Name: Name of the signer (entered during sign-up)

  • Mobile No.: This is a customizable field—add or rename fields to collect additional information. All columns will be shown in the sign-up page.


5. Configure the Web App

    Go to Extensions > One Link Sign-up > Configure web app to set up and customize the web app configuration.


    Field Definitions:

  • Sheet names: Names of the sheets (tabs) in your sign-up spreadsheet

  • Columns: Column letters corresponding to data fields in the Post, Sign-up, and Signer tabs

  • Delimiter in view definition: Delimiter used to separate column headers in different views (e.g., ;)

  • Host view: Columns displayed in the host view (e.g., Date;Post;Name;ID;Mobile No.;Contact)

        
  • Sign-up view: Columns shown to users when signing up (e.g., Date;Post;Contact)
        

  • One Link Sign-up allows host to select posts when generating the sign-up page for each team. 
        
  • Team view defines columns visible to teams (e.g., Date;Post;Name;Contact)
        
  • x day intra: Shows sign-ups within the team for the next x days

  • x day inter: Displays cross-team sign-ups for coordination in the next x days










Sunday, April 6, 2025

One Link Sign-up: Support for Sign-in from Any Email Address

People without Google accounts can now access the One Link Sign-up.

For new installations, the native script authorization will include the "Send mail as you" permission. If this permission is granted, users will see a sign-in page below in the web app where they can enter their email address to receive a password-free access link.




If the host does not authorize the "Send mail as you" permission during web app setup, users will not see the password-free sign-in option.

If the host wants to enable this feature and allow email access, they can follow the steps below to grant the necessary permission:

1. Open the user sheet, go to Extension > Apps Scipt.

2. Go to Deploy > Manage deployments

3. Click the edit icon which will enable the deploy button below:

4. Click the Deploy button.
5. Click the Authorize access button
6. As in previous web app authorization, go through the steps from Choose an account > Advanced > Go to {your sheet name} (unsafe) > Continue > Allow.

7. Click the Done button and close the Apps Script page. People can now enter their email address to receive a password-free access link.











Saturday, March 15, 2025

One Link Sign-up: Script Authorization

 

✅ Why We Use Owner Deployment for Our Google Web Apps

Our web app is designed to be deployed by each user under their own Google account, rather than running centrally from our account. This approach avoids exceeding Google quota limits and offers key benefits in terms of privacy, trust, and ease of use.

⚠️ About the “Unverified App” Warning

When deployed under user's account, Google shows message during script authorization saying:

This app isn’t verified”

This happens because the script is created under your own Google accountgiving you full ownership and control. Since it’s not published on the Google Marketplace under your name, Google flags it as unverified.



✅ Why It’s Safe

  • You own the script – It was created in your Google account and only runs with your permission.

  • It only accesses your sheet – No data leaves your account, and no one else can access it.

  • It’s part of trusted add-on – The add-on you installed is verified by Google and automates this setup to help you host your own web app.


✔️ How to Proceed

  1. On the warning page, click Advanced”

  2. Click Go to [your script name] (unsafe)”

  3. Select permissions ("send email as you" is optional)

  4. Click Allow to grant permissions. 

Once you do this, your personal web app will be fully set up and ready to accept sign-ups or check-ins via your link.


🔒 You Stay in Control

  • You can view, edit, or remove the script any time in your Apps Script dashboard.

  • The script only runs under your authority.


Sunday, March 2, 2025

One Link Sign-up: Exception "A sheet with the name "xxx" already exists. Please enter another name."

Thank you to Lisa who contacted developer on the exception. 

From Google execution log, the setup function submitted the createTemplateForm twice. The exception came from the 2nd submission.


Add-ons have been updated to ignore the 2nd submission.



Thursday, February 13, 2025

SPCsoft Sign-in: Purpose of Sign-in

The web app sign-in page has been updated below to clarify the purpose and scope of access:

Why Sign In?

Signing in with your Google account allows the web app owner to know who’s using it. Google controls the access and won’t share your Gmail, Drive, or other app data with this web app. Your data stays private and secure.

Friday, February 7, 2025

Pivot Expense Split: Template for Personal Income and Expenses

Pivot Expense Split can now support personal income and expenses. Please find the template in the setup page

This template has the following features:

1. Input tab supports multiple entries. After entering the transaction, ticking the checkbox will submit. 

    If column G (frequency) is not empty, only the amount will be cleared.

    Please note that checkbox is reserved for submitting the transaction entry. 

2. User can define the account, category and currency in tables for the transaction input:


3. On the Splits tab, user can add additional columns at the end using ARRAYFORMULA on the first row for the whole column.


If ARRAYFORMULA is not allowed, such formula containing AND or OR, user can define the formula in from first row to last reserved row in the column. 



Thursday, January 23, 2025

Pivot Expense Split: Template for Household Income and Expenses

Pivot Expense Split can now support household income and expenses. Please find the template in the setup page

This template has the following features:

1. Input tab supports multiple entries. After entering the transaction, ticking the checkbox will submit. 

    If column J (frequency) is not empty, only the amount will be cleared.

         

    Please note that checkbox is reserved for submitting the transaction entry. 

2. User can define the account, category and currency in tables for the transaction input:






Saturday, January 18, 2025

Comfort Attendance: Take Attendance Faster with Linked Attendees

For group of attendees coming together, Comfort Attendance displayed them in a row so that greeter can take attendance for all of them quickly.

When an attendee brings in guests, greeter can use the + icon on the left hand side of the attendee to input guests.

It will display a guest form for entering the guest names. An example below is entering Bessie Slater:


When guests are submitted, they will be linked to the attendee, such as Bessie Slater being displayed with Anthony and Kimbery. Bessie is added the bottom linked with Anthony and Kimbery as in below:

Anthony and Bessie will be updated as present automatically. 

Next time, greeter may not remember Bessie. Greeter can look up Anthony's row and recall Bessie to check them in together.