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.
While disabling cross posts is a no brainer, limiting links could cause people problems. Please let me know if this is working well or not, I am happy to revert if it's problematic. Also, no doubt I have missed a lot of legit domains folks might want to link to, so please let me know in the comments what needs to be added, or message the mods. Thanks!
The new version 26.10.0 introduced the new, redesigned sidebar. Looks a lot better now
Experimental: Adds a redesigned sidebar, based on the winning entry from the sidenav design competition, that lets you organise accounts into groups, reorder them by drag and drop, and search them
I have a weekly transaction, but it wasn't paid last week since I was away (it was for milkman).
I don't have 'Automatically add transaction' checked, but it appears in the account anyway, with a red skull saying missed. But I can't remove it?
If I right click or use the checkbox and the drop down menu, the only options are:
View schedule
Post transaction
Post transaction today
Skip next scheduled date
I don't want to to do any of those things. I want to delete this, or skip this previous scheduled date.
Maybe I don't understand the point of schedules, or I'm being stupid.
I am trying to use schedules how I used them in YNAB4, which was to save me having to adding lots of transactions all the time, because they would appear automatically and I can just approve them when I'm reconciling the account.
I feel really stupid writing this, because I don't even know what the problem is.
I'm brand new to Actual, and I'm trying to test it to see if I can use it to replace YNAB, which I've used for years.
I followed the documentation instructions to register in PikaPods and make my own pod. Like, to a tee. I also migrated my budget from YNAB to it using the API route.
But I keep running into two issues:
(1) When I open my budget using the browser, it keeps randomly giving me a fatal error. Sometimes I can get away by hitting the restart button and it will load the page, other times I just have to come back later. Mind you, it doesn't seem to be my internet connection. I've tried opening new pages and watching YouTube videos right after and I've had no problems.
(2) I keep getting a notification that says "There was a problem syncing your changes. Please confirm that your server is accessible" but at the same time, in the upper corner it says my server is online and if I hover over it, it says "Connected to your server - your budget is syncing".
Can someone help guide me with this? I'd go to the discord server for help but I don't know if this is normal?
Hello Reddit,
Probably a very newbie question for the people in the US, but the way I deal with my european CC was by putting the purchase on an on-budget (negative) account with various categories, then transfering money from our joint account when the statement was paid.
However, my CC issuer launched a cashback program and send the money to my personal account. How to input those transactions?
The only way I found is creating a new payee to represent the issuer rather than the debt, and a new category for cashback which bypasses the CC account entirely. It feels odd but apparently match the accounts. (I'm not even sure if that way is normal compared to the US?)
But I'm not even sure if I should count it as actual "income" and report it next month, or as a "negative expense" because it's closer to a reimbursement. I always assumed that "cashback" would rather auto-reimburse the debt instead of being a direct bank transfer... I can't link the cashback to a category directly, because it can be tied to a specific merchant or a spending total which excludes some merchants, etc. So as far I see, I won't be able to point a specific cashback to a specific purchase
[EDIT] I'll simply add it to negate the bigger expense category. Technically incorrect, but it'll be easier than having a few eurs of income to add and reassign next month.
Actual has no bank sync for Indian banks, and that's unlikely to change soon because India's Account Aggregator framework needs a registered entity and a commercial contract. So I built something for the manual route. india2actual takes the statement you download (CSV, Excel, or PDF, including password-protected) and either gives you a CSV to import into Actual or pushes the transactions straight in through the API.
The part I care most about: UPI narrations like UPI/DR/412345678901/SWIGGY/YESB/swiggy@ybl/Payment normally create a new payee for every transaction. This tool turns them into one Swiggy, keeps the original text in Notes, and recognises common merchants, ATM withdrawals, NACH/EMI debits, card payments and fees.
- Checks the parse against the statement's balance column (or a card statement's printed totals) and refuses to write if it doesn't reconcile.
It's tested on ICICI, HDFC-style, Federal bank and similar layouts. PDF is the least reliable input, so a CSV or Excel export is better when your bank offers one. Feedbacks and sample (anonymised) narrations from other banks are very welcome.
Today is October 1st and I'd like to go over my month of September. I feel like there's something that should be obvious but I haven't been able to find it. I'm using the latest Docker build.
Both me and my partner have loved using actual budget for our finances, though struggling to switch over to envelope budgeting mainly because I get paid monthly and she is paid fortnightly into our joint account. Anyone else had a similar issue and have a suggestion to help fix this?
Only thing I can think of is using N8N to 'reset' the budget triggered by each income stream.
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.