You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-`jsonType` simply means the type of the json file, there are `simple` and `advanced`. For more details refer to the [bluecoins import guide](http://www.bluecoinsapp.com/import-guide/).
35
-
-`outFile`*(optional)* describes the output file, which its members `filePath` signify the csv file path and `defaultAppend` determines if the default action is to append the existing file. `writeConfirm` determines if write confirmation has to be done.
35
+
-`outFile` (optional) describes the output file, where its members :
36
+
-`filePath` signify the csv file path
37
+
-`defaultAppend` determines if the default action is to append the existing file.
38
+
-`noConfirmation` determines if we commit to csv writing without asking for confirmation.
39
+
-`writebackChanges` determines if we want to update `bluecoinsBal` after each transaction is done. This is a destructive operation that overwrites the file if everything in memory.
40
+
-`writebackJSONSpacing` determines the spacing when we writeback the JSON file.
36
41
-`presetLists` is an array of objects consisting of `account type` and `category list`
37
-
-`type` is the type of account/transaction. Can be any value, but recommended values are `Account`, `Expense`, `Income`. You must have at least one category and child for each type.
38
-
-`cat` is the main category
39
-
-`child` is the child category
42
+
-`type` is the type of account/transaction. Can be any value, but recommended values are `Account`, `Expense`, `Income`. You must have at least one category and child for each type. The first element in the `presetLists` array must be describing account.
43
+
-`cat` describes the main category (E.g. `Bank` (For accounts), `Car` (For expenses) etc.)
44
+
-`child` is the child category, where more details are described:
45
+
-`childName` is the name of the child category (E.g. `Savings Account` (For accounts -> Bank), `Fuel` (For expenses -> Car))
46
+
-`currency` not used for this version, but is placed in for compatibility with future "advanced" CSV file creation.
47
+
-`bluecoinsBal` is a reference to the existing balance in the BlueCoins app. You are recommended to update this before inputting any entries. New entries will be deducted/added towards this value if `writebackChanges` is enabled.
48
+
-`targetBal` is to provide a check, to see if the inputs have hit the target balance. Useful for people that do lots of backlog entries.
49
+
50
+
### Data Dictionary
51
+
Added this section cause I've learnt in uni and cause it would be easier for you to know what went wrong in your configuration.
52
+
53
+
| Name/Key | Data Type | Optional? | Sample Input |
As of version 2.0, the json file will be unified for a single format that encompasses simple and advanced file type. It also has sections for backlogging support.
46
77
This is a sample file for a the json configuration. `a`(or, `account`) must be the first object in the `presetLists` array.
47
78
48
-
```
79
+
```json
49
80
{
50
81
"outFile":[
51
82
{
52
-
"advFormat" : true / false,
53
-
"filePath" : "<Your csv file path>",
54
-
"defaultAppend" : true / false,
55
-
"writeConfirm" : true
83
+
"defaultAppend": true/ false,,
84
+
"filePath": "<Your csv file path>"
85
+
"noConfirmation": true/ false,
86
+
"writebackChanges": true/ false,
87
+
"writebackJSONSpacing": 4
56
88
}
57
89
],
58
90
"presetLists":[
59
91
{
60
-
"type" : "a",
92
+
"type" : "a / e / i",
61
93
"catList" : [
62
94
{
63
95
"cat" : "Category1",
64
96
"child" : [
65
-
"Child1.1",
66
-
"Child1.2"
67
-
]
68
-
}
69
-
]
70
-
},
71
-
{
72
-
"type" : "e / i",
73
-
"catList" : [
74
-
{
75
-
"cat" : "Category2",
76
-
"child" : [
77
-
"Child2.1",
78
-
"Child2.2"
97
+
{
98
+
"childName" : "Child1.1",
99
+
"currency" : "MYR",
100
+
"bluecoinsBal" : 2000.00,
101
+
"targetBal": 1876.55
102
+
},{
103
+
"childName" : "Child1.2",
104
+
"currency" : "USD",
105
+
"bluecoinsBal" : 2000.00,
106
+
"targetBal" : 1000.00
107
+
}
79
108
]
80
109
}
81
110
]
111
+
}
82
112
]
83
113
}
84
114
```
85
115
You may also refer to "./Tests/ktn.json" for a real life sample file.
86
116
87
-
#### (Future) Prompted json file creation
88
-
Depending the popularity of this project, a tool may be created to facilitate this use case. You are always welcome to fork my project.
89
117
90
118
## Specifying default path
91
119
If you are compiling yourself, you may edit in your default path that you use to store your json and csv file so that you are not required to manual key in every time:
Starting from v1.3, there will be support for split transactions. Just toggle option no. 6 at the main menu. You will see an extra section of text when the option is toggled to "true".
101
-
- Do take note that for split transactions to work, the following need to be the same. Future versions of the program will add functionality to lock in required lock-in :
102
-
- Transaction Type
103
-
- Title
104
-
- Date, Time
105
-
- Using different label sets or status for each split is not currently supported. Only those from the first row will be used for each split transaction
129
+
- <strike>Do take note that for split transactions to work, the following need to be the same. Future versions of the program will add functionality to lock in required lock-in, namely Transaction Type, Title, Date, Time</strike> Functionality added in v2.0 .
130
+
- Using different title, label sets or status for each split is not currently supported. Only those from the first row will be used for each split transaction
106
131
107
132
## No support / not tested
108
133
- Compilers other than the one default in Visual Studio 2019
109
134
- CMake. Not tried yet.
110
135
111
-
## Project Milestones
112
-
- 23 July 2019, v1.3 released
113
-
- 6 July 2019, Development for v2.0 started at branch "development"
114
-
- 5 July 2019, v1.2 released
115
-
- 1 July 2019, v1.1 released
116
-
- 27 June 2019, Project announcement to the BlueCoins Community
117
-
- 26 June 2019, Transfers logic completed
118
-
- 24 June 2019, Overall completed
119
-
- 21 June 2019, json file standard decided
120
-
- 16 June 2019, Project Started
136
+
## Project Milestones
137
+
138
+
| Dates | Description |
139
+
| --- | --- |
140
+
| 7 September 2020 | v2.0 released |
141
+
| 26 August 2020 | Development for v2.0 resumed at branch "development" |
142
+
| 23 July 2019 | v1.3 released |
143
+
| 6 July 2019 | Development for v2.0 started at branch "development" |
144
+
| 5 July 2019 | v1.2 released |
145
+
| 1 July 2019 | v1.1 released |
146
+
| 27 June 2019 | Project announcement to the BlueCoins Community |
147
+
| 26 June 2019 | Transfers logic completed |
148
+
| 24 June 2019 | Overall completed |
149
+
| 21 June 2019 | json file standard decided |
150
+
| 16 June 2019 | Project Started |
151
+
152
+
## Known Issues
153
+
- "-1" to go back to previous fields does not work for locked fields. <strike>A little lazy to fix it cause it'll probably require much code rewriting. Aand I'm lazy.</strike> Probably will be fixed in v2.x .
121
154
122
155
## License
123
156
@@ -160,3 +193,9 @@ To be announced, depending on project popularity.
160
193
161
194
### Prompted json file creation
162
195
Depending the popularity of this project, a tool may be created to facilitate this use case. You are always welcome to fork my project.
196
+
197
+
### Alert after targetBal and bluecoinsBal are the same
198
+
To have another way of telling the user
199
+
200
+
### Option to stop userinput after targetBal and bluecoinsBal are the same
201
+
Well... To prevent users from accidentally inputting more than the file can handle?
0 commit comments