Total revenue
$0
Total expenses
$0
Net profit
$0
Accounts receivable
$0
Active customers
0
Income at a glance
Total invoiced
$0
Unpaid invoices
0
Inventory value
$0
Recent transactions
| Date | Type | Name | Amount | Status |
|---|---|---|---|---|
| No transactions yet | ||||
Profit summary
Total revenue$0
Cost of goods (COGS)$0
Gross profit$0
Operating expenses$0
Net profit$0
Top outstanding balances
| Customer | Terms | Balance |
|---|---|---|
| No balances | ||
Portal orders pending
| Customer | Items | Total | |
|---|---|---|---|
| No pending orders | |||
Create invoice
Items: 0 lines · 0 units
Live count updates as you add items
Line items
No items added — click a product above or scan a barcode
Invoice summary
Subtotal$0.00
Discount
%
Tax rate
%
Shipping ($)
std $6
Invoice total$0.00
Balance due$0.00
Invoice footer messages (printed on Full & Cash & Carry receipts)
Memo tag shows on every invoice row so pullers and scanners know the order type at a glance.
Barcode scanner
Scan barcode or type SKU
Click the field below, then scan with your USB/Bluetooth scanner — or type the barcode manually and press Enter
Press Enter after scanning
Scanned items
No items scanned yet
Scan total$0.00
Barcode scanner setup
1
USB scanner (recommended)
Plug any USB barcode scanner into your Windows PC. It acts like a keyboard — scans go straight into the input field. Cost: $25–$60 on Amazon. Search "USB HID barcode scanner".
2
Bluetooth scanner
Pair a Bluetooth scanner to any laptop, tablet, or phone. Same behavior. Good for warehouse or delivery use. Cost: $35–$80.
3
Add barcodes to your items
In the Items tab, enter the UPC barcode number in the SKU field. Most products have the barcode printed on them — just scan it when adding the product.
4
Test it now
Type 040000516119 in the scan field and press Enter — that's Skittles. Or 049000028911 for Coca-Cola.
Customer self-order portal
Your customers select their account, see their custom prices, browse your catalog, and submit orders directly. Orders appear in your dashboard for approval.
Pending portal orders
No pending orders
Customer center
Business info
Contacts
Address
Account settings
Starting balance (POS transfer)
Only set this for new customers transferred from another system. Leave at $0 for new accounts with no prior balance.
Customer list
| Company | Type | Terms | Disc | Balance | |
|---|---|---|---|---|---|
| No customers yet | |||||
Vendor center
Vendors
| Vendor | Category | Terms | Contact | |
|---|---|---|---|---|
| No vendors yet | ||||
Total invoiced
$0
Collected
$0
Outstanding
$0
Invoice count
0
| Invoice # | Customer | Date | Terms | Memo / Type | Items · Units | Total | Paid | Balance | Status | |
|---|---|---|---|---|---|---|---|---|---|---|
| No invoices yet | ||||||||||
Record expense
Expense register
Total expenses
$0
COGS
$0
Operating
$0
| Date | Vendor / Payee | Category | Method | Amount | |
|---|---|---|---|---|---|
| No expenses yet | |||||
Create purchase order
Order items
| Item | Qty | Cost each | Line total | Vendor price history |
|---|
PO total$0.00
Purchase order list
| PO # | Vendor | Date | Total | Status | |
|---|---|---|---|---|---|
| No purchase orders yet | |||||
Vendor price comparison — all items
Cheapest vendor shown first. Created automatically each time you save a PO.
No vendor price history yet
Add / edit item
Barcodes — up to 4 per item (scan or type each UPC)
All barcodes are scannable — scan any of them to find this item at checkout or in the scanner tab.
Live margin calculator
Profit per unit
$0.00
Gross margin %
0%
Markup %
0%
Rating
—
Margin bar
PA OTP Tobacco Tax (optional — PA customers only)
OTP tax will appear as a separate line on invoices for PA customers. Mark customers as PA in their profile.
No image
JPG, PNG, or GIF. Shown on product cards and invoices. Max ~500KB recommended.
Item catalog
Inventory value
$0
| Item name | SKU / Barcode | Category | Cost | Price | Margin | Stock | |
|---|---|---|---|---|---|---|---|
| No items yet — add your products above | |||||||
Custom price list editor
Set a custom price for any item for any specific customer. This overrides the base price and any global discount for that item only.
Select a customer to edit their price list
Price list overview
Customers with custom prices set on one or more items
No custom price lists yet
Profit & loss
Income statement
Balance sheet
Assets & liabilities
A/R aging
Who owes you money
Sales by customer
Revenue per account
Sales by item
Top selling products
Sales by rep
Commission report
Customer statement
Monthly account summary
Route sheet
Daily delivery list
Reorder report
Items below reorder point
Click any report above to generate it
Team members
Team roster
| Name | Role | Commission | Access level | |
|---|---|---|---|---|
| No team members yet | ||||
Role permissions
Owner
Full access to everything
Manage team & pricing
All reports & accounts
Sales Rep
Create orders & invoices
View customers
Commission tracking
Warehouse
View & fulfill orders
Update stock levels
Receive purchase orders
Accounts
All invoices & payments
Expense management
Financial reports
Chart of accounts
Backup & restore data
Backup saves ALL your data — customers, invoices, products, expenses, everything — as a .json file on your computer. Restore loads it back. Works across any device or browser.
Save backup
Downloads a timestamped .json file to your computer. Store it somewhere safe — Google Drive, USB drive, or email it to yourself.
Restore from backup
Upload a previously saved .json backup file. This replaces all current data — make a backup first if needed.
Last backup: Never
⏰ Auto-backup settings
Automatically saves a backup to this device's browser storage at regular intervals. Separate from your Firebase sync — works even if Firebase is down.
Online payment links (Stripe)
Add your Stripe Publishable Key below. When viewing an invoice, you can generate a payment link to send to your customer so they can pay online by card. Their payment does not auto-record — you still manually record it when confirmed.
Get your key at dashboard.stripe.com → Developers → API Keys. Free to set up, Stripe charges 2.9% + $0.30 per transaction.
MSA tobacco reporting
The Master Settlement Agreement (MSA) requires tobacco distributors to report cigarette/tobacco sales by brand and volume. This generates a report in standard MSA format from your invoice data.
Security settings
Security notes:
· All data is stored locally in your browser — no external server access
· Backup files are plain JSON — store them securely
· PINs are hashed before storage using SHA-256
· Session auto-locks after inactivity timeout
· Portal 2FA sends a 6-digit code via email simulation (real email requires a backend service like SendGrid)
· All data is stored locally in your browser — no external server access
· Backup files are plain JSON — store them securely
· PINs are hashed before storage using SHA-256
· Session auto-locks after inactivity timeout
· Portal 2FA sends a 6-digit code via email simulation (real email requires a backend service like SendGrid)
Customer portal 2-step verification
When enabled, customers must enter a 6-digit code after selecting their account. The code is shown here (simulated) — for real SMS/email delivery you need a backend. For now the code is displayed on screen so you can relay it by phone or WhatsApp.
✉ Email & SMS — opens your mail app
No setup needed. When you click an email or SMS button, your default mail app (Gmail, Outlook, Apple Mail) opens with everything pre-filled — customer name, invoice details, amount due. You just hit Send.
Your contact info (shown in emails)
SMS — free via carrier gateway
SMS works the same way — clicking SMS opens your mail app addressed to the customer's carrier gateway email (e.g. 3025550100@vtext.com). Set each customer's carrier in their profile.
Supported: Verizon · AT&T · T-Mobile · Sprint · Metro PCS · Cricket · Boost · US Cellular
Quick send
These buttons appear on every invoice and customer record. You can also send from here:
Login users & passwords
These are the usernames and passwords for the POS login screen. Keep them private. Team members can also log in using their name (no spaces, lowercase) and their 4-digit PIN.
Role access: Owner = everything · Manager = no settings/team/accounts · Sales Rep = invoices, customers, scanner · Warehouse = orders, products, POs · Driver = route sheet + delivery confirm only
Company settings
Default invoice footer messages — auto-applied to every invoice
These messages appear at the bottom of every Full and Cash & Carry printed receipt automatically. You can still override them on individual invoices.
Audit log / change history
Every create, edit, delete, and payment is logged here for accountability.
No activity logged yet
⚠ Danger zone — Clear all data
⚠ This cannot be undone.
Permanently deletes ALL customers, vendors, products, invoices, expenses, purchase orders, and price lists from this device AND Firebase.
Company settings and login credentials are preserved.
Download a backup first.
Permanently deletes ALL customers, vendors, products, invoices, expenses, purchase orders, and price lists from this device AND Firebase.
Company settings and login credentials are preserved.
Download a backup first.
Check all three boxes then type the confirmation phrase:
Getting started — Windows setup
1
You already have the file
You just downloaded kevins_wholesale_pos.html. Save it somewhere safe — like your Desktop or a folder called "POS System".
2
Open it in Chrome or Edge
Double-click the file. It opens in your browser. Bookmark it for quick access. Works completely offline — no internet needed.
3
Add your real customers first
Go to the Customers tab. Delete the demo customers or keep them as examples. Add your real accounts with their correct pricing, terms, and contact info.
4
Set up your product catalog
Go to Items tab. Add your products with real cost prices, selling prices, and stock quantities. Scan or type the UPC barcode in the SKU field for scanner support.
5
Add your vendors
Go to Vendors tab. Add your suppliers so you can create purchase orders and track what you owe them.
6
Add your team
Go to Team tab. Add yourself as Owner, then add sales reps with their commission %. They log in with their PIN.
7
Take your first real order
Go to New Invoice. Select a customer, add items, set payment terms, and save. The invoice appears instantly in the Invoices tab.
Share with your whole team
1
Host it on Netlify (free, 2 minutes)
Go to netlify.com → sign up free → drag and drop your .html file onto the page → you instantly get a URL like random-name.netlify.app. Share that URL with your whole team.
2
Everyone opens the same URL
Sales reps on their phone, warehouse on a tablet, you on your laptop — all open the same URL. Bookmark it on every device.
3
Add to home screen on phones
On Android: Chrome → three dots → "Add to Home Screen". On iPhone: Safari → Share → "Add to Home Screen". Works like an app icon.
4
For real-time sync (all devices share data)
Currently each device stores its own data. For full team sync, you need a Firebase backend added. Ask Claude: "Add Firebase to my POS so all devices share data."
Hardware to buy
| Item | Price | Where to buy |
|---|---|---|
| USB barcode scanner | $25–$60 | Amazon — search "USB HID scanner" |
| Bluetooth barcode scanner | $35–$80 | Amazon |
| 80mm thermal receipt printer | $45–$90 | Amazon — search "MUNBYN thermal printer" |
| Android tablet for reps | $80–$150 | Amazon or Walmart |
| Total setup cost | Under $200 |