Compare commits
2 Commits
9a28bfbf64
...
a44e0f145d
Author | SHA1 | Date |
---|---|---|
scoobybejesus | a44e0f145d | |
scoobybejesus | 3c7e01a42c |
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "cryptools"
|
name = "cryptools"
|
||||||
version = "0.9.2"
|
version = "0.9.3"
|
||||||
authors = ["scoobybejesus <scoobybejesus@users.noreply.github.com>"]
|
authors = ["scoobybejesus <scoobybejesus@users.noreply.github.com>"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
description = "Command-line utility for processing cryptocurrency transactions into 'lots' and 'movements'."
|
description = "Command-line utility for processing cryptocurrency transactions into 'lots' and 'movements'."
|
||||||
|
|
|
@ -60,11 +60,11 @@ The truth is that the input file is simple to maintain once it is brought curren
|
||||||
The rules for successfully preparing and maintaining the input file can generally be summarized as follows:
|
The rules for successfully preparing and maintaining the input file can generally be summarized as follows:
|
||||||
|
|
||||||
1. The first account must be given number `1`, and each additional account must count up sequentially.
|
1. The first account must be given number `1`, and each additional account must count up sequentially.
|
||||||
2. Margin quote account `ticker`s must be followed by an underscore and the base account ticker (i.e., `BTC_xmr`).
|
2. `Proceeds` is the value of the transaction (measured in the home currency), whether spent, received, or exchanged.
|
||||||
3. `Proceeds` is the value of the transaction (measured in the home currency), whether spent, received, or exchanged.
|
|
||||||
It is **required** in order to properly calculate income/expense/gain/loss.
|
It is **required** in order to properly calculate income/expense/gain/loss.
|
||||||
4. `Proceeds` must have a period as a decimal separator (`1,000.00` not `1.000,00`) and must not contain the ticker or symbol (USD or $).
|
3. `Proceeds` must have a period as the decimal separator (`1,000.00` not `1.000,00`) and must not contain the ticker or symbol (USD or $).
|
||||||
5. Only home currency accounts can have negative balances. Crypto accounts may not go negative at any time.
|
4. Margin quote account `ticker`s must be followed by an underscore and the base account ticker (i.e., `BTC_xmr`).
|
||||||
|
5. Only home currency accounts can have negative balances. Non-margin crypto accounts may not go negative at any time.
|
||||||
(Exception: crypto margin accounts may go negative.)
|
(Exception: crypto margin accounts may go negative.)
|
||||||
|
|
||||||
As you can see, most of the rules can generally be ignored.
|
As you can see, most of the rules can generally be ignored.
|
||||||
|
|
12
README.md
12
README.md
|
@ -8,6 +8,8 @@ This is a command-line tool that calculates income, expenses, realized gains, re
|
||||||
and holding period from cryptocurrency activity and denominates the results in the user's home currency.
|
and holding period from cryptocurrency activity and denominates the results in the user's home currency.
|
||||||
The default home currency is USD, but any currency can be substituted.
|
The default home currency is USD, but any currency can be substituted.
|
||||||
This tool is probably most useful for filling out a tax return or making tax planning decisions.
|
This tool is probably most useful for filling out a tax return or making tax planning decisions.
|
||||||
|
It is already mildly difficult to do the prep work (CSV input file, below) for using a tool like this,
|
||||||
|
so a person wanted this for a quick fix may be disappointed.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
@ -70,6 +72,8 @@ The program is right, and your data is right, but Excel modified your data, so t
|
||||||
The solution is to have Excel already open, then in the ribbon's Data tab, you'll import your CSV file "From Text."
|
The solution is to have Excel already open, then in the ribbon's Data tab, you'll import your CSV file "From Text."
|
||||||
You'll choose Delimited, and Comma, and then highlight every column and choose Text as the data type.
|
You'll choose Delimited, and Comma, and then highlight every column and choose Text as the data type.
|
||||||
|
|
||||||
|
* Currently, does not build on Windows due to the Termion crate (used for the print menu).
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
1. `git clone https://github.com/scoobybejesus/cryptools.git`
|
1. `git clone https://github.com/scoobybejesus/cryptools.git`
|
||||||
|
@ -89,7 +93,7 @@ To skip the wizard, there are three requirements:
|
||||||
* The `-a` flag must be passed.
|
* The `-a` flag must be passed.
|
||||||
* The configuration settings you require are the same as default, or you set the appropriate environment variables, or you have a `.env` file.
|
* The configuration settings you require are the same as default, or you set the appropriate environment variables, or you have a `.env` file.
|
||||||
|
|
||||||
`cryptools` will panic and spit out an error message if your CSV input file is malformed.
|
`cryptools` will spit out an error message and then exit/panic if your CSV input file is malformed.
|
||||||
The error message will generally tell you why.
|
The error message will generally tell you why.
|
||||||
Consider using the python script (root directory of the repo) to sanitize your input file,
|
Consider using the python script (root directory of the repo) to sanitize your input file,
|
||||||
in case the file contains negative numbers in parentheses, numbers with commas, or extra rows/columns.
|
in case the file contains negative numbers in parentheses, numbers with commas, or extra rows/columns.
|
||||||
|
@ -103,6 +107,12 @@ If you wish to skip the wizard but require changes to default settings, copy `.e
|
||||||
The `.env` file must be placed in the directory from which `cryptools` is run or a parent directory.
|
The `.env` file must be placed in the directory from which `cryptools` is run or a parent directory.
|
||||||
Alternatively, the respective environment variables may be set manually.
|
Alternatively, the respective environment variables may be set manually.
|
||||||
|
|
||||||
|
#### Pro Tip
|
||||||
|
|
||||||
|
Hop into `/usr/local/bin`, and run `ln -s /path/to/cryptools/target/debug/cryptools cryptools`
|
||||||
|
and `ln -s /path/to/cryptools/clean_input_csv.py clean_input_csv` to be able to run the sanitizer
|
||||||
|
script and `cryptools` from the directory where you keep your CSV Input File.
|
||||||
|
|
||||||
## Development state
|
## Development state
|
||||||
|
|
||||||
As of fall 2020, the code does not require additional features in order for it to serve the project's founder.
|
As of fall 2020, the code does not require additional features in order for it to serve the project's founder.
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue