An accounting application built on the idea that small business bookkeeping doesn't have to be scary.
View Demo
·
Report Bug
·
Request Feature
Centsible exists because people that run their own businesses and people that enjoy accounting don't often overlap. Centsible uses simple language and the minimum points of interaction possible, so you still get to spend your time actually running your business, and your bookkeeper doesn't have a heart attack when you hand them a shoebox of crumpled receipts at the end of the year.
This application is built entirely using HTML, CSS, and JavaScript. Frameworks and technologies utilized include:
- Node
- Express
- MongoDB - NoSQL database
- EJS - view templating
- MongoDB Atlas - cloud database service
- Cloudinary - cloud image hosting
- Tailwind - styling
- DaisyUI - styling
- Heroku - application hosting
- Track income and expense by payee and account
- Add documentation directly to transactions, so supporting documents are available at a glance
- Utilizes controls so transactions can only be added to existing payees and accounts
- Sorts, filters, and groups galore: sort ascending or descending by multiple fields, filter by date, group by payee or account
- Includes a dashboard to quickly view financial status at a glance.
- To get started, create an account on the Centsible website.
- Once you login, you will be greeted by the "Dashboard" page.
- In the navigation menu, click "Transactions", then create a new example transaction.
- To do this, in the "Add a Transaction" form, select a date, payee, amount, and whether the transaction is income or expense.
- The "Payee" and "Account" fields will be prepopulated by a few examples you can use. Pick from those.
- Documentation and description are optional.
- When you have completed the "Add a Transaction" fields, click the yellow "Add Transaction" button.
- You now have your first transaction. To see details about it, in the "Transactions" table below the "Add a Transaction" form you just used, click the info button on the far right of the transaction's table row.
- Now try adding your own entities and accounts through their respective buttons on the navigation bar at the top of the screen, or by using the blue "plus" icons next to Payee and Account on the "Add a Transaction" form from Step 3.
- Once you have a few transactions entered, check out the dashboard to see your financial status at a glance.
- Transaction - a financial activity of the user either receiving money (income) or giving money (expense).
- Payee - the party to a transaction that is not the user. Payees can be selected from the list of Entities.
- Account - the category to which a transaction relates. Answers the question "What was this for?".
- Type - the type of transaction, income or expense.
- Basic CRUD functionality
- Authentication
- Entity and account controls
- Attachments
- Transaction sorting, filtering, and grouping
- Dashboard for high-level analysis
- Transaction export
- Allow selection of bank account corresponding to transaction
- Dashboard enhancement to show graphs, quick interactions, back-to-top button.
- Ability to take payments
See the open issues for a full list of proposed features (and known issues).
Do you love programming and accounting? I'd really appreciate your contributions.
If you have a suggestion that would improve this project, please add an issue on the issues page of this repo or fork this repo and create a pull request.
Distributed under the GPL License. See LICENSE.txt
for more information.
Kyle Jones - @kylejonesdev - kylejones.dev
Project Link: https://github.com/kylejonesdev/centsible
Here are just a few of the folks whose hard work I really appreciate: