コード例 #1
0
def compute(form):
    f = form

    # Part I: Income

    f.line3 = f.line1 - f.line2
    f.line5 = f.line3 - f.line4
    f.line7 = f.line5 + f.line6

    # Part II: Expenses

    f.line28 = dsum(getattr(f, attr) for attr in _expense_lines())
    f.line29 = f.line7 - f.line28
    f.line31 = f.line29 - f.line30

    # Part III: Cost of Goods Sold

    f.line40 = f.line35 + f.line36 + f.line37 + f.line38 + f.line39
    f.line42 = f.line40 - f.line41

    # Part IV: Information on Your Vehicle
    # TODO

    # Part V: Other Expenses

    f.line48 = dsum(value for expense, value in f.Part_V)
コード例 #2
0
ファイル: f1040sc.py プロジェクト: B-Rich/luca
def compute(form):
    f = form

    # Part I: Income

    f.line3 = f.line1 - f.line2
    f.line5 = f.line3 - f.line4
    f.line7 = f.line5 + f.line6

    # Part II: Expenses

    f.line28 = dsum(getattr(f, attr) for attr in _expense_lines())
    f.line29 = f.line7 - f.line28
    f.line31 = f.line29 - f.line30

    # Part III: Cost of Goods Sold

    f.line40 = f.line35 + f.line36 + f.line37 + f.line38 + f.line39
    f.line42 = f.line40 - f.line41

    # Part IV: Information on Your Vehicle
    # TODO

    # Part V: Other Expenses

    f.line48 = dsum(value for expense, value in f.Part_V)
コード例 #3
0
ファイル: f1040.py プロジェクト: B-Rich/luca
def compute(form):
    f = form
    f.line6ab = bool(f.line6a) + bool(f.line6b)
    # TODO: dependents
    f.line6d = f.line6ab
    f.line22 = dsum(getattr(f, line) for line in income_tally)
    f.line36 = dsum(getattr(f, line) for line in adjustments)
    f.line37 = f.line22 - f.line36
    f.line38 = f.line37
    # TODO: standard deduction
    f.line41 = f.line38 - f.line40
    exemption = exemptions[f.form_version]
    f.line42 = f.line6d * exemption
    f.line43 = max(f.line41 - f.line42, zero)
    if form.form_version == u'2012':
        f.line44 = tax_from_tax_table(f.line43, f.filing_status)
    else:
        schedule = schedules[form.form_version][f.filing_status]
        f.line44 = schedule.compute_tax_on(f.line43)
    f.line46 = f.line44 + f.line45
    f.line54 = dsum(getattr(f, line) for line in credits)
    f.line55 = f.line46 - f.line54
    f.line61 = f.line55 + dsum(getattr(f, line) for line in other_taxes)
    f.line72 = dsum(getattr(f, line) for line in payments) - f.line64b
    if f.line72 > f.line61:
        f.line73 = f.line72 - f.line61
        # TODO: asking for refund etc
    elif f.line61 > f.line72:
        f.line76 = f.line61 - f.line72
コード例 #4
0
def _compute_pre_2014(f, v):
    f.line46 = f.line44 + f.line45
    f.line54 = dsum(getattr(f, line) for line in v.credits)
    f.line55 = f.line46 - f.line54
    f.line61 = f.line55 + dsum(getattr(f, line) for line in v.other_taxes)
    f.line72 = dsum(getattr(f, line) for line in v.payments) - f.line64b
    if f.line72 > f.line61:
        f.line73 = f.line72 - f.line61
        # TODO: asking for refund etc
    elif f.line61 > f.line72:
        f.line76 = f.line61 - f.line72
コード例 #5
0
ファイル: f1040.py プロジェクト: MattHJensen/luca
def _compute_pre_2014(f, v):
    f.line46 = f.line44 + f.line45
    f.line54 = dsum(getattr(f, line) for line in v.credits)
    f.line55 = f.line46 - f.line54
    f.line61 = f.line55 + dsum(getattr(f, line) for line in v.other_taxes)
    f.line72 = dsum(getattr(f, line) for line in v.payments) - f.line64b
    if f.line72 > f.line61:
        f.line73 = f.line72 - f.line61
        # TODO: asking for refund etc
    elif f.line61 > f.line72:
        f.line76 = f.line61 - f.line72
コード例 #6
0
ファイル: f1040sd.py プロジェクト: MattHJensen/luca
def check(form, forms, eq):
    f8949s = forms['us.f8949']
    if not f8949s:
        return

    letters = 'efg' if form.form_version < '2012' else 'degh'

    for i, box in enumerate('ABC', 1):
        these = [f for f in f8949s if f.Part_I.box == box]
        for letter in letters:
            line = 'total_{}'.format(letter)
            n = dsum(getattr(f.Part_I, line) for f in these)
            eq('line{}{}'.format(i, letter), n)

    for i, box in enumerate('ABC', 8):
        these = [f for f in f8949s if f.Part_I.box == box]
        for letter in letters:
            line = 'total_{}'.format(letter)
            n = dsum(getattr(f.Part_II, line) for f in these)
            eq('line{}{}'.format(i, letter), n)
コード例 #7
0
ファイル: f1040sd.py プロジェクト: zrisher/luca
def check(form, forms, eq):
    f8949s = forms['us.f8949']
    if not f8949s:
        return

    letters = 'efg' if form.form_version < '2012' else 'degh'

    for i, box in enumerate('ABC', 1):
        these = [f for f in f8949s if f.Part_I.box == box]
        for letter in letters:
            line = 'total_{}'.format(letter)
            n = dsum(getattr(f.Part_I, line) for f in these)
            eq('line{}{}'.format(i, letter), n)

    for i, box in enumerate('ABC', 8):
        these = [f for f in f8949s if f.Part_I.box == box]
        for letter in letters:
            line = 'total_{}'.format(letter)
            n = dsum(getattr(f.Part_II, line) for f in these)
            eq('line{}{}'.format(i, letter), n)
コード例 #8
0
def compute(form):
    f = form
    v = info_dict[f.form_version]

    f.line6ab = bool(f.line6a) + bool(f.line6b)
    exemptions_count = f.line6ab
    exemptions_count += getattr(f, 'line6c_lived_with', 0)
    exemptions_count += getattr(f, 'line6c_not_lived_with', 0)
    exemptions_count += getattr(f, 'line6c_other', 0)
    f.line6d = exemptions_count
    f.line22 = dsum(getattr(f, line) for line in income_tally)
    f.line36 = dsum(getattr(f, line) for line in adjustments)
    f.line37 = f.line22 - f.line36
    f.line38 = f.line37
    # TODO: standard deduction
    f.line41 = f.line38 - f.line40
    exemption = exemptions[f.form_version]
    f.line42 = f.line6d * exemption
    f.line43 = max(f.line41 - f.line42, zero)
    if form.form_version == u'2012':
        f.line44 = tax_from_tax_table(f.line43, f.filing_status)
    else:
        schedule = schedules[form.form_version][f.filing_status]
        f.line44 = schedule.compute_tax_on(f.line43)

    if f.form_version < u'2014':
        return _compute_pre_2014(f, v)

    f.line46 = zero
    f.line47 = f.line44 + f.line45 + f.line46
    f.line55 = dsum(getattr(f, line) for line in v.credits)
    f.line56 = f.line47 - f.line55
    f.line63 = f.line56 + dsum(getattr(f, line) for line in v.other_taxes)
    f.line74 = dsum(getattr(f, line) for line in v.payments) - f.line66b
    if f.line74 > f.line63:
        f.line75 = f.line74 - f.line63
        f.line78 = zero
        # TODO: asking for refund etc
    elif f.line63 > f.line74:
        f.line75 = zero
        f.line78 = f.line63 - f.line74
コード例 #9
0
ファイル: f1040.py プロジェクト: eukreign/luca
def compute(form):
    f = form
    v = info_dict[f.form_version]

    f.line6ab = bool(f.line6a) + bool(f.line6b)
    exemptions_count = f.line6ab
    exemptions_count += getattr(f, 'line6c_lived_with', 0)
    exemptions_count += getattr(f, 'line6c_not_lived_with', 0)
    exemptions_count += getattr(f, 'line6c_other', 0)
    f.line6d = exemptions_count
    f.line22 = dsum(getattr(f, line) for line in income_tally)
    f.line36 = dsum(getattr(f, line) for line in adjustments)
    f.line37 = f.line22 - f.line36
    f.line38 = f.line37
    # TODO: standard deduction
    f.line41 = f.line38 - f.line40
    exemption = exemptions[f.form_version]
    f.line42 = f.line6d * exemption
    f.line43 = max(f.line41 - f.line42, zero)
    if form.form_version == u'2012':
        f.line44 = tax_from_tax_table(f.line43, f.filing_status)
    else:
        schedule = schedules[form.form_version][f.filing_status]
        f.line44 = schedule.compute_tax_on(f.line43)

    if f.form_version < u'2014':
        return _compute_pre_2014(f, v)

    f.line46 = zero
    f.line47 = f.line44 + f.line45 + f.line46
    f.line55 = dsum(getattr(f, line) for line in v.credits)
    f.line56 = f.line47 - f.line55
    f.line63 = f.line56 + dsum(getattr(f, line) for line in v.other_taxes)
    f.line74 = dsum(getattr(f, line) for line in v.payments) - f.line66b
    if f.line74 > f.line63:
        f.line75 = f.line74 - f.line63
        f.line78 = zero
        # TODO: asking for refund etc
    elif f.line63 > f.line74:
        f.line75 = zero
        f.line78 = f.line63 - f.line74