Search API Connector Documentation

Print

Import Quaderno Data to Google Sheets

In this guide, we’ll walk through how to pull data from the Quaderno API directly into Google Sheets, using the API Connector add-on for Sheets.

We’ll first get an API key from Quaderno, and then set up a request to pull in invoice data to your spreadsheet.

Contents

Before You Begin

Click here to install the API Connector add-on from the Google Marketplace.

Part 1: Get Your Quaderno API Key

  1. While logged into your Quaderno account, click your Profile icon and then API keys from the header bar.
    quaderno-img1
  2. Copy down your Private Key. That is the only value we need here.
    quaderno-img2
  3. One last step: Because the Quaderno API requires Basic Authentication, we need to encode our authentication info to base 64. You can do this by entering your your credentials in the format {Private key}:x into this form (i.e. your private API key, then a colon, and then an ‘x’). Your encoded credentials will appear underneath.

    The encoding script runs in your browser, and none of your credentials are seen or stored by this site.

     

     

    (If you have any problems with the above, please check this post for some alternate methods of encoding your credentials).

Part 2: Create Your Quaderno API Request URL

We’ll first get a list of invoices.

  • API root: https://YOURSITE.quadernoapp.com/api
  • Endpoint: /invoices.json

Putting it together, we get the full API Request URL:

 https://YOURSITE.quadernoapp.com/api/invoices.json

Just enter in your own subdomain.

Part 3: Pull Quaderno API Data into Sheets

We can now enter that URL into API Connector.

  1. Open up Google Sheets and click Extensions > API Connector > Open.
  2. In the Create screen, enter the Request URL we just created
    quaderno-img3
  3. We don’t need OAuth, so leave that set to None.
  4. Under Headers, enter Authorization as your Key, and Basic {base64-encoded string} as the value:
    AuthorizationBasic BASE64_ENCODED_STRING

    Replace BASE64_ENCODED_STRING with the base64-encoded string you created in part 1.
    quaderno-img4

  5. Create a new tab and click Set current to use that tab as your data destination.
  6. Name your request and click Run. A moment later you’ll see a list of your Quaderno invoices in your Google Sheet:quaderno-img5

Part 4: More Example API URLs

You can check the documentation for the full list of available API requests,  but if you just want to jump in, you can play around with the URLs you enter in the API URL path field. Try the following (one at a time):
https://YOURSITE.quadernoapp.com/api/contacts.json
https://YOURSITE.quadernoapp.com/api/receipts.json
https://YOURSITE.quadernoapp.com/api/credits.json
https://YOURSITE.quadernoapp.com/api/expenses.json
https://YOURSITE.quadernoapp.com/api/expenses.json
https://YOURSITE.quadernoapp.com/api/estimates.json
https://YOURSITE.quadernoapp.com/api/recurring.json
https://YOURSITE.quadernoapp.com/api/items.json
https://YOURSITE.quadernoapp.com/api/payments.json

Part 5: Handle Pagination

Quaderno limits the number of records returned in each request. By default, only 25 records will be returned unless you use the ‘limit’ and ‘page’ parameters as described in their documentation.

quaderno-img6

With API Connector, you can run these URLs manually or loop through them automatically with pagination (paid feature), like this:

  • Pagination: page parameter
  • Page parameter: page
  • Run until: choose when to stop fetching data
    pagination-page-parameter

Part 6: API Documentation

Official API documentation: https://developers.quaderno.io/api/

Previous Import Product Hunt Data to Google Sheets
Next Import QuickBooks Data to Google Sheets

2 thoughts on “Import Quaderno Data to Google Sheets”

    • Hey Miguel, you’d add the date range to your request URL like this:
      https://aparejadorivan.quadernoapp.com/api/invoices.json?date=2021-01-01,2021-01-31
      So you’d set that date range such that it only pulls in new data. You can make this automatic by using a cell reference to populate the date so you don’t need to keep updating your request. There’s an example of how this works in this article: Use Cell Values in Requests

      Reply

Leave a Reply to Ana Cancel reply

Table of Contents