Commit graph

135 commits

Author SHA1 Message Date
Brett Smith
97d8f8fd06 setup: Bump version for new importer from last commit. 2019-12-30 15:46:32 -05:00
Brett Smith
01a86107d7 benevity: Add support for latest Benevity format. 2019-12-30 15:45:14 -05:00
Brett Smith
13c316acf6 tests: More tests for positive results for last commit. 2019-11-11 10:40:19 -05:00
Brett Smith
8516134687 hooks.ledger_entry: Improve date handling.
Check that we have the date field used in the payee line, and not just
'date'.
Allow other date fields to be None since they may not be used by the
template.
2019-11-11 10:18:21 -05:00
Brett Smith
7156529ceb nbpy2017: Report item rate names and final unit prices.
This keeps more of the RBI calculation in the templates, where it belongs.
Template logic has become more capable since this importer was first
written, which makes this change practical.
2019-10-15 15:44:53 -04:00
Brett Smith
1e381664f4 tests: Use yaml.full_load when available.
Per <https://msg.pyyaml.org/load>.
2019-10-08 10:47:27 -04:00
Brett Smith
ab8559c75b csv: Support importing squared CSV spreadsheets.
See the test comment for more rationale.
2019-08-28 10:22:10 -04:00
Brett Smith
6e37753fb3 ledger_entry: Support NEWLINE tokens.
Necessary to run on Python 3.7.
2019-08-28 09:39:19 -04:00
Brett Smith
eb329e92a0 ledger_entry: Only try to balance entry amounts when necessary.
This gives template authors the ability to write entries that
balance something other than the "main" amount.
2019-07-29 14:52:02 -04:00
Brett Smith
f6c1d7ed7a setup: Bump version for new template features. 2019-07-29 12:38:28 -04:00
Brett Smith
3e21157f20 ledger_entry: Support string tests in amount expressions.
This is useful for setting amounts based on imported strings like country,
Eventbrite ticket type, etc.
2019-07-29 12:37:42 -04:00
Brett Smith
4009c626d4 ledger_entry: Improve error reporting for amount expressions.
This is going to become more important as amount expressions become more
capable.
2019-07-29 12:05:51 -04:00
Brett Smith
5463290f87 eventbrite: Sales report can include currency.
It's a selectable column that I apparently failed to include in my last
report. Keep USD around as a default for convenience.
2019-07-29 11:41:49 -04:00
Brett Smith
a0f8d41d8e importers: New importer eventbrite. 2019-07-04 19:10:11 -04:00
Brett Smith
8755d6af67 ledger_entry: Support conditional expressions in amounts. 2019-07-04 10:15:09 -04:00
Brett Smith
44762555d5 yourcause: New importer. 2019-02-25 12:39:19 -05:00
Brett Smith
a607ff8d11 README: Fix typo. 2019-02-25 12:39:08 -05:00
Brett Smith
36dc1e6e43 setup: Bump version for new Benevity importer. 2019-02-15 15:26:37 -05:00
Brett Smith
69cf3872e9 benevity: Remove noop header copy.
The name of the header was "Payment Reference," so this never worked.
And now the information doesn't even exist in 2019 reports, so don't
bother with it.
2019-02-15 15:26:37 -05:00
Brett Smith
25b45abaeb benevity: Support new 2019 report format. 2019-02-15 15:26:37 -05:00
Brett Smith
8326bd68d9 benevity: Version the current importer.
The report format has changed slightly in 2019.
2019-02-15 11:47:27 -05:00
Brett Smith
4e048eccf1 setup: Bump version for nbpy2017 improvements. 2018-09-28 08:47:02 -04:00
Brett Smith
7bb5815b08 nbpy2017: Handle complimentary t-shirts. 2018-09-28 08:47:02 -04:00
Brett Smith
69efec1888 nbpy2017: Rename _RATE constants to _RBI.
This is a nonfunctional change that's just meant to better document
what these values actually represent.
2018-09-28 08:47:02 -04:00
Brett Smith
ba3b9ef93c nbpy2017: Actually count the quantity listed on invoices. 2018-09-28 08:47:02 -04:00
Brett Smith
a135e71a4a nbpy2017: Handle complimentary tickets.
The conference is offering these to people who proposed talks this year.
2018-09-28 08:31:24 -04:00
Brett Smith
4df5748a4f nbpy2017: Handle one-off "Sept." abbreviation in invoices. 2018-09-27 22:55:46 -04:00
Brett Smith
8d5e63ba3d README: Fix table markup in O'Reilly variables. 2018-09-11 10:19:59 -04:00
Brett Smith
0eb014aeeb patreon: New importer for payouts. 2018-07-10 11:36:07 -04:00
Brett Smith
e22b2f7c17 setup: Bump version for new oreilly importers. 2018-07-03 11:31:28 -04:00
Brett Smith
309ea4ac6a oreilly: New importer. 2018-07-03 10:24:21 -04:00
Brett Smith
b33c83af0a importers: Catch and handle CSV parse errors in can_import.
import2ledger bailed on one of these exceptions when trying to import
a recent XLS file that had a null byte on a line.
2018-06-20 15:59:56 -04:00
Brett Smith
cc0082814b hooks.ledger_entry: Warn when a template is unconfigured. 2018-02-22 14:58:38 -05:00
Brett Smith
c1baf3c38a main: Log key points of the main loop. 2018-02-22 14:58:08 -05:00
Brett Smith
6f139bbe90 README: Clean up vestigal "template foo bar" example key. 2018-02-22 14:57:36 -05:00
Brett Smith
5dfe2b1c7b main: Actually set logger level based on user's configuration. 2018-02-22 14:37:14 -05:00
Brett Smith
50376b2b78 README: Fix typo in Benevity Ledger entry key. 2018-02-22 14:36:55 -05:00
Brett Smith
ba871ffe34 CODE: Update for db59d2fc8c. 2018-01-26 15:35:07 -05:00
Brett Smith
eff9bdf856 README: Document `stripe payout ledger entry`. 2018-01-26 15:29:44 -05:00
Brett Smith
2de14e4573 stripe: Add payouts importer. 2018-01-25 17:59:19 -05:00
Brett Smith
f3e8f774c7 stripe: Extract more columns from payment data. 2018-01-25 12:11:58 -05:00
Brett Smith
5681545267 nbpy2017: Bugfix entry data key name for custom Ledger template. 2018-01-24 18:01:16 -05:00
Brett Smith
15bba54e4e setup: Add an [all_importers] extra for ease of installation. 2018-01-23 09:02:47 -05:00
Brett Smith
6fb447a43a setup: Modernize enum34 requirement declaration. 2018-01-23 09:01:59 -05:00
Brett Smith
055cab0703 setup: brightfunds depends on xlrd. 2018-01-23 08:40:41 -05:00
Brett Smith
37563ffae0 brightfunds: New importer.
This commit adds infrastructure to treat XLS files like CSV files, and
import them using the base classes that already exist for that.
2018-01-21 17:04:37 -05:00
Brett Smith
2502ca40dd TODO: Small additions from recent discussion. 2018-01-12 11:05:44 -05:00
Brett Smith
db59d2fc8c hooks.ledger_entry: Look up templates dynamically.
If there's a 'ledger entry' key in the entry data, use that value as the
name of the template to load.  Thanks to this, nbpy2017 could collapse
multiple importers into one.

Otherwise, build a default template name based on the importer source, and
try to use that.

All the configuration names now end with "ledger entry" instead of starting
with "template".  This makes it clearer what they're for, in case we
support other kinds of output templates in the future.

I ended up changing the names of some of the importers so the default
template name was nice, rather than specifying template names for all of
them, to reduce the amount of name discrepancies across the codebase.
2017-12-31 18:52:30 -05:00
Brett Smith
475de6db4e Clean stray file from initial development. 2017-12-31 17:58:47 -05:00
Brett Smith
cdec3d9aab hooks.ledger_entry: Bring in all Ledger-specific code.
This includes the old "template" module, plus the associated
template-loading code from config.
2017-12-31 17:29:14 -05:00