Commit graph

488 commits

Author SHA1 Message Date
Brett Smith
be35f36d26 meta_tax_implication: Add Chargeback value. 2020-05-01 15:54:40 -04:00
Brett Smith
08a3151bfa meta_tax_implication: Remove unused values. 2020-05-01 15:52:27 -04:00
Brett Smith
bbd99e96c0 plugin: Don't check payable documentation for now.
I believe we still want this in principle, but we're not currently enforcing
it the way I thought we were, and we very regularly write Payables without
this supporting documentation (for trip reimbursement, regular service fees,
etc.). Enforcing this now would be way too noisy in the books, we need to
devise a separate plan to enforce this if we want it.
2020-05-01 12:02:07 -04:00
Brett Smith
1b81375294 reports: Add Balance.__neg__() method. 2020-04-29 14:35:20 -04:00
Brett Smith
68acb86e7e reports: Add Balance.__str__() method. 2020-04-29 11:37:38 -04:00
Brett Smith
5a1f7122bd rtutil: Add RT.iter_urls() method. 2020-04-29 11:23:48 -04:00
Brett Smith
9fef177d2d reports: Add RelatedPostings.all_meta_links() method. 2020-04-29 10:12:08 -04:00
Brett Smith
46ac91e86e test_rtutil: Simplify setup. 2020-04-28 17:20:59 -04:00
Brett Smith
bd0d607032 typing: Annotate Iterators more specifically. 2020-04-28 16:35:15 -04:00
Brett Smith
999ca2c5e1 rtutil: Add RT.txn_with_urls() method. 2020-04-28 16:20:25 -04:00
Brett Smith
701ccdc192 tests: Test where Transactions are real NamedTuples.
This makes methods like _replace available in real code, and caught the
bug where we can't use @functools.lru_cache with Transaction arguments,
because they're unhashable due to their mutable members.
2020-04-28 15:33:30 -04:00
Brett Smith
e79877ee6a data: Add rt-id to LINK_METADATA.
This gets closer to our real intentions: anything that checks link
metadata should check rt-id. MetaRepoLinks is the exception, not
the rule, in ignoring rt-id.
2020-04-28 10:48:10 -04:00
Brett Smith
694630ca02 setup: Don't disallow untyped calls.
Unfortunately this is becoming more trouble than it's worth as we
call more and more untyped Beancount functions.
disallow_untyped_defs provides most of the value of what we really
want here, so go ahead and turn this off.
2020-04-27 16:53:22 -04:00
Brett Smith
1383dabf3b beancount_types: Make Error.source a Mapping rather than a Dict.
The Beancount code just needs a mapping, and this lets us use
Metadata or PostingMeta objects for Error sources.
2020-04-27 16:44:39 -04:00
Brett Smith
d3415a8721 data: Type declare that Posting.meta is a PostingMeta.
This is necessary for users to call PostingMeta properties like date
as intended.
2020-04-27 16:44:06 -04:00
Brett Smith
d01df054ab reports: Let RelatedPostings be initialized with an Iterable[Posting]. 2020-04-27 15:51:30 -04:00
Brett Smith
5e061da940 reports: Fix return type of RelatedPostings.group_by_meta. 2020-04-24 15:36:02 -04:00
Brett Smith
bd00822b8f reports: Add RelatedPostings.group_by_meta() classmethod. 2020-04-24 13:37:35 -04:00
Brett Smith
fdd067b10e tests: Add sample configuration file.
This should've been included in 7f45788.
2020-04-23 11:41:07 -04:00
Brett Smith
d8507a1a35 rtutil: Add RTUtil.metadata_regexp() classmethod.
The accruals check script wants to be able to search RT links in
all kinds of metadata, not just rt-id as the filter currently
handles.
2020-04-23 10:27:47 -04:00
Brett Smith
d41bc5e9b6 reports: Add RelatedPostings.clear() method. 2020-04-22 12:02:06 -04:00
Brett Smith
ed4258daf7 reports: Add RelatedPostings.meta_values() method.
This corresponds to the ledtag_onevalue check in the
payment-report and income-report scripts.
2020-04-22 11:59:12 -04:00
Brett Smith
54a1bc4600 filters: Add filter_for_rt_id function. 2020-04-22 10:59:12 -04:00
Brett Smith
4420873c96 filters: Add filter_meta_match function. 2020-04-22 10:34:55 -04:00
Brett Smith
26762e11ef test_filters: Test non-string metadata values. 2020-04-22 10:31:52 -04:00
Brett Smith
cc03c4beb6 filters: Add filter_meta_equal function. 2020-04-22 10:04:24 -04:00
Brett Smith
99dbd1ac95 tests: Promote date_seq to testutil. 2020-04-22 09:17:58 -04:00
Brett Smith
8d584734ec data: Add Posting.from_entries() method. 2020-04-21 15:24:04 -04:00
Brett Smith
3000aeee09 config: Add Config.books_loader() method. 2020-04-21 13:35:56 -04:00
Brett Smith
96a363633f books: Add Loader.load_fy_range() method. 2020-04-21 11:58:28 -04:00
Brett Smith
43a2e1bec8 beancount_types: Add types related to loading the books.
These will help support loading methods in the books module.
2020-04-21 11:57:54 -04:00
Brett Smith
855c1c2bf0 books: Start Loader class. 2020-04-21 10:47:13 -04:00
Brett Smith
adf402442b books: Introduce Year type alias.
This is going to be repeated a lot as we write book-loading methods.
2020-04-21 09:51:27 -04:00
Brett Smith
51137815d3 config: fiscal_year_begin returns a FiscalYear. 2020-04-21 09:07:14 -04:00
Brett Smith
5c60666619 books: Start FiscalYear class. 2020-04-20 17:20:26 -04:00
Brett Smith
894f044093 config: Add Config.fiscal_year_begin() method. 2020-04-20 14:31:22 -04:00
Brett Smith
7f45788235 config: Start configuration file with books path.
Ultimately I would like to make it possible to configure the software
entirely through this file, rather than the hodgepodge system we have
now. But that can come later.
2020-04-12 22:27:52 -04:00
Brett Smith
8fa9a0ffe6 tests: Set XDG_CONFIG_HOME for safety. 2020-04-12 22:24:34 -04:00
Brett Smith
b28646aa12 core.RelatedPostings: Add iter_with_balance method.
payment-report and accrual-report query to find the last date a
series of postings had a non/zero balance. This method is a good
building block for that.
2020-04-12 15:18:19 -04:00
Brett Smith
5aa30e5456 reports.core: Start Balance class. 2020-04-12 14:56:00 -04:00
Brett Smith
219cd4bc37 reports.core: Start RelatedPostings class. 2020-04-12 09:47:41 -04:00
Brett Smith
171aed16f9 data: Bugfix super() arguments in Amount.__new__.
Apparently I was more tired than I realized last night.
2020-04-12 08:58:27 -04:00
Brett Smith
01c3b975d8 data: Fix Amount.__new__.
See the comments for background and rationale.
2020-04-11 22:26:01 -04:00
Brett Smith
14a87e792b data: Move iter_posting into Posting class methods.
As I move into reporting code, having Posting.from_beancount() is
handy, and then from_txn() might as well come along for the ride.
2020-04-11 16:16:35 -04:00
Brett Smith
eb7f73e644 data.PostingMeta: Add date property.
This is something reporting tools will want a lot. This will make it
easier for them to look at just postings without worrying about the
parent transaction.
2020-04-11 09:20:35 -04:00
Brett Smith
a156617b4d config: Add Config.config_file_path() method. 2020-04-10 10:53:39 -04:00
Brett Smith
24813a9b81 config: Ignore non-absolute XDG_CACHE_HOME.
Per the spec.
2020-04-10 08:34:55 -04:00
Brett Smith
c7fbf5b5d5 config: s/XDG_CACHE_DIR/XDG_CACHE_HOME/g
Per the spec.
2020-04-10 08:24:34 -04:00
Brett Smith
9f0c30738d plugin: Most validations skip opening balance transactions. RT#10642. 2020-04-09 15:12:04 -04:00
Brett Smith
4eaba1ebf6 data: Add is_opening_balance_txn function. 2020-04-09 15:11:16 -04:00