Tax Rates
The TaxRate Object
A Rutter Tax Rate represents a simple or compound tax contained with the business entity's accounting system.
Platform Differences
Netsuite:
- For the GET /tax_rates endpoint, Rutter fetches and returns both Tax Codes and Tax Groups.
Properties
idstringThe Rutter generated unique ID of the tax rate.
platform_idstringThe platform specific ID of the tax rate.
statusenumThe status of the tax rate.
codestringnullableThe tax code of the tax rate.
effective_tax_ratenumbernullableWhere there are multiple components of a tax, each component may be calculated on the original amount and added together. Alternatively, one tax may be calculated on the sub-total of the original amount plus another tax, which is referred to as compounding. When there is compounding, the effective tax rate is the rate that, if applied to the original amount, would result in the total amount of tax with compounding.
namestringnullableThe name of the tax rate.
total_tax_ratenumbernullableThe total tax rate. This is the sum of the components of a tax rate, not including compounding.
subsidiariesarrayAn array of Subsidiaries linked to the tax rate. Supported for NetSuite.
subsidiaries attributescomponentsarrayTax rates can break into multiple sub taxes that are then combined in various ways. These sub taxes are called components.
components attributesadditional_fieldsobjectOptionalAdditional fields required only for a narrow set of use cases.
additional_fields attributescreated_atstringfilterablenullableThe ISO 8601 timestamp that the tax rate object was created.
updated_atstringfilterablenullableThe ISO 8601 timestamp that the tax rate object was last updated.
last_synced_atstringfilterableThe ISO 8601 timestamp when the tax rates was last synced by Rutter.
platform_dataobjectOptionalThe raw platform data corresponding to the Rutter object.
List Tax Rates
Request Parameters
access_tokenstringqueryRequiredThe access token of the connection.
cursorstringqueryOptionalUsed to paginate to the next batch of objects. Should be a copy of the next_cursor value from the previous response.
limitintegerqueryOptionalUsed to limit the number of returned objects. Defaults to 50.
filterstringqueryOptionalNot currently supported on Sage Intacct or Sage Business Cloud. Used to specify a filtering criteria for response objects. Refer to Filtering Objects to understand the syntax for the filtering criteria. The filtering syntax only supports fields decorated with a filterable tag in the response object.
Filterable fields: updated_at, created_at, last_synced_at.
sortstringqueryOptionalUsed to sort the response objects, e.g. last_synced_at ASC. If a value is provided but ASC or DESC is not, defaults to ASC. If omitted, defaults to updated_at DESC. Supports only fields decorated with a filterable tag in the response object except on Sage Intacct and Sage Business Cloud. For those platforms, only updated_at_min, updated_at_max and last_synced_at_min fields are supported and not deprecated.
Sortable fields: updated_at, created_at, last_synced_at.
expandenumqueryOptionalInclude platform specific data (includes additional fields not provided by the Rutter object).
last_synced_at_minintegerqueryOptionalDeprecated - use filter instead. Used to filter objects with a last_synced_at value greater than or equal to the supplied value. Should be a Unix time in milliseconds.
updated_at_maxintegerqueryOptionalDeprecated - use filter instead. Used to filter objects with a updated_at value less than or equal to the supplied value. Should be a Unix time in milliseconds.
updated_at_minintegerqueryOptionalDeprecated - use filter instead. Used to filter objects with a updated_at value greater than or equal to the supplied value. Should be a Unix time in milliseconds.
force_fetchenumqueryOptionalUsed to force a response even if the underlying connection has not finished its initial sync.
Response Body
1{
2 "tax_rates": [
3 {
4 "id": "00000000-0000-0000-0000-000000000000",
5 "platform_id": "00000000-0000-0000-0000-000000000000",
6 "status": "active",
7 "code": "LABOR",
8 "effective_tax_rate": 2.75,
9 "name": "Labor on Job",
10 "total_tax_rate": 9.5,
11 "subsidiaries": [
12 {
13 "id": "00000000-0000-0000-0000-000000000000"
14 },
15 {
16 "id": "00000000-0000-0000-0000-000000000000"
17 }
18 ],
19 "components": [
20 {
21 "is_compound": false,
22 "is_purchases_tax": true,
23 "is_sales_tax": false,
24 "name": "Component 1",
25 "rate": 10.5
26 }
27 ],
28 "created_at": "2023-01-02T02:34:56.000Z",
29 "updated_at": "2023-01-02T02:34:56.000Z",
30 "last_synced_at": "2023-01-02T02:34:56.000Z",
31 "platform_data": {
32 "id": 123,
33 "data": "Varies by platform"
34 }
35 }
36 ],
37 "next_cursor": "MTY3NDgzMTk0Ml82MDY4ZDI0ZC02NGRmLTRmN2EtYTM0Ny0zN2ZmNjY5MGVmMjU=",
38 "connection": {
39 "id": "00000000-0000-0000-0000-000000000000",
40 "orgId": "00000000-0000-0000-0000-000000000000",
41 "platform": "NETSUITE"
42 }
43}
Fetch a Tax Rate
Request Parameters
idstringpathRequiredThe unique ID of the object.
access_tokenstringqueryRequiredThe access token of the connection.
id_typeenumqueryOptionalUsed to indicate the type of id that is supplied. Defaults to rutter. Not currently supported on Sage Intacct or Sage Business Cloud.
force_fetchenumqueryOptionalUsed to force a response even if the underlying connection has not finished its initial sync.
Response Body
1{
2 "tax_rate": {
3 "id": "00000000-0000-0000-0000-000000000000",
4 "platform_id": "00000000-0000-0000-0000-000000000000",
5 "status": "active",
6 "code": "LABOR",
7 "effective_tax_rate": 2.75,
8 "name": "Labor on Job",
9 "total_tax_rate": 9.5,
10 "subsidiaries": [
11 {
12 "id": "00000000-0000-0000-0000-000000000000"
13 },
14 {
15 "id": "00000000-0000-0000-0000-000000000000"
16 }
17 ],
18 "components": [
19 {
20 "is_compound": false,
21 "is_purchases_tax": true,
22 "is_sales_tax": false,
23 "name": "Component 1",
24 "rate": 10.5
25 }
26 ],
27 "created_at": "2023-01-02T02:34:56.000Z",
28 "updated_at": "2023-01-02T02:34:56.000Z",
29 "last_synced_at": "2023-01-02T02:34:56.000Z",
30 "platform_data": {
31 "id": 123,
32 "data": "Varies by platform"
33 }
34 },
35 "connection": {
36 "id": "00000000-0000-0000-0000-000000000000",
37 "orgId": "00000000-0000-0000-0000-000000000000",
38 "platform": "NETSUITE"
39 }
40}
Create a Tax Rate
Request Parameters
access_tokenstringqueryRequiredThe access token of the connection.
Request Body
response_modeenumOptionalThe response mode for our async endpoints. prefer_sync allows calling the API in a best-effort, synchronous fashion and wait for the response. If this takes too long we will instead return the asynchronous response. This is the default behavior. async makes the API respond with the asynchronous response. See Asynchronous Operations.
tax_rateobjecttax_rate attributesResponse Body
1{
2 "tax_rate": {
3 "name": "Labor on Job",
4 "components": [
5 {
6 "name": "Component 1",
7 "rate": 10.5,
8 "is_compound": false
9 }
10 ]
11 }
12}
1{
2 "tax_rate": {
3 "id": "00000000-0000-0000-0000-000000000000",
4 "platform_id": "00000000-0000-0000-0000-000000000000",
5 "status": "active",
6 "code": "LABOR",
7 "effective_tax_rate": 2.75,
8 "name": "Labor on Job",
9 "total_tax_rate": 9.5,
10 "subsidiaries": [
11 {
12 "id": "00000000-0000-0000-0000-000000000000"
13 },
14 {
15 "id": "00000000-0000-0000-0000-000000000000"
16 }
17 ],
18 "components": [
19 {
20 "is_compound": false,
21 "is_purchases_tax": true,
22 "is_sales_tax": false,
23 "name": "Component 1",
24 "rate": 10.5
25 }
26 ],
27 "created_at": "2023-01-02T02:34:56.000Z",
28 "updated_at": "2023-01-02T02:34:56.000Z",
29 "last_synced_at": "2023-01-02T02:34:56.000Z",
30 "platform_data": {
31 "id": 123,
32 "data": "Varies by platform"
33 }
34 }
35}
List Tax Agencies
Request Parameters
access_tokenstringqueryRequiredThe access token of the connection.
cursorstringqueryOptionalUsed to paginate to the next batch of objects. Should be a copy of the next_cursor value from the previous response.
limitintegerqueryOptionalUsed to limit the number of returned objects. Defaults to 50.
filterstringqueryOptionalNot currently supported on Sage Intacct or Sage Business Cloud. Used to specify a filtering criteria for response objects. Refer to Filtering Objects to understand the syntax for the filtering criteria. The filtering syntax only supports fields decorated with a filterable tag in the response object.
Filterable fields: updated_at, created_at, last_synced_at.
sortstringqueryOptionalUsed to sort the response objects, e.g. last_synced_at ASC. If a value is provided but ASC or DESC is not, defaults to ASC. If omitted, defaults to updated_at DESC. Supports only fields decorated with a filterable tag in the response object except on Sage Intacct and Sage Business Cloud. For those platforms, only updated_at_min, updated_at_max and last_synced_at_min fields are supported and not deprecated.
Sortable fields: updated_at, created_at, last_synced_at.
expandenumqueryOptionalInclude platform specific data (includes additional fields not provided by the Rutter object).
last_synced_at_minintegerqueryOptionalDeprecated - use filter instead. Used to filter objects with a last_synced_at value greater than or equal to the supplied value. Should be a Unix time in milliseconds.
updated_at_maxintegerqueryOptionalDeprecated - use filter instead. Used to filter objects with a updated_at value less than or equal to the supplied value. Should be a Unix time in milliseconds.
updated_at_minintegerqueryOptionalDeprecated - use filter instead. Used to filter objects with a updated_at value greater than or equal to the supplied value. Should be a Unix time in milliseconds.
force_fetchenumqueryOptionalUsed to force a response even if the underlying connection has not finished its initial sync.
Response Body
1{
2 "tax_agencies": [
3 {
4 "id": "00000000-0000-0000-0000-000000000000",
5 "platform_id": "00000000-0000-0000-0000-000000000000",
6 "name": "Tax Agency Name",
7 "created_at": "2023-01-02T02:34:56.000Z",
8 "updated_at": "2023-01-02T02:34:56.000Z",
9 "last_synced_at": "2023-01-02T02:34:56.000Z",
10 "platform_data": {
11 "id": 123,
12 "data": "Varies by platform"
13 }
14 }
15 ],
16 "next_cursor": "MTY3NDgzMTk0Ml82MDY4ZDI0ZC02NGRmLTRmN2EtYTM0Ny0zN2ZmNjY5MGVmMjU=",
17 "connection": {
18 "id": "00000000-0000-0000-0000-000000000000",
19 "orgId": "00000000-0000-0000-0000-000000000000",
20 "platform": "NETSUITE"
21 }
22}
Fetch a Tax Agency
Request Parameters
idstringpathRequiredThe unique ID of the object.
access_tokenstringqueryRequiredThe access token of the connection.
id_typeenumqueryOptionalUsed to indicate the type of id that is supplied. Defaults to rutter. Not currently supported on Sage Intacct or Sage Business Cloud.
force_fetchenumqueryOptionalUsed to force a response even if the underlying connection has not finished its initial sync.
Response Body
1{
2 "tax_agency": {
3 "id": "00000000-0000-0000-0000-000000000000",
4 "platform_id": "00000000-0000-0000-0000-000000000000",
5 "name": "Tax Agency Name",
6 "created_at": "2023-01-02T02:34:56.000Z",
7 "updated_at": "2023-01-02T02:34:56.000Z",
8 "last_synced_at": "2023-01-02T02:34:56.000Z",
9 "platform_data": {
10 "id": 123,
11 "data": "Varies by platform"
12 }
13 },
14 "connection": {
15 "id": "00000000-0000-0000-0000-000000000000",
16 "orgId": "00000000-0000-0000-0000-000000000000",
17 "platform": "NETSUITE"
18 }
19}
Have questions?
Contact support for personalized guidance.