Custom Check Stubs, Accounting Software Object listing, and Company Update support added

We've got a big update for you today with :three: awesome new API features to discuss! :tada:

Custom Check Stubs

First, Routable now supports custom check stubs to be printed and sent alongside your paper check Payables. Just provide some column headers and an array of row data in your Payable creation call and that's it!

{
  
  "type": "check",
  "delivery_method": "check_standard",
  "type_details": {
    "stub_details": {
      "columns": [ "Name", "Size", "Color", "Price" ],
      "rows": [
        [ "Awesome T-Shirt", "Large", "Black", "$24.99" ],
        [ "Flared Skirt", "Medium", "Red", "$55.00" ],
        [ "Running Shoes", "13", "White", "$120.00" ]
      ]
    }
  },
  // the rest of the Payable creation payload goes here...
}

Accounting Software Object Listing

In the past, we've heard feedback that while managing your accounting software integration with Routable's API is super-easy, getting the various IDs for accounting software resource objects like your chart of accounts, inventory items, or tax codes has been a blocker for developers. Routable customers have had to make a support ticket to obtain a snapshot of these values from their accounting software, or obtain a developer account and implement a whole additional API just to get their own data! :tired-face:

But, like we said -- that's all in the past. Now, you can make a quick API GET to /v1/accounting-software/objects in the Routable API to look up and cache your accounts, tax codes, classes and more. This means you no longer need a developer account or API token from your accounting software provider, there's no additional API to integrate, and it's fully self-service. The new endpoint is accounting-software-agnostic, so whether you're integrating Xero, QuickBooks Online, or Oracle NetSuite, it's just as quick and easy to use.

{
    "object": "List",
    "results": [
        {
            "object": "AccountingSoftwareObject",
            "id": "3",
            "code": null,
            "name": "Concrete"
        },
        {
            "object": "AccountingSoftwareObject",
            "id": "6",
            "code": null,
            "name": "Gardening"
        },
        {
            "object": "AccountingSoftwareObject",
            "id": "7",
            "code": null,
            "name": "Installation"
        },
        {
            "object": "AccountingSoftwareObject",
            "id": "8",
            "code": null,
            "name": "Lighting"
        },
        {
            "object": "AccountingSoftwareObject",
            "id": "9",
            "code": null,
            "name": "Maintenance & Repair"
        }
    ],
    "links": {
        "self": "https://api.sandbox.routable.com/v1/accounting-software/objects/items",
        "next": "https://api.sandbox.routable.com/v1/accounting-software/objects/items?page=2&page_size=10",
        "prev": null
    }
}

Update a Company

You can now send a PATCH request to /v1/companies/:id to update an existing Company. You can set fields like the company's display_name and external_id, as well as the name to use for the vendor and/or customer record in your accounting software. This will make it much easier to keep your vendor and customer records synced between Routable, your accounting software and your proprietary applications... and ready for money-moving action! :money-with-wings:

We'll be adding more functionality to this endpoint in the near-term, so keep an eye out!

Other Notes

Beyond the amazing work our developers have done this cycle, we've done a little bit of spring cleaning throughout the documentation, making things just a little clearer and easier to find wherever we could.

We've got some even bigger things in the works, so watch this space! :eyes: