Arsinous V8 Sales turns a standard Google Spreadsheet into a full-featured sales back-office. It connects directly to your MySQL database via Google’s JDBC service, surfaces rich modal dialogs built with Vue.js and Vuetify, and keeps every sheet tab in sync with a single menu click or cell edit — all without leaving Google Workspace.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/arsinousltd-sudo/Arsinous-V8-Sales/llms.txt
Use this file to discover all available pages before exploring further.
What It Solves
Sales teams working inside Google Workspace need more than a static spreadsheet. Arsinous V8 Sales brings together customer records, invoices, inventory lots, payment tracking, discount schedules, and financial reports in one coherent environment. Data is always read from and written back to MySQL, so the spreadsheet is a live view rather than a disconnected copy.Key Modules
| Module | Description |
|---|---|
| Customers | Create, search, and update customer records. Auto-provisions a Drive sub-folder for each new customer. |
| Products | Manage the product catalog with VAT codes, pricing tiers, and default discount structures. |
| Invoices | Generate, view, edit, and delete invoices and credit notes within a chosen date range. |
| Inventory | Track stock levels, lot numbers, and expiry dates pulled from MySQL. |
| Payments & Deposits | Log and filter customer payments and deposits against a date range and customer filter. |
| Discounts | View and save per-customer, per-product discount rules directly on the Discounts sheet. |
| Financial Reports | Statement of Account (Balance tab) and all-customer outstanding balances (All Balances tab). |
Architecture
.gs files organised by domain (Customer/, product/, invoice/, Payment/, DB/, sidebar/, plus root-level utility scripts). Google Apps Script executes these files server-side (see Setup for the current runtime version and migration note).
HTML modal dialogs — Each domain has a matching index.html file rendered as a sidebar or modal dialog using HtmlService. The UI is built with Vue.js and Vuetify, communicating with the backend through google.script.run.
JDBC MySQL connection — All database reads and writes go through Jdbc.getConnection() using the connection string configured in Constants.gs. Google’s JDBC service bridges Apps Script to your MySQL server over port 3306.
Automatic Triggers
onOpen — Sidebar & Menu
Every time the spreadsheet is opened, onOpen fires and does two things:
- Registers the Arsinous top-level menu with items for the Sidebar, Update Current Tab, and Discount sync actions.
- Automatically opens the Arsinous sidebar (when auth mode is not
NONE, i.e., the user has already granted permissions).
onOpen.gs
onEdit — Auto-Refresh on Cell Change
The onEdit trigger watches three sheet tabs and fires a data refresh when specific trigger cells are edited:
| Sheet | Trigger Cell(s) | Action |
|---|---|---|
| Discounts | A1 | Fetches discount rules from MySQL |
| Balance | A1 | Loads the Statement of Account for the named customer |
| P&D | C1, C2, E1, C4 | Refreshes the Payments & Deposits filtered view |
Sheet Tabs
The spreadsheet is organised into nine dedicated tabs:| Tab | Purpose |
|---|---|
| Customers | Customer list synced from MySQL |
| Products | Product catalog synced from MySQL |
| Invoices | Invoice list for the selected date range |
| Inventory | Stock levels with lots and expiry dates |
| Discounts | Per-customer product discounts |
| Balance | Statement of Account for one customer |
| All Balances | Outstanding balances for all customers |
| P&D | Payments & Deposits filtered view |
| SoA Inputs | Inputs driving the Statement of Account query |
Runtime
Arsinous V8 Sales is migrating to the Google Apps Script V8 runtime (Chrome V8 engine). The currentappsscript.json in the repository sets "runtimeVersion": "DEPRECATED_ES5" — the migration to "V8" is in progress. See the Setup guide for the current manifest content and instructions on updating the runtime before deploying.
Arsinous V8 Sales requires a Google Workspace account (free @gmail.com accounts cannot use certain Apps Script services such as
HtmlService sidebar widths or advanced Drive features). Your MySQL server must also be publicly reachable on port 3306 from Google’s server infrastructure — private or firewalled databases require a tunnel or allowlist.Explore the System
Customers
Create and manage customer records, Drive folders, and discount assignments.
Invoices
Generate, edit, and delete invoices and credit notes backed by MySQL.
Inventory
Track stock lots, quantities, and expiry dates in real time.
Payments
Log customer payments and deposits, filter by date and customer.
Balance Reports
Statement of Account and all-customer outstanding balance views.
Sidebar Overview
The Arsinous sidebar — your central hub for navigation and data entry.