YAFFA is a free, open source personal finance management project written in PHP and released under MIT. It has 109 GitHub stars, 10 forks and 12 open issues, and was last pushed 2 days ago. On this registry it ranks #12 of 12 tracked projects in Personal Finance Management, with 5 head-to-head comparisons available. It gained 1 stars over the last 6 tracked days.

What is YAFFA?

YAFFA (Yet Another Free Financial Application) is a free, MIT-licensed, self-hosted personal finance web application written in PHP on the Laravel framework, built for people who want long-term financial planning without uploading their financial data to the cloud or sharing it with third parties.

What it is

YAFFA is a self-hosted web application in the Productivity & Utilities / Personal Finance Management category. It is written in PHP using the Laravel framework and released under the MIT licence. The repository has 109 stars, 10 forks, and 12 open issues, with the most recent push on 15 September 2026. It handles multiple currencies, multiple accounts and account groups, income and spending transactions, budgets, scheduled and recurring transactions, and investments with gain and loss tracking. Project documentation lives at https://yaffa.cc.

The concrete problem it solves is data ownership in personal finance tracking. Hosted finance apps require financial data to be uploaded to a provider and shared with third parties; by hosting your own instance, that data stays on infrastructure you control. YAFFA also replaces manual re-entry of bank records through QIF and CSV import with customizable import rules for country- and bank-specific formats, and it reduces typing through transaction entry suggestions and optional AI-assisted prefilling.

Key capabilities

  • Multi-currency support with a default currency used on dashboards and charts, and currency rates updated automatically each day through the free Frankfurter service, which requires no API key or registration.
  • Multiple accounts and account groups, with income and spending recorded as transactions and entry suggestions offered while recording.
  • Transactions split into categories, which the project describes as a way to understand spending patterns and plan budgets.
  • Budgets (plans), scheduled and recurring transactions, optional automatic recording of recurring transactions, and forecasted data calculated from them.
  • Investment tracking with gain and loss, plus automatic price retrieval through the alphavantage.co service, which requires registration and a free API key.
  • Optional AI processing of documents to prefill transaction details, from manual uploads (text, PDF, and images), received emails, and Google Drive imports, using OpenAI or Gemini with your own API key and billing setup.
  • OCR for images via self-hosted Tesseract or vision-capable AI models, and QIF and CSV import with customizable rules.

Who uses it and how

  • Individual self-hosters who run the application on their own server so financial data is never uploaded to the cloud.
  • Desktop browser users: the interface is desktop-optimized and responsive for mobile view, but not fully optimized for mobile devices.
  • People tracking multiple currencies, several accounts, and investment portfolios in one instance.
  • Prospective users evaluating the app before installing, using the demo account with realistic sample data or registering an account on the public sandbox.
  • Households are not yet a supported shape: handling multiple users as a family in one app instance is listed as a planned feature, not a current one.

Getting started

The quickest route is the hosted sandbox at https://sandbox.yaffa.cc, which offers a demo account with sample data or a registration option for a full test drive. That environment is not a production service and its database is wiped regularly without notice, so anyone wanting a permanent setup must self-host the PHP/Laravel application on their own server, with details at https://yaffa.cc.

How it compares

The facts provided name no similar or paid products that YAFFA replaces, and no comparable tools from this registry. On the available evidence, it stands alone in this registry.

When to use it — and when not to

A self-hoster must operate a PHP/Laravel web application with its database, and optionally supply an OpenAI or Gemini API key with billing, a free alphavantage.co API key, and a Tesseract install for local OCR. YAFFA does not use dedicated libraries for precise decimal calculations on monetary values, which the README flags as a known concern for calculations and currency conversions that is planned for future implementation. It is also the wrong choice for anyone who wants automatic transaction downloads from banks or a native mobile app, both of which the project states it is not likely to introduce.

project readme (upstream, from github) — read inline

Yet Another Free Financial Application (YAFFA 🍊)

About Yaffa

Yaffa is a personal finance web application, focusing on the support of long term financial planning. Yaffa is a self hosted web application, written in PHP, using Laravel framework. By hosting your own app instance, your financial data is not uploaded to the cloud, and shared with any third parties.

Read more about YAFFA at https://yaffa.cc

Key features

  • Support multiple currencies.
    • There is a default currency, which is used on dashboards and charts.
    • Currency rates are automatically updated daily.
    • YAFFA utilizes the free Frankfurter service, requiring no API key or registration.
  • Support multiple accounts and account groups.
  • Track your income and spending by recording transactions.
    • Yaffa tries to come up with suggestions while entering transactions to speed up transaction recording process.
    • Transactions can be split into categories. This helps to better understand spending patterns and budget planning.
    • Yaffa can process documents with AI and prefill transaction details automatically.
      • Supported sources include manual uploads (text/PDF/images), received emails, and Google Drive imports.
      • This feature is optional and currently supports OpenAI or Gemini providers. You need to provide your own API key and billing setup.
      • OCR for images is available via Tesseract (self-hosted) or Vision-capable AI models.
  • Scheduled and recurring transactions, and budgets (plans) can be created.
    • This can be used to calculate forecasted data.
    • You can enable the automatic recording of recurring transactions.
  • Add your investments, to calculate gain and loss.
    • Automatically retrieve investment prices.
    • This is based on the alphavantage.co service. You need to register and get your free API key.
  • Import transactions from QIF and CSV files. Customizable import rules to support country and bank specific formats.

There are several features planned to be implemented:

  • Further charts, reports and dashboards.
  • Handling multiple users as a family in one app instance.
  • Better onboarding experience, or a tutorial.
  • YAFFA is not using dedicated libraries for precise decimal calculations for monetary values. As it is not an accounting software, but a personal finance application, this should not be a real problem. It is planned to be implemented in the future, to avoid any potential issues with calculations and currency conversions. In the meantime, be aware, if this is a concern for you.

Several features are not likely to be introduced, which you might expect from such applications. If you are looking to have these in a budget app or expense tracker, then YAFFA might not be the best choice for you.

  • Downloading transaction data directly from banks
    • The philosophy of expense tracking is to be conscious about your spending and financial habits, which requires the review and manual adjustment of transactions. Thus, automatic downloading of transactions from banks would save some time, but would not help to achieve the goal of expense tracking and budgeting.
    • Also, YAFFA supports automatic creation of scheduled transactions and entry of simple recurring transactions, to speed up the process of recording transactions.
  • Native mobile app
    • YAFFA is optimized for desktop browsers. The interface is responsive to support mobile view, but not fully optimized for mobile devices.

Read more about the features of YAFFA

Try it out

You can try out YAFFA without installing it. Take a look at the application at https://sandbox.yaffa.cc

  • Do you want to walk around, kick the tires, and see the application in action? Use the demo account featuring realistic sample data.
  • Do you want a full test drive to explore the application as if it were your own instance? You can register a new account at https://sandbox.yaffa.cc/register

⚠️ Important! This is not a production environment or a free service. Use it only to experiment with YAFFA's functionality and UI. The database is regularly wiped without prior notice.

💡 Tip: use a fake or disposable email address to sign up. The email address does not need to be verified.

Getting started

Read the full documentation at https://yaffa.cc/documentation/, including the Getting Started guide and the Installation instructions.

Upgrading

When upgrading between major versions, please see the details and follow the instructions listed in the upgrade guide.

Contributors

Thanks to these people for helping improve this project:

  • WMP - Polish translation and various features, including the monthly breakdown and drill down functionality.

License

YAFFA is open-sourced software licensed under the MIT license.

Frequently asked questions

Is YAFFA free to use?

YAFFA is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does YAFFA do?

Free, self-hosted personal finance app for long-term planning

What is YAFFA written in?

YAFFA is primarily written in PHP. Its source is publicly available at https://github.com/kantorge/yaffa, and it has 109 GitHub stars.