Commit graph

310 commits

Author SHA1 Message Date
Brett Smith
a87d4bfc6c balance_sheet: Start report with financial position. RT#11854. 2020-08-17 10:34:38 -04:00
Brett Smith
385f5a20da extract_odf_links: Don't print document-internal links. 2020-08-10 11:36:51 -04:00
Brett Smith
ce067963dc tools: Add extract-odf-links. 2020-08-10 10:02:40 -04:00
Brett Smith
8597a526d7 cliutil: Use semi-standardized BSD exit codes. 2020-07-30 15:53:31 -04:00
Brett Smith
f56d89462a reports: Add common properties to all ODS reports. 2020-07-29 17:30:07 -04:00
Brett Smith
837fcec8f0 reports: Add BaseODS.set_common_properties() method. 2020-07-29 17:22:09 -04:00
Brett Smith
59b088b573 reports: Add BaseODS.set_properties() method. 2020-07-29 16:58:57 -04:00
Brett Smith
f9ea7edae3 config: Add Config.books_repo() method. 2020-07-29 15:46:14 -04:00
Brett Smith
680bb6e305 meta_tax_implication: Update values for TY2020 1099-MISC changes.
Support the new 1099-NEC form.
2020-07-28 16:41:34 -04:00
Brett Smith
123508ef88 expense_type: Revamp expense-allocation metadata.
* Change the name for symmetry with income-type.
* Standardize on "management" value because that's what it's called in the 990.
2020-07-28 11:46:00 -04:00
Brett Smith
a27d68beab cliutil: Add diff_year function. 2020-07-27 11:50:11 -04:00
Brett Smith
4615364538 cliutil: Add ReturnFlag.
Take this opportunity to re-standardize flag values now that it's clear
what's most common.
2020-07-27 10:54:04 -04:00
Brett Smith
46fe18809c ledger: Add transaction-level reports.
Mainly for the cash disbursements and receipts reports, which have dedicated
shortcuts.
2020-07-22 11:26:36 -04:00
Brett Smith
56114cc66e accrual: Support limited punctuation in payment-method. 2020-07-21 13:20:58 -04:00
Brett Smith
6c7603fa6c ledger: Add options to control account totals display. 2020-07-20 22:45:14 -04:00
Brett Smith
708d48699a accrual: Restore "since last nonzero" behavior to outgoing report.
Basically this behavior is an extension of the fact that the outgoing report
is grouped by RT ticket rather than "accrual data." Ripping this
functionality out of other reports was correct, but it needed to stay for
the outgoing report.
2020-07-20 15:13:20 -04:00
Brett Smith
52e7f3a221 ledger: Only display accounts requested with --account.
Now that we're accepting classifications, it's possible to specify account
options that select some but not all accounts at the same level of the
hierarchy. This commit tracks requested account names separately from sheet
names to do that correctly.
2020-07-20 13:13:22 -04:00
Brett Smith
aaa26e9e61 data: Make Account.iter_accounts() argument optional. 2020-07-20 11:22:23 -04:00
Brett Smith
4483d76999 data: Add Account.is_open_on_date() method. 2020-07-17 09:58:18 -04:00
Brett Smith
a0372d4b73 data: Add Account.keeps_balance() method. 2020-07-17 09:33:59 -04:00
Brett Smith
3f0b201d16 ledger: --account accepts a classification.
This makes it easier for users to specify a group of accounts.
2020-07-16 15:12:20 -04:00
Brett Smith
fd3bd68326 data: Add Account iteration methods. 2020-07-16 13:51:23 -04:00
Brett Smith
87e715df7c tests: Make clean_account_meta a teardown fixture. 2020-07-16 10:39:48 -04:00
Brett Smith
df0c3546fd data: Add Account.load_from_books convenience classmethod. 2020-07-16 10:39:31 -04:00
Brett Smith
fff9e37bf8 data: Add Account.is_account and Account.load_options_map.
These work in concert to distinguish account names from other
colon-separated strings.
2020-07-16 10:11:39 -04:00
Brett Smith
6a7815090c data: Add AccountMeta class. 2020-07-15 10:27:05 -04:00
Brett Smith
0e8745bf51 ledger: Include all fund accounts in default project ledger reports.
This brings the reporting into sync with the fund report.
2020-07-15 10:14:46 -04:00
Brett Smith
69d079190c tests: Test non-string values for payment-method metadata. 2020-07-02 13:08:21 -04:00
Brett Smith
a8a3f9d12b accrual: Better error handling and reporting around payment-method. 2020-07-02 10:56:51 -04:00
Brett Smith
b25bea0fc6 fund: Swap Unearned Income and Payable columns.
Unearned Income is more interesting.
2020-07-01 15:59:55 -04:00
Brett Smith
7702a1f03c fund: Add bottom line totals to Fund Report. RT#4582.
This required keeping the balances from write_row, and then a lot of other
changes followed from that. In particular it makes more sense to build the
fund report sheet from scratch rather than copying the breakdowns report and
chiseling the fund report out of it.
2020-07-01 15:56:39 -04:00
Brett Smith
7a0fa4fb57 accrual: Wire is a single payment method. 2020-07-01 13:43:58 -04:00
Brett Smith
42b3e6ca17 accruals: Aging report shows all unpaid accruals color coded by age.
Some readers care about recent accruals, some don't. This presentation
accommmodates both audiences, providing the data while making it easy to
ignore or filter out recent accruals.
2020-07-01 12:00:17 -04:00
Brett Smith
c0a2d1c070 accrual: Rip out unnecessary functionality.
Now that make_consistent is really robust, there's much less need to do all
the consistency checking that was done in AccrualPostings.__init__. I expect
this will provide a performance benefit for large reports, since we'll be
calculating data for many fewer accrual groups. The only performance penalty
I see is that the aging report has to calculate the balance three times for
each row it reports, twice in write() and once in write_row(), but that
seems okay and can be cached separately if needed.
2020-07-01 10:54:58 -04:00
Brett Smith
a5b3dc1463 accrual: AccrualPostings.make_consistent() groups accruals by date.
This accommodates cases of contracts without separate invoices,
where a series of payments are scheduled over time.

The dance we used to do of group-by-invoice, then make consistent was
already suspect. It was originally motivated by the consistency checks that
are now gone. Use this opportunity to clean up and just make make_consistent
a classmethod.
2020-07-01 09:50:20 -04:00
Brett Smith
2c61f2b9f2 reports: Add BaseODS.set_open_sheet() method. 2020-06-29 09:38:04 -04:00
Brett Smith
8d3a0dbe4c reports: Add BaseODS.lock_first_column() method. 2020-06-29 09:20:59 -04:00
Brett Smith
d6821b1368 fund: Fund report columns more closely match the audit report. 2020-06-28 09:43:44 -04:00
Brett Smith
5978c2f0c2 reports: Remove BaseODS.style_dividerline.
Obsoleted by the new border_style() method.
2020-06-27 23:12:35 -04:00
Brett Smith
15becebf5c reports: Add BaseODS.border_style() method. 2020-06-27 23:08:23 -04:00
Brett Smith
138928eebf fund: Omit unreportable rows from the fund report sheet. 2020-06-27 21:37:14 -04:00
Brett Smith
40573cb6dc fund: Split ODS into two sheets.
The first only has equity numbers the auditors look at.
The second includes balances of additional accounts.
2020-06-27 18:26:03 -04:00
Brett Smith
09b1548a96 reports: BaseODS.copy_element() recurses. 2020-06-27 17:36:02 -04:00
Brett Smith
d473ed54fc fund: Add outstanding balances to ODS fund report. 2020-06-27 16:51:35 -04:00
Brett Smith
9ae974009b fund: Add outstanding balances to text fund report. 2020-06-27 16:31:27 -04:00
Brett Smith
9699f4e527 income_type: Set a default for TrademarkSales. RT#8869. 2020-06-25 13:52:37 -04:00
Brett Smith
f3c68ff462 opening_balances: New tool. 2020-06-25 10:51:37 -04:00
Brett Smith
b038ec827c cliutil: Add year_or_date_arg() function. 2020-06-25 08:43:28 -04:00
Brett Smith
0e35f16853 tests: Extend fund report input.
This lays the groundwork to test both the opening balances generator,
and additional account breakdowns on the fund report.
2020-06-24 10:13:41 -04:00
Brett Smith
5085d4d8ef accrual: Outgoing report sets RT CFs for outgoing payment. 2020-06-23 14:47:03 -04:00