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
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
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
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
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
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
4789972d38
approval: Not required for any bank transfer. RT#11707.
2020-06-23 09:51:47 -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
baf0b2c5ff
ledger: Fix --output-format default help.
...
This was accidentally carried over from accrual-report.
2020-06-21 11:40:28 -04:00
Brett Smith
42d2002fda
reports: Balance.format(None) uses accounting formats.
2020-06-21 11:39:31 -04:00
Brett Smith
5e9e11923e
reports: Add account_balances() function.
2020-06-20 22:51:02 -04:00
Brett Smith
6213bc1e5d
reports: Add PeriodPostings class.
...
This is AccountPostings from the ledger report, cleaned up to be more
general.
2020-06-20 19:04:53 -04:00
Brett Smith
7a9bc2da50
reports: Add sort_and_filter_accounts() function.
...
Extracted from the ledger report.
2020-06-20 09:11:01 -04:00
Brett Smith
7f3a26b555
reports: Balance.format() accepts zero argument.
...
This change has the same motivation as the recent change to
BaseODS.balance_cell(): try to preserve currency information when it's
available.
2020-06-18 14:07:44 -04:00
Brett Smith
ae974b8e50
reports: Balance.copy() accepts tolerance argument.
2020-06-18 14:06:18 -04:00
Brett Smith
355a48381c
reports: Balance.clean_copy() creates new Balance with given tolerance.
2020-06-18 14:05:49 -04:00
Brett Smith
0f7a154ff4
reports: Balance cells try to retain currency on zero balance.
2020-06-18 10:07:10 -04:00
Brett Smith
daf7e12752
ledger: Remove obsoleted hack.
...
This is no longer necessary now that the plugin enforces proper project
metadata on Equity accounts.
2020-06-18 10:05:37 -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
5e295f1024
accrual: Change args.since default.
...
This default makes more since with the way we're going to stop having
opening balances in open books.
2020-06-17 15:32:08 -04:00
Brett Smith
0caf78436f
accrual: Generate an aging report in more cases.
...
Default to generating an aging report unless the user searched for a
specific RT ticket or invoice.
2020-06-17 15:32:08 -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
7660700e6c
cliutil: Add date_arg() function.
...
Meant to be used as an argument type.
2020-06-15 18:11:39 -04:00
Brett Smith
4a28596db2
data: bank-statement and tax-statement are link metadata.
...
Not including them earlier was an oversight.
2020-06-15 18:08:18 -04:00
Brett Smith
582316ae85
data: Add Metadata.report_links() method.
...
This is just a variant of get_links() that eats TypeError.
Higher-level reporting code often wants it.
2020-06-15 14:19:10 -04:00
Brett Smith
72f58d80d7
reports: BaseODS.currency_cell() sets default style.
...
It'll be rare we don't want this.
2020-06-15 14:09:42 -04:00
Brett Smith
8333ed8876
reports: Add RelatedPostings.group_by_account() classmethod.
2020-06-15 11:20:30 -04:00
Brett Smith
ccc3a829da
reports: Add RelatedPostings.balance_at_cost_by_date() method.
2020-06-15 10:38:26 -04:00
Brett Smith
b2e35d098a
reports: Add Balance subtraction methods.
2020-06-15 10:16:34 -04:00
Brett Smith
f21ac740f2
data: Add Posting.at_cost() method.
2020-06-15 10:16:34 -04:00
Brett Smith
a2ee9c73fe
ranges: Start module.
...
The ledger report wants to use this functionality, so make it available in a
higher-level module.
I took the opportunity to clean up a lot of the surrounding type
declarations. It is less flexible, since it relies on the static list of
types in RangeT, but I don't think the other method actually worked at all
except by cheating with generic Any.
2020-06-15 09:14:42 -04:00
Brett Smith
760e0a8cd9
reports: Add column width styles to BaseODS.
2020-06-14 08:53:27 -04:00
Brett Smith
71d671e493
data: Add Metadata.human_name() classmethod.
2020-06-14 08:53:27 -04:00
Brett Smith
aff1fc537d
reports: Add BaseODS.meta_links_cell() method.
2020-06-12 17:10:25 -04:00
Brett Smith
17c5468a7d
reports: ODS links default to using URL as link text.
2020-06-12 16:42:54 -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
d6559b572f
accrual: Aging report uses RT short links for all RT link text.
...
Per user request. This is better than saying "Display.html" everywhere.
2020-06-12 15:54:50 -04:00
Brett Smith
4ca188611f
rtutil: Add RT.unparse() classmethod.
2020-06-12 15:54:38 -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
2a33e17892
accrual: Clean up comments.
2020-06-12 14:34:41 -04:00
Brett Smith
5706273bbe
accrual: Clean up types and imports.
...
Mostly I wanted to write the documentation about groups, and then
I kept pulling the thread.
2020-06-12 13:24:25 -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
8d7a2b1eea
accrual: Add AccrualPostings.rt_id property.
...
This is like the existing attributes, but it only supports the outgoings
report, so don't build it at __init__ time.
2020-06-11 14:22:11 -04:00
Brett Smith
52fc0d1b5f
reports: Add RelatedPostings.group_by_first_meta_link() method.
2020-06-11 14:01:19 -04:00
Brett Smith
f52ad4fbc1
reports: Add RelatedPostings.first_meta_links() method.
...
Basically moving this from AccrualPostings into the superclass.
2020-06-11 13:07:14 -04:00
Brett Smith
f76fa35fad
reports: RelatedPostings.all_meta_links() returns an iterator.
...
This preserves order.
2020-06-11 10:46:06 -04:00
Brett Smith
e3dceb601c
filters: Add iter_unique() function.
2020-06-11 10:46:06 -04:00
Brett Smith
9c33517583
data: Add Metadata.first_link() method.
2020-06-11 10:44:05 -04:00
Brett Smith
4b6a27496d
accrual: Clean unused imports.
2020-06-10 16:14:07 -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
8250f0a8ef
filters: Add audit_date() function.
2020-06-10 15:59:56 -04:00
Brett Smith
944c19da8d
books: Add date-fetching methods to FiscalYear.
2020-06-10 15:59:56 -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
f192d250e7
accrual: More detailed text for "total aged" lines in aging report.
...
Per bkuhn's request.
2020-06-09 15:04:41 -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
581046f988
reports: Balance.format() respects tolerance.
2020-06-09 09:04:27 -04:00
Brett Smith
cd1766adcf
reports: Balance.__eq__ respects tolerance.
2020-06-09 09:04:27 -04:00
Brett Smith
110e5038e1
reports: Balance.__init__ better handles multiple amounts of same currency.
...
This is something that should've happened with 3d704e286
but I didn't think of it at the time.
2020-06-09 09:04:27 -04:00
Brett Smith
a23d075add
books: Add Loader.load_none() method.
2020-06-09 09:04:27 -04:00
Brett Smith
8d3d7e7ce4
data: Add part slicing methods to Account.
2020-06-09 09:04:27 -04:00
Brett Smith
2b5cb0eca6
cliutil: Add bytes_output() and text_output() functions.
2020-06-09 09:04:27 -04:00
Brett Smith
04c804a506
books: Remove unused workdir() function.
2020-06-09 09:04:27 -04:00
Brett Smith
0581525c98
reports: Add Balance.__pos__() method.
...
I did this while I was working on normalize_amount_func.
It turns out it's not immediately needed, but it's still nice to have.
2020-06-09 09:04:27 -04:00
Brett Smith
e26dffa214
reports: Add normalize_amount_func() function.
2020-06-09 09:04:27 -04:00
Brett Smith
cd1b28ae3e
cliutil: Add generalized SearchTerm class.
...
This makes the same filtering easily available to other reporting tools for
consistency.
2020-06-09 09:04:27 -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
87760f6aea
accrual: Clean up typing after recent bugfix.
2020-06-05 10:01:36 -04:00
Brett Smith
0b3eb1d1d3
accrual: Inconsistent entity is not an error.
2020-06-05 09:10:48 -04:00
Brett Smith
39fa977f71
reports: Balance.le/ge_zero returns False when exactly at tolerance.
2020-06-04 10:49:55 -04:00
Brett Smith
95ba1638d2
filters: remove_opening_balance_txn does replacement instead of del.
2020-06-04 09:49:39 -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
2bd3e8b462
books: Loader.from_all() accepts a start FY argument.
2020-06-04 09:03:10 -04:00
Brett Smith
4cba2b2681
reports: Balance has built-in tolerance for zero comparisons.
2020-06-03 22:20: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
d920c5842a
reports: Start BaseSpreadsheet class.
2020-06-03 21:24:47 -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
3d704e2865
reports: Balance is initialized with just amounts.
...
This works fine with how we're currently using it, makes transformation
methods easier to implement, and avoids potential bugs where a balance is
initialized with a bad mapping.
2020-06-03 18:54:12 -04:00
Brett Smith
069939b2d3
reports: Balance classes support addition.
2020-06-03 18:53:17 -04:00
Brett Smith
cc0656dde9
reports: Add Balance.__abs__() method.
2020-06-03 18:52:44 -04:00
Brett Smith
58b02b6f33
accrual: Move more functionality into AccrualPostings.
2020-06-03 18:51:48 -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
39c9c0d83a
reports: Add RelatedPostings.__repr__() method.
2020-06-03 18:51:44 -04:00
Brett Smith
7301bfc099
accrual: Add AccrualPostings.make_consistent() method.
...
This will help the aging report better render dirty data.
2020-06-03 18:51:44 -04:00
Brett Smith
b37d7a3024
reports: Make RelatedPostings an immutable data structure.
...
This was an early mistake, it makes data consistency mistakes too
easy, and I only used it once so far in actual code. Going to fix
this now so I can more safely build on top of this data structure.
2020-06-03 18:51:38 -04:00
Brett Smith
dd949a4866
reports: Define RelatedPostings.__slots__.
2020-05-30 10:40:24 -04:00
Brett Smith
aef00ce83f
accrual: Check the consistency of accruals' cost.
2020-05-30 10:35:29 -04:00
Brett Smith
a008a09477
filters: Add remove_opening_balance_txn.
2020-05-30 08:30:07 -04:00
Brett Smith
32b62df540
cliutil: Better implementation of is_main_script.
...
The old one could return True if you called accrual.main()
directly from one-off test scripts.
2020-05-29 23:39:27 -04:00