Build a production-grade, full-stack Progressive Web App (PWA) for managing small business billing and professional invoicing. The architecture must be scalable, secure, and follow standard commerce accounting rules.
1. Roles & Permissions:
Owner: Can manage company profiles, tax settings (GST), all clients, and all invoices.
Manager: Can create and edit invoices and clients, but cannot delete records or change company tax settings.
2. Data Objects & Relationships:
CompanyProfile: name, GSTIN (string), address, logo_url, bank_details.
Client: name, email, phone, address, tax_id.
Invoice: invoice_number (auto-increment), date, due_date, status (Draft/Unpaid/Paid), client_id, subtotal, discount, tax_amount (GST), total.
LineItem: description, quantity (integer), unit_price (decimal), tax_rate, total_price.
3. Required Screens & Workflows:
Dashboard: Summary cards for "Total Revenue," "Pending Payments," and a bar chart showing monthly billing trends.
Invoice Generator: A multi-step form to select a Client, add LineItems (with auto-calculating totals), and set tax rates.
Client Management: A searchable table of all clients with a "Quick Add" button.
PDF Export: A dedicated workflow to generate a professional, print-ready PDF invoice from an Invoice ID.
4. Business Logic & Guardrails:
Calculation Engine: Implement logic where ItemTotal = (Qty * Price). Subtotal = sum(ItemTotals). Tax = Subtotal * TaxRate.
Validation: An invoice cannot be marked "Paid" without a recorded payment date. Invoice numbers must be unique and non-editable once finalized.
5. Technical Stack Preferences:
Frontend: Next.js with Tailwind CSS (Modern Corporate Aesthetic: White bg, Deep Blue accents).
Backend: Node.js with a PostgreSQL database.
Deployment: Kubernetes-ready with CI/CD scaffolding.
Landing
Comments (0)
No comments yet. Be the first!
Sign in to leave a comment
Welcome back to BillFlow
Sign in to manage your invoices, track client payments, and keep your small business GST-compliant — all in one place.
No comments yet. Be the first!