# /// script # requires-python = ">=3.12" # dependencies = [] # exclude-newer = "2026-08-08T00:00:00Z" # /// """Readable rollover, iron-curtain, catch-up, and entry controls for Granite Harbor.""" from __future__ import annotations def money(amount: float) -> str: """Display financial amounts with commas, parentheses, and two decimals.""" return f"({abs(amount):,.2f})" if amount < 0 else f"{amount:,.2f}" annual_omission = 20_000.00 years_omitted = 4 # Signed income corrections are negative because they reduce reported income. rollover_amount = -annual_omission iron_curtain_liability_adjustment = annual_omission * years_omitted proposed_current_income_correction = -iron_curtain_liability_adjustment out_of_period_component = proposed_current_income_correction - rollover_amount print("Error-layer rollforward\n-----------------------") ending_liability_adjustment = 0.00 for year in range(1, years_omitted + 1): ending_liability_adjustment += annual_omission print( f"Year {year}: income correction {money(-annual_omission):>14} " f"ending liability adjustment {money(ending_liability_adjustment):>14}" ) print("\nSAB 108 quantitative views\n--------------------------") print(f"Rollover signed income correction {money(rollover_amount):>16}") print(f"Iron-curtain liability adjustment {money(iron_curtain_liability_adjustment):>16}") print(f"Proposed current-income correction {money(proposed_current_income_correction):>16}") print(f"Out-of-period current-income component {money(out_of_period_component):>16}") # Trial-balance sign convention: debit balances and debit adjustments are # positive; credit balances and credit adjustments are negative. entry = { "Operating expense": 20_000.00, "Retained earnings": 60_000.00, "Operating liability": -80_000.00, } print("\nCurrent correction entry\n------------------------") for account, adjustment in entry.items(): print(f"{account:<22} {money(adjustment):>16}") entry_difference = sum(entry.values()) print(f"{'Difference':<22} {money(entry_difference):>16}") assert abs(rollover_amount + 20_000.00) < 0.01 assert abs(iron_curtain_liability_adjustment - 80_000.00) < 0.01 assert abs(out_of_period_component + 60_000.00) < 0.01 assert abs(entry_difference) < 0.01 print("\nBoundary: the script quantifies both views and the proposed entry.") print("It does not decide materiality, filing, audit, control, or legal consequences.")