Scheduled Transactions Ynab



Surprisingly, 78% of Americans live paycheck-to-paycheck. If you're one of them, there's no point agonizing over it – do something about it instead.

Mine are set up as scheduled transactions in YNAB which serve to remind me to go to the county website and make the payment. I have this scheduled transaction set about 10-15 days before late fees would set in to make sure I pay on time. Telegram bot for YNAB - A Telegram Messenger bot that allows you to quickly add transactions to your account and to import CSV files from banks that are not directly supported by YNAB. Transaction Resurrecter - Application for resurrecting deleted YNAB transactions. Undebt.it - Undebt.it is a free, mobile-friendly debt snowball calculator.

You Need a Budget, more commonly known simply as YNAB, can help you get there. Not only will it help you master the fine art of budgeting, but it will also enable you to get ahead of your finances and, finally, break the paycheck-to-paycheck cycle that has so many trapped.

What is YNAB?

Launched in 2004 – making it one of the longer running budgeting apps – YNAB was created by CPA Jesse Mecham as a tool to help, himself and his wife, get better control over their finances. When he saw how it worked well for them, he decided to make it available to the general public.

The app was built around four principles:

  1. Decide what you want your money to do before spending it.
  2. Convert infrequent, large bills into more manageable monthly bills, to even out your cash flow.
  3. Change your budget as necessary.
  4. And most important, spending only money that was at least 30 days old.

Number four is the main pillar YNAB is built on because it, essentially, takes you from being behind your budget to being ahead of it. We'll discuss this concept more as we move on in this review.

YNAB uses a four-step process to enable you to master your money through budgeting. The company boasts the average user saves $600 by the second month, and more than $6,000 during their first year of using the app. Not surprising, YNAB has become one of the most popular budgeting apps available (even though it's a premium service in a large field of free providers).

YNAB has received 4.1 stars out of 5 from nearly 6,000 Android users on Google Play, and 4.8 out of 5 stars from nearly 21,000 iOS users on The App Store.

How YNAB Works

The YNAB budgeting is built around four “Rules:”

Rule One – Give Every Dollar a Job

Simply put, you'll prioritize how you use every dollar in your budget. The idea is to commit each dollar to a specific need, which will prevent you from spending it on an unrelated want. You'll decide in advance how money is going to be spent.

For example, let's say you receive $2,000 on payday. Before YNAB you might get carried away with the good feeling new money brings. But with YNAB you've built a budget. You know exactly where that money needs to go. Perhaps $500 is set aside for rent, $200 for groceries, $150 for a car payment, etc.

You'll know exactly how much you have for free-spending and you'll be able to confidently move forward knowing all your goals are covered.

Rule Two – Embrace Your True Expenses

This rule is all about evening out your budget so that those large, but infrequent, expenses don't bust your budget. You identify the big, infrequent expenses in your budget, then set up a goal to fund them on a monthly basis.

For example, it might be something like putting away $100 per month so that you have $1,200 available when Christmas arrives. That will avoid the need to disturb your budget when it does come, or worse, to turn to a credit card.

Rule Three – Roll With The Punches

This rule is about building flexibility into your budget. Let's face it, you can set up a budget, but there will be times when certain expense categories will be higher. You can address that by simply moving money from other categories into the unexpectedly higher expense category. It's another rule to smooth out your expenses and keep you from abandoning your budgeting efforts completely.

For example, an old friend comes to town unexpectedly and invites you out for drinks putting you over budget in your “entertainment” category. To balance out this new budget-buster you move some money out of your grocery budget and decide to eat out of the pantry and freezer next week to get you through.

Rule Four – Age Your Money

Remember at the beginning when we discussed how YNAB founder Jesse's fourth principle was spending money that's at least 30 days old? That principle manifested itself in Rule Four. The basic idea is that you are always living on last month's income.

This is the hardest rule to get your head around. Imagine that in January you don't cash any of your paychecks. Instead, you save them up and on February 1st you deposit them all at once into your checking account. Now, you will live on January's income during February–meanwhile, you are saving up all your paychecks again so you can deposit Feburary's income on March 1st.

Doing this means your income will always be at least 30 days ahead of your expenses. That will buy you an automatic cash cushion and reduce the stress that comes with budgeting.

You won't accomplish Rule Four overnight. You'll need to follow the first three Rules and build the extra cushion into your budget. It's the perfect strategy for getting out of the paycheck-to-paycheck trap that so many are locked in.

Ynab Release Notes

Now imagine that you successfully implemented all four rules and you're now a full month ahead of your expenses in your budget? From that point all your other financial goals will be possible.

YNAB Features

YNAB has dozens of features, and far more than we can adequately cover in this review. Below are some of the more important ones:

YNAB Referral Program: YNAB will give you one month of service free for each person you refer who signs up for the app. In theory at least, if you refer 12 people who sign up, you'll get a full year of the budgeting app free. They also promise that the offer comes with plenty of free stuff.

YNAB Accessibility: YNAB has a website you can access and you can even connect it to your Amazon Echo. It's also available in mobile apps, including iOS 12.0 and higher, and watchOS 2.1 and later. It's compatible with iPhone, iPad, iPod touch, and available at The App Store. Additionally, it’s available on Google Play for Android devices, 6.0 and up.

Customer Support: Available by email and live chat only, Monday through Friday, noon to 9 pm, Eastern time. There is no direct phone support.

Available Currencies: You can set YNAB to be based on either US dollars or foreign currencies. However, the app cannot accommodate multiple currencies in use at the same time.

Schedule transactions: If you have recurring transactions you can set them up to hit your budget automatically. Saving you from having to enter them manually each month.

Split transactions: There may be certain transactions that will involve multiple spending categories or goals. A frequent example is when you go to a big-box retailer like Walmart. Your order may include clothing, food, and gifts. Though you are making a single payment, you can split the transaction and the three separate categories.

YNAB Pricing and Fees

YNAB is completely free for 34 days, you don't even need to give them a credit card to start your free trial. After that, the service costs $11.99 per month, or $84 per year as an annual subscription.

If you're a student you'll get an additional 12 months – plus the 34-day free trial. You'll need to provide proof of enrollment, like a transcript, tuition statements or a student ID card that proves you're enrolled. At the end of the student trial period, you can sign up for the premium version with a 10% discount.

YNAB moneyback guarantee. If at any time during your subscription you don't feel like the service is working for you, you'll be refunded 100% with no questions asked.

How to Sign Up with YNAB

Signing up with YNAB is incredibly easy. You can sign up from the website, either by entering your email and creating a password or connecting with Google. During your 34-day free trial, you won't even be required to put a credit card on file.

Once you're signed up, you'll begin by importing your transactions from your bank account. This can be done by hitting the Import Button from the app. If you prefer not to link your bank account to the app, you can choose to enter your transactions manually.

Whether you import your transactions or enter them manually, you'll then spend some time assigning categories to each expense.

You can sync or manually enter transactions from multiple bank accounts and even credit cards. In the case of credit cards, the app will track your transactions separately from those run through your bank account. This will give you an opportunity to determine how much spending you're doing, either, through your bank account or your credit cards, and that can be a valuable way to help you get control of your credit card spending.

From here, reference our guide to help you create a simple YNAB budget.

YNAB Pros and Cons

Scheduled Transactions Ynab

Pros:

  • YNAB will help you break the paycheck-to-paycheck cycle that is so difficult to get out of.
  • It aggregates all your various financial accounts, including bank accounts, loans, and credit cards on one platform to give you a complete picture of your entire financial life.
  • You have a choice to, either, import your transactions from your various accounts or enter them manually.
  • YNAB implements a system that forces you to be more deliberate about how you manage your money and ultimately moves you to a point where you're paying this month's bills out of last month's income.
  • The YNAB Referral Program will enable you to get a free month of service for each friend you refer who signs up for the app. Refer at least one person per month, and you may never need to pay for the service.

Cons:

  • No live phone support.
  • Even though YNAB can sync with your accounts and import transactions, you'll still need to reconcile your accounts manually to make sure they're accurate.
  • There is no investment functionality, which is frequently available with other budgeting apps.
  • YNAB doesn't have some of the extra features offered by other budgeting apps, like free credit score monitoring.
  • The app doesn't offer a bill paying function, but then not many budgeting apps do.
  • The app is free for college students for one year, then available for one more year at a 10% discount.

The biggest con is that YNAB isn't free. If you don't have room in your budget to pay for another service, here are the best free budgeting software tools.

Should You Sign Up with YNAB?

Probably, the biggest drawback with YNAB is that it doesn't offer any kind of investment support. That would seem like a natural extension of budgeting activity in getting you to the point of being able to invest. If you are looking for investment support you can pair YNAB with a free portfolio management software. Here's a list of our favorites.

But maybe they don't offer an investment capability because they want to stay strictly with budgeting. After all, until you master that, investing is just a pipe dream, and once you do, there are plenty of investment apps and robo-advisors available that can take it from there.

If you'd like more information or want to sign up, visit the YNAB website.
Get started with YNAB free!

9

Strengths

  • More than a tool, it's a budgeting style change
  • Able to import many financial accounts
  • Manual data entry is available too
  • Generous referral program

Weaknesses

  • No live phone support
  • Data can be important but you must manually reconcile them
  • No investment functionality
  • No bill pay

Other Posts You May Enjoy

Introduction

Hello Developers

Welcome to the YNAB API!

(If you aren't a developer or you have no idea what an 'API' is and you just want to sign in to your YNAB account, you can do that here.)

The YNAB API is REST based, uses the JSON data format and is secured with HTTPS. You can use it to build a personal application to interact with your own budget or build an application that any other YNABer can authorize and use. Be sure to check out what other YNABers have built in the Works with YNAB section and let us know when you build something yourself!

You can check our Release Notes to find out about updates and improvements to the API.

If you need support, please send an email to api@youneedabudget.com or head over to the API Community Forum.

Quick Start

If you're the type of person who just wants to get up and running as quickly as possible and then circle back to fill in the gaps, these steps are for you:

  1. Sign in to the YNAB web app and go to the 'Account Settings' page and then to the 'Developer Settings' page.
  2. Under the 'Personal Access Tokens' section, click 'New Token', enter your password and click 'Generate' to get an access token.
  3. Open a terminal window and run this:
    curl -H 'Authorization: Bearer <ACCESS_TOKEN>' https://api.youneedabudget.com/v1/budgets

You should get a response that looks something like this:

That's it! You just received a list of your budgets in JSON format through the YNAB API. Horray!

If you want to start working with the API to build something more substantial, you might want to check out our YNAB API Starter Kit which is a simple, but functional web application that uses the API.

Authentication

Overview

All API resources require a valid access token for authentication. There are two ways to obtain access tokens: Personal Access Tokens and OAuth Applications.

Personal Access Tokens

Personal Access Tokens are access tokens created by an account owner and are intended to be used only by that same account owner. They should not be shared and are intended for individual usage scenarios. They are a convenient way to obtain an access token without having to use a full OAuth authentication flow. If you are an individual developer and want to simply access your own account through the API, Personal Access Tokens are the best choice.

Obtaining a Personal Access Token

To obtain a Personal Access Token, sign in to your account, go to 'Account Settings', scroll down and navigate to 'Developer Settings' section. From the Developer Settings page, click 'New Token' under the Personal Access Tokens section, enter your password and you will be presented with a new Personal Access Token. You will not be able to retrieve the token later so you should store it in a safe place. This new token will not expire but can be revoked at any time from this same screen.

You should not share this access token with anyone or ask for anyone else's access token. It should be treated with as much care as your main account password.

OAuth Applications

OAuth is a secure way for a third-party application to obtain delegated but limited permissions to a user account and is appropriate for use in applications that need to gain limited authorized permissions to accounts they do not own. If you are developing an application that uses the API and want other users to be able to use your application, OAuth is the only option for obtaining access tokens for other users.

All OAuth Application integrations must abide by the API Terms of Service and the OAuth Application Requirements. Failure to do so will result in disabling of the application.

Restricted Mode

When an OAuth application is created, it will be placed in Restricted Mode initially. This means the application will be limited to obtaining 25 access tokens for users other than the OAuth application owner. Once this limit is reached, a message will be placed on the Authorization screen and new authorizations will be prohibited.

To have Restricted Mode removed, you must send a request to api@youneedabudget.com. We will review your OAuth application to ensure it abides by the API Terms of Service and the OAuth Application Requirements. Once we review the application and confirm adherence to our policies, we will remove Restricted Mode.

Creating an OAuth Application

To create an OAuth Application, sign in to your account, go to 'Account Settings', scroll down and navigate to 'Developer Settings' section. From the Developer Settings page, click 'New Application' under the OAuth Applications section. Here, you specify the details of your application and save it. After saving, you will see the details of the new application, including the Client ID and the Client Secret which are referenced in the instructions below.

After creating the application, you are then able to use one of the supported grant types to obtain a valid access token. The YNAB API supports two OAuth grant types: Implict Grant and Authorization Code Grant.

Implicit Grant Flow

The Implict Grant type, also informally known as the 'client-side flow', should be used in scenarios where the application Secret cannot be kept private. The application Secret should never be visible or accessible by a client! If you are requesting an access token directly from a browser or other client that is not secure (i.e. mobile app) this is the flow you should use. This grant type does not support refresh tokens so once the access token expires 2 hours after it was granted, the user must be prompted again to authorize your application.

Here is the flow to obtain an access token:

  1. Send user to the authorization URL: https://app.youneedabudget.com/oauth/authorize?client_id=[CLIENT_ID]&redirect_uri=[REDIRECT_URI]&response_type=token, replacing [CLIENT_ID] and [REDIRECT_URI] with the values configured when creating the OAuth Application. The user will be given the option to approve your request for access:
  2. Upon approval, the user's browser will be redirected to the [REDIRECT_URI] with a new access token sent as a fragment (hash) identifier named access_token. For example, if your Redirect URI is configured as https://myawesomeapp.com, upon the user authorizing your application, they would be redirected to https://myawesomeapp.com/#access_token=8bc63e42-1105-11e8-b642-0ed5f89f718b. This access token can then be used to authenticate through the API.

Authorization Code Grant Flow

The Authorization Code Grant type, also informally known as the 'server-side flow', is intended for server-side applications, where the application Secret can be protected. If you are requesting an access token from a server application that is private and under your control, this grant type can be used. This grant type supports refresh tokens so once the access token expires 2 hours after it was granted, the application can request a new access token without having to prompt the user to authorize again.

Here is the flow to obtain an access token:

  1. Send user to the authorization URL: https://app.youneedabudget.com/oauth/authorize?client_id=[CLIENT_ID]&redirect_uri=[REDIRECT_URI]&response_type=code, replacing [CLIENT_ID] and [REDIRECT_URI] with the values configured when creating the OAuth Application. The user will be given the option to approve your request for access:
  2. Upon approval, the user's browser will be redirected to the [REDIRECT_URI] with a new authorization code sent as a query parameter named code. For example, if your Redirect URI is configured as https://myawesomeapp.com, upon the user authorizing your application, they would be redirected to https://myawesomeapp.com/?code=8bc63e42-1105-11e8-b642-0ed5f89f718b.
  3. Now that your application has an authorization code, you need to request an access token by sending a POST request to https://app.youneedabudget.com/oauth/token?client_id=[CLIENT_ID]&client_secret=[CLIENT_SECRET]&redirect_uri=[REDIRECT_URI]&grant_type=authorization_code&code=[AUTHORIZATION_CODE]. Here are the values that should be passed as form data fields:
    • client_id - The same [CLIENT_ID] sent with the original authorization code in Step 1 above and provided when setting up the OAuth Application.
    • client_secret - The client secret provided when setting up the OAuth Application.
    • redirect_uri - The same [REDIRECT_URI] sent with the original authorization code request in Step 1 above and specified when setting up the OAuth Application.
    • grant_type - The value authorization_code should be provided for this field, which will indicate that you are supplying an authorization code and requesting an access token.
    • code - The authorization code received as code query param in Step 2 above.

    The access_token, which can be used to authenticate through the API, will be included in the token response which will look like this:

  4. The access token has an expiration, indicated by the 'expires_in' value. To obtain a new access token without requiring the user to manually authorize again, you should store the 'refresh_token' and then send a POST request to https://app.youneedabudget.com/oauth/token?client_id=[CLIENT_ID]&client_secret=[CLIENT_SECRET]&grant_type=refresh_token&refresh_token=[REFRESH_TOKEN]. If successful, the response will contain a new access token and a new refresh token in the original token response format. A refresh token can only be used once to obtain a new access token, and will be revoked the first time you use the new access token.

Authorization Parameters

read-only Scope

When an OAuth application is requesting authorization, a scope parameter with a value of read-only can be passed to request read-only access to a budget. For example: https://app.youneedabudget.com/oauth/authorize?client_id=[CLIENT_ID]&redirect_uri=[REDIRECT_URI]&response_type=token&scope=read-only. If an access token issued with the read-only scope is used when requesting an endpoint that modifies the budget (POST, PATCH, etc.) a 403 Forbidden response will be issued. If you do not need write access to a budget, please use the read-only scope.

state parameter

An optional, but recommended, state parameter can also be supplied to prevent Cross Site Request Forgery (XRSF) attacks. If specified, the same value will be returned to the [REDIRECT_URI] as a state parameter. For example: if you included parameter state=4cac8f43 in the authorization URI, when the user is redirected to [REDIRECT_URI], the URL would contain that same value in a state parameter. The value of state should be unique for each request.

Default Budget Selection

An OAuth application can optionally have 'default budget selection' enabled.

When default budget selection is enabled, a user will be asked to select a default budget when authorizating your application:

You can then pass in the value 'default' in lieu of a budget_id in endpoint calls. For example, to get a list of accounts on the default budget you could use this endpoint: https://api.youneedabudget.com/v1/budgets/default/accounts.

Access Token Usage

Once you have obtained an access token, you must use HTTP Bearer Authentication, as defined in RFC6750, to authenticate when sending requests to the API. We support Authorization Request Header and URI Query Parameter as means to pass an access token.

Authorization Request Header

Ynab split transaction

The recommended method for sending an access token is by using an Authorization Request Header where the access token is sent in the HTTP request header.

URI Query Parameter

An access token can also be passed as a URI query parameter named 'access_token':

Usage

Overview

Our API uses a REST based design, leverages the JSON data format, and relies upon HTTPS for transport. We respond with meaningful HTTP response codes and if an error occurs, we include error details in the response body. We support Cross-Origin Resource Sharing (CORS) which allows you to use the API directly from a web application.

Mostly read-only

The current version of the API ('v1') is mostly read-only, supporting GET requests. However, creating (POST) and updating (PUT, PATCH) transactions at /budgets/{budget_id}/transactions and updating (PATCH) monthly budgeted amounts at /budgets/{budget_id}/months/{month}/categories/{category_id} is supported.

Security

TLS (a.k.a. SSL or HTTPS) is enforced on all requests to ensure communication from your client to our endpoint is encrypted, end-to-end. You must obtain an access token and provide it with each request. An access token is tied directly to a YNAB account but can be independently revoked.

Best Practices

Caching

Please cache data received from the API when possible to avoid unnecessary traffic.

Delta Requests

Some endpoints support Delta Requests, where you can request to receive only what has changed since the last response. It is highly recommended to use this feature as it reduces load on our servers as well as makes processing responses more efficient.

Fault Tolerance

Errors and exceptions will sometimes happen. You might experience a connection problem between your app and the YNAB API or a complete outage. You should always anticipate that errors or exceptions may occur and build in accommodations for them in your application.

Specific Requests

You should use the most specific request possible to avoid large responses which are taxing on the API server and slower for your app to consume and process. For example, if you want to retrieve the balance for a particular category, you should request that single category from /budgets/{budget_id}/categories/{category_id} rather than requesting all categories.

Endpoints

The base URL is: https://api.youneedabudget.com/v1. To see a list of all available endpoints, please refer to our API Endpoints page. The documentation also lets you 'try it out' on each endpoint directly within the page.

Response Format

All responses from the API will come with a response wrapper object to make them predictable and easier to parse.

Successful Responses

Successful responses will return wrapper object with a data property that will contain the resource data. The name of the object inside of the data property will correspond to the requested resource.

For example, if you request /budgets, the response will look like:

If you request a single account from /accounts/{account_id}:

Empty data

Response data properties that have no data will be specified as null rather than being omitted. For example, a transaction that does not have a payee would have a body that looks like this:

Error Responses

For error responses, the HTTP Status Code will be specified as something other than 20X and the body of the response will contain an error object. The format of an error response is :

The Errors section lists the possible errors.

Errors

Errors from the API are indicated by the HTTP response status code and also included in the body of the response, according to the response format. The following errors are possible:

HTTP StatusError IDNameDescription
400400bad_requestThe request could not be understood by the API due to malformed syntax or validation errors.
401401not_authorized This error will be returned in any of the following cases:
  • Missing access token
  • Invalid access token
  • Revoked access token
  • Expired access token
403403.1subscription_lapsed The subscription for this account has lapsed
403.2trial_expired The trial for this account has expired
403.3unauthorized_scope The supplied access token has a scope which does not allow access.
403.4data_limit_reached The request will exceed one or more data limits in place to prevent abuse.
404404.1not_found The specified URI does not exist
404.2resource_not_found This error will be returned when requesting a resource that is not found. For example, if you requested /budgets/123 and a budget with the id '123' does not exist, this error would be returned.
409409conflict If resource cannot be saved during a PUT or POST request because it conflicts with an existing resource, this error will be returned.
429429too_many_requests This error is returned if you make too many requests to the API in a short amount of time. Please see the Rate Limiting section. Wait a while and try again.
500500internal_server_error This error will be returned if the API experiences an unexpected error.
503503service_unavailable This error will be returned if we have temporarily disabled access to the API. This can happen when we are experiencing heavy load or need to perform maintenance.

Data Formats

Numbers

Scheduled Transactions Ynab

Currency amounts returned from the API—such as account balance, category balance, and transaction amounts— use a format we call 'milliunits'. Most currencies don't have three decimal places, but you can think of it as the number of thousandths of a unit in the currency: 1,000 milliunits equals 'one' unit of a currency (one Dollar, one Euro, one Pound, etc.). Here are some concrete examples:

CurrencyMilliunitsAmount
USD ($)123930$123.93
USD ($)-220-$0.22
Euro (€)4924340€4.924,34
Euro (€)-2990-€2,99
Jordanian dinar-395032-395.032

Dates

All dates returned in response calls use ISO 8601 (RFC 3339 'full-date') format. For example, December 30, 2015 is formatted as 2015-12-30.

Timezone

All dates use UTC as the timezone.

Delta Requests

The following API resources support 'delta requests', where you ask for only those entities that have changed since your last request:

  • budgets/{budget_id}
  • budgets/{budget_id}/accounts
  • budgets/{budget_id}/categories
  • budgets/{budget_id}/months
  • budgets/{budget_id}/payees
  • budgets/{budget_id}/transactions
  • budgets/{budget_id}/scheduled_transactions

We recommend using delta requests as they allow API consumers to parse less data and make updates more efficient, and decreases server load on our end.

Resources supporting delta requests return a server_knowledge number in the response. This number can then be passed in as the last_knowledge_of_server query parameter. Then, only the data that has changed since the last request will be included in the response.

For example, if you request a budget's contents from /budgets/{budget_id}, it will include the server_knowledge like so:

On a subsequent request, you can pass that same server_knowledge in as a query parameter named last_knowledge_of_server (/budgets/{budget_id}?last_knowledge_of_server=100) and get back only the entities that have changed since your last request. For example, if a single account had its name changed since your last request, the response would look something like:

Rate Limiting

An access token may be used for up to 200 requests per hour.

The limit is reset every clock hour. So, if an access token is used at 12:30 PM and for 199 more requests up to 12:45 PM and then hits the limit, any additional requests will be forbidden until 1:00 PM. At 1:00 PM you would have the full 200 requests allowed again, until 2:00 PM.

You can check how many requests you have remaining by referencing the X-Rate-Limit response header. The value of this header is in the format: X/200, X being the number of requests already made and 200 being the limit. For example, if your application has already made 35 requests, the next response will look like this:

If you exceed the rate limit, an error response returns a 429 error:

Support

If you need API support, please send an email to api@youneedabudget.com.

We also have an API Community Forum available.

Libraries

JavaScript

The JavaScript library is available via npm and the source and documentation is located on GitHub. This library can be used server-side (Node.js) or client-side (web browser) since we support Cross-Origin Resource Sharing (CORS).

If you are using the JavaScript library, you might want to also take a look at the YNAB API Starter Kit which is a simple, but functional web application that uses the JavaScript library.

Installation

Usage

Ruby

The Ruby library is available via RubyGems and the source and documentation is located on GitHub.

Installation

If using Bundler, add gem 'ynab' to your Gemfile and then run bundle.

Usage

Community

The following libraries have been created and are maintained by YNABers. We do not provide support for these clients but appreciate the effort!

  • ynab-python by Dean Mcgregor
  • YNAB-SDK-PHP by Jorijn Schrijvershof
  • ynab-go (Golang) by David Steinsland
  • ynab.go (Golang) by Bruno Souza
  • Posh-YNAB (PowerShell) by Connor Griffin
  • Java SDK for YNAB API by David Dietz
  • WWW::YNAB (Perl) by Jesse Luehrs
  • kYNAB (Kotlin) by Mark Nenadov
  • YNAB.Rest (.NET) by Joshua Marble
  • YNAB API .NET Core Library by Jake Moening
  • ynab-tools (Julia) by Joseph Peralta
  • ynab-rs (Rust) by Taryn Phrohdoh
  • swiftynab by Andre Bocchini

Works with YNAB

Official

The following applications are official YNAB integrations that we developed and support.

  • Alexa for YNAB - Gain More Control of Your Money (By Yelling at It)
  • API Starter Kit - Quickly get started developing an application with the YNAB API
  • Zapier for YNAB - Zapier allows you to instantly connect YNAB with 1,500+ apps to automate your work and find productivity super powers.

Community

The following community applications have been developed by fellow YNABers. We do not provide support for these applications.

  • Allowance for YNAB - An iOS app that allows a focused view of budget categories you pick. This can be useful for family members that only want to know how much they currently have available in a specific category or set of categories.
  • Apple Card for YNAB - Manual Apple Card imports gotcha down? This service automates the process making it as simple as possible to get those Apple Card transactions synced over to YNAB. Step 1: Email Apple Card monthly statements as CSV attachments to parse@applecardforynab.com. Step 2: Relax.
  • Bank Sync for YNAB - Sync your Australian and New Zealand bank accounts to YNAB!
  • bar for YNAB - A simple macOS menu bar for quick access to key YNAB information like amount to be budgeted, age of money, income and what's budgeted.
  • Beyond Rule 4 - Your Age of Money is ever rising. You're feeling in control of your money. Congratulations! What would you like to accomplish next?
  • Budget Buddy - Companion app for YNAB for your partner or significant other to track the budget categories that they care about. Users can see categories, category balances, and category transactions for the current month.
  • Budget Feeder - Sync your Australian bank transactions to YNAB! 148 Australian Banks and credit cards supported including Amex, ANZ, Westpac, NAB and CBA. No need to enter transactions manually, with automatic bank feeds your transactions sync seamlessly to your YNAB budget accounts every day. Let Budget Feeder do the hard work for you.
  • Budget Reminders - Get reminders of you current budget category balances by time or location.
  • Budget Reports - See reports based on your YNAB account data
  • BudgetSync - Sync your transactions to YNAB from multiple banks and other financial institutions with BudgetSync.
  • Can I Buy It? for YNAB - Quickly see at a glance how much money is left in your categories
  • Cents for YNAB - iOS and Android app to seamlessly view your YNAB budget with charts to visualize your spending habits
  • Cost Sharing for YNAB - Split shared expenses 50/50 with another person (significant other, roommate, etc.) while keeping track of the original expense breakdown.
  • Currency Converter - Convert foreign currency and add a transaction to YNAB at the same time
  • FIRM Budget - Firm Budget is a voice assistant (Bixby) companion app for YNAB.
  • Foreign Currency Accounts for YNAB - Manage multiple currency accounts in a single budget.
  • I Would Have Saved - Web Application for looking at your transaction history
  • Menu bar for YNAB - A macOS menu bar for YNAB
  • Menubar for YNAB - A simple iOS menubar to show balances
  • Multi-currency for YNAB - Manage YNAB accounts with multiple currencies in a single budget
  • Share for YNAB - An extension to YNAB to allow budgets or parts of budgets to be exposed to other Users.
  • Sheets For YNAB - Import your YNAB transaction and account data in to Google Sheets
  • Sync for YNAB - Connect your bank to YNAB
  • Telegram bot for YNAB - A Telegram Messenger bot that allows you to quickly add transactions to your account and to import CSV files from banks that are not directly supported by YNAB.
  • Transaction Resurrecter - Application for resurrecting deleted YNAB transactions.
  • Undebt.it - Undebt.it is a free, mobile-friendly debt snowball calculator
  • XNAB - XNAB lets you track your spending in exist.io

Legal

API Terms of Service

We provide the YNAB API so that YNAB-loving developers can make really cool projects and applications. We have some expectations and guidelines about how you’ll do that. Officially, these guidelines are our API Terms of Service because, well, that’s what they’re called. They work hand-in-hand with our general YNAB Terms of Service, and both apply to your use of the API. We appreciate you reading them carefully and, naturally, following them.

To keep the text here readable, we refer to the following as the “Terms”:

  • the YNAB Terms of Service;
  • the API Terms of Service below;
  • terms within any API documentation;
  • and any other applicable policies.

In order to protect the website, our apps, and our customers and their data, you agree to comply with them and that they govern your relationship with us.

With that said, here are the YNAB API Terms of Service:

Ynab Split Transaction

  1. Authorized Use. To use the YNAB API and accept the Terms you must be of a legal age to form a binding contract with YNAB. The YNAB API may only be used when permission is explicitly given by a YNAB account owner through the Authentication processes described in the documentation above.
  2. Security and Permitted Access. Access tokens must be handled securely and never be exposed to a third-party. The Terms and API documentation outline the only permissible ways in which you can interact with the YNAB API. You are NEVER ALLOWED to directly request, handle or store credentials associated with users’ financial accounts. Securely storing an access token obtained directly from a financial institution using OAuth is allowed.
  3. API Limitations. YNAB sets and enforces limits on your use of the APIs at our discretion. Those limits may change and are at our sole discretion. Any attempt to circumvent those limitations is a violation of these terms.
  4. Illegal and Restricted Use. We developed this API so you can do good, kind, helpful things with it and to make YNAB better. So: The YNAB API may not be used for illegal purposes. Which seems obvious, but it’s important to say it. Beyond legality, we also restrict the use of the YNAB API in certain ways. You agree not to use, or allow any third party to use, the YNAB API to engage in or promote any activity that is objectionable, violates the rights of others, is likely to cause notoriety, harm or damage to the reputation of YNAB or could subject YNAB to liability to third parties. This might include: (i) unauthorized access, monitoring, interference with, or use of the YNAB API or third party accounts, data, computers, systems or networks; (ii) interference with others’ use of the YNAB API or any system or network; (iii) unauthorized collection or use of personal or confidential information; (iv) any other activity that places YNAB in the position of having potential or actual liability for activity in any jurisdiction.
  5. Attribution & Intellectual Property. You and your integration or app may not identify or refer to YNAB in any manner that creates a false suggestion (either directly or indirectly!) that an application is sponsored, endorsed, or supported by YNAB. This includes an application name, description and/or web address (DNS name). To identify that your app integrates with YNAB, you may use this linked image and refer to “for YNAB” in the name of your application. Any other uses of our content are subject to the Intellectual Property Rights and Trademarks sections of the YNAB Terms of Service. Don’t use ‘em.
  6. Functionality and Non-exclusivity. You may not use the YNAB API to copy or duplicate products or services offered by YNAB. Also, you acknowledge that YNAB may, now or in the future, offer products, services, or features that are similar to your application.
  7. Compliance and Monitoring. YNAB may, but has no obligation to, monitor use of the YNAB API to verify your compliance with the Terms or any other applicable law or legal requirement.
  8. Accept Updates. The YNAB API may periodically be updated with tools, utilities, improvements, or general updates. You agree to receive these updates.
  9. Termination. YNAB may terminate or suspend any and all access to the API immediately at any time, without prior notice or liability at our sole discretion.
  10. Changes. We reserve the right to modify the Terms at any time by posting them on this page and/or notifying you by any means of contact you’ve provided. It is important that you review the Terms whenever we modify them because your continued use of the YNAB API indicates your agreement to the modifications.

Ynab How To Guide

OAuth Application Requirements

In addition to the above terms, OAuth Applications must adhere to these requirements:

Ynab Changelog

  1. A Privacy Policy must be in place for the application that is displayed to users and that includes the following:
    1. An explanation of how the data obtained through the YNAB API will he handled, stored, and secured.
    2. A guarantee that the data obtained through the YNAB API will not unknowingly be passed to any third-party.
  2. The application must not directly request, handle or store any financial account credentials other than an access token obtained directly from a financial institution using OAuth.
  3. In line with the Attribution & Intellectual Property section of the API Terms of Service above, the application and the web address (DNS name) must not include 'YNAB' or 'You Need A Budget' unless preceded by the word 'for'.
    Acceptable: 'Budget Tools', 'Transaction Syncer', 'Currency Tools for YNAB'.
    Unacceptable: 'YNAB Tools', 'YNAB Transaction Syncer', 'Advanced YNAB'.