Commit graph

17 commits

Author SHA1 Message Date
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
5085d4d8ef accrual: Outgoing report sets RT CFs for outgoing payment. 2020-06-23 14:47:03 -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
175ac3bd7a accrual: Outgoing report groups by rt-id. RT#11594. 2020-06-11 15:27:36 -04:00
Brett Smith
6e9a612bb7 accrual: Aging report filters out too-recent accruals. RT#11600. 2020-06-09 17:05:36 -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
0431d15d68 tests: Explain change to accruals.beancount from the last commit. 2020-06-09 09:04:01 -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
0b3eb1d1d3 accrual: Inconsistent entity is not an error. 2020-06-05 09:10:48 -04:00
Brett Smith
f8f57428aa accrual: Introduce aging report. RT#10694. 2020-06-03 22:20:37 -04:00
Brett Smith
c88c5ef3b0 accruals: AccrualPostings only reports inconsistent cost per currency.
Of course if an accrual has multiple currencies, it'll probably have
different costs, and that's fine.
2020-06-03 21:24:47 -04:00
Brett Smith
677c99b565 accrual: Filter opening balance txn before main reporting.
So far we've been implicitly relying on this by the user passing search
terms that filter out the opening balance transaction. That will stop
happening with the aging report, so we need to do it ourselves.
2020-06-03 18:51:48 -04:00
Brett Smith
3a0b85c8f0 tests: Add test for trying to make outgoing report without rt-id.
Changes to other test cases are to make them *not* trip up this
error after adding it to the books.
2020-05-28 17:03:52 -04:00
Brett Smith
f66460f343 accrual: Outgoing report includes total at cost. 2020-05-28 09:05:18 -04:00
Brett Smith
b7aae7b3c0 reports.accrual: Exclude payments from default output. RT#11294.
This makes the output more useful for broad searches like on an
entity. Invoices that cross FY boundaries will appear to be paid
without being accrued, and so would appear when we were just
filtering zeroed-out invoices.

If we integrate the aging report into this module in the future,
that'll need to follow different logic, and just filter out
zeroed-out invoices. But the basic balance report and outgoing
report are more workaday tools, where more filtering makes them
more useful.
2020-05-23 10:13:17 -04:00
Brett Smith
ca1f6d0059 tests: Add accruals.beancount required for tests in last commit. 2020-05-05 14:30:39 -04:00