InkSyndicate
Business Hub
Ink Syndicate · secure local access

Ink Syndicate — Business Hub

Welcome

Total orders
0
Pending
0
Processed
0
Total revenue
£0.00

New order

Customer details
Order items — Product → Colour → Size → Qty
Order total £0.00

Orders log

#RefCustomerItemsTotalDateStatus
Total in stock
0
Low stock alerts
0
Low stock threshold
units

* Red counts are at or below the low stock threshold.

Total revenue / unit avg
£0.00
Total cost / unit avg
£0.00
Gross profit / unit avg
£0.00
Avg margin
0%

* Costs pulled from Stock Planner average prices per colour. Postage set per category below.

Total customers
0
With orders
0
Banned
0
Top customer

Add customer

All customers

Total designs
0
Active
0
Archived
0

Add design

All designs

Parcel details

Royal Mail reference rates (2025)

FormatMax weight1st class2nd class

* Rates are approximate 2025 Royal Mail prices. Always verify at royalmail.com.

Total expenses
£0.00
This month
£0.00
Order revenue
£0.00
Net profit
£0.00

Add expense

Expense log

DateDescriptionCategoryAmountSource

Add supplier

All suppliers

Recent orders

Low stock alerts

This month at a glance

Step 1 — Your watermark

Upload logo PNG + text — saved in browser for future sessions

Step 2 — Appearance

Step 3 — Upload & crop images

Single or batch — drop images or click to browse
📸
Drop product photos here or click to browse
JPG, PNG — single or multiple files

Step 4 — Preview & download

No images loaded
Format

* All processing is done locally in your browser. No images are uploaded anywhere.

Connection
Not configured
Orders sent
0
Last sent
Sheet tab (orders)

Account

Admin credentials

Username and password are stored as hashed values. To change your credentials, use the button below. You will need to sign in again after saving.

Apps Script URL & tab names

Paste your deployed Apps Script web app URL

Get this from Apps Script → Deploy → Manage Deployments → web app URL.

Sheet tab names

Setup guide

1
Open your Google Sheet
Open the Google Sheets file you want orders written to. Make sure you have a tab named Orders.
2
Open Apps Script
Click Extensions → Apps Script. Delete any existing code, then paste the script below.
3
Paste this script
function doPost(e) { try { var data = JSON.parse(e.postData.contents); var tabName = data.tab || 'Orders'; var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheetByName(tabName); if (!sheet) sheet = ss.insertSheet(tabName); if (sheet.getLastRow() === 0) { sheet.appendRow(['Order ID','Date','First Name','Last Name','Email','Phone','Address','Items','Total (GBP)','Status','Notes']); sheet.getRange(1,1,1,11).setFontWeight('bold').setBackground('#4c1d95').setFontColor('#ffffff'); } if (data.action === 'updateStatus') { var ids = sheet.getRange(2,1,Math.max(1,sheet.getLastRow()-1),1).getValues(); for (var i=0; i<ids.length; i++) { if (String(ids[i][0])===String(data.id)) { sheet.getRange(i+2,10).setValue(data.status); break; } } return ContentService.createTextOutput(JSON.stringify({result:'updated'})).setMimeType(ContentService.MimeType.JSON); } sheet.appendRow([data.id,data.date,data.fname,data.lname,data.email,data.phone,data.address,data.items,data.total,data.status,data.notes]); return ContentService.createTextOutput(JSON.stringify({result:'success',row:sheet.getLastRow()})).setMimeType(ContentService.MimeType.JSON); } catch(err) { return ContentService.createTextOutput(JSON.stringify({result:'error',message:err.toString()})).setMimeType(ContentService.MimeType.JSON); } } function doGet(e) { return ContentService.createTextOutput(JSON.stringify({result:'ok',message:'Ink Syndicate Hub connected'})).setMimeType(ContentService.MimeType.JSON); }
4
Deploy as a web app
Click Deploy → New deployment. Type: Web app. Execute as: Me. Who has access: Anyone. Click Deploy, authorise, copy the URL above.
5
Test the connection
Paste the URL, save, then click Test connection. If it shows Connected you are all set.

Backup & restore

Export all data as JSON · Import from backup file
Export backup
Downloads all data as a timestamped JSON file. Activity log exported separately.
Import backup
Restores data from a backup file. Activity log is never overwritten — imported entries added as a note.

Activity log

All actions by all users — newest first

Danger zone

⚠ Destructive actions — cannot be undone
Clear orders
Deletes all orders and resets the reference counter to 0001.
Clear customers
Removes all saved customer records.
Clear inventory
Resets all stock counts to zero.
Clear expenses
Removes all logged expenses.
Clear designs
Removes all design catalogue records.
Clear profit prices
Resets all selling prices to £0.00.
Clear everything
Wipes all data. Stock planner colours and credentials are kept.