rock_books 0.10.0 → 0.11.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/{manual.md → MANUAL.md} +14 -11
- data/README.md +14 -6
- data/RELEASE_NOTES.md +10 -0
- data/REPORTS.md +81 -0
- data/assets/doc-images/sample-index-html.png +0 -0
- data/lib/rock_books/reports/templates/html/index.html.erb +23 -1
- data/lib/rock_books/version.rb +1 -1
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1a8a97b91bfab197a09e82f35e6561831edb0870e25c612344c98b262664bee4
|
4
|
+
data.tar.gz: 0dafb32fa34cf005ad0f2d967919ae00ff943fe11c5ab0326876172af2ce982d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bb122c867c07f9ec2ee5d7fc1b5951b90ee13eeb3472830660959588927ca20ddc84555240f197297d8a9d120970523872464dd6349ce05921d392c9c3f9d1f1
|
7
|
+
data.tar.gz: c5cdd3272ae72c67c28e011d4c57710289f78cd7b396a809c6875eb442d9665be23a2eb5f2ba54b2e4e61af9659ffb490ec83e80bdab80cb711708c40d771aed
|
data/{manual.md → MANUAL.md}
RENAMED
@@ -1,5 +1,7 @@
|
|
1
1
|
# RockBooks Manual
|
2
2
|
|
3
|
+
[[return to README](README.md)]
|
4
|
+
|
3
5
|
|
4
6
|
| Note: |
|
5
7
|
| ---- |
|
@@ -25,26 +27,27 @@ It is recommended that you create a directory structure such as this:
|
|
25
27
|
│ └── worksheets
|
26
28
|
```
|
27
29
|
|
28
|
-
The
|
30
|
+
The directory tree will contain your data for a given entity for a single reporting period (probably a year).
|
29
31
|
|
30
32
|
Here are the subdirectories:
|
31
33
|
|
32
34
|
* `rockbooks-inputs` - all input documents (chart of accounts, journals)
|
33
35
|
* `rockbooks-reports` - all generated reports and web content
|
34
|
-
* `receipts`
|
35
|
-
* `invoices`
|
36
|
-
* `
|
37
|
-
* `
|
38
|
-
* `worksheets`
|
36
|
+
* `receipts` - receipts and invoices from vendors
|
37
|
+
* `invoices` - sales invoices (not invoices from vendors)
|
38
|
+
* `statements` - downloaded statements from financial institutions, etc.
|
39
|
+
* `worksheets` - supporting worksheets (e.g. for mileage allowances, meals and incidental allowances)
|
39
40
|
|
40
|
-
The last
|
41
|
+
The last four can contain your non-RockBooks specific files that you would normally keep anyway. These directories will be offered by the reports home page web interface merely to navigate the filesystem, with links to view the files using the default application for that file type. Receipts and invoices are handled specially though -- you can specify a receipt or invoice filespec in a journal and its file will be linked to in the corresponding report transaction. In the Receipts report, receipts specified are checked for existence, and existing receipts files are checked for references in the journals; in the future we hope to do so for invoices as well.
|
41
42
|
|
42
43
|
Feel free to organize your files in subdirectories of these directories in whatever way makes sense to you. I have subdirectories of `receipts` for each month (`01`, `02` ... `12`).
|
43
44
|
|
45
|
+
In addition to the directories listed above, feel free to create other directories to organize your data. For example, you might want a `govt` directory for documents relating to business registration and licensing. Although there is no dedicated button for these additional directories on the data home page, you will be able to navigate to it with the `Browse All Data Files` button.
|
46
|
+
|
44
47
|
|
45
48
|
### Version Control
|
46
49
|
|
47
|
-
Tracking
|
50
|
+
Tracking your data directory tree with version control software such as `git` is _highly_ recommended because it provides:
|
48
51
|
|
49
52
|
* free cloud backup in a private repository with Github, Gitlab, and/or Bitbucket
|
50
53
|
* an audit trail with human readable diffs
|
@@ -162,10 +165,10 @@ that will be used. Each account should contain the following fields:
|
|
162
165
|
| ------------- | ------------- |
|
163
166
|
| code | a short string with which to identify an account, e.g. `ret.earn` for retained earnings
|
164
167
|
| type | 'A' for asset, 'L' for liability, 'O' for (owners) equity, 'I' for income, and 'E' for expenses.
|
165
|
-
| name | a longer more descriptive name, used in reports, so no more than 30 or so characters long
|
168
|
+
| name | a longer more descriptive name, used in reports, so no more than 30 or so characters long
|
166
169
|
|
167
170
|
|
168
|
-
So, the chart of accounts data might include
|
171
|
+
So, the chart of accounts data might include the following accounts:
|
169
172
|
|
170
173
|
```
|
171
174
|
ck.xyz A XYZ Bank Checking Account
|
@@ -180,7 +183,7 @@ we recommend periods; they're much easier to type, and you'll be doing a _lot_ o
|
|
180
183
|
|
181
184
|
There is no maximum length for account codes, and reports will automatically align based
|
182
185
|
on the longest account code. However, keep in mind that you will need to type these codes,
|
183
|
-
and they will consume space in reports.
|
186
|
+
and they will consume valuable horizontal space in reports.
|
184
187
|
|
185
188
|
For clarity, it is recommended that all accounts for each of the five account types be grouped together. That is, list all the assets first, then all the liabilities, etc.
|
186
189
|
|
data/README.md
CHANGED
@@ -1,14 +1,20 @@
|
|
1
1
|
# RockBooks
|
2
|
+
### A simple but useful free and open source accounting application for very small entities [[link]](https://github.com/keithrbennett/rock_books).
|
3
|
+
#### Sponsored and Written by [Keith Bennett](https://github.com/keithrbennett) of [Bennett Business Solutions, Inc.](https://www.bbs-software.com)
|
2
4
|
|
3
|
-
|
|
5
|
+
| Other documentation files: |
|
4
6
|
| ---- |
|
5
|
-
|
|
7
|
+
| * [MANUAL.md](MANUAL.md) - more detailed information about RockBooks usage, especially setting up the data directory and inputting data. |
|
8
|
+
| * [REPORTS.md](REPORTS.md) - viewing the generated reports |
|
9
|
+
| * [RELEASE_NOTES.md](RELEASE_NOTES.md) |
|
6
10
|
|
7
|
-
|
11
|
+
The generated reports and supporting files can be submitted in the form of a zip file to an accountant, _who does not need any special software_ to view them...only a web browser.
|
8
12
|
|
9
13
|
A supreme goal of this project is to give _you_ control over your data. Want to serialize it to YAML, JSON, CSV, or manipulate it in your custom code? No problem!
|
10
14
|
|
11
|
-
After entering the data in input files,
|
15
|
+
After entering the data in input files, a single command validates the input and generates the reports and home page. A `rockbooks_reports/html/index.html` file is generated that links to the reports, input documents, receipts, invoices, statements, worksheets, etc., in a unified interface. This `index.html` can be opened locally using a `file:///` URL but the directory tree can easily be copied to a web server for shared and/or remote access. Here is an example page:
|
16
|
+
|
17
|
+
![sample RockBooks data home page](assets/doc-images/sample-index-html.png "Sample RockBooks Data Home Page")
|
12
18
|
|
13
19
|
#### How RockBooks Is Different
|
14
20
|
|
@@ -18,7 +24,7 @@ RockBooks is different in many ways.
|
|
18
24
|
|
19
25
|
The software is in the form of Ruby classes and objects that can be incorporated into your own code for your own customizations. The data is available to programmers as Ruby objects (and therefore JSON, YAML, etc.) In addition, RockBooks could be used as an engine with alternate pluggable UI's. Feel free to write a web app for inputting the data!
|
20
26
|
|
21
|
-
Rather than hiding accounting concepts from the user, RockBooks embraces and exposes them. There is no attempt to hide the traditional double entry bookkeeping system, with debits and credits. Accounting terminology is used throughout (e.g. "chart of accounts"
|
27
|
+
Rather than hiding accounting concepts from the user, RockBooks embraces and exposes them. There is no attempt to hide the traditional double entry bookkeeping system, with debits and credits. Accounting terminology is used throughout (e.g. "chart of accounts" and "journals"). Some understanding of accounting or bookkeeping principles is helpful but not absolutely necessary.
|
22
28
|
|
23
29
|
To simplify its implementation, RockBooks assumes some conventions:
|
24
30
|
|
@@ -57,7 +63,7 @@ There is no handling of end of year closings or the like; the entire set of data
|
|
57
63
|
#### RockBooks Help Text
|
58
64
|
|
59
65
|
```
|
60
|
-
Command Line Switches: [rock-books version 0.
|
66
|
+
Command Line Switches: [rock-books version 0.11.0 at https://github.com/keithrbennett/rock_books]
|
61
67
|
|
62
68
|
-i input directory specification, default: './rockbooks-inputs'
|
63
69
|
-o output (reports) directory specification, default: './rockbooks-reports'
|
@@ -93,6 +99,8 @@ RockBooks lacks many conveniences of traditional accounting software programs, s
|
|
93
99
|
* Import of data from financial institutions
|
94
100
|
* On the fly data validation
|
95
101
|
* Data entry conveniences such as drop down selection lists for data such as accounts
|
102
|
+
* Tracking of receivables and payables (other than generating the standard report set)
|
103
|
+
* Aggregation of sub-accounts, such as aggregating separate receivable accounts for each client
|
96
104
|
* Fancy reporting and graphing -- however, RockBooks' bringing links to all the entity's documentation and output into a single web page may well be more useful
|
97
105
|
|
98
106
|
|
data/RELEASE_NOTES.md
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
# Release Notes
|
2
|
+
|
3
|
+
[[go to README](README.md)]
|
4
|
+
|
5
|
+
### v0.11.0
|
6
|
+
|
7
|
+
* Add and fix documentation, especially addition of REPORTS.md about viewing the generated reports.
|
8
|
+
* Add "Original Input Documents" and "Browse All Data Files" buttons to generated index.html.
|
9
|
+
|
10
|
+
|
1
11
|
### v0.10.0
|
2
12
|
|
3
13
|
* Add invoice hyperlinks to generated HTML.
|
data/REPORTS.md
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
# Viewing the RockBooks Generated Reports
|
2
|
+
|
3
|
+
[[return to README](README.md)]
|
4
|
+
|
5
|
+
[Note to Accountants: Your client may send their tax information to you in the form of a zip file.
|
6
|
+
In order for the web links to work, it is necessary to unzip this file onto your system.
|
7
|
+
(That is, it is not enough to just click into the zip file in a file explorer.)]
|
8
|
+
|
9
|
+
## Viewing the Data
|
10
|
+
|
11
|
+
To view the generated reports and their supporting documents, you will need to open the file
|
12
|
+
`rockbooks_reports/html/index.html`. Using a file explorer (e.g. _Explorer_ on Windows or _Finder_ on Mac)
|
13
|
+
you can double-click `rockbook-reports`, then double-click `html`, then double-click `index.html`.
|
14
|
+
This should bring up a page looking something like this:
|
15
|
+
|
16
|
+
![sample RockBooks data home page](assets/doc-images/sample-index-html.png "Sample RockBooks Data Home Page")
|
17
|
+
|
18
|
+
## ! Important Security Warning !
|
19
|
+
|
20
|
+
The generated HTML files are intended for local and individual use only. For your convenience, they contain links that enable you to navigate your data directories, but also your entire file system. _Making your files accessible via a web server or screen sharing would enable the remote user to view all the files on your system and is not recommended!_ You can give others access to your files safely by instead sending them only the data files, most conveniently in the form of a zip file.
|
21
|
+
|
22
|
+
## Initially Submitted Data is Not Necessarily Final
|
23
|
+
|
24
|
+
When you initially submit your data to your accountant, he or she may offer corrections and suggestions. Be prepared to regenerate the reports after making any changes. It's easy to do; in a terminal, run `rock_books w` in the project data directory.
|
25
|
+
|
26
|
+
Assuming the accountant wants a zip file, in a terminal, run `zip -r my-data.zip .` (although this would work, it's probably better to specify the zip file in a different directory, e.g. `zip -r ~/temp/my-data.zip .`, so that you don't include other backups in your backup). Alternatively you could use a GUI application to do the same. (In order to keep track of multiple versions of the data, I suggest including the date/time in the filename, e.g. `2021-01-25_17-32-02_2020-bbs-data.zip`.)
|
27
|
+
|
28
|
+
|
29
|
+
## Supporting Documents
|
30
|
+
|
31
|
+
The "Supporting Documents" buttons merely link you to the corresponding directories extracted from the zip file. The "Original Input Documents" are the text files in which the client has recorded the transactions.
|
32
|
+
|
33
|
+
## Invoices and Receipts
|
34
|
+
|
35
|
+
There are buttons with which you can navigate the invoices and receipts directory trees (i.e. folders and subfolders). This can be useful, but the reports should contain appropriate links to invoices and receipts _per transaction_, and this might be how you prefer to view them.
|
36
|
+
|
37
|
+
## Beginning Account Balances
|
38
|
+
|
39
|
+
Currently the software does not differentiate between an account's initial balance and a transaction on the first day of a period. That is, there is no implementation of beginning balances; one simulates this by recording a transaction in the general journal on January 1st.
|
40
|
+
|
41
|
+
## HTML, PDF, and Text Formats
|
42
|
+
|
43
|
+
The simplest and most productive way to view the data is opening its `index.html` page in a web browser, but each report is also provided in text and PDF formats, in case that might be useful to you.
|
44
|
+
|
45
|
+
## Browsing the Files
|
46
|
+
|
47
|
+
If you want to view files _in addition to_ those already available with other buttons, you can click the `Browse` button next to `Browse All Data Files` at the bottom of the home page. This will display a listing of the data directory from its top. Here is a sample RockBooks data directory tree:
|
48
|
+
|
49
|
+
```
|
50
|
+
├── govt
|
51
|
+
├── invoices
|
52
|
+
├── misc
|
53
|
+
├── receipts
|
54
|
+
│ ├── 01
|
55
|
+
│ ├── 02
|
56
|
+
│ ├── 03
|
57
|
+
│ ├── 04
|
58
|
+
│ ├── 05
|
59
|
+
│ ├── 06
|
60
|
+
│ ├── 07
|
61
|
+
│ ├── 08
|
62
|
+
│ ├── 09
|
63
|
+
│ ├── 10
|
64
|
+
│ ├── 11
|
65
|
+
│ └── 12
|
66
|
+
├── rockbooks-inputs
|
67
|
+
├── rockbooks-reports
|
68
|
+
│ ├── html
|
69
|
+
│ │ └── single-account
|
70
|
+
│ ├── pdf
|
71
|
+
│ │ └── single-account
|
72
|
+
│ └── txt
|
73
|
+
│ └── single-account
|
74
|
+
├── statements
|
75
|
+
│ ├── pnc-checking
|
76
|
+
│ ├── pnc-visa
|
77
|
+
│ └── southwest-visa
|
78
|
+
└── worksheets
|
79
|
+
```
|
80
|
+
|
81
|
+
As an example of a useful directory that is not accessible via the other buttons, you can see a `govt` directory. This might be where the client has stored documents relating to business registration, licenses, etc.
|
Binary file
|
@@ -34,6 +34,10 @@
|
|
34
34
|
color: #01182d;
|
35
35
|
border: 0px;
|
36
36
|
}
|
37
|
+
|
38
|
+
.lower_button_width {
|
39
|
+
min-width: 100px;
|
40
|
+
}
|
37
41
|
</style>
|
38
42
|
</head>
|
39
43
|
|
@@ -72,6 +76,7 @@
|
|
72
76
|
<%= subdir_link.('receipts', 'Receipts') %>
|
73
77
|
<%= subdir_link.('statements', 'Statements') %>
|
74
78
|
<%= subdir_link.('worksheets', 'Worksheets') %>
|
79
|
+
<%= subdir_link.('rockbooks-inputs', 'Original Input Documents') %>
|
75
80
|
</div>
|
76
81
|
|
77
82
|
|
@@ -89,7 +94,7 @@
|
|
89
94
|
<div class="row">
|
90
95
|
|
91
96
|
<div class="col-sm2" style="margin-right: 12px;">
|
92
|
-
<a class="btn btn-primary" data-toggle="collapse" href="#{href}" role="button" aria-expanded="false" aria-controls="collapseExample">
|
97
|
+
<a class="btn btn-primary lower_button_width" data-toggle="collapse" href="#{href}" role="button" aria-expanded="false" aria-controls="collapseExample">
|
93
98
|
+/-
|
94
99
|
</a>
|
95
100
|
</div>
|
@@ -154,5 +159,22 @@
|
|
154
159
|
</div>
|
155
160
|
</div>
|
156
161
|
|
162
|
+
|
163
|
+
<br /><br />
|
164
|
+
|
165
|
+
<div class="container-fluid">
|
166
|
+
<div class="row">
|
167
|
+
|
168
|
+
<div class="col-sm2" style="margin-right: 12px;">
|
169
|
+
<a class="btn btn-primary lower_button_width" href="../..">
|
170
|
+
Browse
|
171
|
+
</a>
|
172
|
+
</div>
|
173
|
+
|
174
|
+
<div class="col-sm10">
|
175
|
+
<h2 style="margin: 0px;">Browse All Data Files</h2>
|
176
|
+
</div>
|
177
|
+
</div>
|
178
|
+
</div>
|
157
179
|
</body>
|
158
180
|
</html>
|
data/lib/rock_books/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rock_books
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Keith Bennett
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-01-
|
11
|
+
date: 2021-01-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: amazing_print
|
@@ -136,9 +136,12 @@ files:
|
|
136
136
|
- ".travis.yml"
|
137
137
|
- Gemfile
|
138
138
|
- LICENSE.txt
|
139
|
+
- MANUAL.md
|
139
140
|
- README.md
|
140
141
|
- RELEASE_NOTES.md
|
142
|
+
- REPORTS.md
|
141
143
|
- Rakefile
|
144
|
+
- assets/doc-images/sample-index-html.png
|
142
145
|
- assets/fonts/JetBrainsMono-Medium.ttf
|
143
146
|
- bin/console
|
144
147
|
- bin/setup
|
@@ -196,7 +199,6 @@ files:
|
|
196
199
|
- lib/rock_books/types/acct_amount.rb
|
197
200
|
- lib/rock_books/types/journal_entry_context.rb
|
198
201
|
- lib/rock_books/version.rb
|
199
|
-
- manual.md
|
200
202
|
- rock_books.gemspec
|
201
203
|
- sample_data/minimal/receipts/01/2018-01-01-sample-receipt.jpg
|
202
204
|
- sample_data/minimal/rockbooks-inputs/2018-xyz-chart-of-accounts.txt
|