Changelog
May 16 - Introducing the platform_url Field [QuickBooks Online, Xero, ZohoBooks]
A challenging part of working with the Rutter API is figuring out where Rutter accounting objects can be found in the external accounting platform. To make this easier and more explicit, we are introducing a new platform_url
field to many of our accounting objects. This link will point to the page containing the object in the external platform's accounting application.
This feature will allow developers integrating with new platforms to more quickly verify their changes in the external platform after any operation they perform with the Rutter API.
To view the page, you must already be logged into the application with the correct credentials.
The field is currently supported for three platforms, Quickbooks Online, Xero, and Zohobooks for the following endpoints
/accounting/accounts
/accounting/bills
/accounting/bill_payments
/accounting/bill_credit_memos
/accounting/customers
/accounting/expenses
/accounting/invoices
/accounting/invoice_payments
/accounting/invoice_credit_memos
/accounting/journal_entries
/accounting/purchase_orders
/accounting/vendors
For more information, visit our API Reference.
May 15 - Initial Sync Progress Bars
When a Rutter connection is syncing for the first time, there can be a lot of variability in how long the sync takes depending on the amount of data in the external platform. This can cause uncertainty as to whether there are issues with the sync, or there's simply a lot of data to sync and things are progressing as normal.
We're excited to introduce a feature on our dashboard that gives a granular progress report on how much data has synced. Now, you can see the initial sync progress for each individual entity, and the time period that entities have finished syncing through. This will provide enhanced observability and an easier way to monitor for any errors.
To use this feature, head to the Rutter Dashboard and click on any connection. At the bottom of the page, a granular progress report will be displayed. Hover over each bar to see the dates for the data that was synced. Bars with a ">" can be expanded with a click to view sub-entities and their progress.
For more information, visit our documentation:
May 13 - Coverage Updates
- [All] Rolling out validation rules for field character length.
- [Dynamics 365 Business Central]
GET /invoices/:id/attachments
- new endpoint for Dynamics 365 Business Central. - [Dynamics 365 Business Central]
GET /invoices/:id/attachments/file
- new endpoint for Dynamics 365 Business Central. - [Dynamics 365 Business Central]
GET /invoices/attachments
- new endpoint for Dynamics 365 Business Central. - [NetSuite] Opt-in feature to allow different users to connect the same store to ensure per-user permissions are retained.
- [NetSuite]
POST /items
- new endpoint for NetSuite, for all item types except fordiscount
. - [NetSuite]
PATCH /items
- new endpoint for NetSuite, for all item types except fordiscount
. - [NetSuite]
PATCH /invoices
- added support for thedocument_number
field on the top level, and thediscount_amount
,discount_item_id
, andaccount_id
fields on the line items. - [QuickBooks]
GET /invoices
- added support for theservice_date
field on the line items. - [QuickBooks]
POST /invoices
- added support for theservice_date
field on the line items. - [QuickBooks]
PATCH /invoices
- added support for theservice_date
field on the line items. - [QuickBooks]
GET /invoices
- add support for theclass_id
field on both top level and the line items, depending on how the client instance is configured. - [QuickBooks]
POST /invoices
- add support for theclass_id
field on both top level and the line items, depending on how the client instance is configured. - [QuickBooks]
PATCH /invoices
- add support for theclass_id
field on both top level and the line items, depending on how the client instance is configured. - [QuickBooks]
PATCH /expenses
- added support for prepaid expenses, ie when the account_id is a bank account. - [QuickBooks Desktop]
GET /invoices
- added support for theservice_date
field on the line items. - [QuickBooks Desktop]
POST /invoices
- added support for theservice_date
field on the line items. - [QuickBooks Desktop]
PATCH /invoices
- added support for theservice_date
field on the line items. - [QuickBooks Desktop]
PATCH /items
- new endpoint for QuickBooks Desktop for all item types. - [QuickBooks Desktop]
GET /invoices
- added support for thepo_number
field underadditional_fields
. - [Zoho Books]
POST /expenses
- add support for thecustomer_id
field on the line items. - [Zoho Books]
POST /invoices
- new endpoint for Zoho Books. - [Zoho Books]
POST /invoice_payments
- new endpoint for Zoho Books. - [Zoho Books]
PATCH /invoice_payments
- new endpoint for Zoho Books.
For more information, visit our API Reference.
May 9 - Filtering Objects
On many list endpoints, you can now use the filter
parameter to only return objects that match a certain criteria. Some examples of filterable endpoints are List Accounts and List Customers. For more details, see Filtering Objects.
May 6 - Coverage Updates
- [All]
GET /currencies
- added support for thecreated_at
field. - [All]
GET /customers
- added support for thecreated_at
field. - [Dynamics 365 Business Central]
GET /bank_deposits
- new endpoint for Dynamics 365 Business Central. - [Dynamics 365 Business Central]
POST /bank_deposits
- new endpoint for Dynamics 365 Business Central. - [Dynamics 365 Business Central]
POST /bank_deposits
- new endpoint for Dynamics 365 Business Central. - [NetSuite]
GET /journal_entries/attachments
- new endpoint for NetSuite. - [NetSuite]
POST /bills
- added support foradditional_fields.tax_inclusive
for line amount to be tax inclusive. - [QuickBooks]
GET /journal_entries/attachments
- new endpoint for QuickBooks. - [QuickBooks Desktop]
PATCH /invoices
- added support forline_items
and all associated fields. - [QuickBooks Desktop]
GET /purchase_orders
- new endpoint for QuickBooks Desktop. - [QuickBooks Desktop]
POST /purchase_orders
- new endpoint for QuickBooks Desktop. - [QuickBooks Desktop]
PATCH /purchase_orders
- new endpoint for QuickBooks Desktop. - [QuickBooks Desktop]
GET /sales_orders
- new endpoint for QuickBooks Desktop. - [QuickBooks Desktop]
PATCH /sales_orders
- new endpoint for QuickBooks Desktop. - [QuickBooks Desktop]
POST /sales_orders
- new endpoint for QuickBooks Desktop. - [Xero]
GET /expense
- added support for thecustomer_id
field. - [Xero]
GET /journal_entries/attachments
- new endpoint for Xero. - [Zoho Books]
GET /customers
- new endpoint for Zoho Books. - [Zoho Books]
POST /customers
- new endpoint for Zoho Books. - [Zoho Books]
GET /invoices/:id/attachments
- new endpoint for Zoho Books. - [Zoho Books]
GET /invoice_payments
- new endpoint for Zoho Books. - [Zoho Books]
POST /invoices
- new endpoint for Zoho Books.
For more information, visit our API Reference.
April 30 - New API Version: 2024-04-30
We shipped a new API version. This is now our most-recent and stable API version. Visit our API upgrade guide for more information on the changes and improvements in this version.
April 29 - Coverage Updates
- [All]
GET /invoice_payments
- added support for thecreated_at
field. - [All]
GET /items
- added support for thecreated_at
field. - [All]
GET /tax_rates
- added support for thecreated_at
field. - [NetSuite]
GET /subsidiaries
- added support for thecreated_at
field for NetSuite. - [NetSuite]
POST /bank_deposits/:id/attachments
- new endpoint for NetSuite. - [NetSuite]
PATCH /bills
- added support for updating theline_items
array field. - [QuickBooks]
POST /bank_deposits/:id/attachments
- new endpoint for QuickBooks.
For more information, visit our API Reference.
April 22 - Coverage Updates
- [NetSuite]
PATCH /invoices
- passing inline_items: []
will zero out all existing line items. - [QuickBooks]
POST /bill_credit_memos
- added support fordocument_number
andmemo
. - [QuickBooks]
GET /customers
- added support forparent_id
field. - [Xero]
POST /journal_entries/:id/attachments
- new endpoint for Xero.
For more information, visit our API Reference.
April 15 - Coverage Updates
- [NetSuite]
GET /bills
- added support forcurrency_rate
. - [NetSuite]
POST /bills
- added support forcurrency_rate
. - [NetSuite]
PATCH /bills
- added support for updating theline_items
. - [NetSuite]
GET /bill_payments
- added support forcurrency_rate
. - [NetSuite]
POST /bill_payments
- added support forcurrency_rate
. - [QuickBooks]
GET /bills
- added support forcurrency_rate
. - [QuickBooks]
POST /bills
- added support forcurrency_rate
. - [QuickBooks]
POST /customers
- added support forparent_id
field. - [QuickBooks]
POST /expenses
- added support forcustomer_id
field on theline_items
. - [QuickBooks]
POST /journal_entries/:id/attachments
- new endpoint for QuickBooks.
For more information, visit our API Reference.
April 10 - Sync History [QuickBooks Desktop]
We're excited to announce that QuickBooks Desktop connections now have sync history available. To access the sync history, head to the "Connections" tab on your Rutter dashboard, and select a specific connection. Then, click on the "Sync History" tab. Sync history will not appear for the first data sync (the initial sync) on a QBD connection. Sync history will begin appearing for all syncs (incremental syncs) afterwards.
For more information, visit our documentation:
April 8 - Coverage Updates
- [Dynamics 365 Business Central]
GET /bills/:id/attachments
- new endpoint for Dynamics 365 Business Central. - [NetSuite]
GET /bills/:id/attachments
- new endpoint for NetSuite. - [NetSuite]
PATCH /accounts
- new endpoint for NetSuite. - [NetSuite]
PATCH /bills
- supports updating ofline_items
. - [NetSuite]
POST /expenses
- added support forcustomer_id
field on theline_items
. - [NetSuite]
PATCH /invoices
- supports updating ofline_items
. - [NetSuite]
PATCH /vendors
- new endpoint for NetSuite. - [QuickBooks]
PATCH /customers
- new endpoint for QuickBooks. - [QuickBooks]
GET /sales_orders
- new endpoint for QuickBooks. - [QuickBooks]
POST /sales_orders
- new endpoint for QuickBooks. - [QuickBooks]
GET /vendors
- updated status fromunknown
toarchived
when vendors are no longer active. - [Xero]
POST /expenses
- added support foradditional_fields.tax_inclusive
for line amount to be tax inclusive. - [Zoho Books]
DELETE /expenses
- new endpoint for Zoho Books.
For more information, visit our API Reference.
April 4 - Exposing POST Input Validation Rules for Expenses and Bills Endpoint
When using our POST API endpoints, sometimes you may encounter validation errors (HTTP status code 400) that indicate the data submitted is not considered valid. To help you understand why your request is being rejected and show you all the input validation rules that apply to a specific platform, we've added a new section to our documentation (under "Support by integration" for each endpoint) that outlines the input validation rules for a specific endpoint. Currently, we've added this information for the POST /bills and POST /expenses endpoint documentation but we will be adding it to other endpoints in the future.
For more information, visit our documentation:
- POST /bills API Added input validation rules under "Support by integration"
- POST /expenses API Added input validation rules under "Support by integration"
April 1 - Coverage Updates
- [QuickBooks]
PATCH /invoice_payments
- new endpoint for QuickBooks. - [QuickBooks]
DELETE /invoice_payments
- new endpoint for QuickBooks. - [QuickBooks]
PATCH /items
- new endpoint for QuickBooks. - [QuickBooks]
PATCH /vendors
- new endpoint for QuickBooks. - [QuickBooks Desktop]
POST /invoices
- added support forclass_id
online_items
. - [Xero]
GET /accounts
- added support forbalance
. - Added webhooks support for
EXPENSE_CREATED
andEXPENSE_UPDATED
For more information, visit our API Reference.
March 24 - Coverage Updates
- [QuickBooks]
POST /expenses
- added support fortax_inclusive
(viaadditional_fields
). Posted amounts within the line items will now be inclusive of the tax. - [QuickBooks]
GET /journal_entries
- added support forvendor_id
,customer_id
, andclass_id
online_items
(viaadditional_fields
). - [QuickBooks]
POST /journal_entries
- added support forclass_id
online_items
(viaadditional_fields
).
For more information, visit our API Reference.
March 21 - Documentation Redesign
The Rutter Docs website has been redesigned to improve visual consistency and the ability to easily find the content you need to build with Rutter. You can utilize either our navigation system or the search feature to look up any docs you need.
Navigation System guide
Quickstart
A quick Postman reference to get set up on Rutter.
API Reference
Contains info for all Rutter objects and endpoints. The API reference also includes a Basics section that covers fundamentals of using the Rutter API, including our versioning policy, how to handle errors and rate limiting, webhooks, idempotency, and more.
Platform Guides
Guides for configuring and retrieving data for each platform supported by Rutter.
Features
Learn how to use Rutter functionality, like the Rutter Link component for user authentication, or the Rutter sandbox for platform testing.
Use cases
Guides explaining how to use Rutter for common accounting workflows, such as Expense Management or AR Automation.
March 1 - Duplicate Bank Feed Transaction IDs are Now Accepted [NetSuite]
When using the POST /bank_feeds/transactions API for NetSuite, you are now able to include Bank Feed Transaction transaction_id
's within a POST request that have already been synced to Rutter without receiving an input rejection error. You'll see that the post succeeds, and in the response there will be a field duplicate: boolean
which indicates whether a transaction has been previously synced or not. If duplicate: true
, you'll see the metadata from the already synced transaction. The new transaction input will not override the existing data if it differs.
With this change, you do not need include error handling for the case where an already synced transaction causes an entire list of transactions to be rejected. Previously, you would have had to regenerate a valid input by removing the already synced transactions from the rejected input, and retry the post request to ensure the rest of the transactions would get synced. Rutter now handles deduplication of transactions internally before syncing them to Netsuite, which simplifies your implementation of our integration.
For more information, visit our documentation:
- POST /bank_feeds/transactions API Updated Schema
- NetSuite Bank Feeds Guide Updated "Transaction Syncing Rules"
February 27 - Delete Monitoring [QuickBooks, NetSuite]
Rutter will now track when resources are deleted in the QuickBooks Online and NetSuite platforms. When a resource is deleted in the platform (instead of through Rutter's API), Rutter will detect these changes during the incremental sync process. Deleted entities will no longer appear in subsequent API responses. In addition, webhooks will be sent out at the moment deletes are detected, and a log of all deleted entities for each connection will be available through our new /events API.
With this change, QuickBooks Online and NetSuite users can enjoy a more streamlined data management process in Rutter.
For more information, visit our documentation: