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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 974a379630080a4b8ec174d0b79fe46ce629f0c0fab0c6e147e3b1e4cd472c3f
4
- data.tar.gz: 289a1cccf88c3ab27fccac9bfd98c9b4e88f4d14d791d92ebcf52dfd6d7509ee
3
+ metadata.gz: 1a8a97b91bfab197a09e82f35e6561831edb0870e25c612344c98b262664bee4
4
+ data.tar.gz: 0dafb32fa34cf005ad0f2d967919ae00ff943fe11c5ab0326876172af2ce982d
5
5
  SHA512:
6
- metadata.gz: 57489817b4cae0dd70db00ee4fc10f8fc432ebb1a6ed01a93b6c1f646b681ae5eb456d171c5a7fe2d981bada1771da33eccba7ed08cebceee57925c5c1bb7560
7
- data.tar.gz: 2f530db52499773bae28f24f6ee4cf0a243056b6e8df9a83723826b132b4cecc558451bcf357840946e437e6e22740aa4b7d417789df84ec3bbba6050917fe57
6
+ metadata.gz: bb122c867c07f9ec2ee5d7fc1b5951b90ee13eeb3472830660959588927ca20ddc84555240f197297d8a9d120970523872464dd6349ce05921d392c9c3f9d1f1
7
+ data.tar.gz: c5cdd3272ae72c67c28e011d4c57710289f78cd7b396a809c6875eb442d9665be23a2eb5f2ba54b2e4e61af9659ffb490ec83e80bdab80cb711708c40d771aed
@@ -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 top level is a directory containing your data for a given entity for a single reporting period (probably a year).
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
- * `references`
37
- * `statements`
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 five 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 are handled specially though -- you can specify a receipt in a journal and it will be checked for existence in the Receipts report. In the future we hope to generate hyperlinks to both receipts and invoices in the journal reports.
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 this directory tree with version control software such as `git` is _highly_ recommended because it provides:
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 is recommended
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 something like this:
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
- | Note: |
5
+ | Other documentation files: |
4
6
  | ---- |
5
- | The [manual.md file](manual.md) has more detailed information about RockBooks usage. |
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
- **A simple but useful accounting software application for very small entities.**
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, there is a processing step (a single command) that is done to validate the input and generate the reports and home page. (This could be automated using `guard`, etc.) An `index.html` 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.
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", "journals"). Some understanding of accounting or bookkeeping principles is helpful but not absolutely necessary.
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.10.0 at https://github.com/keithrbennett/rock_books]
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
 
@@ -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.
@@ -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.
@@ -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>
@@ -1,4 +1,4 @@
1
1
  module RockBooks
2
- VERSION = '0.10.0'
2
+ VERSION = '0.11.0'
3
3
  PROJECT_URL = 'https://github.com/keithrbennett/rock_books'
4
4
  end
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.10.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-25 00:00:00.000000000 Z
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