Invoicen is a simple invoice generator for freelancers and small businesses. It is a self hostable web application that can be used to generate invoices and download PDFs. It is built using Next.js.
- Create and manage invoice
- Download invoice as PDF
- Send invoice as email
flowchart TD
User[User] -->|Accesses as| GuestUser[Guest User]
User -->|Accesses as| RegisteredUser[Registered User]
subgraph GuestUser
direction TB
GU_CreateInvoice[Create Invoice] --> GU_DownloadPDF[Download Invoice as PDF]
GU_DownloadPDF --> GU_StoreLocal[Store in Browser Local Storage]
end
subgraph RegisteredUser
direction TB
RU_CreateInvoice[Create Invoice] --> RU_SaveInvoice[Save Invoice]
RU_SaveInvoice --> RU_DownloadPDF[Download Invoice as PDF]
RU_SaveInvoice --> RU_StoreDatabase[Store in Database]
RU_SaveInvoice --> RU_SendEmail[Send Invoice as Email]
RU_SaveInvoice --> RU_ViewInvoices[View All Past Invoices]
RU_SaveInvoice --> RU_SaveDetails[Save Payment & Company Details for Future Use]
end
There will be 2 types of users:
- As a guest user
- As a registered user
- Guest users can create invoices without signing up.
- They can download the invoice as PDF.
- The invoice will be stored in the browser's local storage.
- Registered users can create invoices and save them.
- They can download the invoice as PDF.
- The invoice will be stored in the database.
- They can save their payment details, company details, etc for future use.
- They can also send the invoice as an email.
- They can access all the invoices they have created in the past.
- They can upload their logo which will be displayed in the invoice.
Currently the application supports 2 types of invoices:
- Time based invoice
- Product based invoice
This type of invoice is used when the user wants to charge the client based on the time spent on the project. The user can add multiple time entries and the application will calculate the total amount based on the hourly rate.
This type of invoice is used when the user wants to charge the client based on the products/services provided. The user can add multiple products/services and the application will calculate the total amount based on the price of the product/service.
For detailed documentation, please refer to the wiki.
Take a look at the contributing guidelines for this project.