[Feature] Template budget categories as server configuration #2877

Closed
opened 2026-02-28 20:31:20 -06:00 by GiteaMirror · 1 comment
Owner

Originally created by @gomesp on GitHub (Feb 1, 2026).

Verified feature request does not already exist?

  • I have searched and found no existing issue

💻

  • Would you like to implement this feature?

Pitch: what problem are you trying to solve?

I love the budget templates and goals feature. Would it be possible to expand it for users that are hosting their own servers?

For example, the docker compose file could take a YAML configuration file as input to setup all your groups and categories, and optionally the goals you have for them.

Describe your ideal solution to this problem

An example YAML configuration file could look like this (with internal references):

budget:
  settings:
    currency-format: 1,000.33
    first-day-of-week: monday
    date-format: YYYY-MM-DD
    hide-decimal-places: false
    tracking-method: envelope | tracking

  accounts:
    CheckingAccount:
    - properties: 
      name: Checking Account
      type: checking
      budget-tracking: true
      initial-balance: 
        amount: +2500
        date: 2026-01-15
    
    SavingsAccount:
    - properties:
      name: Savings Account
      type: savings
      budget-tracking: true
      initial-balance: 
        amount: +1000
        date: 2026-01-15
    
    CreditCard:
    - properties:
      name: Credit Card
      type: credit
      budget-tracking: true
      initial-balance: 
        amount: -500
        date: 2026-01-15
    
    RetirementFund:
    - properties:
      name: Retirement Fund
      type: investment
      budget-tracking: false
      initial-balance:
        amount: +15000
        date: 2026-01-15  
  
  schedules:
    HomeBroadband:
      properties:
        name: Home Broadband
        automatically-add-transaction: true
        add-to-budget-template: true
        notes: |
          Monthly internet service payment.
        category:
          $ref: /budget/groups/Bills/categories/Internet
        interval:
          type: monthly
          day: last
        amount: 100
        account:
          $ref: /budget/accounts/CheckingAccount
        payee:
          $ref: /budget/payees/InternetProvider
        start-date: 2026-02-01
 
  groups:
    UsualExpenses:
      properties:
        name: Usual Expenses
        notes: |
          This group contains all the regular monthly expenses.
      categories:
        Food:
          properties:
            name: Food
            notes: |
              This budget is allocated for groceries and dining out.
        Restaurants:
          properties:
            name: Restaurants
            notes: |
              This budget is specifically for dining out at restaurants.
        Entertainment:
          properties:
            name: Entertainment
            notes: |
              This budget covers movies, concerts, and other entertainment activities.
        Clothing:
          properties:
            name: Clothing
            notes: |
              This budget is for clothing and apparel purchases.
    
    Bills:
      properties:
        name: Bills
        notes: |
          This group contains all the recurring monthly bills.
      categories:
        Cell:
          properties:
            name: Cell Phone
          notes: |
            This budget is for monthly cell phone expenses.
        Internet:
          properties:
            name: Internet
        Mortgage:
          properties:
            name: Mortgage
        Water:
          properties:
            name: Water
        Power:
          properties:
            name: Power
    
    Income:
      properties:
        name: Income
      categories:
        SideHustle:
          properties:
            name: Side Hustle
        InterestRates:
          properties:
            name: Interest Rates
        Salary:
          properties:
            name: Salary

  payees:
    TraderJoes:
      properties:
        name: Trader Joe's
        imported_name_variants:
          - Trader Joe's NYC
          - Trader Joe's Los Angeles
          - Trader Joe's Chicago
        category:
          $ref: /budget/groups/UsualExpenses/categories/Food
    ElectricityCompany:
      properties:
        name: Electricity Company
        category:
          $ref: /budget/groups/Bills/categories/Power
    WaterSupplier:
      properties:
        name: Water Supplier
        category:
          $ref: /budget/groups/Bills/categories/Water
    InternetProvider:
      properties:
        name: Internet Provider
        category:
          $ref: /budget/groups/Bills/categories/Internet
    Landlord:
      properties:
        name: Landlord
        category:
          $ref: /budget/groups/Bills/categories/Mortgage
    CoffeeShop:
      properties:
        name: Coffee Shop
        imported_name_variants:
        - Starbucks NYC
        - Starbucks Los Angeles
        - Starbucks Chicago
      category:
        $ref: /budget/groups/UsualExpenses/categories/Restaurants

Teaching and learning

That would potentially allow users to share their "budget configuration libraries", so people new to budgeting could automatically import some well organised templates.

Originally created by @gomesp on GitHub (Feb 1, 2026). ### Verified feature request does not already exist? - [x] I have searched and found no existing issue ### 💻 - [ ] Would you like to implement this feature? ### Pitch: what problem are you trying to solve? I love the [budget templates and goals](https://actualbudget.org/docs/experimental/goal-templates#using-templates) feature. Would it be possible to expand it for users that are hosting their own servers? For example, the docker compose file could take a YAML configuration file as input to setup all your groups and categories, and optionally the goals you have for them. ### Describe your ideal solution to this problem An example YAML configuration file could look like this (with internal references): ```yaml budget: settings: currency-format: 1,000.33 first-day-of-week: monday date-format: YYYY-MM-DD hide-decimal-places: false tracking-method: envelope | tracking accounts: CheckingAccount: - properties: name: Checking Account type: checking budget-tracking: true initial-balance: amount: +2500 date: 2026-01-15 SavingsAccount: - properties: name: Savings Account type: savings budget-tracking: true initial-balance: amount: +1000 date: 2026-01-15 CreditCard: - properties: name: Credit Card type: credit budget-tracking: true initial-balance: amount: -500 date: 2026-01-15 RetirementFund: - properties: name: Retirement Fund type: investment budget-tracking: false initial-balance: amount: +15000 date: 2026-01-15 schedules: HomeBroadband: properties: name: Home Broadband automatically-add-transaction: true add-to-budget-template: true notes: | Monthly internet service payment. category: $ref: /budget/groups/Bills/categories/Internet interval: type: monthly day: last amount: 100 account: $ref: /budget/accounts/CheckingAccount payee: $ref: /budget/payees/InternetProvider start-date: 2026-02-01 groups: UsualExpenses: properties: name: Usual Expenses notes: | This group contains all the regular monthly expenses. categories: Food: properties: name: Food notes: | This budget is allocated for groceries and dining out. Restaurants: properties: name: Restaurants notes: | This budget is specifically for dining out at restaurants. Entertainment: properties: name: Entertainment notes: | This budget covers movies, concerts, and other entertainment activities. Clothing: properties: name: Clothing notes: | This budget is for clothing and apparel purchases. Bills: properties: name: Bills notes: | This group contains all the recurring monthly bills. categories: Cell: properties: name: Cell Phone notes: | This budget is for monthly cell phone expenses. Internet: properties: name: Internet Mortgage: properties: name: Mortgage Water: properties: name: Water Power: properties: name: Power Income: properties: name: Income categories: SideHustle: properties: name: Side Hustle InterestRates: properties: name: Interest Rates Salary: properties: name: Salary payees: TraderJoes: properties: name: Trader Joe's imported_name_variants: - Trader Joe's NYC - Trader Joe's Los Angeles - Trader Joe's Chicago category: $ref: /budget/groups/UsualExpenses/categories/Food ElectricityCompany: properties: name: Electricity Company category: $ref: /budget/groups/Bills/categories/Power WaterSupplier: properties: name: Water Supplier category: $ref: /budget/groups/Bills/categories/Water InternetProvider: properties: name: Internet Provider category: $ref: /budget/groups/Bills/categories/Internet Landlord: properties: name: Landlord category: $ref: /budget/groups/Bills/categories/Mortgage CoffeeShop: properties: name: Coffee Shop imported_name_variants: - Starbucks NYC - Starbucks Los Angeles - Starbucks Chicago category: $ref: /budget/groups/UsualExpenses/categories/Restaurants ``` ### Teaching and learning That would potentially allow users to share their "budget configuration libraries", so people new to budgeting could automatically import some well organised templates.
GiteaMirror added the needs votesfeature labels 2026-02-28 20:31:20 -06:00
Author
Owner

@github-actions[bot] commented on GitHub (Feb 1, 2026):

Thanks for sharing your idea!

This repository uses a voting-based system for feature requests. While enhancement issues are automatically closed, we still welcome feature requests! The voting system helps us gauge community interest in potential features. We also encourage community contributions for any feature requests marked as needing votes (just post a comment first so we can help guide you toward a successful contribution).

The enhancement backlog can be found here: https://github.com/actualbudget/actual/issues?q=label%3A%22needs+votes%22+sort%3Areactions-%2B1-desc+

Don't forget to upvote the top comment with 👍!

@github-actions[bot] commented on GitHub (Feb 1, 2026): :sparkles: Thanks for sharing your idea! :sparkles: This repository uses a voting-based system for feature requests. While enhancement issues are automatically closed, we still welcome feature requests! The voting system helps us gauge community interest in potential features. We also encourage community contributions for any feature requests marked as needing votes (just post a comment first so we can help guide you toward a successful contribution). The enhancement backlog can be found here: https://github.com/actualbudget/actual/issues?q=label%3A%22needs+votes%22+sort%3Areactions-%2B1-desc+ Don't forget to upvote the top comment with 👍! <!-- feature-auto-close-comment -->
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#2877