Skip to content

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

License

Notifications You must be signed in to change notification settings

keizerworks/invoicen

Repository files navigation

Invoicen

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.

Features

  1. Create and manage invoice
  2. Download invoice as PDF
  3. Send invoice as email

System overview

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
Loading

There will be 2 types of users:

  1. As a guest user
  2. As a registered user

Guest User

  1. Guest users can create invoices without signing up.
  2. They can download the invoice as PDF.
  3. The invoice will be stored in the browser's local storage.

Registered User

  1. Registered users can create invoices and save them.
  2. They can download the invoice as PDF.
  3. The invoice will be stored in the database.
  4. They can save their payment details, company details, etc for future use.
  5. They can also send the invoice as an email.
  6. They can access all the invoices they have created in the past.
  7. They can upload their logo which will be displayed in the invoice.

Types of Invoices

Currently the application supports 2 types of invoices:

  1. Time based invoice
  2. Product based invoice

Time 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.

Product based invoice

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.

Tech Stack

  1. Next.js
  2. Tailwind CSS
  3. Shadcn
  4. PostgreSQL

Docs

For detailed documentation, please refer to the wiki.

Contributing

Take a look at the contributing guidelines for this project.

About

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

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published