rock_books 0.7.0 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/{manual.md → MANUAL.md} +26 -26
  3. data/README.md +20 -12
  4. data/RELEASE_NOTES.md +55 -10
  5. data/REPORTS.md +81 -0
  6. data/assets/doc-images/sample-index-html.png +0 -0
  7. data/lib/rock_books/cmd_line/command_line_interface.rb +12 -21
  8. data/lib/rock_books/documents/book_set.rb +4 -1
  9. data/lib/rock_books/documents/journal.rb +2 -3
  10. data/lib/rock_books/reports/balance_sheet.rb +2 -2
  11. data/lib/rock_books/reports/book_set_reporter.rb +69 -55
  12. data/lib/rock_books/reports/data/bs_is_section_data.rb +3 -1
  13. data/lib/rock_books/reports/data/journal_data.rb +1 -0
  14. data/lib/rock_books/reports/data/multidoc_txn_by_account_data.rb +1 -1
  15. data/lib/rock_books/reports/data/tx_one_account_data.rb +1 -1
  16. data/lib/rock_books/reports/helpers/erb_helper.rb +1 -6
  17. data/lib/rock_books/reports/helpers/receipts_hyperlink_converter.rb +59 -0
  18. data/lib/rock_books/reports/helpers/{reporter.rb → text_report_helper.rb} +11 -1
  19. data/lib/rock_books/reports/income_statement.rb +2 -2
  20. data/lib/rock_books/reports/index_html_page.rb +27 -0
  21. data/lib/rock_books/reports/journal_report.rb +18 -8
  22. data/lib/rock_books/reports/multidoc_txn_by_account_report.rb +2 -2
  23. data/lib/rock_books/reports/multidoc_txn_report.rb +2 -2
  24. data/lib/rock_books/reports/receipts_report.rb +1 -1
  25. data/lib/rock_books/reports/templates/html/index.html.erb +45 -6
  26. data/lib/rock_books/reports/templates/html/report_page.html.erb +14 -1
  27. data/lib/rock_books/reports/templates/text/balance_sheet.txt.erb +2 -0
  28. data/lib/rock_books/reports/templates/text/income_statement.txt.erb +3 -1
  29. data/lib/rock_books/reports/templates/text/journal.txt.erb +5 -2
  30. data/lib/rock_books/reports/templates/text/multidoc_txn_by_account_report.txt.erb +3 -0
  31. data/lib/rock_books/reports/templates/text/multidoc_txn_report.txt.erb +3 -0
  32. data/lib/rock_books/reports/templates/text/receipts_report.txt.erb +3 -0
  33. data/lib/rock_books/reports/templates/text/tx_one_account.txt.erb +3 -0
  34. data/lib/rock_books/reports/tx_one_account.rb +2 -2
  35. data/lib/rock_books/version.rb +2 -1
  36. data/rock_books.gemspec +1 -0
  37. metadata +22 -5
  38. data/lib/rock_books/helpers/html_helper.rb +0 -35
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c30673728b99315fc841b99b96081751f91459663c736758b7340a317407cc56
4
- data.tar.gz: 751adad9c6038a85a696deb4076bbc93bbfb8a8650d53159aca691b281388d9f
3
+ metadata.gz: 1a8a97b91bfab197a09e82f35e6561831edb0870e25c612344c98b262664bee4
4
+ data.tar.gz: 0dafb32fa34cf005ad0f2d967919ae00ff943fe11c5ab0326876172af2ce982d
5
5
  SHA512:
6
- metadata.gz: 84ff76b2001eed18b4f4ec69f9949720a4dbca892f41a4fa6b96ddda9e19dde5660b34c514568f5410a117df8afddf84c33bf23ba31256efc2bceccbdb06bd01
7
- data.tar.gz: 2214c3b52b24bf4b9b822059c4f41c67d7d3fc3a6fc666b8a073be79a794c769d1403d8f164085e382e1714320d71cbacd0673f591b26dd958e43f7b4cb1ab50
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
  | ---- |
@@ -15,7 +17,7 @@ Install the RockBooks software:
15
17
  It is recommended that you create a directory structure such as this:
16
18
 
17
19
  ```.
18
- ├── 2018-xyz-inc
20
+ ├── 2021-xyz-inc
19
21
  │   ├── invoices
20
22
  │   ├── receipts
21
23
  │   ├── references
@@ -25,28 +27,29 @@ 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` in a private repository 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
- * free cloud backup with Github, Gitlab, and/or Bitbucket
52
+ * free cloud backup in a private repository with Github, Gitlab, and/or Bitbucket
50
53
  * an audit trail with human readable diffs
51
54
  * manageable collaboration
52
55
 
@@ -58,7 +61,7 @@ You will need a chart of accounts in the `rockbooks-inputs` directory. A sample
58
61
 
59
62
  ### Journals
60
63
 
61
- You will need journals. Usually there would be one journal per external financial institution accounts, such as checking and credit card accounts. Samples have been provided in the sample_data/minimal/rockbooks-inputs directory of the gem:
64
+ You will need journals. Usually there would be one journal per external financial institution account, such as checking and credit card accounts. Samples have been provided in the sample_data/minimal/rockbooks-inputs directory of the gem:
62
65
 
63
66
  * [Checking](sample_data/minimal/rockbooks-inputs/2018-xyz-checking-journal.txt)
64
67
  * [Credit Card](sample_data/minimal/rockbooks-inputs/2018-xyz-visa-journal.txt)
@@ -92,10 +95,8 @@ Fields are space separated; any number of spaces can be used.
92
95
 
93
96
  #### Comment Lines
94
97
 
95
- Lines beginning with `#` will be ignored when the input data is parsed. Comment lines are useful for:
96
-
97
- * explanations of the input itself
98
- * information that you would like to be available for deeper research or examination but not printed in the reports
98
+ Lines beginning with `#` will be ignored when the input data is parsed. Therefore, comment lines will not be included in the generated reports. Comment lines are useful for explanations that are too verbose for the reports, but that should be available for deeper research. An example might be several lines of explanatory notes about an unusual transaction.
99
+
99
100
 
100
101
  #### Document Properties
101
102
 
@@ -110,19 +111,19 @@ as opposed to input records, will be expressed as lines beginning with `@`:
110
111
 
111
112
  #### Input Records
112
113
 
113
- Input records are multiple records for the type appropriate to the document:
114
+ Input records are records of a type appropriate to the document:
114
115
 
115
116
  * chart of accounts - each account
116
117
  * journals - each transaction
117
118
 
118
- Input records are, in general, entered into the text files after all properties. One exception is that the `@date_prefix` is often specified in multiple places in the journal, usually with a new month (e.g. `@date_prefix: 2018-11`).
119
+ Input records are, in general, entered into the text files after all properties. One exception is that the `@date_prefix` is often specified in multiple places in the journal, usually with a new month (e.g. `@date_prefix: 2021-11`).
119
120
 
120
121
 
121
122
 
122
123
  Data lines will contain fields that an be separated with an arbitrary number of spaces, e.g.:
123
124
 
124
125
  ```
125
- 2018-05-18 123.45 supplies
126
+ 2021-05-18 123.45 supplies
126
127
  ```
127
128
 
128
129
  In journals, all entries will begin with dates, and all dates begin with numerals, so the
@@ -133,11 +134,11 @@ its other data and included in reports.
133
134
 
134
135
  In order to make the entry of dates more convenient, many documents will support
135
136
  a `@date_prefix` property that will be prepended to dates. For example, if this prefix
136
- contains `2018-`, then subsequent dates must exclude that prefix since it will be
137
+ contains `2021-`, then subsequent dates must exclude that prefix since it will be
137
138
  automatically prepended. So, for example, a journal might contain the following lines:
138
139
 
139
140
  ```
140
- @date_prefix: 2018-
141
+ @date_prefix: 2021-
141
142
  # ...more lines...
142
143
  05-29 37.50 ofc.spls
143
144
  05-30 22.20 tr.taxi
@@ -164,10 +165,10 @@ that will be used. Each account should contain the following fields:
164
165
  | ------------- | ------------- |
165
166
  | code | a short string with which to identify an account, e.g. `ret.earn` for retained earnings
166
167
  | type | 'A' for asset, 'L' for liability, 'O' for (owners) equity, 'I' for income, and 'E' for expenses.
167
- | 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
168
169
 
169
170
 
170
- So, the chart of accounts data might include something like this:
171
+ So, the chart of accounts data might include the following accounts:
171
172
 
172
173
  ```
173
174
  ck.xyz A XYZ Bank Checking Account
@@ -182,7 +183,7 @@ we recommend periods; they're much easier to type, and you'll be doing a _lot_ o
182
183
 
183
184
  There is no maximum length for account codes, and reports will automatically align based
184
185
  on the longest account code. However, keep in mind that you will need to type these codes,
185
- and they will consume space in reports.
186
+ and they will consume valuable horizontal space in reports.
186
187
 
187
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.
188
189
 
@@ -236,9 +237,8 @@ the cash account), you would set the property to `debit`:
236
237
 
237
238
  #### General Journal
238
239
 
239
- The general journal is a special form of journal that does not have a primary account.
240
-
241
- In this journal, debits and credits need to be specified literally as account code/amount
240
+ Since the general journal is a special form of journal that does not have a primary account,
241
+ debits and credits need to be specified literally as account code/amount
242
242
  pairs, where positive numbers will result in debits, and negative numbers will result in credits, e.g.:
243
243
 
244
244
  ```
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
 
@@ -47,17 +53,17 @@ Instead of a web interface, data input is done in plain text files. This isn't a
47
53
 
48
54
  * Users can use their favorite text editors.
49
55
 
50
- * All data entry can be done without moving the hands away from the keyboard.
56
+ * All data entry can be done without moving the hands away from the keyboard (assuming the editor software supports it, as does `vim`).
51
57
 
52
58
 
53
59
  #### The Accounting Period
54
60
 
55
- There is no handling of end of year closings or the like; the entire set of data in the input files is considered included in the reporting period when generating the reports. Therefore, the best approach is to create a new data set for each year. The chart of accounts and journal files can be copied and modified as necessary.
61
+ There is no handling of end of year closings or the like; the entire set of data in the input files is considered included in the reporting period when generating the reports. Therefore, the best approach is to create a new data set for each year. The chart of accounts and journal files can be copied from the previous year and modified as necessary.
56
62
 
57
63
  #### RockBooks Help Text
58
64
 
59
65
  ```
60
- Command Line Switches: [rock-books version 0.2.1 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'
@@ -66,14 +72,13 @@ Command Line Switches: [rock-books version 0.2.1 at https://g
66
72
 
67
73
  Commands:
68
74
 
69
- rec[eipts] - receipts: a/:a all, m/:m missing, e/:e existing
75
+ rec[eipts] - receipts: a/:a all, m/:m missing, e/:e existing, u/:u unused
70
76
  rep[orts] - return an OpenStruct containing all reports (interactive shell mode only)
71
- d[isplay_reports] - display all reports on stdout
72
77
  w[rite_reports] - write all reports to the output directory (see -o option)
73
78
  c[hart_of_accounts] - chart of accounts
74
79
  h[elp] - prints this help
75
80
  jo[urnals] - list of the journals' short names
76
- proj[ect_page] - open the RockBooks Github project page in a browser
81
+ proj[ect_page] - prints the RockBooks Github project page URL
77
82
  rel[oad_data] - reload data from input files
78
83
  q[uit] - exits this program (interactive shell mode only) (see also 'x')
79
84
  x[it] - exits this program (interactive shell mode only) (see also 'q')
@@ -88,11 +93,14 @@ When in interactive shell mode:
88
93
 
89
94
  ## What RockBooks Is Not
90
95
 
91
- As a product written by a single developer in his spare time, RockBooks lacks some conveniences of traditional accounting software programs, such as:
96
+ As a product written by a single developer in his spare time,
97
+ RockBooks lacks many conveniences of traditional accounting software programs, such as:
92
98
 
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,48 @@
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
+
11
+ ### v0.10.0
12
+
13
+ * Add invoice hyperlinks to generated HTML.
14
+ * Improve documentation.
15
+ * Add progress bar to report generation.
16
+ * Change 'proj[ect]' command to print the project home page URL, rather than call `open` on it. This makes the command useful in more cases and removes environment dependency.
17
+ * Remove interactive 'display reports' option. It's not that useful and easy enough to write all reports to disk and selectively view them.
18
+ * Fix rep[orts] interactive option.
19
+ * Fix and refactor handling of receipt data on command line.
20
+ * Add styling to report HTML pages, mostly for centering the reports, increasing the font size, and providing a faint blue background.
21
+
22
+
23
+ ### v0.9.0
24
+
25
+ * Center generated index.html's content.
26
+ * Improve report headings.
27
+ * Fix index.html hyperlinks to resource (receipts, invoices, statements, worksheets) directories.
28
+ * Fix cases where split journal entries were not included in the journal report.
29
+
30
+
31
+ ### v0.8.0
32
+
33
+ * Add metadata to PDF and HTML reports
34
+ * Add report generation timestamp and accounting period to all reports.
35
+ * Refactoring and cleanup.
36
+
37
+
38
+ ### v0.7.1
39
+
40
+ * Refactor report helpers.
41
+ * Improve/reduce text output during reporting.
42
+ * Add title to HTML reports.
43
+ * Minor fixes.
44
+
45
+
1
46
  ### v0.7.0
2
47
 
3
48
  * Dependencies on external commands in Linux and Mac OS for generating PDF and HTML files has been eliminated,
@@ -23,7 +68,7 @@ using the prawn gem for PDF and simple ERB templating for HTML.
23
68
  * Add receipt hyperlinks to HTML output.
24
69
 
25
70
 
26
- ## v0.4.0
71
+ ### v0.4.0
27
72
 
28
73
  * Sort unused receipts alphanumerically.
29
74
  * Add 'x' receipts option for reporting both missing and unused receipts.
@@ -31,7 +76,7 @@ using the prawn gem for PDF and simple ERB templating for HTML.
31
76
  * Improve Receipts report.
32
77
 
33
78
 
34
- ## v0.3.0
79
+ ### v0.3.0
35
80
 
36
81
  * Added ability to report unused receipts.
37
82
  * Errors now include more context information.
@@ -39,12 +84,12 @@ using the prawn gem for PDF and simple ERB templating for HTML.
39
84
  * Change license from MIT to Apache 2.
40
85
 
41
86
 
42
- ## v0.2.1
87
+ ### v0.2.1
43
88
 
44
89
  * Add help text to readme.
45
90
 
46
91
 
47
- ## v0.2.0
92
+ ### v0.2.0
48
93
 
49
94
  * Add instruction manual, modify readme.
50
95
  * Overhaul generated index.html.
@@ -52,18 +97,18 @@ using the prawn gem for PDF and simple ERB templating for HTML.
52
97
  * Add validation of transaction dates to ensure within configured date range.
53
98
  * Make report hash / OpenStruct keys consistently symbols.
54
99
 
55
- ## v0.1.6
100
+ ### v0.1.6
56
101
 
57
102
  * Fixed PDF output; PDF files were corrupt because cupsfilter starting sending
58
103
  output to stderr at some point.
59
104
 
60
105
 
61
- ## v0.1.4, v0.1.5
106
+ ### v0.1.4, v0.1.5
62
107
 
63
108
  * Intermediate unsatisfactory fixes, these versions were published but yanked.
64
109
 
65
110
 
66
- ## v0.1.3
111
+ ### v0.1.3
67
112
 
68
113
  * Report output now goes to separate txt, html, and pdf subdirectories.
69
114
  * Add vendor.yml to exclude generated report files from language reporting.
@@ -78,17 +123,17 @@ output to stderr at some point.
78
123
  * Add 'from_string' methods to Journal and ChartOfAccounts.
79
124
 
80
125
 
81
- ## v0.1.2
126
+ ### v0.1.2
82
127
 
83
128
  * Improve error message when the needed directories do not exist.
84
129
 
85
130
 
86
- ## v0.1.1
131
+ ### v0.1.1
87
132
 
88
133
  * Fix startup error.
89
134
 
90
135
 
91
- ## v0.1.0
136
+ ### v0.1.0
92
137
 
93
138
  * First release.
94
139
 
@@ -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.