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
Brett Smith
a008c84e45
accrual: Add E-Check payment method.
2020-07-21 13:15:41 -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
6f1d01a3d4
ledger: Improve sheet size math.
2020-07-17 11:00:33 -04:00
Brett Smith
e5aa63996a
ledger: Include balances for accounts without activity.
2020-07-17 10:56:12 -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
88ae03302f
ledger: Add memo column to Income sheets.
...
Quick accommodation for project reporting.
2020-07-16 16:33:18 -04:00
Brett Smith
97d813972b
books: Loader.load_none() returns default options_map.
...
This way it's still safe to assume all the expected keys are there.
2020-07-16 15:37:11 -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
a19b3fb6c4
setup: Incorporate pytest.ini.
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
638bc8ccbb
accrual: Make comment not an actual type:ignore.
2020-07-02 13:07:59 -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
b41249bec6
fund: Clean unused import.
2020-07-01 15:59:16 -04:00
Brett Smith
ceb0c451fa
fund: Improve type signature.
2020-07-01 15:57:58 -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
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
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
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
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