בס״ד

MOM'S WHOLESALE CLOTHING BUSINESS OS — PROJECT CONTEXT

docs/MOM_WHOLESALE_OS_CONTEXT.md · last changed (pre-VM history) · rendered from GitHub master

MOM'S WHOLESALE CLOTHING BUSINESS OS — PROJECT CONTEXT

For AI assistants (Claude, Claude Code, etc.) picking up this project
Last updated: April 17, 2026
Owner: Sam (Zalman) Treitel — sam@hookstreetcapital.com
End user: Sam's mother — primary operator, NOT a power user


STATUS UPDATE - 2026-05-07

This document is the original broad architecture, not the current execution plan.

Current direction:

Most important new finding from the local Excel files:

WHAT THIS IS

Google Sheets business OS for a women's wholesale clothing business.
Replacing: manual Excel, hand-written orders, Box folder chaos, copy-paste invoices.
Building: product data, orders, invoicing, AR tracking, vendor management, reporting.

End user is not a power user. All complexity must be hidden behind simple forms, dropdowns, buttons. Front-end dead simple. Back-end can be sophisticated.


BUSINESS CONTEXT


CRITICAL WHOLESALE CONCEPTS

Orders ≠ Invoices

Order placed at show (Feb) → goods ship (Aug) → invoice created on shipment. Separate tabs, separate stages.
Pipeline: Order Placed → Confirmed → In Production → Shipped → Invoiced → Paid/Partial/Overdue

Chargebacks (biggest gap in original plan)

Buyers short-pay invoices, deduct without authorization.
Example: Invoice $4,200 → buyer pays $3,800 and deducts $400 for "late delivery."
MUST track: invoice amount, payment received, deduction amount, reason, disputed Y/N, credit memo.
Without this, AR numbers are always wrong.

Net Terms

Due date = ship date + terms days (Net 30 / Net 60 / 2/10 Net 30 — per customer).
AR aging calculated from DUE DATE, not invoice date.

Seasons

Every record (style, order, invoice) tagged SS or FW. Required for meaningful reporting.

Partial Shipments

One order → multiple shipments → multiple invoices.
Track: ordered qty vs. shipped qty vs. remaining vs. invoiced per order.


FULL TAB ARCHITECTURE

Source Tabs (manual entry)

Tab Purpose
Config Settings, invoice/order counters, bank, Drive folder IDs, tax info
Styles_Master Style #, name, description, sizes, colors, pricing, season, status
Customers Name, contact, address, terms, resale cert #, cert expiry
Orders_Log Order #, customer, date, season, items/qtys/prices, status
Invoices_Master Invoice #, order #, customer, ship date, due date, items, total
Payments_Log Invoice #, payment date, amount, deduction amount, reason, method
Chargebacks_Log Invoice #, deduction, reason, disputed Y/N, resolution, credit memo #
Vendors Name, country, currency, SWIFT, bank details
Vendor_Payments PO #, amount, currency, FX rate, USD equivalent, wire confirmation #
Samples_Tracker Style, sent to, sent date, expected return, returned Y/N, converted

Derived Tabs (formulas only)

Output Tabs (print-ready)

Reporting Tabs


APPS SCRIPT FUNCTIONS

Function Trigger Action
generateInvoice() Button Create invoice record, assign #, increment Config counter
exportPDF() Button Export Print_Invoice as PDF, save to Drive
sendInvoiceEmail() Button Create Gmail draft with PDF attached, pre-filled to customer
confirmOrder() Button Mark confirmed, send confirmation email draft
flagOverdueInvoices() Daily Scan Invoice_Register, mark overdue, email owner
updateARaging() Daily or on edit Recalculate AR aging buckets
createDriveFolders() One-time Build full Drive folder structure

CONFIG TAB (build first)

Business Name | Next Invoice # (1001, auto-increment) | Next Order # (5001, auto-increment) | Invoice Prefix (INV-) | Order Prefix (ORD-) | Business Address/Phone/Email | Bank Name/Routing/Account | Current Season (SS2026) | Invoice Drive Folder ID | Default Payment Terms (Net 30)

Rule: Use getConfigValue() pattern from BOS skill — NEVER hardcode row numbers.


DRIVE FOLDER STRUCTURE

Mom's Business OS/
├── Invoices/ (SS2026/ FW2026/ Archive/)
├── Orders/ (SS2026/ FW2026/)
├── Customers/Resale_Certificates/
├── Vendors/Wire_Confirmations/
├── Samples/
└── Reports/ (SS2026/ FW2026/)

BUILD PHASES

Phase 1 — Core Flow: Config → Styles_Master → Customers → Orders_Log → Invoices_Master → Print_Invoice → Apps Script (generateInvoice, exportPDF, sendInvoiceEmail) → Payments_Log → Invoice_Register → Drive folders

Phase 2 — AR & Collections: Chargebacks_Log → AR_Aging → Collections_Dashboard → flagOverdueInvoices daily trigger → Command_Center P&L

Phase 3 — Vendor & Reporting: Vendors → Vendor_Payments (multi-currency) → Samples_Tracker → Season_Report / Sales_by_Style / Sales_by_Customer → Price_List → Box → Drive migration


KEY BLIND SPOTS

  1. Chargebacks — not in original doc, most critical missing piece
  2. Orders ≠ Invoices — separate stages, separate tabs
  3. Net Terms + Due Dates — AR aging from due date
  4. Season tagging on everything
  5. Partial shipments — one order, multiple invoices
  6. Multi-currency vendor payments (TRY/EUR/HKD)
  7. Resale certificates with expiry tracking
  8. Show entry mode — simplified fast entry
  9. Box → Drive migration — planned transition
  10. Usability first — hide complexity for non-tech user
  11. Price list generation from Styles_Master by season
  12. Credit memo flow — accepted chargebacks reduce AR

NEXT SESSION PRIORITIES

  1. Config tab
  2. Styles_Master with dropdown validation
  3. Customers tab with terms + resale cert
  4. Orders_Log with season + status pipeline
  5. Invoices_Master with ship/due date calculation
  6. Print_Invoice output
  7. Apps Script: generateInvoice, exportPDF, sendInvoiceEmail
  8. Payments_Log + Invoice_Register
  9. AR_Aging from due dates
  10. Drive folder structure via Apps Script

Skill: /mnt/skills/user/business-os-spreadsheet/SKILL.md — Phase 1-7 exactly. Use getConfigValue(), SEQ column pattern, SUMIF with anchored ranges, IFERROR on FILTER, PDF export via UrlFetchApp with OAuth.


CURRENT STATUS (April 17, 2026)

2026-05-07 note: this status block is stale. Keep it as historical context only. See the status update at the top of this file and the current audit in CM_Invoice_System/CM_CURRENT_AUDIT_2026-05-06.md.

Source trail · docs/MOM_WHOLESALE_OS_CONTEXT.md @ master · rendered 2026-07-02 7:23 PM EDT by scripts/build-docs.py · the .md in the repo is the truth; this page is the phone-readable view