Skip to content

psbfinances/psbfinances

Repository files navigation

psbFinances
pbsfinances

Personal and Small Businesses Financial Manager

psbFinances is an open source application to manage personal and small business finances.

Introduction

psbFinances is an open-source web application to manage personal and small business finances "under one roof". Think of it as a combination of Mint and QuickBooks Self-Employed.

Purpose

psbFiances allows managing personal and small business finances in a single application. Users who will get the most benefit from it are those who:

  • manage their personal finances
  • have small businesses, and
  • do the accounting themselves.

Example: if you ever used your credit card to make purchase for both personal and business needs, or need to split your purchase to personal and business, then psbFinances will be a useful tool for you, especially if you have multiple businesses.

Features

  • Import transactions from multiple sources (Mint, Apple Card)
  • Add transactions manually
  • Categorise transaction as personal or business (assign it to a specific business)
  • Add your own personal categories and use business categories as they are defined in tax return
  • Split transaction to personal and business
  • Track car mileages for your business taxes
  • Setup detailed budget for each month/year
  • Schedule future transactions and reconcile them when you have bank statement
  • View projected cash flow
  • Use comprehensive dashboard to monitor personal and business financial health
  • Let multiple users to use the application
  • Track all the changes that were made by users (who, what, when)
  • Create followup task for transaction and assign it to a specific user
  • Attach copies of receipts or other documents to transactions
  • Create rules for imported data to automatically assign to specific categories and/or businesses.

Who is it for?

This application is primarily for those who:

  • manage their personal finances
  • have at least one small business
  • does their own accounting and want to keep it simple

What it's not

psbFinances is not a tool:

  • to automatically download your financial data from multiple institutes (data scraping)
  • to have a complex financial accounting (General Ledger, Chart of Accounts)

Get started

Requirements

To run psbFinances you will need a server with:

Installation steps

1. Clone the repository

Clone psbFinances repository and install dependencies:

git clone https://github.com/pbsfinances/psbfinances.git psbfiannces
cd psbfiances
npm i

2. Setup the database

Log in with the root account to configure the database.

mysql -u root -p

Create a database called 'psbf'.

CREATE DATABASE psbf CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Create a user called 'psbf' and its password 'strong-password'.

CREATE USER 'psbf'@'localhost' IDENTIFIED BY 'strong-password';

Authorize the new user on the psbf database so that user is allowed to change the database.

GRANT ALTER, CREATE, INDEX, DELETE, INSERT, UPDATE, SELECT ON psbf.* TO 'psbf'@'localhost';

Apply the changes and exit the database.

FLUSH PRIVILEGES;
exit

3. Configure the application

Copy development configuration file server/config/config._dev.yaml to server/config/config.dev.yaml.

Generate JWT secret that is required for user authentication. There are many ways to do that, check this Q&A from StackOverflow.

Update server/config/config.dev.yaml file with database settings and JWT secret.

4. Run the application

Run the server:

npm run start:server

Run frontend with webpack development server:

npm run start:web

Use psbFinances

1. Launch the application

Open browser and navigate to localhost:9001.

2. Create first user account

On the home screen click [Sign Up] button, enter an email and password, and click [Sign Up].

3. Add data

3.1 Manual setup

Start by navigating to Settings and add at least:

  • Account
  • Business
  • Categories (psbFiances add categories for business transactions automatically)

Go to Transactons and add a transaction manually by clicking [+].

3.2. Mint import

Another option is to import transactions from Mint:

  • Download Mint transactions (see help)
  • Navigate to Settings, Imports
  • Select downloaded file with transactions
  • Select Mint as a format, and click [Import]

This will import transactions and create accounts and categories. The table will show information about the imported file. Please note that you can undo the import by clicking [Undo] button, but note that this button is available for a short period of time after import.

4. Final step

And now have Fun.

Acronyms

TL - Transaction List
TF - Transaction From

License

Copyright © 2020–2022

psbFinances is open-source under the GNU Affero General Public License Version 3 (AGPLv3). Check it here.