Invoicely is a web application designed for shop retailers to generate GST-compliant invoices and manage their transactions efficiently. It automates the process of calculating totals, GST, and formatting invoices, simplifying the billing process for businesses.
- Invoice Generation: Create detailed invoices with transaction details, including quantity, name, price, and totals before and after GST.
- Transaction Management: View and manage all created invoices with dates and totals.
- Category Management: Create and categorize products for better organization.
- Branch Management: Handle multiple business branches with separate invoicing.
- Transaction Filtering: Filter transactions by date range.
- Special Transaction Finder: Find transactions that sum up to a specific total, useful for generating accurate bills or invoices for accountants and ITR.
- Frontend: Next.js, TypeScript
- Backend: Drizzle ORM, Hono.js
- Database: PostgreSQL
- PDF Generation: jsPDF
To set up and run Invoicely locally, follow these steps:
-
Clone the repository:
git clone https://github.com/Sourav-Goyal19/invoicely.git cd invoicely
-
Install the dependencies:
npm install
-
Provide your own database connection string and
NEXTAUTH_SECRET
in the.env
file.NEXT_PUBLIC_APP_URL=http://localhost:3000 DATABASE_URL="" NEXT_PUBLIC_DATABASE_URL="" AUTH_DRIZZLE_URL="" NEXTAUTH_URL=http://localhost:3000 NEXTAUTH_SECRET= JWT_SECRET= JWT_SIGNING_KEY= JWT_ENCRYPTION_KEY= JWT_MAX_AGE=
-
Start the development server:
npm run dev
- Access the application through the provided URL and start generating GST-compliant invoices.
- Use the interface to create invoices, manage transactions, categorize products, and filter by date.
For deployment instructions, you can follow the typical Next.js deployment process. The application is live at here.
Contributions are welcome! Please follow the standard fork-and-pull request workflow. Ensure your code adheres to the project's coding standards and passes all tests.