Vendors

The Vendor Object

A Rutter Vendor represents a business or contact that the business entity has purchased from. In some accounting systems, a vendor may be called a Supplier. The vendor object contains contact information as well as shipping and billing addresses.

Properties

idstring

The Rutter generated unique ID of the vendor.

platform_idstring

The platform specific ID of the vendor.

statusenum

The status of the address.

One ofactivearchived, or unknown.
bank_account_numberstringnullable

The bank account number of vendor. Supported for Sage Business Cloud and Xero.

contact_namestringnullable

The name of the primary contact associated with the vendor.

currencyenumnullable

The ISO 4217 currency code of the vendor.

One ofAEDAFNALLAMDANGAOAARSAUDAWGAZNBAMBBDBDTBGNBHDBIFBMDBNDBOBBOVBRLBSDBTNBWPBYRBZDCADCDFCHECHFCHWCLFCLPCNYCOPCOUCRCCUCCUPCVECZKDJFDKKDOPDZDEGPERNETBEURFJDFKPGBPGELGHSGIPGMDGNFGTQGYDHKDHNLHRKHTGHUFIDRILSINRIQDIRRISKJMDJODJPYKESKGSKHRKMFKPWKRWKWDKYDKZTLAKLBPLKRLRDLSLLTLLVLLYDMADMDLMGAMKDMMKMNTMOPMROMURMVRMWKMXNMXVMYRMZNNADNGNNIONOKNPRNZDOMRPABPENPGKPHPPKRPLNPYGQARRONRSDRUBRWFSARSBDSCRSDGSEKSGDSHPSLLSOSSRDSSPSTDSVCSYPSZLTHBTJSTMTTNDTOPTRYTTDTWDTZSUAHUGXUSDUSNUSSUYIUYUUYWUZSVEFVNDVUVWSTXAFXAGXAUXBAXBBXBCXBDXCDXDRXFUXOFXPDXPFXPTXTSXXXYERZARZMW, or null.
emailstringnullable

The email of the primary contact associated with the vendor.

phonestringnullable

The phone number of the primary contact associated with the vendor.

registration_numberstringnullable

The registration number of the vendor

tax_numberstringnullable

The tax number of the vendor.

vendor_namestringfilterablenullable

The name of the vendor as it would appear in the platform's listings ("display name").

websitestringnullable

The website associated with the vendor.

subsidiariesarray

An array of Subsidiaries linked to the vendor. Supported for NetSuite. A subsidiary_id query parameter can be optionally included in GET requests to filter the vendor results.

Show subsidiaries attributes
addressesarray

An array of addresses associated with the vendor.

Show addresses attributes
created_atstringfilterable

The ISO 8601 timestamp that the vendor was created.

updated_atstringfilterable

The ISO 8601 timestamp that the vendor was last updated.

last_synced_atstringfilterable

The ISO 8601 timestamp when the vendor was last synced by Rutter.

platform_urlstringnullable

A URL pointing to the object in the underlying platform. When no URL exists for the specific object, the value may be a larger URL containing the object.

platform_dataobjectOptional

The raw platform data corresponding to the Rutter object.

Endpoints
GET
/accounting/vendors
GET
/accounting/vendors/:id
POST
/accounting/vendors
PATCH
/accounting/vendors/:id

List Vendors

GEThttps://production.rutterapi.com/versioned/accounting/vendors

Request Parameters

    access_tokenstringqueryRequired

    The access token of the connection.

    cursorstringqueryOptional

    Used to paginate to the next batch of objects. Should be a copy of the next_cursor value from the previous response.

    limitintegerqueryOptional

    Used to limit the number of returned objects. Defaults to 50.

    filterstringqueryOptional

    Not 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: vendor_name, created_at, updated_at, last_synced_at.

    sortstringqueryOptional

    Used 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 Dynamics 365 Business Central. For those platforms, only updated_at_min, updated_at_max and last_synced_at_min fields are supported and not deprecated.

    Sortable fields: vendor_name, created_at, updated_at, last_synced_at.

    expandenumqueryOptional

    Include platform specific data (includes additional fields not provided by the Rutter object).

    Must beplatform_data.
    last_synced_at_minintegerqueryOptional

    Deprecated - 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_maxintegerqueryOptional

    Deprecated - 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_minintegerqueryOptional

    Deprecated - 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.

    vendor_namestringfilterablequeryOptional

    Deprecated - use filter instead. The exact vendor name to filter on. Not currently supported on Sage Intacct or Sage Business Cloud.

    force_fetchenumqueryOptional

    Used to force a response even if the underlying connection has not finished its initial sync.

    One oftrue or false.

Response Body

Support by integration
  • QuickBooks
    QuickBooks
  • Xero
    Xero
  • QuickBooks Desktop
    QuickBooks Desktop
  • NetSuite
    NetSuite
200
Example Response Body
JSON
1
{
2
"vendors": [
3
{
4
"id": "00000000-0000-0000-0000-000000000000",
5
"platform_id": "12345678",
6
"status": "active",
7
"bank_account_number": "123456",
8
"contact_name": "Eric Yu",
9
"currency": "USD",
10
"email": "eric@rutter.com",
11
"phone": "1234567890",
12
"registration_number": "123456789",
13
"tax_number": "12-3456789",
14
"vendor_name": "Rutter",
15
"website": "https://rutter.com",
16
"subsidiaries": [
17
{
18
"id": "00000000-0000-0000-0000-000000000000",
19
"primary": true
20
},
21
{
22
"id": "00000000-0000-0000-0000-000000000000",
23
"primary": false
24
},
25
{
26
"id": "00000000-0000-0000-0000-000000000000",
27
"primary": false
28
}
29
],
30
"addresses": [
31
{
32
"type": "billing",
33
"address1": "123 Rutter Road",
34
"address2": "Floor 4",
35
"city": "San Francisco",
36
"country": "US",
37
"postal_code": "94110",
38
"region": "CA"
39
}
40
],
41
"created_at": "2023-01-02T02:34:56.000Z",
42
"updated_at": "2023-01-02T02:34:56.000Z",
43
"last_synced_at": "2023-01-02T02:34:56.000Z",
44
"platform_url": "https://platform.com/resource?id=123",
45
"platform_data": {
46
"id": 123,
47
"data": "Varies by platform"
48
}
49
}
50
],
51
"next_cursor": "MTY3NDgzMTk0Ml82MDY4ZDI0ZC02NGRmLTRmN2EtYTM0Ny0zN2ZmNjY5MGVmMjU=",
52
"connection": {
53
"id": "00000000-0000-0000-0000-000000000000",
54
"orgId": "00000000-0000-0000-0000-000000000000",
55
"platform": "NETSUITE"
56
}
57
}

Fetch a Vendor

GEThttps://production.rutterapi.com/versioned/accounting/vendors/:id

Request Parameters

    idstringpathRequired

    The unique ID of the object.

    access_tokenstringqueryRequired

    The access token of the connection.

    id_typeenumqueryOptional

    Used to indicate the type of id that is supplied. Defaults to rutter. Not currently supported on Sage Intacct or Sage Business Cloud.

    One ofrutter or platform.
    force_fetchenumqueryOptional

    Used to force a response even if the underlying connection has not finished its initial sync.

    One oftrue or false.

Response Body

Support by integration
  • QuickBooks
    QuickBooks
  • Xero
    Xero
  • QuickBooks Desktop
    QuickBooks Desktop
  • NetSuite
    NetSuite
200
Example Response Body
JSON
1
{
2
"vendor": {
3
"id": "00000000-0000-0000-0000-000000000000",
4
"platform_id": "12345678",
5
"status": "active",
6
"bank_account_number": "123456",
7
"contact_name": "Eric Yu",
8
"currency": "USD",
9
"email": "eric@rutter.com",
10
"phone": "1234567890",
11
"registration_number": "123456789",
12
"tax_number": "12-3456789",
13
"vendor_name": "Rutter",
14
"website": "https://rutter.com",
15
"subsidiaries": [
16
{
17
"id": "00000000-0000-0000-0000-000000000000",
18
"primary": true
19
},
20
{
21
"id": "00000000-0000-0000-0000-000000000000",
22
"primary": false
23
},
24
{
25
"id": "00000000-0000-0000-0000-000000000000",
26
"primary": false
27
}
28
],
29
"addresses": [
30
{
31
"type": "billing",
32
"address1": "123 Rutter Road",
33
"address2": "Floor 4",
34
"city": "San Francisco",
35
"country": "US",
36
"postal_code": "94110",
37
"region": "CA"
38
}
39
],
40
"created_at": "2023-01-02T02:34:56.000Z",
41
"updated_at": "2023-01-02T02:34:56.000Z",
42
"last_synced_at": "2023-01-02T02:34:56.000Z",
43
"platform_url": "https://platform.com/resource?id=123",
44
"platform_data": {
45
"id": 123,
46
"data": "Varies by platform"
47
}
48
},
49
"connection": {
50
"id": "00000000-0000-0000-0000-000000000000",
51
"orgId": "00000000-0000-0000-0000-000000000000",
52
"platform": "NETSUITE"
53
}
54
}

Create a Vendor

POSThttps://production.rutterapi.com/versioned/accounting/vendors

Request Parameters

    access_tokenstringqueryRequired

    The access token of the connection.

Request Body

    response_modeenumOptional

    The 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.

    One ofasync or prefer_sync.
    vendorobject
    Show vendor attributes

Response Body

Support by integration
  • QuickBooks
    QuickBooks
  • Xero
    Xero
  • QuickBooks Desktop
    QuickBooks Desktop
  • NetSuite
    NetSuite
Example Request Body
JSON
1
{
2
"vendor": {
3
"contact_name": "Eric Yu",
4
"currency": "USD",
5
"vendor_name": "Rutter",
6
"email": "eric@rutter.com",
7
"phone": "1234567890",
8
"registration_number": "123456789",
9
"tax_number": "12-3456789",
10
"website": "https://rutter.com",
11
"subsidiaries": [
12
{
13
"id": "00000000-0000-0000-0000-000000000000",
14
"primary": true
15
},
16
{
17
"id": "00000000-0000-0000-0000-000000000000",
18
"primary": false
19
},
20
{
21
"id": "00000000-0000-0000-0000-000000000000",
22
"primary": false
23
}
24
],
25
"addresses": [
26
{
27
"type": "billing",
28
"address1": "123 Rutter Road",
29
"address2": "Floor 4",
30
"city": "San Francisco",
31
"country": "US",
32
"postal_code": "94110",
33
"region": "CA"
34
}
35
]
36
}
37
}
200
Example Response Body
JSON
1
{
2
"vendor": {
3
"id": "00000000-0000-0000-0000-000000000000",
4
"platform_id": "12345678",
5
"status": "active",
6
"bank_account_number": "123456",
7
"contact_name": "Eric Yu",
8
"currency": "USD",
9
"email": "eric@rutter.com",
10
"phone": "1234567890",
11
"registration_number": "123456789",
12
"tax_number": "12-3456789",
13
"vendor_name": "Rutter",
14
"website": "https://rutter.com",
15
"subsidiaries": [
16
{
17
"id": "00000000-0000-0000-0000-000000000000",
18
"primary": true
19
},
20
{
21
"id": "00000000-0000-0000-0000-000000000000",
22
"primary": false
23
},
24
{
25
"id": "00000000-0000-0000-0000-000000000000",
26
"primary": false
27
}
28
],
29
"addresses": [
30
{
31
"type": "billing",
32
"address1": "123 Rutter Road",
33
"address2": "Floor 4",
34
"city": "San Francisco",
35
"country": "US",
36
"postal_code": "94110",
37
"region": "CA"
38
}
39
],
40
"created_at": "2023-01-02T02:34:56.000Z",
41
"updated_at": "2023-01-02T02:34:56.000Z",
42
"last_synced_at": "2023-01-02T02:34:56.000Z",
43
"platform_url": "https://platform.com/resource?id=123",
44
"platform_data": {
45
"id": 123,
46
"data": "Varies by platform"
47
}
48
}
49
}

Update a Vendor

PATCHhttps://production.rutterapi.com/versioned/accounting/vendors/:id

Request Parameters

    idstringpathRequired

    The Rutter generated unique ID of the object.

    access_tokenstringqueryRequired

    The access token of the connection.

Request Body

    response_modeenumOptional

    The 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.

    One ofasync or prefer_sync.
    vendorobject
    Show vendor attributes

Response Body

Support by integration
  • QuickBooks
    QuickBooks
  • Xero
    Xero
  • QuickBooks Desktop
    QuickBooks Desktop
  • NetSuite
    NetSuite
Example Request Body
JSON
1
{
2
"vendor": {
3
"contact_name": "Eric Yu",
4
"currency": "USD",
5
"email": "eric@rutter.com",
6
"phone": "1234567890",
7
"registration_number": "123456789",
8
"tax_number": "12-3456789",
9
"vendor_name": "Rutter",
10
"website": "https://rutter.com",
11
"addresses": [
12
{
13
"type": "billing",
14
"address1": "123 Rutter Road",
15
"address2": "Floor 4",
16
"city": "San Francisco",
17
"country": "US",
18
"postal_code": "94110",
19
"region": "CA"
20
}
21
]
22
}
23
}
200
Example Response Body
JSON
1
{
2
"vendor": {
3
"id": "00000000-0000-0000-0000-000000000000",
4
"platform_id": "12345678",
5
"status": "active",
6
"bank_account_number": "123456",
7
"contact_name": "Eric Yu",
8
"currency": "USD",
9
"email": "eric@rutter.com",
10
"phone": "1234567890",
11
"registration_number": "123456789",
12
"tax_number": "12-3456789",
13
"vendor_name": "Rutter",
14
"website": "https://rutter.com",
15
"subsidiaries": [
16
{
17
"id": "00000000-0000-0000-0000-000000000000",
18
"primary": true
19
},
20
{
21
"id": "00000000-0000-0000-0000-000000000000",
22
"primary": false
23
},
24
{
25
"id": "00000000-0000-0000-0000-000000000000",
26
"primary": false
27
}
28
],
29
"addresses": [
30
{
31
"type": "billing",
32
"address1": "123 Rutter Road",
33
"address2": "Floor 4",
34
"city": "San Francisco",
35
"country": "US",
36
"postal_code": "94110",
37
"region": "CA"
38
}
39
],
40
"created_at": "2023-01-02T02:34:56.000Z",
41
"updated_at": "2023-01-02T02:34:56.000Z",
42
"last_synced_at": "2023-01-02T02:34:56.000Z",
43
"platform_url": "https://platform.com/resource?id=123",
44
"platform_data": {
45
"id": 123,
46
"data": "Varies by platform"
47
}
48
}
49
}

Have questions?

Contact support for personalized guidance.

Contact support