ledger: Dedicated reporting tab for Expenses:Payroll.
To better accommodate the new payroll-type metadata.
This commit is contained in:
parent
ea79200131
commit
087b3274e7
4 changed files with 13 additions and 2 deletions
|
@ -92,6 +92,7 @@ class LedgerODS(core.BaseODS[data.Posting, None]):
|
|||
]
|
||||
ACCOUNT_COLUMNS: Dict[str, Sequence[str]] = collections.OrderedDict([
|
||||
('Income', ['project', 'rt-id', 'receipt', 'income-type', 'memo']),
|
||||
('Expenses:Payroll', ['project', 'rt-id', 'payroll-type', 'expense-type', 'receipt', 'approval']),
|
||||
('Expenses', ['project', 'rt-id', 'receipt', 'approval', 'expense-type']),
|
||||
('Equity', ['project', 'rt-id']),
|
||||
('Assets:Receivable', ['project', 'rt-id', 'invoice', 'approval', 'contract', 'purchase-order']),
|
||||
|
|
2
setup.py
2
setup.py
|
@ -5,7 +5,7 @@ from setuptools import setup
|
|||
setup(
|
||||
name='conservancy_beancount',
|
||||
description="Plugin, library, and reports for reading Conservancy's books",
|
||||
version='1.15.4',
|
||||
version='1.15.5',
|
||||
author='Software Freedom Conservancy',
|
||||
author_email='info@sfconservancy.org',
|
||||
license='GNU AGPLv3+',
|
||||
|
|
|
@ -9,6 +9,8 @@
|
|||
classification: "Accounts receivable"
|
||||
2018-01-01 open Expenses:Other
|
||||
classification: "Other expenses"
|
||||
2018-01-01 open Expenses:Payroll
|
||||
classification: "Payroll expenses"
|
||||
2018-01-01 open Income:Other
|
||||
classification: "Other income"
|
||||
2018-01-01 open Liabilities:CreditCard
|
||||
|
|
|
@ -34,6 +34,7 @@ _ledger_load = bc_loader.load_file(testutil.test_path('books/ledger.beancount'))
|
|||
DEFAULT_REPORT_SHEETS = [
|
||||
'Balance',
|
||||
'Income',
|
||||
'Expenses:Payroll',
|
||||
'Expenses',
|
||||
'Equity',
|
||||
'Assets:Receivable',
|
||||
|
@ -42,7 +43,9 @@ DEFAULT_REPORT_SHEETS = [
|
|||
'Assets',
|
||||
'Liabilities',
|
||||
]
|
||||
PROJECT_REPORT_SHEETS = DEFAULT_REPORT_SHEETS[:5] + [
|
||||
PROJECT_REPORT_SHEETS = [
|
||||
*DEFAULT_REPORT_SHEETS[:2],
|
||||
*DEFAULT_REPORT_SHEETS[3:6],
|
||||
'Assets:Prepaid',
|
||||
'Liabilities:UnearnedIncome',
|
||||
'Liabilities:Payable',
|
||||
|
@ -402,6 +405,11 @@ def test_account_names_report(ledger_entries, accounts, report_kwargs):
|
|||
for account in iter_accounts(ledger_entries):
|
||||
if not account.startswith(accounts):
|
||||
ExpectedPostings.check_not_in_report(report.document, account)
|
||||
# This account is reportable but has no postings
|
||||
elif account == 'Expenses:Payroll':
|
||||
ExpectedPostings.check_in_report(
|
||||
report.document, account, START_DATE, STOP_DATE, txn_filter,
|
||||
)
|
||||
elif txn_filter is None:
|
||||
expected[account].check_report(report.document, START_DATE, STOP_DATE)
|
||||
else:
|
||||
|
|
Loading…
Reference in a new issue