Brett Smith
c714b2f41f
patreon: Income2017Importer grabs email address.
2021-03-18 11:47:56 -04:00
Brett Smith
742fccca0c
patreon: Exclude tax from full amount.
...
This makes the balancing logic in entry generation work the way we want.
2020-12-10 09:43:47 -05:00
Brett Smith
c1d1e17afb
tests: CSV that should've been included in last commit.
2020-12-09 16:35:28 -05:00
Brett Smith
15ef02c153
patreon: New importer for revamped earnings report.
2020-12-08 11:31:40 -05:00
Brett Smith
6dfd89e5ec
patreon: Update importer for this month's change.
...
Literally all they did was change the title of the amount column
(maybe it doesn't assume USD anymore?).
2020-11-09 16:59:24 -05:00
Brett Smith
c13ddd1274
brightfunds: Add importer for new CSV format.
2020-11-09 16:58:19 -05:00
Brett Smith
347203b5f4
patreon: Update importer for recent patron changes. RT#12747
...
All they did was change a couple of column names.
2020-10-05 13:49:39 -04:00
Brett Smith
fcd14f3c44
github: Update to match fiscal host reporting.
...
In general the fiscal host reporting isn't as nice as the project reporting,
so I hope someday we can revert this change, but until then that's what
we're using.
2020-10-05 13:41:27 -04:00
Brett Smith
4bdea41c3f
patreon: New importer for new patron report CSV format.
2020-08-30 18:21:59 -04:00
Brett Smith
e5b600dae6
github: New importer.
2020-07-07 10:41:02 -04:00
Brett Smith
89378cbf90
hooks.ledger_entry: Clean up whitespace in strings.
...
The hook now ensures it does not output whitespace that could be
significant to Ledger, either because it's a newline or an
account-amount separator.
2020-01-10 13:27:34 -05:00
Brett Smith
cc2b397801
tests: Pass amount to Template.render as string.
...
render is required to convert the string to Decimal for historical design
reasons. Passing the amount as a string verifies this behavior.
2020-01-10 13:24:58 -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
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
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
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
7bb5815b08
nbpy2017: Handle complimentary t-shirts.
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
0eb014aeeb
patreon: New importer for payouts.
2018-07-10 11:36:07 -04:00
Brett Smith
309ea4ac6a
oreilly: New importer.
2018-07-03 10:24:21 -04: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
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
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
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
Brett Smith
6d1a7cb57d
config: Make get_section a public method.
...
As hooks and importers both require more configuration, they're gonna need
to have lower-level access to configuration settings.
2017-12-31 16:50:07 -05:00
Brett Smith
76f2707aac
hooks.ledger_entry: New hook to output Ledger entries.
...
This is roughly the smallest diff necessary to move output to a hook.
There's a lot of code reorganization that should still happen to bring it
better in line with this new structure.
2017-12-31 12:35:20 -05:00
Brett Smith
d2f8772e08
config: Add open_output_file method.
...
Make this functionality accessible to hooks.
2017-12-31 11:10:49 -05:00
Brett Smith
efe5768941
main: Set up a decimal context that safely handles currency.
2017-12-31 10:06:57 -05:00
Brett Smith
85b665200c
hooks: Hooks declare what order they run in.
2017-12-30 18:11:41 -05:00
Brett Smith
e8bcbd5f99
hooks.add_entity: Remove common company suffixes from entity tags.
2017-12-30 17:29:54 -05:00
Brett Smith
c7de107267
tests: Test Benevity disbursement importer from 1b1e2d0
.
2017-12-30 16:39:38 -05:00
Brett Smith
e497561a7e
tests: Test Amazon Affiliate Earnings importer from 25c6454
.
2017-12-30 16:14:15 -05:00
Brett Smith
d9f68e9817
tests: Add template test for 40552d6
.
2017-12-30 15:55:47 -05:00
Brett Smith
f6599a3deb
tests: Add template test for 9f72052
.
2017-12-30 15:55:25 -05:00
Brett Smith
52f2bdcd0e
tests: Add render_lines shortcut to template tests.
2017-12-30 15:54:53 -05:00