rock_books 0.10.0 → 0.12.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: c589f9f4d14bfd6f46b7a8ee583137b019b9edadb880771f5da53c84ab2b1c89
4
+ data.tar.gz: 4ce008185ecb726bba7b4b5cc4a76f29070d39f923f02d37fb3d08957d4e4af9
5
5
  SHA512:
6
- metadata.gz: 57489817b4cae0dd70db00ee4fc10f8fc432ebb1a6ed01a93b6c1f646b681ae5eb456d171c5a7fe2d981bada1771da33eccba7ed08cebceee57925c5c1bb7560
7
- data.tar.gz: 2f530db52499773bae28f24f6ee4cf0a243056b6e8df9a83723826b132b4cecc558451bcf357840946e437e6e22740aa4b7d417789df84ec3bbba6050917fe57
6
+ metadata.gz: dc57866bc651ec72584e6d38e3d1c0e253bf72b8888dbc20a475c96344d0a6a6ef04505389e9273844c3b5673577e837fcffa47fe4595e4145f5a00e0bda7c03
7
+ data.tar.gz: c0fdc71bd1070360285e78eb31c1cb3b80df27d03b120219f9e0c6d973b924e1f6f5c3b8727753aabaa9ab4db54792fdc816ee388f3eb62f565dc1ba3df95dcd
@@ -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
 
data/RELEASE_NOTES.md CHANGED
@@ -1,3 +1,19 @@
1
+ # Release Notes
2
+
3
+ [[go to README](README.md)]
4
+
5
+ ### v0.12.0
6
+
7
+ * Fix balance sheet grand total computation.
8
+ * Update bundler version constraint to ">= 2.2.33" as per dependabot.
9
+
10
+
11
+ ### v0.11.0
12
+
13
+ * Add and fix documentation, especially addition of REPORTS.md about viewing the generated reports.
14
+ * Add "Original Input Documents" and "Browse All Data Files" buttons to generated index.html.
15
+
16
+
1
17
  ### v0.10.0
2
18
 
3
19
  * 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.
@@ -23,17 +23,21 @@ class BsIsData
23
23
  BsIsSectionData.new(type, context, journals_acct_totals).fetch
24
24
  end
25
25
 
26
+ def grand_total(sections)
27
+ (sections[:asset][:total] - sections[:liability][:total] - sections[:equity][:total]).round(2)
28
+ end
26
29
 
27
30
  def bal_sheet_data
31
+ sections = {
32
+ asset: section_data(:asset),
33
+ liability: section_data(:liability),
34
+ equity: section_data(:equity),
35
+ }
28
36
  {
29
37
  end_date: end_date,
30
38
  entity: context.entity,
31
- sections: {
32
- asset: section_data(:asset),
33
- liability: section_data(:liability),
34
- equity: section_data(:equity),
35
- },
36
- grand_total: journals_acct_totals.values.sum.round(2)
39
+ sections: sections,
40
+ grand_total: grand_total(sections)
37
41
  }
38
42
  end
39
43
 
@@ -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.12.0'
3
3
  PROJECT_URL = 'https://github.com/keithrbennett/rock_books'
4
4
  end
data/rock_books.gemspec CHANGED
@@ -1,42 +1,41 @@
1
1
 
2
- lib = File.expand_path("../lib", __FILE__)
2
+ lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require "rock_books/version"
4
+ require 'rock_books/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = "rock_books"
7
+ spec.name = 'rock_books'
8
8
  spec.version = RockBooks::VERSION
9
- spec.authors = ["Keith Bennett"]
10
- spec.email = ["keithrbennett@gmail.com"]
9
+ spec.authors = ['Keith Bennett']
10
+ spec.email = ['keithrbennett@gmail.com']
11
11
 
12
12
  spec.summary = %q{Very basic accounting package.}
13
13
  spec.description = %q{Extremely primitive accounting software.}
14
- spec.homepage = "http://example.com"
15
- spec.license = "MIT"
14
+ spec.homepage = 'http://example.com'
15
+ spec.license = 'MIT'
16
16
 
17
17
  # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
18
18
  # to allow pushing to a single host or delete this section to allow pushing to any host.
19
19
  # if spec.respond_to?(:metadata)
20
- # spec.metadata["allowed_push_host"] = ": Set to 'http://mygemserver.com'"
20
+ # spec.metadata['allowed_push_host'] = ': Set to 'http://mygemserver.com''
21
21
  # else
22
- # raise "RubyGems 2.0 or newer is required to protect against " \
23
- # "public gem pushes."
22
+ # raise 'RubyGems 2.0 or newer is required to protect against public gem pushes.'
24
23
  # end
25
24
 
26
25
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
27
26
  f.match(%r{^(test|spec|features)/})
28
27
  end
29
- spec.bindir = "exe"
28
+ spec.bindir = 'exe'
30
29
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
31
- spec.require_paths = ["lib"]
30
+ spec.require_paths = ['lib']
32
31
 
33
- spec.add_dependency 'amazing_print', '> 0'
34
- spec.add_dependency 'os', '> 1.0.0'
35
- spec.add_dependency 'pry', '> 0.0.0'
36
- spec.add_dependency 'prawn', '>= 2.1'
37
- spec.add_dependency 'tty-progressbar'
32
+ spec.add_dependency 'amazing_print', '>= 1.4.0', '< 2'
33
+ spec.add_dependency 'os', '> 1.0.0', '< 2'
34
+ spec.add_dependency 'pry', '>= 0.14.2', '< 2'
35
+ spec.add_dependency 'prawn', '>= 2.4.0', '< 3'
36
+ spec.add_dependency 'tty-progressbar', '0.18.2', '< 2'
38
37
 
39
- spec.add_development_dependency "bundler", "~> 2.0"
40
- spec.add_development_dependency "rake", ">= 12.3.3"
41
- spec.add_development_dependency "rspec", "~> 3.0"
38
+ spec.add_development_dependency 'bundler', '>= 2.2.33', '< 3'
39
+ spec.add_development_dependency 'rake', '> 13.0.6', '< 14'
40
+ spec.add_development_dependency 'rspec', '> 3.12.0', '< 4'
42
41
  end
@@ -1,64 +1,64 @@
1
- @doc_type: chart_of_accounts
2
- @title: Chart of Accounts - 2018
3
- @entity: XYZ Consulting, Inc.
4
- @start_date: 2018-01-01
5
- @end_date: 2018-12-31
6
-
7
-
8
- # Assets
9
-
10
- ck.hsbc A HSBC Checking
11
- paypal A Paypal
12
- accts.rec A Accounts Receivable
13
-
14
-
15
- # Liabilities
16
-
17
- cc.hsbc.visa L Visa Credit Card
18
- loan.to.sh L Loan Payable to Shareholder
19
-
20
-
21
- # Equity
22
-
23
- own.equity O Owner's Equity
24
- ret.earn O Retained Earnings
25
-
26
-
27
- # Income
28
-
29
- sls.cons I Sales - Consulting
30
-
31
-
32
- # Expenses
33
-
34
- bank.fees E Bank Charges
35
- books.refs E Books, Screencasts, References
36
- conf.fees E Conference Fees
37
- cowork.fees E Coworking Fees
38
- govt.fees E Government Fees
39
- inet.fees E Internet Service, Domain, and Hosting Fees
40
- insurance E Insurance
41
- int.exp E Interest Expense
42
- mktng.exp E Marketing Expenses
43
- meals.ent E Meals & Entertainment
44
- misc.exp E Miscellaneous Expenses
45
- prof.fees E Professional Fees
46
- repair.maint E Repair & Maintenance
47
- ship.exp E Shipping and Mailing Expenses
48
- sw.exp E Software Expense
49
- supplies E Supplies
50
- cc.proc E Credit Card Processing Fees
51
- tr.airfare E Travel - Air Fares
52
- tr.autorent E Travel - Auto Rental
53
- tr.gas.etc E Travel - Gas, Oil, Tolls, etc.
54
- tr.govt E Travel - Government Fees
55
- tr.lodging E Travel - Lodging
56
- tr.m.i E Travel - Meals & Incidentals
57
- tr.mileage E Travel - Mileage Allowance
58
- tr.misc E Travel - Miscellaneous
59
- tr.parking E Travel - Parking
60
- tr.perdiem.mi E Travel - Per Diem (Meals and Incidentals)
61
- tr.taxi E Travel - Taxi
62
- tr.trainfare E Travel - Train Fare
63
- tr.m.e E Meals and Entertainment
64
- tr.unclass E Expenses Not Yet Classified
1
+ @doc_type: chart_of_accounts
2
+ @title: Chart of Accounts - 2018
3
+ @entity: XYZ Consulting, Inc.
4
+ @start_date: 2018-01-01
5
+ @end_date: 2018-12-31
6
+
7
+
8
+ # Assets
9
+
10
+ ck.hsbc A HSBC Checking
11
+ paypal A Paypal
12
+ accts.rec A Accounts Receivable
13
+
14
+
15
+ # Liabilities
16
+
17
+ cc.hsbc.visa L Visa Credit Card
18
+ loan.to.sh L Loan Payable to Shareholder
19
+
20
+
21
+ # Equity
22
+
23
+ own.equity O Owner's Equity
24
+ ret.earn O Retained Earnings
25
+
26
+
27
+ # Income
28
+
29
+ sls.cons I Sales - Consulting
30
+
31
+
32
+ # Expenses
33
+
34
+ bank.fees E Bank Charges
35
+ books.refs E Books, Screencasts, References
36
+ conf.fees E Conference Fees
37
+ cowork.fees E Coworking Fees
38
+ govt.fees E Government Fees
39
+ inet.fees E Internet Service, Domain, and Hosting Fees
40
+ insurance E Insurance
41
+ int.exp E Interest Expense
42
+ mktng.exp E Marketing Expenses
43
+ meals.ent E Meals & Entertainment
44
+ misc.exp E Miscellaneous Expenses
45
+ prof.fees E Professional Fees
46
+ repair.maint E Repair & Maintenance
47
+ ship.exp E Shipping and Mailing Expenses
48
+ sw.exp E Software Expense
49
+ supplies E Supplies
50
+ cc.proc E Credit Card Processing Fees
51
+ tr.airfare E Travel - Air Fares
52
+ tr.autorent E Travel - Auto Rental
53
+ tr.gas.etc E Travel - Gas, Oil, Tolls, etc.
54
+ tr.govt E Travel - Government Fees
55
+ tr.lodging E Travel - Lodging
56
+ tr.m.i E Travel - Meals & Incidentals
57
+ tr.mileage E Travel - Mileage Allowance
58
+ tr.misc E Travel - Miscellaneous
59
+ tr.parking E Travel - Parking
60
+ tr.perdiem.mi E Travel - Per Diem (Meals and Incidentals)
61
+ tr.taxi E Travel - Taxi
62
+ tr.trainfare E Travel - Train Fare
63
+ tr.m.e E Meals and Entertainment
64
+ tr.unclass E Expenses Not Yet Classified
@@ -1,14 +1,14 @@
1
- @doc_type: journal
2
- @title: HSBC Checking Disbursements Journal - 2018
3
- @account_code: ck.hsbc
4
- @debit_or_credit: debit
5
- @short_name: ck.hsbc.disb
6
- @date_prefix: 2018-
7
-
8
- 01-01 -5000.00 own.equity
9
- Initial Deposit from Shareholder
10
-
11
- 01-05 2000.00 cc.hsbc.visa
12
-
13
- 01-07 -10000.00 sls.cons
14
- Invoice #437, Dec. 2017 work, ABC, Inc.
1
+ @doc_type: journal
2
+ @title: HSBC Checking Disbursements Journal - 2018
3
+ @account_code: ck.hsbc
4
+ @debit_or_credit: debit
5
+ @short_name: ck.hsbc.disb
6
+ @date_prefix: 2018-
7
+
8
+ 01-01 -5000.00 own.equity
9
+ Initial Deposit from Shareholder
10
+
11
+ 01-05 2000.00 cc.hsbc.visa
12
+
13
+ 01-07 -10000.00 sls.cons
14
+ Invoice #437, Dec. 2017 work, ABC, Inc.
@@ -1,14 +1,14 @@
1
- @doc_type: general_journal
2
- @title: General Journal - 2018
3
- @date_prefix: 2018-
4
- @short_name: general
5
-
6
- 01-08 tr.airfare 300.00 loan.to.sh -300.00
7
- Phoenix conference air ticket paid on personal credit card
8
-
9
- 01-20 tr.perdiem.mi 495.00 loan.to.sh -495.00
10
- Per diem allowance for Phoenix conference (see worksheet)
11
-
12
- 01-31 tr.mileage 117.70 loan.to.sh -117.70
13
- Mileage reimbursement for business travel of January 2018 (see worksheet)
14
-
1
+ @doc_type: general_journal
2
+ @title: General Journal - 2018
3
+ @date_prefix: 2018-
4
+ @short_name: general
5
+
6
+ 01-08 tr.airfare 300.00 loan.to.sh -300.00
7
+ Phoenix conference air ticket paid on personal credit card
8
+
9
+ 01-20 tr.perdiem.mi 495.00 loan.to.sh -495.00
10
+ Per diem allowance for Phoenix conference (see worksheet)
11
+
12
+ 01-31 tr.mileage 117.70 loan.to.sh -117.70
13
+ Mileage reimbursement for business travel of January 2018 (see worksheet)
14
+
@@ -1,32 +1,32 @@
1
- @doc_type: journal
2
- @title: HSBC Visa Journal - 2018
3
- @account_code: cc.hsbc.visa
4
- @short_name: hsbc_visa
5
- @debit_or_credit: debit
6
- @date_prefix: 2018-
7
-
8
- 01-01 257.25 supplies
9
- Office Supplies
10
- Receipt: 01/2018-01-01-sample-receipt.jpg
11
-
12
- 01-02 750 insurance
13
- Professional insurance for the year 2018, Hartford Insurance
14
- Receipt: 01/2018-01-02-hartford-insurance.pdf
15
-
16
- 01-02 100 cowork.fees
17
- New Work City coworking fee for the month of January
18
- Receipt: 01/2018-01-02-nwc.pdf
19
-
20
- 01-06 500 conf.fees
21
- Phoenix conference registration fee
22
- Receipt: 01/2018-01-06-phoenix-conference-registration.pdf
23
-
24
- 01-20 400 tr.lodging
25
- Hampton Inn Phoenix (conference)
26
- Receipt: 01/2018-01-20-phoenix-hampton.pdf
27
-
28
- 02-01 100 cowork.fees
29
- New Work City coworking fee for the month of February
30
- Receipt: 02/2018-02-01-nwc.pdf
31
-
32
-
1
+ @doc_type: journal
2
+ @title: HSBC Visa Journal - 2018
3
+ @account_code: cc.hsbc.visa
4
+ @short_name: hsbc_visa
5
+ @debit_or_credit: debit
6
+ @date_prefix: 2018-
7
+
8
+ 01-01 257.25 supplies
9
+ Office Supplies
10
+ Receipt: 01/2018-01-01-sample-receipt.jpg
11
+
12
+ 01-02 750 insurance
13
+ Professional insurance for the year 2018, Hartford Insurance
14
+ Receipt: 01/2018-01-02-hartford-insurance.pdf
15
+
16
+ 01-02 100 cowork.fees
17
+ New Work City coworking fee for the month of January
18
+ Receipt: 01/2018-01-02-nwc.pdf
19
+
20
+ 01-06 500 conf.fees
21
+ Phoenix conference registration fee
22
+ Receipt: 01/2018-01-06-phoenix-conference-registration.pdf
23
+
24
+ 01-20 400 tr.lodging
25
+ Hampton Inn Phoenix (conference)
26
+ Receipt: 01/2018-01-20-phoenix-hampton.pdf
27
+
28
+ 02-01 100 cowork.fees
29
+ New Work City coworking fee for the month of February
30
+ Receipt: 02/2018-02-01-nwc.pdf
31
+
32
+
metadata CHANGED
@@ -1,29 +1,35 @@
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.12.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: 2023-02-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: amazing_print
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">"
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 1.4.0
20
+ - - "<"
18
21
  - !ruby/object:Gem::Version
19
- version: '0'
22
+ version: '2'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - ">"
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
- version: '0'
29
+ version: 1.4.0
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '2'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: os
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -31,6 +37,9 @@ dependencies:
31
37
  - - ">"
32
38
  - !ruby/object:Gem::Version
33
39
  version: 1.0.0
40
+ - - "<"
41
+ - !ruby/object:Gem::Version
42
+ version: '2'
34
43
  type: :runtime
35
44
  prerelease: false
36
45
  version_requirements: !ruby/object:Gem::Requirement
@@ -38,90 +47,129 @@ dependencies:
38
47
  - - ">"
39
48
  - !ruby/object:Gem::Version
40
49
  version: 1.0.0
50
+ - - "<"
51
+ - !ruby/object:Gem::Version
52
+ version: '2'
41
53
  - !ruby/object:Gem::Dependency
42
54
  name: pry
43
55
  requirement: !ruby/object:Gem::Requirement
44
56
  requirements:
45
- - - ">"
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: 0.14.2
60
+ - - "<"
46
61
  - !ruby/object:Gem::Version
47
- version: 0.0.0
62
+ version: '2'
48
63
  type: :runtime
49
64
  prerelease: false
50
65
  version_requirements: !ruby/object:Gem::Requirement
51
66
  requirements:
52
- - - ">"
67
+ - - ">="
53
68
  - !ruby/object:Gem::Version
54
- version: 0.0.0
69
+ version: 0.14.2
70
+ - - "<"
71
+ - !ruby/object:Gem::Version
72
+ version: '2'
55
73
  - !ruby/object:Gem::Dependency
56
74
  name: prawn
57
75
  requirement: !ruby/object:Gem::Requirement
58
76
  requirements:
59
77
  - - ">="
60
78
  - !ruby/object:Gem::Version
61
- version: '2.1'
79
+ version: 2.4.0
80
+ - - "<"
81
+ - !ruby/object:Gem::Version
82
+ version: '3'
62
83
  type: :runtime
63
84
  prerelease: false
64
85
  version_requirements: !ruby/object:Gem::Requirement
65
86
  requirements:
66
87
  - - ">="
67
88
  - !ruby/object:Gem::Version
68
- version: '2.1'
89
+ version: 2.4.0
90
+ - - "<"
91
+ - !ruby/object:Gem::Version
92
+ version: '3'
69
93
  - !ruby/object:Gem::Dependency
70
94
  name: tty-progressbar
71
95
  requirement: !ruby/object:Gem::Requirement
72
96
  requirements:
73
- - - ">="
97
+ - - '='
74
98
  - !ruby/object:Gem::Version
75
- version: '0'
99
+ version: 0.18.2
100
+ - - "<"
101
+ - !ruby/object:Gem::Version
102
+ version: '2'
76
103
  type: :runtime
77
104
  prerelease: false
78
105
  version_requirements: !ruby/object:Gem::Requirement
79
106
  requirements:
80
- - - ">="
107
+ - - '='
108
+ - !ruby/object:Gem::Version
109
+ version: 0.18.2
110
+ - - "<"
81
111
  - !ruby/object:Gem::Version
82
- version: '0'
112
+ version: '2'
83
113
  - !ruby/object:Gem::Dependency
84
114
  name: bundler
85
115
  requirement: !ruby/object:Gem::Requirement
86
116
  requirements:
87
- - - "~>"
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ version: 2.2.33
120
+ - - "<"
88
121
  - !ruby/object:Gem::Version
89
- version: '2.0'
122
+ version: '3'
90
123
  type: :development
91
124
  prerelease: false
92
125
  version_requirements: !ruby/object:Gem::Requirement
93
126
  requirements:
94
- - - "~>"
127
+ - - ">="
128
+ - !ruby/object:Gem::Version
129
+ version: 2.2.33
130
+ - - "<"
95
131
  - !ruby/object:Gem::Version
96
- version: '2.0'
132
+ version: '3'
97
133
  - !ruby/object:Gem::Dependency
98
134
  name: rake
99
135
  requirement: !ruby/object:Gem::Requirement
100
136
  requirements:
101
- - - ">="
137
+ - - ">"
102
138
  - !ruby/object:Gem::Version
103
- version: 12.3.3
139
+ version: 13.0.6
140
+ - - "<"
141
+ - !ruby/object:Gem::Version
142
+ version: '14'
104
143
  type: :development
105
144
  prerelease: false
106
145
  version_requirements: !ruby/object:Gem::Requirement
107
146
  requirements:
108
- - - ">="
147
+ - - ">"
148
+ - !ruby/object:Gem::Version
149
+ version: 13.0.6
150
+ - - "<"
109
151
  - !ruby/object:Gem::Version
110
- version: 12.3.3
152
+ version: '14'
111
153
  - !ruby/object:Gem::Dependency
112
154
  name: rspec
113
155
  requirement: !ruby/object:Gem::Requirement
114
156
  requirements:
115
- - - "~>"
157
+ - - ">"
158
+ - !ruby/object:Gem::Version
159
+ version: 3.12.0
160
+ - - "<"
116
161
  - !ruby/object:Gem::Version
117
- version: '3.0'
162
+ version: '4'
118
163
  type: :development
119
164
  prerelease: false
120
165
  version_requirements: !ruby/object:Gem::Requirement
121
166
  requirements:
122
- - - "~>"
167
+ - - ">"
168
+ - !ruby/object:Gem::Version
169
+ version: 3.12.0
170
+ - - "<"
123
171
  - !ruby/object:Gem::Version
124
- version: '3.0'
172
+ version: '4'
125
173
  description: Extremely primitive accounting software.
126
174
  email:
127
175
  - keithrbennett@gmail.com
@@ -136,9 +184,12 @@ files:
136
184
  - ".travis.yml"
137
185
  - Gemfile
138
186
  - LICENSE.txt
187
+ - MANUAL.md
139
188
  - README.md
140
189
  - RELEASE_NOTES.md
190
+ - REPORTS.md
141
191
  - Rakefile
192
+ - assets/doc-images/sample-index-html.png
142
193
  - assets/fonts/JetBrainsMono-Medium.ttf
143
194
  - bin/console
144
195
  - bin/setup
@@ -196,7 +247,6 @@ files:
196
247
  - lib/rock_books/types/acct_amount.rb
197
248
  - lib/rock_books/types/journal_entry_context.rb
198
249
  - lib/rock_books/version.rb
199
- - manual.md
200
250
  - rock_books.gemspec
201
251
  - sample_data/minimal/receipts/01/2018-01-01-sample-receipt.jpg
202
252
  - sample_data/minimal/rockbooks-inputs/2018-xyz-chart-of-accounts.txt
@@ -478,7 +528,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
478
528
  - !ruby/object:Gem::Version
479
529
  version: '0'
480
530
  requirements: []
481
- rubygems_version: 3.2.3
531
+ rubygems_version: 3.4.7
482
532
  signing_key:
483
533
  specification_version: 4
484
534
  summary: Very basic accounting package.