Skip to content

CashTrack is a powerful tool that helps you split bills without splitting them. It's easy to use and helps you keep track of your expenses with a friend or family member.

License

Notifications You must be signed in to change notification settings

RichKMLS/cashTrack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 

Repository files navigation


cashTrack:sparkles:

Split the bill without splitting the bill



cash track example



CashTrack is a powerful tool that helps you split bills without splitting them. It's easy to use and helps you keep track of your expenses with a friend or family member.

CashTrack is a bash script that allows two people to pay for each other for various bills such as groceries, rent, gas, etc. It leverages signal-cli to track who has been spending more and allows the other person to make up the difference by spending money on the next bill. The goal is to keep the difference spent between both individuals around 0 dollars. All transactions are stored in an SQL database and each user can use the Signal messenger application to virtually send and request money. This tool is intended to be used with a dedicated signal account.

Installation

  1. In a virtual machine, install signal-cli: https://github.com/AsamK/signal-cli
  2. Create a new Signal account. (The phone number for this account will be the $USERNAME)
  3. Install sqlite3: apt install sqlite3
  4. Clone this repository: git clone https://github.com/originates/cashTrack.git

Setup

  1. Navigate to the cloned repository: cd cashTrack
  2. Modify the signal names and phone numbers in cashTrack to match the 2 users who will be using cashTrack
  • perA="EXAMPLE USER A"
  • perB="EXAMPLE USER B"
  • Aphone=15555555555
  • Bphone=15555555555
  1. start the signal-cli daemon using signal-cli -u "$USERNAME" daemon &> "/dev/null" &
  2. Run ./cashTrack to start the program.

Usage

To use the program, users can use the following commands:

  • r for request
  • s for send
  • xx to remove the last entry

CashTrack Example Usage:
1.) Erica and Sam go to a coffee shop. Erica buys a coffee as well as a coffee and a donut for Sam.
2.) Erica then sends the message r 6.04 coffee and donut to signal-bot since she wants to request that money from Sam.

This will add 6.04 to Erica's balance and subtract 6.04 from Sam's balance.
Both users will be notified instantly that the transaction succeeded and will tell them their new balance.
The message will also include the note 'coffee and donut.'

Reporting Bugs or Issues

If you find any bugs or issues with this project, please open an issue on GitHub.

License

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

Releases

No releases published

Packages

No packages published

Languages