Taxes on Specific Incomes

Abound's Smart Tax RateSmart Tax Rate - A dynamically adjusting percentage rate based upon the user's outstanding tax liability. Use this to find the taxes owed on specific incomes (e.g., a paycheck, invoice payment, or a collection of incomes) that have not been withheld from yet. is a dynamically adjusting percentage rate based upon the user's outstanding tax liability. Abound's Smart Tax RateSmart Tax Rate - A dynamically adjusting percentage rate based upon the user's outstanding tax liability. Use this to find the taxes owed on specific incomes (e.g., a paycheck, invoice payment, or a collection of incomes) that have not been withheld from yet. should use it to find the taxes owed on specific incomes (e.g., a paycheck, invoice payment, or a collection of incomes) that have not been withheld from yet.

The Smart Tax RateSmart Tax Rate - A dynamically adjusting percentage rate based upon the user's outstanding tax liability. Use this to find the taxes owed on specific incomes (e.g., a paycheck, invoice payment, or a collection of incomes) that have not been withheld from yet. automatically adjusts as the user’s tax liability changes over time, and the updated value can always be found by calling the GET /users/{userId}/taxes/{year} API endpoint.

curl \
  --request GET \
  --url https://sandbox-api.withabound.com/v2/users/<<testUserId>>/taxes/2020 \
  --header 'Authorization: Bearer <<apiKey>>'
const { default: Abound, Environment } = require("@withabound/node-sdk");

const abound = new Abound({
  appId: "<<sandbox_app_id>>",
  appSecret: "<<sandbox_app_secret>>",
  environment: Environment.SANDBOX,
  apiVersion: "v2",
});

(async () => {
  const response = await abound.taxes.retrieve(
    "<<testUserId>>",
    "2020"
  );
  
  console.log(response);
})();
import requests

url = "https://sandbox-api.withabound.com/v2/users/<<testUserId>>/taxes/2020"

headers = {
    "Accept": "application/json",
    "Authorization": "Bearer <<apiKey>>"
}

response = requests.request("GET", url, headers=headers)

print(response.text)
// import com.squareup.okhttp.*;

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://sandbox-api.withabound.com/v2/users/<<testUserId>>/taxes/2020")
  .get()
  .addHeader("Accept", "application/json")
  .addHeader("Authorization", "Bearer <<apiKey>>")
  .build();

Response response = client.newCall(request).execute();
package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
)

func main() {

    url := "https://sandbox-api.withabound.com/v2/users/<<testUserId>>/taxes/2020"

    req, _ := http.NewRequest("GET", url, nil)

    req.Header.Add("Accept", "application/json")
    req.Header.Add("Authorization", "Bearer <<apiKey>>")

    res, _ := http.DefaultClient.Do(req)

    defer res.Body.Close()
    body, _ := ioutil.ReadAll(res.Body)

    fmt.Println(res)
    fmt.Println(string(body))

}
// using RestSharp;

var client = new RestClient("https://sandbox-api.withabound.com/v2/users/<<testUserId>>/taxes/2020");
var request = new RestRequest(Method.GET);
request.AddHeader("Accept", "application/json");
request.AddHeader("Authorization", "Bearer <<apiKey>>");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://sandbox-api.withabound.com/v2/users/<<testUserId>>/taxes/2020")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Accept"] = 'application/json'
request["Authorization"] = 'Bearer <<apiKey>>'

response = http.request(request)
puts response.read_body
{
  "data": {
    "smartTaxRate": 0.2310
  }
}

Find Taxes Owed on a Specific Income

You can use the Smart Tax RateSmart Tax Rate - A dynamically adjusting percentage rate based upon the user's outstanding tax liability. Use this to find the taxes owed on specific incomes (e.g., a paycheck, invoice payment, or a collection of incomes) that have not been withheld from yet. to display your user's tax liability on any income (and to withhold the right amount).

For example, let's say your user earned $1000 in 1099 income. You can find the taxes owed on this income by taking the income amount of $1000 and multiplying it by the smartTaxRate divided by 100. If the Smart Tax Rate were 21.30%, you would display your user's tax liability on this $1000 income as $213.00.

const incomeAmount = 1000.00;
const smartTaxRate = 21.3 / 100;
const taxesOwed = incomeAmount * smartTaxRate;
console.log(taxesOwed); // returns 213

Why Use the Smart Tax Rate?

The U.S. tax code is based upon a graduated income tax bracket system, meaning the more income you earn, the more you pay (on a percentage basis) on additional income. For example, if you earn $15,000 in one year, your first $10,000 may be taxed at 10%, while your next $5,000 may be taxed at 20%. Your marginal tax rate would be 20% (the tax rate that is owed on additional income) while your effective rate would be 13.3% ($2,000 taxes / $15,000 income).

These tax calculation measures are essential to understand, but they don’t fully capture the complexities of withholding each individual 1099 income. For example, if you were to always withhold at the marginal tax rate, you would likely withhold too much - if you were to always withhold at the effective tax rate, you would likely withhold too little.

If your user withholds their taxes at the Smart Tax RateSmart Tax Rate - A dynamically adjusting percentage rate based upon the user's outstanding tax liability. Use this to find the taxes owed on specific incomes (e.g., a paycheck, invoice payment, or a collection of incomes) that have not been withheld from yet., your users will always withhold the correct amount from each income; they won’t owe anything to the IRS at the end of the year, and they won’t be giving away money that’s theirs to keep.


Did this page help you?