Brett Smith
7281cf0f01
audit_report: New tool.
2020-08-30 22:34:32 -04:00
Brett Smith
dfdb9b65d5
accrual: Add total divider lines.
2020-08-22 12:39:43 -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
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
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
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
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
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
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
88ae03302f
ledger: Add memo column to Income sheets.
...
Quick accommodation for project reporting.
2020-07-16 16:33:18 -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
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
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
f7d24cd8ab
fund: ODS report usability improvements.
...
* Lock the first column.
* Open the breakdown sheet by default.
2020-06-29 09:39:41 -04:00
Brett Smith
138928eebf
fund: Omit unreportable rows from the fund report sheet.
2020-06-27 21:37:14 -04:00
Brett Smith
b1a46d6ef6
plugin: Validate FY19.
2020-06-26 10:34:50 -04:00
Brett Smith
cd5d98eb4d
setup: Bump version for income_type update.
2020-06-25 13:57:44 -04:00
Brett Smith
f3c68ff462
opening_balances: New tool.
2020-06-25 10:51:37 -04:00
Brett Smith
fd548f35f4
accrual: Be case-insensitive when gathering payment-method.
...
This is a little nicer for the user, and lets us simplify surrounding
case-handling code.
2020-06-23 16:46:31 -04:00
Brett Smith
5085d4d8ef
accrual: Outgoing report sets RT CFs for outgoing payment.
2020-06-23 14:47:03 -04:00
Brett Smith
f9411e0ffe
meta_receipt: Not required on interest income. RT#11695.
2020-06-22 16:34:06 -04:00
Brett Smith
887102ea92
fund: New report.
2020-06-21 18:07:44 -04:00
Brett Smith
7441f4ef0c
ledger: Correct period totals. RT#11661.
...
The period totals were reporting the balance of all the loaded postings, not
just the ones in the reporting date range.
Like the accrual report, introduce a RelatedPostings subclass that records
and saves all the information we need at group definition time, to help us
get it consistently right rather than redoing the same math over and over.
2020-06-17 18:25:47 -04:00
Brett Smith
d7e2ab34b9
meta_project: Force the default project on Equity accounts.
...
See rationale in comments.
2020-06-17 04:29:17 -04:00
Brett Smith
8b8bdc0225
reports: Add BaseODS.column_style() method.
...
Use this to provide more consistent column styles throughout the reports.
2020-06-16 22:41:13 -04:00
Brett Smith
cf2833ee20
plugin: Load user configuration file.
2020-06-16 15:10:19 -04:00
Brett Smith
b1f82badf7
config: Get repository directory from config file.
...
One less thing users have to fiddle with to get set up.
2020-06-16 14:42:09 -04:00
Brett Smith
efe9bd8855
ledger: Change default report dates.
...
The old defaults were optimized for the audit report.
The new defaults provide more helpful ad hoc reports.
The latter will be run more often and more quickly, so it's
worth optimizing the defaults for them.
2020-06-16 13:31:46 -04:00
Brett Smith
9782e7203a
ledger: New reporting module.
2020-06-16 10:18:18 -04:00
Brett Smith
aff1fc537d
reports: Add BaseODS.meta_links_cell() method.
2020-06-12 17:10:25 -04:00
Brett Smith
44946a061d
accrual: Aging report is written to repository path by default.
...
Opening it here is necessary for repository links to work anyway.
2020-06-12 15:56:29 -04:00
Brett Smith
cd578289c4
cliutil: Add make_entry_point() function.
...
This provides better logging setup, reduces the amount of boilerplate in
main, and replaces is_main_script().
2020-06-12 15:08:08 -04:00
Brett Smith
3330c834b2
accrual: Only try to generate an outgoing report for accruals with rt-id.
2020-06-12 10:51:29 -04:00
Brett Smith
1124842ea7
accrual: Actually use RT caching as intended.
...
Basically none of the reports were reading or writing the RT link cache
because they didn't instantiate an rtutil.RT properly to do that.
2020-06-11 16:29:18 -04:00
Brett Smith
175ac3bd7a
accrual: Outgoing report groups by rt-id. RT#11594.
2020-06-11 15:27:36 -04:00
Brett Smith
5859421a15
accrual: Remove the consistency checker.
...
Everything it said was a problem has been done legitimately in our books at
one point or another.
* Variation in contract can happen in different line items of an invoice or
"group of contractor" situations.
* Variation in cost can happen because one invoice spans a period of time,
like donation matching programs. There is probably still value in a tool
that checks to make sure we use consistent rates each day, but that
affects all kinds of transactions, not just accruals, so it would be
done better in a separate tool.
* Variation in account happens because invoices legitimately span accrual
accounts, like donation matching programs with fees payable.
So: it's gone, good riddance.
2020-06-10 16:03:08 -04:00
Brett Smith
d3ef19c5f6
setup: Version bump for latest bugfix.
2020-06-09 17:06:39 -04:00
Brett Smith
948d3a2d14
accrual: Add columns to the aging report. RT#11439.
...
This adds almost all the metadata that's relevant to accruals.
I considered adding statement, but that cuased rows to get spaced out a lot,
and statement's kind of a low-value column, so I decided against it.
Ultimately I would like to make this configurable but that's for the
future.
2020-06-09 15:59:09 -04:00
Brett Smith
ba8aaaa988
accrual: Aging report uses group since last nonzero. RT#11600.
...
This makes it consistent with our other reports. The fact that it wasn't
already was basically an oversight.
2020-06-09 14:52:55 -04:00
Brett Smith
8dc6894ce7
accrual: Outgoing report uses first rt-id as primary ticket number.
...
This makes it consistent with the reporting and our general rule
that the first link is primary.
2020-06-08 16:38:42 -04:00
Brett Smith
e22e63dcca
accrual: Make accruals consistent by entity on the accrual side.
...
It is more common than I realized that we split an invoice by
entity on the accrual side, so this supports that better.
It still disregards inconsistency between accrual entity and payment entity
for reporting purposes, to help keep reporting clean around automatic
imports.
The changes to BaseReport._report shook out because at this point, the group
key is effectively arbitrary and shouldn't be used for any reporting
purposes.
2020-06-05 10:54:35 -04:00
Brett Smith
8cf829cc51
setup: Version bump for most recent bugfix.
2020-06-05 09:11:31 -04:00
Brett Smith
38cea37715
accrual: Load all books since args.since.
...
This lets the tool find and report accruals in the future.
2020-06-04 09:03:37 -04:00
Brett Smith
f8f57428aa
accrual: Introduce aging report. RT#10694.
2020-06-03 22:20:37 -04:00
Brett Smith
70057fe383
reports: Start BaseODS class.
2020-06-03 21:24:47 -04:00
Brett Smith
aef00ce83f
accrual: Check the consistency of accruals' cost.
2020-05-30 10:35:29 -04:00
Brett Smith
e07a47ec8f
accrual: Use cliutil for better logging and error reporting.
2020-05-29 22:05:26 -04:00
Brett Smith
f66460f343
accrual: Outgoing report includes total at cost.
2020-05-28 09:05:18 -04:00
Brett Smith
2c44cc8f50
reports: Add Balance.format() method.
2020-05-28 09:03:19 -04:00
Brett Smith
8f014df515
setup: Document Debian packages for dependencies when available.
2020-05-25 11:16:57 -04:00
Brett Smith
1286cc2200
setup: Version bump for validation changes.
2020-05-21 23:00:06 -04:00
Brett Smith
47235f694c
accrual: Outgoing report doesn't put RT web links in < >.
...
The RT web interface doesn't handle angle brackets well, making the
`>` part of the link.
2020-05-18 17:05:01 -04:00
Brett Smith
b142e8fc31
accrual: Bugfix last commit.
2020-05-18 15:31:00 -04:00
Brett Smith
f64143db44
accrual: Outgoing report handles requestors without RealName.
2020-05-18 14:44:34 -04:00
Brett Smith
a8a1a53c7c
accrual: Nicer whitespace in outgoing report.
2020-05-18 09:25:04 -04:00
Brett Smith
dcbac5db98
setup: Install subpackages.
2020-05-18 09:21:08 -04:00
Brett Smith
912c6f3de1
setup: 1.0 release.
2020-05-18 08:39:11 -04:00
Brett Smith
ad81c45f2a
reports.accrual: Begin reporting.
...
This module basically reimplements the old payment-report+income-report,
in a single tool (after setting aside some of the checks that have moved
to the plugin). The aging report can be implemented here too when we need
that.
2020-05-04 16:36:59 -04:00
Brett Smith
18a513a694
setup: Add overlooked PyYAML dependency.
...
Needed by meta_repo_links.
2020-04-06 14:32:41 -04:00
Brett Smith
499f18ff62
meta_entity: Adjust what entities are allowed based on today's books.
...
See the comments throughout for more discussion about what cases are
or aren't allowed, and why.
2020-04-01 13:38:37 -04:00
Brett Smith
f09f029fc4
config: Add Config.rt_client method.
2020-03-24 09:08:08 -04:00
Brett Smith
1caeb9a1a6
setup: Introduce typecheck alias.
2020-03-18 08:20:45 -04:00
Brett Smith
c5dd7984bc
Initial commit: license, setup.py, gitignore, skeleton structure.
2020-03-05 09:33:23 -05:00