Commit graph

643 commits

Author SHA1 Message Date
Brett Smith
0e52f11a58 rtutil: Fix crash when multiple RTLinkCaches race.
This was most likely to happen with multiple bean-checks running in
parallel: they would both see a new RT URL, fetch it, and try to
insert it into the cache. That's not a problem as long as they're
both inserting the same URL, so catch that exception.
2020-08-30 11:18:32 -04:00
Brett Smith
dc2e2d200d balance_sheet: Fix logger name. 2020-08-30 11:14:25 -04:00
Brett Smith
2eba5a5546 extract_odf_links: Add --relative-to option.
This is just too convenient for our usual case where we expect
all links to be relative to a specific directory (the repository).
2020-08-30 10:03:57 -04:00
Brett Smith
cf2d825a08 tests: Reorganize extract_odf_links tests for new feature. 2020-08-30 09:18:41 -04:00
Brett Smith
977b16e365 balance_sheet: Remove custom data normalizations.
These can be supported with rewrite rules now.
2020-08-29 17:18:38 -04:00
Brett Smith
153361ce9f balance_sheet: Support rewrite rules. 2020-08-29 17:18:15 -04:00
Brett Smith
f3e577f0d5 rewrite: New module.
This module is intended to make bulk data changes to normalize
information across FYs for reporting.
2020-08-29 17:17:41 -04:00
Brett Smith
52adf1f0a5 data: Add PostingMeta.detached() method. 2020-08-29 10:26:21 -04:00
Brett Smith
dfdb9b65d5 accrual: Add total divider lines. 2020-08-22 12:39:43 -04:00
Brett Smith
4f223642ed reports: Refactor total styles to BaseODS. 2020-08-22 12:33:06 -04:00
Brett Smith
e8a754c387 ledger: Formatting modernizations.
* Equity sheet(s) report project.
* Headers include account classification.
* Bottom lines are formatted in the usual accounting way.
2020-08-22 12:31:44 -04:00
Brett Smith
58954aab23 fund: Text output readability improvements.
Make it look more like the spreadsheets:

* Don't normalize Expenses negative.

* Consistent account order: Income, then Expenses, then Equity.

* Include a bottom line divider for each fund.
2020-08-22 09:49:19 -04:00
Brett Smith
cc1767a09d fund: Incorporate Equity accounts into Release from Restrictions.
This matches what we do on our Statement of Activities in the
balance sheet report.
2020-08-22 09:25:53 -04:00
Brett Smith
95fb8ce481 meta_expense_type: Refine defaults.
* Default "management" for more accounts.

* There's a good handful of accounts where in past audits, the functional
  split has been "Conservancy expenses are management, project expenses are
  program." Handle those cases too.
2020-08-20 17:22:05 -04:00
Brett Smith
3519933b8c balance_sheet: Normalize handling of release from restrictions. 2020-08-19 16:09:53 -04:00
Brett Smith
bd33c04932 balance_sheet: Re-simplify the "release from restrictions" math.
Basically the original bug was an incorrect sign. The last implementation
was very belt-and-suspenders to help me think through it. But it's also more
error-prone in the long run.
2020-08-18 16:48:26 -04:00
Brett Smith
5a3ee24589 balance_sheet: Correct "release from restrictions" calculation.
The old version was causing Income:Donations:Released postings to be
"double-released." This version gets the bottom line numbers for
Net Assets With/out Donor Restrictions match the corresponding numbers
in the fund report.
2020-08-18 16:26:12 -04:00
Brett Smith
a0ff9e6834 balance_sheet: Support arbitrary date ranges.
This lets you do year-over-year comparisons of smaller ranges of time, like
a quarter.
2020-08-18 15:15:02 -04:00
Brett Smith
9e7df0b020 balance_sheet: Fix typo in report. 2020-08-18 15:13:31 -04:00
Brett Smith
5c7cf9cd2a balance_sheet: Sort trial balance accounts.
They were previously sorted by date, then name, which is slightly less
helpful.
2020-08-18 14:20:16 -04:00
Brett Smith
950536e4f1 balance_sheet: Transform "chart of accounts" into trial balances.
It was mostly this already, just needed to add a column and change the
title.
2020-08-18 13:22:07 -04:00
Brett Smith
ee40b5b5c2 balance_sheet: Add chart of accounts. 2020-08-18 10:13:30 -04:00
Brett Smith
6159870681 balance_sheet: Refactor out Report.write_totals_row method. 2020-08-18 04:16:08 -04:00
Brett Smith
b7dee6a88a balance_sheet: Refactor out Report.write_classifications_by_account. 2020-08-18 03:27:27 -04:00
Brett Smith
90ae343a1a balance_sheet: Refactor out Report.start_sheet method. 2020-08-18 02:02:54 -04:00
Brett Smith
aa1f2ea35a balance_sheet: Balance.total() accepts multiple account names.
This simplifies the code to total all equity.
2020-08-18 01:28:37 -04:00
Brett Smith
e05f55659a balance_sheet: Balance only considers post_type for Expenses.
This simplifies the code and slightly optimizes it, since now Balance
won't store and keep re-summing income-type breakdowns that nothing
needs.
2020-08-18 01:28:37 -04:00
Brett Smith
b7f9903d1f balance_sheet: Default classification sort by root account.
This provides more consistent presentation across sheets,
especially the financial position+cash flows.
2020-08-18 01:28:37 -04:00
Brett Smith
f55b698718 balance_sheet: Formatting cleanup in functional expenses. 2020-08-18 01:28:37 -04:00
Brett Smith
07757e7717 balance_sheet: Add cash flows report.
With this, the balance sheet report has all the reports from the audit.
2020-08-17 17:09:31 -04:00
Brett Smith
eaaf8fe98c balance_sheet: Add functional expenses report. 2020-08-17 15:28:08 -04:00
Brett Smith
29d4325c7a balance_sheet: Add activity report. 2020-08-17 15:26:55 -04:00
Brett Smith
89bbf84347 reports: Balance tolerance can be an int. 2020-08-17 10:34:38 -04:00
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
b4dee2cf9a extract_odf_links: Improve help text. 2020-08-10 10:49:03 -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
04be991e19 reports: Add BaseODS.set_custom_property() method. 2020-07-29 16:58:57 -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
6960425571 ledger: Prepare LedgerODS for subclasses.
This commit reorganized the class internals to make it more straightforward
to add a transaction-oriented reporting subclass.
2020-07-22 11:15:31 -04:00
Brett Smith
56114cc66e accrual: Support limited punctuation in payment-method. 2020-07-21 13:20:58 -04:00