Core Purpose
Deliver a fast in-browser workflow for producing client-facing financial and legal documents with consistent branding
and minimal repetition.
PDF Pack
Template Memory
Record Search
Project Structure
- index.html for form UI and controls.
- src/app.mjs orchestrates user flow.
- src/pdf.mjs renders quote/invoice/contract PDFs.
- src/numbering.mjs manages serial increments.
- src/memory.mjs handles persisted defaults and profiles.
- tests/ covers numbering and validation behavior.
Primary Features
Full Pack Generation
Generate quote, invoice, and contract together using a coordinated numbering cycle.
Configurable Terms
Adjust deposit percentage, revision rounds, payment terms, and additional legal conditions.
Template-Assisted Fill
Quick-fill client and scope content from memory defaults to reduce repetitive entry.
Profile Portability
Export/import complete profile bundles for moving settings and records across machines.
Usage Workflow
- Start local server in project folder: python3 -m http.server 8080
- Open http://localhost:8080 in browser.
- Complete client details and line items.
- Generate one document or the full package.
Data Behavior
- Memory persists in browser local storage.
- data/memory.json seeds first-run defaults.
- History clearing and numbering reset are separate operations.
- Line-item suggestions provide default pricing for recurring scopes.
User Instructions: Everyday Workflow
- Fill top document fields (type, logo, number, date, currency), then complete From and Bill To.
- Add line items with quantity and unit price, then confirm tax and totals.
- Set contract controls: deposit percentage, revision rounds, and additional terms.
- Choose action: Download PDF, Generate Full Pack, or Generate Contract from Quote.
Download PDF
Full Pack
Contract Finalization
Instruction Highlights
Automatic Numbering
Quote, invoice, and contract counters advance automatically. Full Pack uses one shared serial across all three
outputs.
Contract Finalization
Review generated contract text, add signature (drawn or typed), set signed date, then export finalized contract
PDF.
Templates + Quick Fill
Reuse client, scope, terms, and line-item defaults through template create/apply actions in the quick-fill panel.
Saved Records + Backup
Search/load past jobs, export full profile JSON for safety backups, and import profile data on a new browser or
machine.
Troubleshooting Checklist
- Confirm required fields are complete (dates, Bill To, line items, totals).
- Validate manual number format as PREFIX-#### if overriding auto numbering.
- Use Saved Records load to restore known-good payloads.
- Import latest full-profile backup if current local data is inconsistent.
- Resolve any visible “Fix These Issues” validation prompts before export.