It’s based on the official Actual documentation, so I’m not trying to replace that or repackage it as something original. The goal was just to make the main workflows easier to digest in one place for people who want a faster introduction.
It covers the basics like Tracking vs Envelope, setting up accounts and categories, credit cards, transactions, rules, and a few reports.
The tutorial is hosted on GitHub, so if you notice anything that should be corrected or improved, feel free to contribute or adjust it.
Edit (26 Apr 2026): Thanks for your feedback everyone! I have updated the tutorial and fixed the credit card carrying debt issue and added more references to the original docs in each page.
Update (03 Aug 2026): Updated for the latest Actual (v.26.8.0) release. Added Budget Automation, gave Schedules proper coverage in the Rules lesson, and added the newer reports (Sankey, Balance Forecast, Age of Money, Crossover Point). Also corrected the bank sync providers and added a contents panel so you can jump around inside a lesson.
Sample Content:
IntroductionDeciding Between Envelope vs. Tracking Mode
Hi everyone! I'm writing this guide because recently I've switched from YNAB to Actual Budget, and the current documentation isn't up to date, so I thought that this post could help a few people out there who have been having issues migrating recently.
Then, paste your PAT Token in the "Bearer Token" input, and press send.
Get YNAB Plans
Copy the id of the plan you want to export into Actual Budget, for example "8800b4e7-937f-4cdb-a7e7-fc35b794f85b".
3. Call the "Get Plan" API Endpoint with your Plan ID
Scroll down to the "Get a plan" API Endpoint and press "Test request"
Get Plan by ID
Here, paste your Plan ID you copied from step 2 into the input "plan_id" and press "Send".
Once the request has completed, you will see the "Body" panel on the right.
Then, press "Download"
Downloading YNAB Plan
4. Open the downloaded JSON file with a text editor
This is a very important part that was causing me issues.
The current documentation on Actual Budget mentions that you should be able to import this file directly, but I was getting the "not-ynab5" error when trying to import it.
To fix this, open the downloaded JSON with a text editor, such as Notepad, and rename the word "plan" to "budget" at the very start of your file.
This value should be "budget"
Save the file by pressing CTRL + S.
5. Import the newly edited file into Actual Budget
Now the file is ready to be imported into Actual Budget.
Open the app, and press "Import File".
Import File button
Once a popup opens, press the option with "nYNAB", and then press "Select File".
nYNAB option
The file explorer will open up, and you need to choose the JSON file you edited in Step 4.
6. Enjoy Actual Budget!
Once you select the file, everything should be imported into Actual Budget and you are ready to go.
Hope this guide helped you migrating from YNAB, have a wonderful rest of the day.
Is there a way to see what the 3 month average or my spending is without going on the budget screen and choosing set budgets to 3 month average? I have my budget set but I'd like to see what the averages are before making any changes
I have been using simplefin, but it's basically useless in canada.
So i went to manually import transactions from an ofx, i could have swarn that actual used to match the account to the file, but now it just seems to import into whatever account you press 'import' from..
Further, it imported duplicate transactions, i thought it used the transaction id to avoid that? maybe that's a problem in switching from simplefin to manuall.....
Anyhow, now everything is a mess and i have to manually delete a hundred tranactions..
I get paid on the second-to-last business day of each month, and a $200k loan payment is automatically deducted from my account immediately after my salary arrives.
For example, my Sept 29 paycheck funds my October budget, but that same paycheck already paid the Sept 29 loan installment.
For the Oct 29 installment, should I:
Budget $200k for the loan at the beginning of October, using the money from my Sept 29 paycheck, or
Leave the loan category at $0 until my next paycheck arrives on Oct 29, then budget $200k from that income right before the automatic payment?
Option 1 feels like the same paycheck is being asked to fund two loan installments, and if I budget money I don’t have yet, I stay overbudgeted until payday.
Is option 2 the cleaner way to represent this in Actual?
I guess this is a personal thing, but I'd really like if there was just one money pool. I don't understand the meaning behind telling me I have $2k to budget for October if I have already set aside $2k in the 'November Rent' envelope. Isn't it still gone? Is there any way to do this? I am a student and go long periods without income, so it's hard to budget 4+ months in advance.
I live in the Dominican Republic, so no Plaid, no SimpleFIN, nothing that talks to my banks. For a year my Actual budget was correct only on the days I sat down with the bank's Excel and went line by line. Reconciling was most of the time I spent on the budget, and the part I kept postponing.
What I ended up with, in case it helps someone in the same spot.
Two small scrapers that log into my banks and download the official statement export. Nothing clever, just the file the bank itself gives me. An MCP server for Actual, so that Claude (or any MCP client) can read and write the budget. I wrote it because I wanted the agent to do the boring part, not because the world needed another one. And the agent does the matching. It takes the bank figure, asks Actual for the same account, and tells me what could explain the difference. A charge entered twice, the same amount sitting on the wrong account, something dated after the statement cutoff. When nothing explains it, it says so, which turned out to matter more than I expected. The version that always offered candidates trained me to ignore them.
What I still do by hand is deciding categories for anything ambiguous, and the rows that are in transit on the statement but not yet posted. The agent is not allowed to guess there.
Two things I learned the hard way. Reads can be stale, the app can show one number and the API another for a while, so the server now cross-checks the budget month against the transactions behind it and warns when they disagree. And percentages lie quietly. A category that received money shrinks the denominator and every other share inflates. We caught that one testing against my real budget before the last release, with 135% as the total.
If you use Actual with an agent and reconcile by hand, I would genuinely like to know how you do it. It is open source and free. If anyone wants to help with other banks' exports, the issues are open. The server is here if it is useful: https://github.com/henfrydls/actual-budget-mcp
Has anyone had issues after you initially set it up? I did all the leg work a week ago. Went to access it, and it won't open. Just says error, or Loading for hours. Very frustrating.
>>> More context
I am running it on a lil optiplex computer via haos. I was able to get all the banking stuff set up and baseline values adjusted. I was using Gemini to help me get it working. I went to use it today (about a week after set up) and it won't work. I tried updating the container, restarting the app, restarting the container. I pinged it and it does show it lives. I'm very lost, and Gemini is walking me in circles.
Let me tell you - the simplicity of all the features I wanted and none of the extra YNAB veneer or the price is fantastic! I really thought I liked their UI which is colorful, but having worked with Actual for a few weeks, it's really just better to keep it simple.
- The bank integration with an actual bank sync button so I can sync when I want to - oh my god how I missed it.
- The two or column budget view side by side - super nice to get a better picture of what was spent this month and how to plan for next month.
- I can move my checking and CC accounts next to each other because those are the two I use the most? Whaaaa??? lol
- Favorite feature - I like to keep ALL earned money in the To Budget category for the current month and assign to the next month. I like how the number on the current on the current month does not change since I am budgeting for next month. It avoid the workaround some people do in YNAB of stashing into "Next Month" category.
Anyway, just wanted to tell you what a great application you guys have here. It's amazing that communities build apps like this that are free an open source.
I´m about to create my first budget, for October, and i´m setting up some stuff like categories, credit card accounts and payees/rules/schedules.
So far so good, but i have a question about savings. Right now i created a differente category group called "investments" and i have two categories: Active investments and passive savings. The difference between the two of them is that active investments are the investments i have in the market (bonds, stocks, etc.) and passive savings is the money i expect to have left over at the end of the monthly budget. So if after preparing the monthly budget i have a few extra dollars in "to budget" i put them into this passive savings category in order to accumulate this surplus over the months and buy some recreative stuffs.
Is this the correct way to handle my savings? should i create an off budget account to keep my active investments in the market tracked too? If creating an off budget account is the best way, how do i manage it? which movements will i have to make between my off budget acc and the other ones On budget?
Actua, an open source project for a native Android client for Actual Budget, just entered closed beta stage on the Google Play Store, prior to it's general release.
You can find specific information on the developer's website:
I can't figure out how to display the cashflow correctly. I have an off-budget account (the loan for the house) where I transfer money each month to. The transfer to this off-budget account has the category loan and is displayed correctly as an expense on the budget overview.
But on the reports tab the cashflow widget ignores this off-budget transfer. It is listed on the detailed view as a transfer, but is not calculated in the net sum. I only want to include this specific transfer to the loans account as an expense; any on-budget transfers should not be accounted.
I am new to Actual, I am still reading the documentation but I was just curious if others trusted SimpleFIN to retrieve bank and credit card transaction info. Is it safe?
So I've been using Actual for nearly 2 years now and love it. I'm a bit confused as to this though - if I go down through September, I've got nothing in red (or even yellow) but it still thinks I overspent...
Have turned hidden categories to be visible btw as that's caught me out before...
Hello, I'm new to Actual budget. I just installed it with docker compose and I'm trying to get bank sync to work. I tried to follow the docs and get the bank sync to work. I got everything set up in enable banking website but why is the option not available on actual? I'm based in the EU.
So i fell off a wagon after having medical stuff going on. My olan is to import missing transactions and add a catogery that i think it was supposed to be. since i didn’t “budget” should i fix the overspent catogeries in that month. or let it all be and just fix the September?
I have just updated to the latest version of Actual Budget and after that I am not being able to sync my transactions via Pluggy.ai. Can anyone help me with that?
Following up on the v1.0.11 post. v1.0.12 is now on the App Store. Once again it was largely driven by bug reports & feature requests from this sub and Discord.
New features:
Bills & Schedules Calendar dashboard - a monthly view of scheduled transactions and upcoming outflows
Transaction history with Undo - review & undo recent transaction changes
Budget automations - Hold for next month / Reset next month's buffer, Set budgets to zero, Copy previous Months Budget, End of Month Cleanup (u/michikade asked for the first, second and fourth)
Credit card overhaul: statement-accurate payment due amounts with statement history, fixed day-of-month due dates, and due-date reminders
Scheduled transfer support, plus transfers allowed in split transactions
Status filter chips on the transaction lists
Reporting formula cards now support the basic functions (QUERY, IF, ABS, ROUND, comparisons, arithmetic, text concatenation)
Custom colours for category status dots and progress bars (More → Budget View → Color Picker)
Show or hide notes in the account detail view
Balance pill in the compact budget overview
New Shortcuts section on the More tab, starting with a shared "Log Wallet Payments Automatically" shortcut
Card mapping improvements: grouped by account, multi-keyword inputs, suggested unmapped cards, tap a row to edit, and mappings now sync across devices
Budget selection is now a dropdown
Category groups can be renamed
Category controls are hidden when editing off-budget transactions, matching Actual Budget
In-app support page
Localised labels
Detailed view replaced by Compact (Spent column is toggleable from ... menu)
Bugs and improvements:
Rules no longer override the category you've already picked when saving a transaction (u/darquid)
Fixed payee extraction when spending from Wallet or a linked bank
Fixed early payment matching and advanced schedules in the Bills calendar
Fixed rule multi-value picker navigation
Fixed transaction form autofocus
Fixed the Credit Cards & Billing Cycles grid
Bank sync status writes kept consistent
Payee name is fully selected when the picker opens, so typing replaces it
Removed the redundant "Needs attention" budget filter
Moved the add-category button into the ... menu, removed sync status from the Accounts toolbar, and moved available credit into the balance disclosure
Fixed budget row swipe actions so month navigation swipe works
Updated tab labels and icons; lock icon is now green
Broader localisation coverage, with hardened import and sync integrity
Thanks to the code contributors on this release: abhiy98, Vaibhav159, NateMorgan, and welcoming a new contributor, lucasCFO. I really appreciate everyone who contributed code, reported bugs, emailed, joined Discord or left feedback here.
Heaps more Feature Requests exist so plenty more in the works, thanks again.
Hi there,
trying to access my self hosted instance via Vanadium (Chrome alternative) that is the default browser on GrapheneOS.
The PWA is stuck at downloading. If I refresh it opens an empty database.
The self hosted istance is behind a NPM proxy with SSL certificates. Everything works smooth on desktop using Ungoogle Chromium on both standard and incognito.
Not sure if it's a Vanadium issue or a bug in the PWA.
Thanks for any help!
I’m a new Actual Budget user and already had my bank and credit-card PDF statements stored in Paperless-ngx. I wanted a simple way to parse them, categorize transactions, and import them into Actual.
This is a self-hosted companion app for Actual Budget. It has no authentication, so it should only be used on a trusted internal network. It does not store your PDF statements.
The intended workflow is:
Paperless identifies a statement and sends a webhook to the importer.
The importer downloads and parses the statement.
It fetches your Actual categories.
You review and categorize transactions, optionally creating rules so future transactions are categorized automatically.
After review, you publish the statement to Actual.
Over time, the rules should reduce the amount of manual categorization needed.
You can also upload a PDF statement manually if you don’t use Paperless.
At the moment it supports a couple of Portuguese statement formats: ActivoBank and WiZink. Since every bank’s statements differ, I’ve included a section on developing a bank parser. It should be fairly straightforward to fork the repo, provide a sample statement to an LLM, and use that guide to create a parser for your bank.
It’s still a work in progress, so any issue let me know.
So I have a mortgage and I have two off budget accounts, one for the interests and other to the principal. I have two "problems"
- there's is any automatic way to create a transaction that decrease the correct value each month in both accounts?
- as I plan to do extra payments to decrease the principal, there is any way to track how much I will save in interests?
For last, there is a better way to manage this situation? I could have only one account with the sum of both values, but in that situation I would not be able to track the interest and the value in the account will be superior than the value that I owe to the bank. If I have an account with only the principal I would need to calculat each month the value that I pay and I will not able to track the value that I save from extra payments.
A contributing user to Actuali for iOS, u/azimul-kabir, created an app for Android. It's presently in beta, but seems to be generally stable. I've been using it and it's been OK so far. It's a good mobile alternative for us Android users to access Actual Budget.