{"id":21070049,"url":"https://github.com/parthasdey2304/invoice-generator","last_synced_at":"2025-10-29T08:11:52.968Z","repository":{"id":248003323,"uuid":"827468157","full_name":"parthasdey2304/invoice-generator","owner":"parthasdey2304","description":"This is just a computer vision project that reads text data from hand written pages and then fills up the data in the invoice.","archived":false,"fork":false,"pushed_at":"2025-07-11T12:04:06.000Z","size":1293,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-09T10:48:54.514Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://invoice-generator-omega-lovat.vercel.app/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/parthasdey2304.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-11T17:48:01.000Z","updated_at":"2025-07-11T12:04:10.000Z","dependencies_parsed_at":"2024-11-19T08:22:51.243Z","dependency_job_id":"ec360f5b-0165-4f1e-82a2-7e1cf31f1536","html_url":"https://github.com/parthasdey2304/invoice-generator","commit_stats":null,"previous_names":["parthasdey2304/image-to-invoice-generator","parthasdey2304/invoice-generator"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/parthasdey2304/invoice-generator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parthasdey2304%2Finvoice-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parthasdey2304%2Finvoice-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parthasdey2304%2Finvoice-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parthasdey2304%2Finvoice-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/parthasdey2304","download_url":"https://codeload.github.com/parthasdey2304/invoice-generator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parthasdey2304%2Finvoice-generator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281585015,"owners_count":26526180,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-29T02:00:06.901Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-19T18:41:39.511Z","updated_at":"2025-10-29T08:11:52.961Z","avatar_url":"https://github.com/parthasdey2304.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Invoice Generator - Enhanced Version\n\nA modern React-based invoice generator with Supabase database integration, featuring a comprehensive dashboard and advanced invoice management capabilities.\n\n## 🚀 Features\n\n### ✅ Completed Features\n\n- **Supabase Database Integration**: Complete database schema with proper relationships\n- **Enhanced Invoice Form**: \n  - Checkboxes for tax field visibility (CGST, SGST, IGST, Other Charges, Less Discount, Round off)\n  - Database-backed autocomplete suggestions for all form fields\n  - Item management with popup modal\n  - Add/remove items functionality\n- **Navigation \u0026 Routing**: Clean navigation between form and dashboard\n- **Dashboard**: \n  - Summary cards with analytics\n  - Comprehensive invoice table with filtering\n  - Date-wise filtering and search\n  - Pagination\n  - Detailed invoice view modal\n- **PDF Generation**: Enhanced with conditional field display based on checkbox selections\n\n## 🛠️ Setup Instructions\n\n### 1. Database Setup (Supabase)\n\n1. Create a new Supabase project at [https://supabase.com](https://supabase.com)\n2. In your Supabase dashboard, go to the SQL Editor\n3. Run the SQL script from `database_schema.sql` to create all necessary tables\n4. Get your project URL and anon key from Settings \u003e API\n\n### 2. Environment Configuration\n\n1. Copy `.env.example` to `.env`\n2. Update the environment variables with your Supabase credentials:\n   ```env\n   VITE_SUPABASE_URL=your_supabase_project_url\n   VITE_SUPABASE_ANON_KEY=your_supabase_anon_key\n   ```\n\n### 3. Install Dependencies\n\n```bash\nnpm install\n```\n\n### 4. Start Development Server\n\n```bash\nnpm run dev\n```\n\n## 📁 Project Structure\n\n```\nsrc/\n├── components/\n│   ├── Navigation.jsx              # Main navigation component\n│   ├── InvoiceForm.jsx            # Enhanced form with Supabase integration\n│   ├── InvoiceGenerator.jsx       # PDF generation component\n│   ├── ItemManagementModal.jsx    # Item management popup\n│   ├── dashboard/\n│   │   ├── Dashboard.jsx          # Main dashboard component\n│   │   ├── SummaryCards.jsx       # Analytics summary cards\n│   │   ├── FilterBar.jsx          # Filtering controls\n│   │   ├── InvoiceTable.jsx       # Invoice data table\n│   │   └── InvoiceDetailsModal.jsx # Detailed invoice view\n│   └── old_components/            # Backup of previous versions\n├── pages/\n│   └── Dashboard.jsx              # Dashboard page\n├── services/\n│   ├── supabase.js               # Supabase client configuration\n│   └── invoiceService.js         # Database operations\n└── App.jsx                       # Main app with routing\n```\n\n## 🗄️ Database Schema\n\nThe application uses the following tables:\n\n- **invoices**: Main invoice records\n- **receivers**: Customer information\n- **invoice_items**: Invoice line items\n- **tax_details**: Tax information with visibility flags\n- **bank_details**: Bank account information\n- **item_suggestions**: Autocomplete suggestions for items\n- **form_field_history**: Form field autocomplete history\n\n## 🎯 Usage\n\n### Creating Invoices\n\n1. Navigate to the home page\n2. Fill out the invoice form with:\n   - Invoice details (number, date, transport info)\n   - Receiver/customer details\n   - Items (with database suggestions)\n   - Tax details (with visibility checkboxes)\n   - Bank details\n3. Check/uncheck tax field visibility as needed\n4. Click \"Generate Invoice\" to save to database and create PDF\n\n### Managing Items\n\n1. Click \"📦 Manage Items\" button on the form\n2. Add new items with descriptions and HSN codes\n3. Search existing items\n4. Edit item descriptions and HSN codes\n\n### Using the Dashboard\n\n1. Navigate to \"📊 Dashboard\"\n2. View summary analytics\n3. Filter invoices by date range, customer, amount\n4. Click on any invoice row to view detailed information\n5. Export data to CSV (coming soon)\n\n## 🔧 Development Status\n\n### ✅ Phase 1 Completed: Foundation\n- ✅ Supabase setup and database schema\n- ✅ Basic service files\n- ✅ Routing structure\n\n### ✅ Phase 2 Completed: Enhanced Form\n- ✅ Checkbox visibility controls for tax fields\n- ✅ Database integration for form data\n- ✅ Item management modal\n- ✅ Dropdown suggestions from database\n\n### ✅ Phase 3 Completed: Dashboard Development\n- ✅ Basic dashboard layout\n- ✅ Data table with filtering\n- ✅ Summary cards and analytics\n- ✅ Invoice details modal\n\n### 🚧 Phase 4 In Progress: PDF \u0026 Polish\n- ✅ Navigation component\n- ✅ Updated old_components with current versions\n- 🔄 PDF generation with conditional fields (needs testing)\n- 🔄 CSV export functionality (placeholder implemented)\n\n## 🔮 Future Enhancements\n\n- User authentication and multi-tenant support\n- Email integration for invoice sending\n- Payment tracking\n- Advanced reporting and analytics\n- Mobile app\n- Template customization\n- Bulk operations\n\n## 🐛 Known Issues\n\n- CSV export functionality is placeholder (button exists but needs implementation)\n- PDF generation needs testing with new conditional field visibility\n- Error handling can be improved\n- Mobile responsiveness needs optimization\n\n## 📝 Notes\n\n- The application maintains backward compatibility with existing `InvoiceGenerator.jsx`\n- Old components are preserved in `old_components/` directory\n- All data is stored in Supabase with proper relationships\n- Form suggestions are dynamically loaded from database usage history\n\n## 🤝 Contributing\n\n1. Set up the development environment as described above\n2. Make your changes\n3. Test thoroughly with Supabase integration\n4. Submit pull request\n\n---\n\n**Important**: Make sure to set up your Supabase database and update the environment variables before running the application.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparthasdey2304%2Finvoice-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fparthasdey2304%2Finvoice-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparthasdey2304%2Finvoice-generator/lists"}