From b97e899983f45cf2ce7713c6e9b355e399fa153e Mon Sep 17 00:00:00 2001 From: padreug Date: Tue, 11 Nov 2025 03:09:44 +0100 Subject: [PATCH] Update default expense accounts to optimized structure MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reorganizes 22 old expense accounts into 31 new accounts with: - 6 logical categories (Supplies, Materials, Equipment, Utilities, Maintenance, Services) - Consistent 3-level hierarchy throughout - Clear groupings that map to virtual parent permission grants Matches the structure in castle-ledger.beancount for consistency. Categories: - Supplies: consumables bought regularly (7 accounts) - Materials: construction/building materials (2 accounts) - Equipment: durable goods that last (3 accounts) - Utilities: ongoing service bills (5 accounts) - Maintenance: repairs & upkeep (4 accounts) - Services: professional services & subscriptions (6 accounts) Benefits: - Virtual parents auto-generated for each category - Permission grants more intuitive and efficient - No conflicting parent/child account names 🤖 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude --- account_utils.py | 56 +++++++++++++++++++++++++++++++----------------- 1 file changed, 36 insertions(+), 20 deletions(-) diff --git a/account_utils.py b/account_utils.py index ec756ad..46db327 100644 --- a/account_utils.py +++ b/account_utils.py @@ -214,26 +214,42 @@ DEFAULT_HIERARCHICAL_ACCOUNTS = [ ("Income:Service", AccountType.REVENUE, "Revenue from services"), ("Income:Other", AccountType.REVENUE, "Other revenue"), - # Expenses - ("Expenses:Administrative", AccountType.EXPENSE, "Administrative expenses"), - ("Expenses:Construction:Materials", AccountType.EXPENSE, "Construction materials"), - ("Expenses:Furniture", AccountType.EXPENSE, "Furniture and furnishings"), - ("Expenses:Garden", AccountType.EXPENSE, "Garden supplies and materials"), - ("Expenses:Gas:Kitchen", AccountType.EXPENSE, "Kitchen gas"), - ("Expenses:Gas:Vehicle", AccountType.EXPENSE, "Vehicle gas and fuel"), - ("Expenses:Groceries", AccountType.EXPENSE, "Groceries and food"), - ("Expenses:Hardware", AccountType.EXPENSE, "Hardware and tools"), - ("Expenses:Housewares", AccountType.EXPENSE, "Housewares and household items"), - ("Expenses:Insurance", AccountType.EXPENSE, "Insurance premiums"), - ("Expenses:Kitchen", AccountType.EXPENSE, "Kitchen supplies and equipment"), - ("Expenses:Maintenance:Car", AccountType.EXPENSE, "Car maintenance and repairs"), - ("Expenses:Maintenance:Garden", AccountType.EXPENSE, "Garden maintenance"), - ("Expenses:Maintenance:Property", AccountType.EXPENSE, "Property maintenance and repairs"), - ("Expenses:Membership", AccountType.EXPENSE, "Membership fees"), - ("Expenses:Supplies", AccountType.EXPENSE, "General supplies"), - ("Expenses:Tools", AccountType.EXPENSE, "Tools and equipment"), + # Expenses - SUPPLIES (consumables - things you buy regularly) + ("Expenses:Supplies:Food", AccountType.EXPENSE, "Food & groceries"), + ("Expenses:Supplies:Kitchen", AccountType.EXPENSE, "Kitchen supplies"), + ("Expenses:Supplies:Office", AccountType.EXPENSE, "Office supplies"), + ("Expenses:Supplies:Garden", AccountType.EXPENSE, "Garden supplies"), + ("Expenses:Supplies:Paint", AccountType.EXPENSE, "Paint & painting supplies"), + ("Expenses:Supplies:Cleaning", AccountType.EXPENSE, "Cleaning supplies"), + ("Expenses:Supplies:Other", AccountType.EXPENSE, "Other consumables"), + + # Expenses - MATERIALS (construction/building materials) + ("Expenses:Materials:Construction", AccountType.EXPENSE, "Building materials"), + ("Expenses:Materials:Hardware", AccountType.EXPENSE, "Hardware (nails, screws, fasteners)"), + + # Expenses - EQUIPMENT (durable goods that last) + ("Expenses:Equipment:Tools", AccountType.EXPENSE, "Tools"), + ("Expenses:Equipment:Furniture", AccountType.EXPENSE, "Furniture"), + ("Expenses:Equipment:Housewares", AccountType.EXPENSE, "Housewares & appliances"), + + # Expenses - UTILITIES (ongoing services with bills) ("Expenses:Utilities:Electric", AccountType.EXPENSE, "Electricity"), ("Expenses:Utilities:Internet", AccountType.EXPENSE, "Internet service"), - ("Expenses:WebHosting:Domain", AccountType.EXPENSE, "Domain registration"), - ("Expenses:WebHosting:Wix", AccountType.EXPENSE, "Wix hosting service"), + ("Expenses:Utilities:Gas:Kitchen", AccountType.EXPENSE, "Kitchen gas"), + ("Expenses:Utilities:Gas:Vehicle", AccountType.EXPENSE, "Vehicle fuel"), + ("Expenses:Utilities:Water", AccountType.EXPENSE, "Water"), + + # Expenses - MAINTENANCE (repairs & upkeep) + ("Expenses:Maintenance:Property", AccountType.EXPENSE, "Building/property repairs"), + ("Expenses:Maintenance:Vehicle", AccountType.EXPENSE, "Car maintenance & repairs"), + ("Expenses:Maintenance:Garden", AccountType.EXPENSE, "Garden maintenance"), + ("Expenses:Maintenance:Equipment", AccountType.EXPENSE, "Equipment repairs"), + + # Expenses - SERVICES (professional services & subscriptions) + ("Expenses:Services:Insurance", AccountType.EXPENSE, "Insurance premiums"), + ("Expenses:Services:Membership", AccountType.EXPENSE, "Membership fees"), + ("Expenses:Services:WebHosting:Domain", AccountType.EXPENSE, "Domain registration"), + ("Expenses:Services:WebHosting:Wix", AccountType.EXPENSE, "Wix hosting service"), + ("Expenses:Services:Administrative", AccountType.EXPENSE, "Administrative services"), + ("Expenses:Services:Other", AccountType.EXPENSE, "Other services"), ]